summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2016-07-13 19:05:09 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2016-07-13 19:05:09 +0200
commit0cee9febc5dad0dc204527a37ff308dfc70981d0 (patch)
treee07bfafa53a9127a1cc2f9aecec48525e33b3c34 /pkgs/development/interpreters
parent26dd9acba574fe02db95767f5c995fca8dc90658 (diff)
parent5d0014801ecfad8f977b2b69b284b7043c564141 (diff)
downloadnixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar.gz
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar.bz2
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar.lz
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar.xz
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.tar.zst
nixlib-0cee9febc5dad0dc204527a37ff308dfc70981d0.zip
Merge remote-tracking branch 'origin/master' into hardened-stdenv
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/elixir/default.nix4
-rw-r--r--pkgs/development/interpreters/lfe/default.nix62
-rw-r--r--pkgs/development/interpreters/lfe/setup-hook.sh5
-rw-r--r--pkgs/development/interpreters/python/3.4/default.nix4
-rw-r--r--pkgs/development/interpreters/python/3.5/default.nix4
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix2
6 files changed, 74 insertions, 7 deletions
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index fe78b9660807..fc3070e55f11 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "elixir-${version}";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "elixir-lang";
     repo = "elixir";
     rev = "v${version}";
-    sha256 = "06y8v239d5r3zr9s9mw19ws99qm7niicz69pqhawvg5qm4qxhvkr";
+    sha256 = "0pihqgsnddrhhcpiphz170wgwlc59pd492iy4f66dajapm5k329d";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
diff --git a/pkgs/development/interpreters/lfe/default.nix b/pkgs/development/interpreters/lfe/default.nix
new file mode 100644
index 000000000000..f3a54aef8ab1
--- /dev/null
+++ b/pkgs/development/interpreters/lfe/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "lfe-${version}";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner  = "rvirding";
+    repo   = "lfe";
+    rev    = version;
+    sha256 = "0w1vpjqj8ni43gi84i0mcml4gfaqhmmd9s46di37cngpdw86i3bz";
+  };
+
+  buildInputs = [ erlang makeWrapper ];
+
+  setupHook   = ./setup-hook.sh;
+
+  # These installPhase tricks are based on Elixir's Makefile.
+  # TODO: Make, upload, and apply a patch.
+  installPhase = ''
+    local libdir=$out/lib/lfe
+    local ebindir=$libdir/ebin
+    local bindir=$libdir/bin
+
+    rm -Rf $ebindir
+    install -m755 -d $ebindir
+    install -m644 ebin/* $ebindir
+
+    install -m755 -d $bindir
+    for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
+
+    install -m755 -d $out/bin
+    for file in $bindir/*; do ln -sf $file $out/bin/; done
+  '';
+
+  # Thanks again, Elixir.
+  postFixup = ''
+    # LFE binaries are shell scripts which run erl and lfe.
+    # Add some stuff to PATH so the scripts can run without problems.
+    for f in $out/bin/*; do
+      wrapProgram $f \
+        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${bash}/bin:$out/bin"
+      substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description     = "The best of Erlang and of Lisp; at the same time!";
+    longDescription = ''
+      LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang
+      compiler. Code produced with it is compatible with "normal" Erlang
+      code. An LFE evaluator and shell is also included.
+    '';
+
+    homepage     = "http://lfe.io";
+    downloadPage = "https://github.com/rvirding/lfe/releases";
+
+    license      = licenses.asl20;
+    maintainers  = with maintainers; [ yurrriq ];
+    platforms    = platforms.unix;
+  };
+}
diff --git a/pkgs/development/interpreters/lfe/setup-hook.sh b/pkgs/development/interpreters/lfe/setup-hook.sh
new file mode 100644
index 000000000000..2405dcea15f3
--- /dev/null
+++ b/pkgs/development/interpreters/lfe/setup-hook.sh
@@ -0,0 +1,5 @@
+addLfeLibPath() {
+    addToSearchPath ERL_LIBS $1/lib/lfe/lib
+}
+
+envHooks+=(addLfeLibPath)
diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix
index 197ad6fc95bc..1cd7f58e95ef 100644
--- a/pkgs/development/interpreters/python/3.4/default.nix
+++ b/pkgs/development/interpreters/python/3.4/default.nix
@@ -24,7 +24,7 @@ with stdenv.lib;
 let
   majorVersion = "3.4";
   pythonVersion = majorVersion;
-  version = "${majorVersion}.4";
+  version = "${majorVersion}.5";
   fullVersion = "${version}";
 
   buildInputs = filter (p: p != null) [
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
-    sha256 = "18kb5c29w04rj4gyz3jngm72sy8izfnbjlm6ajv6rv2m061d75x7";
+    sha256 = "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/development/interpreters/python/3.5/default.nix b/pkgs/development/interpreters/python/3.5/default.nix
index 762ef1ab8be6..e0adad2bae21 100644
--- a/pkgs/development/interpreters/python/3.5/default.nix
+++ b/pkgs/development/interpreters/python/3.5/default.nix
@@ -24,7 +24,7 @@ with stdenv.lib;
 let
   majorVersion = "3.5";
   pythonVersion = majorVersion;
-  version = "${majorVersion}.1";
+  version = "${majorVersion}.2";
   fullVersion = "${version}";
 
   buildInputs = filter (p: p != null) [
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
-    sha256 = "1j95yx32ggqx8jf13h3c8qfp34ixpyg8ipqcdjmn143d6q67rmf6";
+    sha256 = "0h6a5fr7ram2s483lh0pnmc4ncijb8llnpfdxdcl5dxr01hza400";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
index cbe2c47594d4..5cd3ff0cca6b 100644
--- a/pkgs/development/interpreters/spidermonkey/17.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.isArm; # fails on v7 with "Alignment trap: not handling instruction" in kernel log
   preCheck = ''
     rm jit-test/tests/sunspider/check-date-format-tofte.js    # https://bugzil.la/600522