summary refs log tree commit diff
path: root/pkgs/development/beam-modules
diff options
context:
space:
mode:
authorJustin Wood <justin.k.wood@gmail.com>2017-06-22 20:34:32 -0400
committerJustin Wood <justin.k.wood@gmail.com>2017-06-26 23:13:58 -0400
commit019afb0c806301e03de764a77dcc11fcbc3fd77a (patch)
treefd0005a2500af4dd5259767df3b17cc625977842 /pkgs/development/beam-modules
parent32705450944254f3f49b09671efaadca31ed8a48 (diff)
downloadnixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar.gz
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar.bz2
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar.lz
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar.xz
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.tar.zst
nixlib-019afb0c806301e03de764a77dcc11fcbc3fd77a.zip
Generalize building of Elixir interpreter
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r--pkgs/development/beam-modules/default.nix13
-rw-r--r--pkgs/development/beam-modules/lib.nix8
2 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index d1a2a785a9c9..26cba333c23d 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -37,9 +37,16 @@ let
         buildMix = callPackage ./build-mix.nix {};
 
         # BEAM-based languages.
-        elixir = if versionAtLeast (lib.getVersion erlang) "18"
-                 then callPackage ../interpreters/elixir { debugInfo = true; }
-                 else throw "Elixir requires at least Erlang/OTP R18.";
+        elixir = defaultScope.elixir-1_4;
+
+        elixir-1_4 = if versionAtLeast (lib.getVersion erlang) "18"
+                     then lib.callElixir ../interpreters/elixir/1.4.nix { debugInfo = true; }
+                     else throw "Elixir requires at least Erlang/OTP R18.";
+
+        elixir-1_3 = if versionAtLeast (lib.getVersion erlang) "18"
+                     then lib.callElixir ../interpreters/elixir/1.3.nix { debugInfo = true; }
+                     else throw "Elixir requires at least Erlang/OTP R18.";
+
         lfe = callPackage ../interpreters/lfe { };
 
         # Non hex packages
diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix
index 009bfb4975b6..9d7a4bbd34ed 100644
--- a/pkgs/development/beam-modules/lib.nix
+++ b/pkgs/development/beam-modules/lib.nix
@@ -43,4 +43,12 @@ rec {
         mkDerivation = pkgs.makeOverridable builder;
       };
 
+  callElixir = drv: args:
+    let
+      builder = callPackage ../../development/interpreters/elixir/generic-builder.nix args;
+    in
+      callPackage drv {
+        mkDerivation = pkgs.makeOverridable builder;
+      };
+
 }