beam-packages: move wxSupport arg up to package set, add beam_nox

This allows us to override the erlang wxSupport argument globally from
an overlay, fixing builds for e.g. rabbitmq with noXlibs set.

Changed files
+16 -12
nixos
modules
config
pkgs
development
interpreters
top-level
+1
nixos/modules/config/no-x-libs.nix
···
nixpkgs.overlays = singleton (const (super: {
cairo = super.cairo.override { x11Support = false; };
dbus = super.dbus.override { x11Support = false; };
+
beam = super.beam_nox;
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
+3 -3
pkgs/development/interpreters/erlang/generic-builder.nix
···
# TODO: use jdk https://github.com/NixOS/nixpkgs/pull/89731
, openjdk8 ? null # javacSupport
, unixODBC ? null # odbcSupport
-
, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+
, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null, wxSupport ? true
, parallelBuild ? false
, systemd
}:
-
+
let defaultWxSupport = wxSupport; in
{ baseName ? "erlang"
, version
, sha256 ? null
···
, javacSupport ? false, javacPackages ? [ openjdk8 ]
, odbcSupport ? false, odbcPackages ? [ unixODBC ]
, withSystemd ? stdenv.isLinux # systemd support in epmd
-
, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
+
, wxSupport ? defaultWxSupport, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
, preUnpack ? "", postUnpack ? ""
, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
, configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
+4 -1
pkgs/top-level/all-packages.nix
···
beam = callPackage ./beam-packages.nix { };
+
beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
inherit (beam.interpreters)
erlang erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18
-
erlang_odbc erlang_javac erlang_odbc_javac erlang_nox erlang_basho_R16B02
+
erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02
elixir elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7;
+
+
erlang_nox = beam_nox.interpreters.erlang;
inherit (beam.packages.erlang)
rebar rebar3
+8 -8
pkgs/top-level/beam-packages.nix
···
-
{ callPackage, wxGTK30, openssl_1_0_2, buildPackages }:
+
{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }:
rec {
lib = callPackage ../development/beam-modules/lib.nix { };
···
erlang_odbc = erlangR23_odbc;
erlang_javac = erlangR23_javac;
erlang_odbc_javac = erlangR23_odbc_javac;
-
erlang_nox = erlangR23_nox;
# Standard Erlang versions, using the generic builder.
···
# Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
parallelBuild = true;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR23_odbc = erlangR23.override { odbcSupport = true; };
erlangR23_javac = erlangR23.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR23_nox = erlangR23.override { wxSupport = false; };
# R22
erlangR22 = lib.callErlang ../development/interpreters/erlang/R22.nix {
···
# Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
parallelBuild = true;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR22_odbc = erlangR22.override { odbcSupport = true; };
erlangR22_javac = erlangR22.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR22_nox = erlangR22.override { wxSupport = false; };
# R21
erlangR21 = lib.callErlang ../development/interpreters/erlang/R21.nix {
wxGTK = wxGTK30;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR21_odbc = erlangR21.override { odbcSupport = true; };
erlangR21_javac = erlangR21.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR21_nox = erlangR21.override { wxSupport = false; };
# R20
erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix {
wxGTK = wxGTK30;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR20_odbc = erlangR20.override { odbcSupport = true; };
erlangR20_javac = erlangR20.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR20_nox = erlangR20.override { wxSupport = false; };
# R19
erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
wxGTK = wxGTK30;
openssl = openssl_1_0_2;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR19_odbc = erlangR19.override { odbcSupport = true; };
erlangR19_javac = erlangR19.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR19_nox = erlangR19.override { wxSupport = false; };
# R18
erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
wxGTK = wxGTK30;
openssl = openssl_1_0_2;
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlangR18_odbc = erlangR18.override { odbcSupport = true; };
erlangR18_javac = erlangR18.override { javacSupport = true; };
···
javacSupport = true;
odbcSupport = true;
};
-
erlangR18_nox = erlangR18.override { wxSupport = false; };
# Basho fork, using custom builder.
erlang_basho_R16B02 =
lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix {
autoconf = buildPackages.autoconf269;
+
inherit wxSupport;
};
erlang_basho_R16B02_odbc =
erlang_basho_R16B02.override { odbcSupport = true; };