summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2016-07-09 13:11:02 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2016-07-09 13:21:28 +0200
commit26dd9acba574fe02db95767f5c995fca8dc90658 (patch)
treea80b081f9fd777c9205ab9548ded09448885f5b4 /pkgs/development/interpreters
parent07615735077db344539eb9131823600593f0eddf (diff)
parentb571a1a3732027983c4e00ea1dc5736f3ad9680c (diff)
downloadnixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar.gz
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar.bz2
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar.lz
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar.xz
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.tar.zst
nixlib-26dd9acba574fe02db95767f5c995fca8dc90658.zip
Merge remote-tracking branch 'origin/master' into hardened-stdenv
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/elixir/default.nix6
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix5
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix3
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix3
-rw-r--r--pkgs/development/interpreters/io/default.nix30
-rw-r--r--pkgs/development/interpreters/j/default.nix16
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix25
-rw-r--r--pkgs/development/interpreters/luajit/default.nix2
-rw-r--r--pkgs/development/interpreters/php/default.nix33
-rw-r--r--pkgs/development/interpreters/pypy/default.nix11
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix2
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix14
-rw-r--r--pkgs/development/interpreters/python/2.7/no-ldconfig.patch97
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix12
-rw-r--r--pkgs/development/interpreters/rebol/default.nix43
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix8
-rw-r--r--pkgs/development/interpreters/unicon-lang/default.nix42
18 files changed, 301 insertions, 55 deletions
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 27870e753a69..05d896db3831 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, ant, jdk, makeWrapper }:
 
-let version = "1.7.0"; in
+let version = "1.8.0"; in
 
 stdenv.mkDerivation {
   name = "clojure-${version}";
 
   src = fetchurl {
     url = "http://repo1.maven.org/maven2/org/clojure/clojure/${version}/clojure-${version}.zip";
-    sha256 = "14yg0g6vpzxjwlvs5anq9jfz9zdbd3rsl6qsgxa6qxm19mwh7qsd";
+    sha256 = "1nip095fz5c492sw15skril60i1vd21ibg6szin4jcvyy3xr6cym";
   };
 
   buildInputs = [ unzip ant jdk makeWrapper ];
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index b72b6e360197..fe78b9660807 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.2.6";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "elixir-lang";
     repo = "elixir";
     rev = "v${version}";
-    sha256 = "0zrsy0jy33m7krpwf1vymmiirl068sj4hfjji77wkhn8k88awmfb";
+    sha256 = "06y8v239d5r3zr9s9mw19ws99qm7niicz69pqhawvg5qm4qxhvkr";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  inherit debugInfo;
+
   buildFlags = if debugInfo
    then "ERL_COMPILER_OPTIONS=debug_info"
    else "";
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index 6eb89bbf89be..7323fafaf97a 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
 , odbcSupport ? false, unixODBC ? null
-, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null }:
+, wxSupport ? false, mesa ? null, wxGTK ? null, xorg ? null
+, enableDebugInfo ? false }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xorg != null;
 assert odbcSupport -> unixODBC != null;
@@ -17,6 +18,8 @@ stdenv.mkDerivation rec {
     sha256 = "1rvyfh22g1fir1i4xn7v2md868wcmhajwhfsq97v7kn5kd2m7khp";
   };
 
+  debugInfo = enableDebugInfo;
+
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
     ] ++ optional wxSupport [ mesa wxGTK xorg.libX11 ]
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index c597a44a890e..cb29341689de 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -5,6 +5,7 @@
 , wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null
 , javacSupport ? false, openjdk ? null
 , enableHipe ? true
+, enableDebugInfo ? false
 }:
 
 assert wxSupport -> (if stdenv.isDarwin
@@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
+  debugInfo = enableDebugInfo;
+
   preConfigure = ''
     export HOME=$PWD/../
     sed -e s@/bin/pwd@pwd@g -i otp_build
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 42289d2467b1..0929495ee1be 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -5,6 +5,7 @@
 , wxSupport ? true, mesa ? null, wxGTK ? null, xorg ? null, wxmac ? null
 , javacSupport ? false, openjdk ? null
 , enableHipe ? true
+, enableDebugInfo ? false
 }:
 
 assert wxSupport -> (if stdenv.isDarwin
@@ -33,6 +34,8 @@ stdenv.mkDerivation rec {
       ++ optional javacSupport openjdk
       ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
 
+  debugInfo = enableDebugInfo;
+
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
   preConfigure = ''
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index 8ed50b886876..5adca2c0b42c 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -13,28 +13,25 @@ stdenv.mkDerivation {
     sha256 = "0ll2kd72zy8vf29sy0nnx3awk7nywpwpv21rvninjjaqkygrc0qw";
   };
 
+  nativeBuildInputs = [
+    cmake
+  ];
+
   buildInputs = [
-    cmake zlib sqlite gmp libffi cairo ncurses freetype
+    zlib sqlite gmp libffi cairo ncurses freetype
     mesa libpng libtiff libjpeg readline libsndfile libxml2
     freeglut libsamplerate pcre libevent libedit yajl
     pkgconfig glfw openssl libpthreadstubs libXdmcp
     libmemcached python3
   ];
 
-  configurePhase=''
-  # The Addon generation (AsyncRequest and a others checked) seems to have
-  # trouble with building on Virtual machines. Disabling them until it
-  # can be fully investigated.
-  sed -ie \
-        "s/add_subdirectory(addons)/#add_subdirectory(addons)/g" \
-        CMakeLists.txt
-  mkdir build
-  cd build
-  cmake  -DCMAKE_INSTALL_PREFIX="$out" ..
-  '';
-
-  installPhase=''
-  make install
+  preConfigure = ''
+    # The Addon generation (AsyncRequest and a others checked) seems to have
+    # trouble with building on Virtual machines. Disabling them until it
+    # can be fully investigated.
+    sed -ie \
+          "s/add_subdirectory(addons)/#add_subdirectory(addons)/g" \
+          CMakeLists.txt
   '';
 
   # for gcc5; c11 inline semantics breaks the build
@@ -42,6 +39,9 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Io programming language";
+    homepage = http://iolanguage.org/;
+    license = licenses.bsd3;
+
     maintainers = with maintainers; [
       raskin
       z77z
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index 4c064a42ebf8..94641e20e1bc 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ readline ];
   bits = if stdenv.is64bit then "64" else "32";
 
+  doCheck = true;
+
   buildPhase = ''
     sed -i bin/jconfig -e '
         s@bits=32@bits=${bits}@g;
@@ -19,19 +21,29 @@ stdenv.mkDerivation rec {
         '
     sed -i bin/build_libj -e 's@>& make.txt@ 2>\&1 | tee make.txt@'
 
+    sed -i f2.c -e 's/_isnan(\*wv)/_isnan(y)/'
+
     touch *.c *.h
     sh -o errexit bin/build_jconsole
+    [ -e j/bin/jconsole ]
     sh -o errexit bin/build_libj
+    [ -e j/bin/libj.so ]
     sh -o errexit bin/build_defs
+    [ -e defs/hostdefs.ijs ] && [ -e defs/netdefs.ijs ]
     sh -o errexit bin/build_tsdll
+    [ -x libtsdll.so ]
 
     sed -i j/bin/profile.ijs -e "
         s@userx=[.] *'.j'@userx=. '/.j'@;
         s@bin,'/profilex.ijs'@user,'/profilex.ijs'@ ;
-	/install=./ainstall=. install,'/share/j'
+        /install=./ainstall=. install,'/share/j'
         "
   '';
 
+  checkPhase = ''
+    echo 'i. 5' | j/bin/jconsole | fgrep "0 1 2 3 4"
+  '';
+
   installPhase = ''
     mkdir -p "$out"
     cp -r j/bin "$out/bin"
@@ -45,7 +57,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "J programming language, an ASCII-based APL successor";
     maintainers = with maintainers; [ raskin ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.gpl3Plus;
     homepage = http://jsoftware.com/;
   };
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index c9f1231aa6a1..a67dc323601f 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchgit, sqlite }:
+{ stdenv, fetchFromGitHub, sqlite, readline, asciidoc, SDL, SDL_gfx }:
 
 stdenv.mkDerivation {
-  name = "jimtcl-0.75-git";
+  name = "jimtcl-0.76";
 
-  src = fetchgit {
-    url = https://github.com/msteveb/jimtcl.git;
-    rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
-    sha256 = "1dm1qmb35hlp0d4i15c78n8jmbv7nhz2cgbrjyn6fjy6cy67sq0r";
+  src = fetchFromGitHub {
+    owner = "msteveb";
+    repo = "jimtcl";
+    rev = "51f65c6d38fbf86e1f0b036ad336761fd2ab7fa0";
+    sha256 = "00ldal1w9ysyfmx28xdcaz81vaazr1fqixxb2abk438yfpp1i9hq";
   };
 
   buildInputs = [
-    sqlite
+    sqlite readline asciidoc SDL SDL_gfx
   ];
 
   configureFlags = [
@@ -18,15 +19,23 @@ stdenv.mkDerivation {
     "--with-ext=tree"
     "--with-ext=binary"
     "--with-ext=sqlite3"
+    "--with-ext=readline"
+    "--with-ext=sdl"
     "--enable-utf8"
     "--ipv6"
   ];
 
+  preConfigurePhase = ''
+    export CFLAGS=$(sdl-config --cflags)
+    export LDFLAGS=$(sdl-config --libs)
+  '';
+
+
   meta = {
     description = "An open source small-footprint implementation of the Tcl programming language";
     homepage = http://jim.tcl.tk/;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+    maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
   };
 }
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index 23ea2fd65528..adf743848d19 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "high-performance JIT compiler for Lua 5.1";
+    description = "High-performance JIT compiler for Lua 5.1";
     homepage    = http://luajit.org;
     license     = licenses.mit;
     platforms   = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index f276f2833227..b984a1b1120e 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -2,7 +2,7 @@
 , mysql, libxml2, readline, zlib, curl, postgresql, gettext
 , openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
-, uwimap, pam, gmp, apacheHttpd }:
+, uwimap, pam, gmp, apacheHttpd, libiconv }:
 
 let
 
@@ -21,7 +21,9 @@ let
 
       buildInputs = [ flex bison pkgconfig ];
 
-      configureFlags = ["EXTENSION_DIR=$(out)/lib/php/extensions"];
+      configureFlags = [
+        "EXTENSION_DIR=$(out)/lib/php/extensions"
+      ] ++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}";
 
       flags = {
 
@@ -49,9 +51,9 @@ let
             "LDAP_DIR=${openldap.dev}"
             "LDAP_INCDIR=${openldap.dev}/include"
             "LDAP_LIBDIR=${openldap.out}/lib"
-            "--with-ldap-sasl=${cyrus_sasl.dev}"
+            (lib.optional stdenv.isLinux "--with-ldap-sasl=${cyrus_sasl.dev}")
             ];
-          buildInputs = [openldap cyrus_sasl openssl];
+          buildInputs = [openldap openssl] ++ lib.optional stdenv.isLinux cyrus_sasl;
         };
 
         mhash = {
@@ -218,14 +220,14 @@ let
       };
 
       cfg = {
-        imapSupport = config.php.imap or true;
+        imapSupport = config.php.imap or (!stdenv.isDarwin);
         ldapSupport = config.php.ldap or true;
         mhashSupport = config.php.mhash or true;
         mysqlSupport = (!php7) && (config.php.mysql or true);
         mysqliSupport = config.php.mysqli or true;
         pdo_mysqlSupport = config.php.pdo_mysql or true;
         libxml2Support = config.php.libxml2 or true;
-        apxs2Support = config.php.apxs2 or true;
+        apxs2Support = config.php.apxs2 or (!stdenv.isDarwin);
         bcmathSupport = config.php.bcmath or true;
         socketsSupport = config.php.sockets or true;
         curlSupport = config.php.curl or true;
@@ -283,29 +285,34 @@ let
       meta = with stdenv.lib; {
         description = "An HTML-embedded scripting language";
         homepage = http://www.php.net/;
-        license = stdenv.lib.licenses.php301;
+        license = licenses.php301;
         maintainers = with maintainers; [ globin ];
+        platforms = platforms.all;
       };
 
       patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ];
 
+      postPatch = lib.optional stdenv.isDarwin ''
+        substituteInPlace configure --replace "-lstdc++" "-lc++"
+      '';
+
     });
 
 in {
 
   php55 = generic {
-    version = "5.5.36";
-    sha256 = "1fvipg3p8m61kym2ir589vi1l6zm0r95rd97z5s6sq6ylgxfv114";
+    version = "5.5.37";
+    sha256 = "122xj115fjl6rqlxqqjzvh16fbm801yqcmfh9hn7zwfa8sz0wf6j";
   };
 
   php56 = generic {
-    version = "5.6.22";
-    sha256 = "1il8kwg3pak06i4fz09br7vjsxvwfgxcd95zyaf6kyjjrj08mnlh";
+    version = "5.6.23";
+    sha256 = "1isq6pym20nwsf2j1jdz321vck9xd6g86q2b13vycxyjjq42ikgs";
   };
 
   php70 = generic {
-    version = "7.0.7";
-    sha256 = "06ixiaqqndvancqy5xmnzpscd77z2ixv3yrsdq0r8avqqhjjjks7";
+    version = "7.0.8";
+    sha256 = "13bww8qz35crj3s2kzl50lqy28m83xms1qrz66qhf3j9i2ippp36";
   };
 
 }
diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix
index 708c251e4aff..f07e53e592f5 100644
--- a/pkgs/development/interpreters/pypy/default.nix
+++ b/pkgs/development/interpreters/pypy/default.nix
@@ -21,6 +21,17 @@ let
       sha256 = "1dmckvffanmh0b50pq34shnw05r55gjxn43kgvnkz5kkvvsbxdg1";
     };
 
+   # http://bugs.python.org/issue27369
+    postPatch = let
+      expatch = fetchurl {
+        name = "tests-expat-2.2.0.patch";
+        url = "http://bugs.python.org/file43514/0001-Fix-Python-2.7.11-tests-for-Expat-2.2.0.patch";
+        sha256 = "1j3pa7ly9xrhp8jjwg5l77z7i3y68gx8f8jchqk6zc39d9glq3il";
+      };
+      in ''
+      patch lib-python/2.7/test/test_pyexpat.py < '${expatch}'
+    '';
+
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ]
       ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
       ++ stdenv.lib.optional zlibSupport zlib;
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 726e2aa6aca1..48712cc21b98 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -109,7 +109,7 @@ let
 
     meta = {
       homepage = "http://python.org";
-      description = "a high-level dynamically-typed programming language";
+      description = "A high-level dynamically-typed programming language";
       longDescription = ''
         Python is a remarkably powerful dynamic programming language that
         is used in a wide variety of application domains. Some of its key
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index a72377a47708..e47fc82f4e8e 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -44,6 +44,15 @@ let
       ./deterministic-build.patch
 
       ./properly-detect-curses.patch
+    ] ++ optionals stdenv.isLinux [
+
+      # Disable the use of ldconfig in ctypes.util.find_library (since
+      # ldconfig doesn't work on NixOS), and don't use
+      # ctypes.util.find_library during the loading of the uuid module
+      # (since it will do a futile invocation of gcc (!) to find
+      # libuuid, slowing down program startup a lot).
+      ./no-ldconfig.patch
+
     ] ++ optionals stdenv.isCygwin [
       ./2.5.2-ctypes-util-find_library.patch
       ./2.5.2-tkinter-x11.patch
@@ -162,7 +171,7 @@ let
 
     meta = {
       homepage = "http://python.org";
-      description = "a high-level dynamically-typed programming language";
+      description = "A high-level dynamically-typed programming language";
       longDescription = ''
         Python is a remarkably powerful dynamic programming language that
         is used in a wide variety of application domains. Some of its key
@@ -193,6 +202,9 @@ let
 
       buildInputs = [ python ] ++ deps;
 
+      # We need to set this for python.buildEnv
+      pythonPath = [];
+
       inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
 
       # non-python gdbm has a libintl dependency on i686-cygwin, not on x86_64-cygwin
diff --git a/pkgs/development/interpreters/python/2.7/no-ldconfig.patch b/pkgs/development/interpreters/python/2.7/no-ldconfig.patch
new file mode 100644
index 000000000000..10284c7b3744
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.7/no-ldconfig.patch
@@ -0,0 +1,97 @@
+diff -ru -x '*~' Python-2.7.11-orig/Lib/ctypes/util.py Python-2.7.11/Lib/ctypes/util.py
+--- Python-2.7.11-orig/Lib/ctypes/util.py	2015-12-05 20:46:56.000000000 +0100
++++ Python-2.7.11/Lib/ctypes/util.py	2016-07-01 14:24:50.714223450 +0200
+@@ -212,31 +212,7 @@
+     else:
+ 
+         def _findSoname_ldconfig(name):
+-            import struct
+-            if struct.calcsize('l') == 4:
+-                machine = os.uname()[4] + '-32'
+-            else:
+-                machine = os.uname()[4] + '-64'
+-            mach_map = {
+-                'x86_64-64': 'libc6,x86-64',
+-                'ppc64-64': 'libc6,64bit',
+-                'sparc64-64': 'libc6,64bit',
+-                's390x-64': 'libc6,64bit',
+-                'ia64-64': 'libc6,IA-64',
+-                }
+-            abi_type = mach_map.get(machine, 'libc6')
+-
+-            # XXX assuming GLIBC's ldconfig (with option -p)
+-            expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)
+-            f = os.popen('/sbin/ldconfig -p 2>/dev/null')
+-            try:
+-                data = f.read()
+-            finally:
+-                f.close()
+-            res = re.search(expr, data)
+-            if not res:
+-                return None
+-            return res.group(1)
++            return None
+ 
+         def find_library(name):
+             return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
+diff -ru -x '*~' Python-2.7.11-orig/Lib/uuid.py Python-2.7.11/Lib/uuid.py
+--- Python-2.7.11-orig/Lib/uuid.py	2015-12-05 20:47:09.000000000 +0100
++++ Python-2.7.11/Lib/uuid.py	2016-07-01 14:33:14.360446897 +0200
+@@ -437,57 +437,7 @@
+         return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) +
+                 (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5])
+ 
+-# Thanks to Thomas Heller for ctypes and for his help with its use here.
+-
+-# If ctypes is available, use it to find system routines for UUID generation.
+ _uuid_generate_time = _UuidCreate = None
+-try:
+-    import ctypes, ctypes.util
+-    import sys
+-
+-    # The uuid_generate_* routines are provided by libuuid on at least
+-    # Linux and FreeBSD, and provided by libc on Mac OS X.
+-    _libnames = ['uuid']
+-    if not sys.platform.startswith('win'):
+-        _libnames.append('c')
+-    for libname in _libnames:
+-        try:
+-            lib = ctypes.CDLL(ctypes.util.find_library(libname))
+-        except:
+-            continue
+-        if hasattr(lib, 'uuid_generate_time'):
+-            _uuid_generate_time = lib.uuid_generate_time
+-            break
+-    del _libnames
+-
+-    # The uuid_generate_* functions are broken on MacOS X 10.5, as noted
+-    # in issue #8621 the function generates the same sequence of values
+-    # in the parent process and all children created using fork (unless
+-    # those children use exec as well).
+-    #
+-    # Assume that the uuid_generate functions are broken from 10.5 onward,
+-    # the test can be adjusted when a later version is fixed.
+-    if sys.platform == 'darwin':
+-        import os
+-        if int(os.uname()[2].split('.')[0]) >= 9:
+-            _uuid_generate_time = None
+-
+-    # On Windows prior to 2000, UuidCreate gives a UUID containing the
+-    # hardware address.  On Windows 2000 and later, UuidCreate makes a
+-    # random UUID and UuidCreateSequential gives a UUID containing the
+-    # hardware address.  These routines are provided by the RPC runtime.
+-    # NOTE:  at least on Tim's WinXP Pro SP2 desktop box, while the last
+-    # 6 bytes returned by UuidCreateSequential are fixed, they don't appear
+-    # to bear any relationship to the MAC address of any network device
+-    # on the box.
+-    try:
+-        lib = ctypes.windll.rpcrt4
+-    except:
+-        lib = None
+-    _UuidCreate = getattr(lib, 'UuidCreateSequential',
+-                          getattr(lib, 'UuidCreate', None))
+-except:
+-    pass
+ 
+ def _unixdll_getnode():
+     """Get the hardware address on Unix using ctypes."""
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index e1d1ccba4712..04e06d83d139 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "rakudo-star-${version}";
-  version = "2016.01";
+  version = "2016.04";
 
   src = fetchurl {
     url    = "http://rakudo.org/downloads/star/${name}.tar.gz";
-    sha256 = "feb385c5d05166061f413882e442d3a0ec53884918768940d3f00bb63bc85497";
+    sha256 = "11xzgwy155xpagrn3gzg8vqnqgjxwar70a3gzzmc9sica5064pva";
   };
 
   buildInputs = [ icu zlib gmp readline perl ];
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
       "--gen-nqp"
     ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Perl 6 implementation";
     homepage    = "http://www.rakudo.org";
-    license     = stdenv.lib.licenses.artistic2;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    license     = licenses.artistic2;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/interpreters/rebol/default.nix b/pkgs/development/interpreters/rebol/default.nix
new file mode 100644
index 000000000000..8a13c4efce61
--- /dev/null
+++ b/pkgs/development/interpreters/rebol/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, fetchurl, patchelf, glibc, libX11, libXt, perl }:
+
+stdenv.mkDerivation rec {
+  name = "rebol-nightly-${version}";
+  version = "3-alpha";
+  src = fetchFromGitHub {
+    rev = "bd45d0de512ff5953e098301c3d610f6024515d6";
+    owner = "earl";
+    repo = "r3";
+    sha256 = "0pirn6936rxi894xxdvj7xdwlwmmxq2wz36jyjnj26667v2n543c";
+  };
+
+  r3 = fetchurl {
+    url = "http://rebolsource.net/downloads/experimental/r3-linux-x64-gbf237fc";
+    sha256 = "0cm86kn4lcbvyy6pqg67x53y0wz353y0vg7pfqv65agxj1ynxnrx";
+    name = "r3";
+  };
+
+  buildInputs = [ glibc libX11 libXt perl ];
+
+  configurePhase = ''
+    cp ${r3} make/r3-make
+    chmod 777 make/r3-make
+    patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./make/r3-make
+    cd make
+    perl -pi -e 's#-m32##g' makefile
+    perl -pi -e 's#sudo .*#echo#g' makefile
+    make prep
+  '';
+  buildPhase = ''
+    make
+    mkdir -p $out/bin
+    cp r3 $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''Relative expression based object language, a language where code is data'';
+    maintainers = with maintainers; [ vrthra ];
+    platforms = [ "x86_64-linux" ];
+    license = licenses.asl20;
+    homepage = http://www.rebol.com/;
+  };
+}
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index c1a4c17707c8..a83b04fec704 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -4,7 +4,9 @@
 , useSCEL ? false, emacs
 }:
 
-let optional = stdenv.lib.optional; in
+let optional = stdenv.lib.optional;
+ljack2 = libjack2.override { gcc = gcc; };
+in
 
 stdenv.mkDerivation rec {
   name = "supercollider-3.6.6";
@@ -37,6 +39,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    gcc libjack2 libsndfile fftw curl libXt qt readline ]
-    ++ optional useSCEL emacs;
+    gcc ljack2 libsndfile fftw curl libXt qt readline ]
+      ++ optional useSCEL emacs;
 }
diff --git a/pkgs/development/interpreters/unicon-lang/default.nix b/pkgs/development/interpreters/unicon-lang/default.nix
new file mode 100644
index 000000000000..7487aa633131
--- /dev/null
+++ b/pkgs/development/interpreters/unicon-lang/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, unzip, gdbm, libX11, libXt }:
+
+stdenv.mkDerivation rec {
+  name = "unicon-lang-${version}";
+  version = "11.7";
+  src = fetchurl {
+    url = "http://unicon.org/dist/uni-2-4-2010.zip";
+    sha256 = "1g9l2dfp99dqih2ir2limqfjgagh3v9aqly6x0l3qavx3qkkwf61";
+  };
+  buildInputs = [ libX11 libXt unzip ];
+
+  sourceRoot = ".";
+
+  configurePhase = ''
+    case "$(uname -a | sed 's/ /_/g')" in
+    Darwin*Version_9*i386) sys=intel_macos;;
+    Linux*x86_64*) sys=amd64_linux;;
+    Linux*i686*) sys=intel_linux;;
+    *) sys=unknown;;
+    esac
+    echo "all: ; echo" >  uni/3d/makefile
+    make X-Configure name=$sys
+  '';
+
+  buildPhase = ''
+    make Unicon
+  '';
+
+  installPhase = ''
+    mkdir -p $out/
+    cp -r bin $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''A very high level, goal-directed, object-oriented, general purpose applications language'';
+    maintainers = with maintainers; [ vrthra ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    homepage = http://unicon.org;
+  };
+}
+