diff options
author | Justin Wood <justin.k.wood@gmail.com> | 2017-06-23 12:38:10 -0400 |
---|---|---|
committer | Justin Wood <justin.k.wood@gmail.com> | 2017-06-26 23:13:58 -0400 |
commit | 3595f8e8d69e10b4989052e52ba4f08ce30857d2 (patch) | |
tree | a42f13cf949398acc5ab437cef86ba6dacbdc9ea /pkgs/development/beam-modules/lib.nix | |
parent | 838956b179f786eb27a0d21eeddd5909f083ee29 (diff) | |
download | nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar.gz nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar.bz2 nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar.lz nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar.xz nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.tar.zst nixlib-3595f8e8d69e10b4989052e52ba4f08ce30857d2.zip |
Add in scope rebar version
Diffstat (limited to 'pkgs/development/beam-modules/lib.nix')
-rw-r--r-- | pkgs/development/beam-modules/lib.nix | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix index 9d7a4bbd34ed..df0af4057637 100644 --- a/pkgs/development/beam-modules/lib.nix +++ b/pkgs/development/beam-modules/lib.nix @@ -43,12 +43,31 @@ rec { mkDerivation = pkgs.makeOverridable builder; }; - callElixir = drv: args: + /* Uses generic-builder to evaluate provided drv containing Elixir version + specific data. + + drv: package containing version-specific args; + vsn: minimum OTP version that Elixir will build on; + 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.4.nix + and similar files. + */ + callElixir = drv: vsn: args: let + inherit (stdenv.lib) versionAtLeast; builder = callPackage ../../development/interpreters/elixir/generic-builder.nix args; in - callPackage drv { - mkDerivation = pkgs.makeOverridable builder; - }; + if versionAtLeast (getVersion args.erlang) vsn + then + callPackage drv { + mkDerivation = pkgs.makeOverridable builder; + } + else + throw "Elixir requires at least Erlang/OTP R${vsn}."; } |