diff options
author | Justin Wood <justin.k.wood@gmail.com> | 2017-07-10 20:25:12 -0400 |
---|---|---|
committer | Justin Wood <justin.k.wood@gmail.com> | 2017-07-10 20:37:33 -0400 |
commit | c87d4d4a19eda532fbb4a294257f124556539ebc (patch) | |
tree | 49790d9b81b61257d979e8c533a409ce5e08564d /pkgs/development/beam-modules | |
parent | 46dc5394cd995f0b5ba6c842424d1de594fead31 (diff) |
Generalize building of LFE
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r-- | pkgs/development/beam-modules/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/beam-modules/lib.nix | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index f0a049bb4b230..b48abb34611cb 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -54,7 +54,8 @@ let debugInfo = true; }; - lfe = callPackage ../interpreters/lfe { }; + lfe = lfe_1_2; + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3; }; # Non hex packages hex = callPackage ./hex {}; diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix index dd4ed5e1bbf8f..26d868a8e7c4f 100644 --- a/pkgs/development/beam-modules/lib.nix +++ b/pkgs/development/beam-modules/lib.nix @@ -56,4 +56,26 @@ rec { mkDerivation = pkgs.makeOverridable builder; }; + /* Uses generic-builder to evaluate provided drv containing Elixir version + specific data. + + drv: package containing version-specific args; + builder: generic builder for all Erlang versions; + args: arguments merged into version-specific args, used mostly to customize + dependencies; + + Arguments passed to the generic-builder are overridable. + + Please note that "mkDerivation" defined here is the one called from 1.2.nix + and similar files. + */ + callLFE = drv: args: + let + inherit (stdenv.lib) versionAtLeast; + builder = callPackage ../interpreters/lfe/generic-builder.nix args; + in + callPackage drv { + mkDerivation = pkgs.makeOverridable builder; + }; + } |