From 9df9c1992b1859b50a0607b43ea577611ded8cd9 Mon Sep 17 00:00:00 2001 From: Yorick van Pelt Date: Tue, 22 Dec 2020 12:22:05 +0100 Subject: [PATCH] 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. --- nixos/modules/config/no-x-libs.nix | 1 + .../interpreters/erlang/generic-builder.nix | 6 +++--- pkgs/top-level/all-packages.nix | 5 ++++- pkgs/top-level/beam-packages.nix | 16 ++++++++-------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index c3120c2bf30d..14fe180d0bc5 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -29,6 +29,7 @@ with lib; 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; }; diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 4429dc1eaf37..dce101b46e27 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -3,11 +3,11 @@ # 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 @@ -21,7 +21,7 @@ , 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 ? "" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 343531f71f22..fc90ffd28f07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10980,12 +10980,15 @@ in }; 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 fetchHex beamPackages diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index fb331b85eb94..aae127fd04e3 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,4 +1,4 @@ -{ callPackage, wxGTK30, openssl_1_0_2, buildPackages }: +{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }: rec { lib = callPackage ../development/beam-modules/lib.nix { }; @@ -11,7 +11,6 @@ rec { 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. @@ -21,6 +20,7 @@ rec { # 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; }; @@ -28,7 +28,6 @@ rec { javacSupport = true; odbcSupport = true; }; - erlangR23_nox = erlangR23.override { wxSupport = false; }; # R22 erlangR22 = lib.callErlang ../development/interpreters/erlang/R22.nix { @@ -36,6 +35,7 @@ rec { # 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; }; @@ -43,12 +43,12 @@ rec { 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; }; @@ -56,12 +56,12 @@ rec { 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; }; @@ -69,13 +69,13 @@ rec { 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; }; @@ -83,13 +83,13 @@ rec { 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; }; @@ -97,12 +97,12 @@ rec { 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; };