about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/interpreters/elixir/default.nix20
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix18
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
new file mode 100644
index 000000000000..a368e99ff384
--- /dev/null
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, erlang, rebar }:
+
+stdenv.mkDerivation {
+  name = "elixir-0.10.1";
+
+  src = fetchurl {
+    url = "https://github.com/elixir-lang/elixir/archive/v0.10.1.tar.gz";
+    sha256 = "0gfr2bz3mw7ag9z2wb2g22n2vlyrp8dwy78fj9zi52kzl5w3vc3w";
+  };
+
+  buildInputs = [ erlang rebar ];
+
+  preBuild = ''
+    substituteInPlace rebar \
+      --replace "/usr/bin/env escript" ${erlang}/bin/escript
+    substituteInPlace Makefile \
+      --replace '$(shell echo `pwd`/rebar)' ${rebar}/bin/rebar \
+      --replace "/usr/local" $out
+  '';
+}
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
new file mode 100644
index 000000000000..9f9e73a03d86
--- /dev/null
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, erlang }:
+
+stdenv.mkDerivation {
+  name = "rebar-2.1.0-pre";
+
+  src = fetchurl {
+    url = "https://github.com/basho/rebar/archive/2.1.0-pre.tar.gz";
+    sha256 = "0dsbk9ssvk1hx9275900dg4bz79kpwcid4gsz09ziiwzv0jjbrjn";
+  };
+
+  buildInputs = [ erlang ];
+
+  buildPhase = "escript bootstrap";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp rebar $out/bin/rebar
+  '';
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4b7162866e7d..530b49f35a1b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3035,6 +3035,10 @@ let
   erlangR16B01 = callPackage ../development/interpreters/erlang/R16B01.nix { };
   erlang = erlangR16B01;
 
+  rebar = callPackage ../development/tools/build-managers/rebar { };
+
+  elixir = callPackage ../development/interpreters/elixir { };
+
   groovy = callPackage ../development/interpreters/groovy { };
 
   guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { };