From 914705b89520b0dc43c316a8c527124d437075aa Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 23 Aug 2021 15:59:10 +0200 Subject: [PATCH 1/2] beamPackages: Use nixpkgs fixed-point instead of rec Ensures that overlays are properly applied --- pkgs/top-level/beam-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 334aac359b37..0e17410a21dc 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,10 +1,10 @@ -{ callPackage, wxGTK30, buildPackages, wxSupport ? true }: +{ beam, callPackage, wxGTK30, buildPackages, wxSupport ? true }: -rec { +with beam; { lib = callPackage ../development/beam-modules/lib.nix { }; # Each - interpreters = rec { + interpreters = with beam.interpreters; { # R24 is the default version. erlang = erlangR24; # The main switch to change default Erlang version. From 2508d1e2a56259fd44091cf9acffd7745a8d7267 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 23 Aug 2021 16:06:41 +0200 Subject: [PATCH 2/2] beamPackages: Deduplicate default package set Previously there were two package sets for the default Erlang version, beam.packages.erlang and beam.packages.erlangR24, which didn't share their evaluation. This commit fixes this by pointing the former to the latter. It also introduces a `beam.defaultVersion` attribute which can be used to get or set the default version to something other than `erlangR24`. --- pkgs/top-level/beam-packages.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 0e17410a21dc..1b5ff3a3f25a 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -3,14 +3,17 @@ with beam; { lib = callPackage ../development/beam-modules/lib.nix { }; + # R24 is the default version. + # The main switch to change default Erlang version. + defaultVersion = "erlangR24"; + # Each interpreters = with beam.interpreters; { - # R24 is the default version. - erlang = erlangR24; # The main switch to change default Erlang version. - erlang_odbc = erlangR24_odbc; - erlang_javac = erlangR24_javac; - erlang_odbc_javac = erlangR24_odbc_javac; + erlang = beam.interpreters.${defaultVersion}; + erlang_odbc = beam.interpreters."${defaultVersion}_odbc"; + erlang_javac = beam.interpreters."${defaultVersion}_javac"; + erlang_odbc_javac = beam.interpreters."${defaultVersion}_odbc_javac"; # Standard Erlang versions, using the generic builder. @@ -98,7 +101,7 @@ with beam; { # appropriate Erlang/OTP version. packages = { # Packages built with default Erlang version. - erlang = packagesWith interpreters.erlang; + erlang = packages.${defaultVersion}; erlangR24 = packagesWith interpreters.erlangR24; erlangR23 = packagesWith interpreters.erlangR23;