diff options
author | Gleb Peregud <gleber.p@gmail.com> | 2017-06-18 19:24:18 +0200 |
---|---|---|
committer | Gleb Peregud <gleber.p@gmail.com> | 2017-06-19 19:58:57 +0200 |
commit | 7797e1a1dda661476dbb312b1f26896d32831ef5 (patch) | |
tree | 7ab150bfd684e3dce569ef571c5fe8649eea5f12 /pkgs/development/beam-modules/lib.nix | |
parent | f66b0186dc9764b83ad76f9dcaec341b0f6f83a0 (diff) | |
download | nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar.gz nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar.bz2 nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar.lz nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar.xz nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.tar.zst nixpkgs-7797e1a1dda661476dbb312b1f26896d32831ef5.zip |
erlang: put Elixir/LFE into per-OTP packageset.
This makes beam.package.erlangR19.abnf to be actually built with R19, instead of the default R18. It means that Elixir and LFE are provided in two versions, one built with R18 and with R19. Please note that Elixir does not build with R16 and R17 - trying to access beam.packages.erlang{R16,R17}.elixir will throw an error.
Diffstat (limited to 'pkgs/development/beam-modules/lib.nix')
-rw-r--r-- | pkgs/development/beam-modules/lib.nix | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix index ae2705613f0..009bfb4975b 100644 --- a/pkgs/development/beam-modules/lib.nix +++ b/pkgs/development/beam-modules/lib.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{ pkgs, stdenv }: rec { @@ -12,6 +12,15 @@ rec { callPackage = callPackageWith pkgs; + /* Erlang/OTP-specific version retrieval, returns 19 for OTP R19 */ + getVersion = x: + let + parse = drv: (builtins.parseDrvName drv).version; + in builtins.replaceStrings ["B" "-"] ["." "."] ( + if builtins.isString x + then parse x + else x.version or (parse x.name)); + /* Uses generic-builder to evaluate provided drv containing OTP-version specific data. |