summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/elixir/default.nix6
-rw-r--r--pkgs/development/interpreters/nix-exec/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/5.20/default.nix2
-rw-r--r--pkgs/development/interpreters/perl/5.22/default.nix2
-rw-r--r--pkgs/development/interpreters/php/5.4.nix6
-rw-r--r--pkgs/development/interpreters/php/5.5.nix6
-rw-r--r--pkgs/development/interpreters/php/5.6.nix6
-rw-r--r--pkgs/development/interpreters/php/7.0.nix8
-rw-r--r--pkgs/development/interpreters/php/default.nix308
-rw-r--r--pkgs/development/interpreters/php/generic.nix291
-rw-r--r--pkgs/development/interpreters/picoc/default.nix6
-rw-r--r--pkgs/development/interpreters/pypy/default.nix8
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix54
-rw-r--r--pkgs/development/interpreters/racket/default.nix6
-rw-r--r--pkgs/development/interpreters/ruby/bundler-head.nix4
-rw-r--r--pkgs/development/interpreters/ruby/bundler.nix2
-rw-r--r--pkgs/development/interpreters/scsh/default.nix30
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix4
18 files changed, 382 insertions, 371 deletions
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 99d649f3f684..c9a837744868 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
+{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash }:
 
 let
   version = "1.0.5";
@@ -32,8 +32,8 @@ stdenv.mkDerivation {
      b=$(basename $f)
       if [ $b == "mix" ]; then continue; fi
       wrapProgram $f \
-      --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \
-      --set CURL_CA_BUNDLE "${cacert}/etc/ssl/certs/ca-bundle.crt"
+        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \
+        --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt
     done
   '';
 
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
index 72641161c75c..071680c4e9bf 100644
--- a/pkgs/development/interpreters/nix-exec/default.nix
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, nix, git }: let
-  version = "4.1.0";
+  version = "4.1.2";
 in stdenv.mkDerivation {
   name = "nix-exec-${version}";
 
   src = fetchurl {
     url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
 
-    sha256 = "16hssxv6fwi5a6bz7dlvhjjr3ymiqrvq0xfd38gwhn9qhvynv2ak";
+    sha256 = "03dphdkf33zi2wm92wghfvadghljh6q1a9zdj9rcbx2jh7fp3k8y";
   };
 
   buildInputs = [ pkgconfig nix git ];
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
index e8eb3a70e374..141484814ea3 100644
--- a/pkgs/development/interpreters/perl/5.20/default.nix
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     sha256 = "17cvplgpxbm1hshxlkra2fldn4da1iap1lsnb04hdm8ply93k95i";
   };
 
+  outputs = [ "out" "man" ];
+
   patches =
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
diff --git a/pkgs/development/interpreters/perl/5.22/default.nix b/pkgs/development/interpreters/perl/5.22/default.nix
index f9068de1c2cf..e0be8610fb7b 100644
--- a/pkgs/development/interpreters/perl/5.22/default.nix
+++ b/pkgs/development/interpreters/perl/5.22/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
     sha256 = "0g5bl8sdpzx9gx2g5jq3py4bj07z2ylk7s1qn0fvsss2yl3hhs8c";
   };
 
+  outputs = [ "out" "man" ];
+
   patches =
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
deleted file mode 100644
index c1ba35a91343..000000000000
--- a/pkgs/development/interpreters/php/5.4.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd }:
-callPackage ./generic.nix {
-  phpVersion = "5.4.42";
-  sha = "1yg03b6a88i7hg593m9zmmcm4kr59wdrhz9xk1frx9ps9gkb51b2";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/5.5.nix b/pkgs/development/interpreters/php/5.5.nix
deleted file mode 100644
index 0d66e64693a9..000000000000
--- a/pkgs/development/interpreters/php/5.5.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "5.5.25";
-  sha = "0qrc4qll07hfs5a3l4ajrj7969w10d0n146zq1smdl6x4pkkgpv8";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/5.6.nix b/pkgs/development/interpreters/php/5.6.nix
deleted file mode 100644
index e05f1ae10bd8..000000000000
--- a/pkgs/development/interpreters/php/5.6.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "5.6.10";
-  sha = "0iccgibmbc659z6dh6c58l1b7vnqly7al37fbs0l3si4qy0rqmqa";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/7.0.nix b/pkgs/development/interpreters/php/7.0.nix
deleted file mode 100644
index 1369cf4a219a..000000000000
--- a/pkgs/development/interpreters/php/7.0.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "7.0.0beta1";
-  url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2";
-  sha = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984";
-  apacheHttpd = apacheHttpd;
-  php7 = true;
-}
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
new file mode 100644
index 000000000000..2d1fd454c0f2
--- /dev/null
+++ b/pkgs/development/interpreters/php/default.nix
@@ -0,0 +1,308 @@
+{ lib, stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
+, 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 }:
+
+let
+
+  generic =
+    { version, sha256, url ? "http://www.php.net/distributions/php-${version}.tar.bz2" }:
+
+    let php7 = lib.versionAtLeast version "7.0"; in
+
+    composableDerivation.composableDerivation {} (fixed: {
+
+      inherit version;
+
+      name = "php-${version}";
+
+      enableParallelBuilding = true;
+
+      buildInputs = [ flex bison pkgconfig ];
+
+      flags = {
+
+        # much left to do here...
+
+        # SAPI modules:
+
+        apxs2 = {
+          configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
+          buildInputs = [apacheHttpd];
+        };
+
+        # Extensions
+        imap = {
+          configureFlags = [
+            "--with-imap=${uwimap}"
+            "--with-imap-ssl"
+            ];
+          buildInputs = [ uwimap openssl pam ];
+        };
+
+        ldap = {
+          configureFlags = ["--with-ldap=${openldap}"];
+          buildInputs = [openldap cyrus_sasl openssl];
+        };
+
+        mhash = {
+          configureFlags = ["--with-mhash"];
+          buildInputs = [libmhash];
+        };
+
+        curl = {
+          configureFlags = ["--with-curl=${curl}"];
+          buildInputs = [curl openssl];
+        };
+
+        curlWrappers = {
+          configureFlags = ["--with-curlwrappers"];
+        };
+
+        zlib = {
+          configureFlags = ["--with-zlib=${zlib}"];
+          buildInputs = [zlib];
+        };
+
+        libxml2 = {
+          configureFlags = [
+            "--with-libxml-dir=${libxml2}"
+            ];
+          buildInputs = [ libxml2 ];
+        };
+
+        pcntl = {
+          configureFlags = [ "--enable-pcntl" ];
+        };
+
+        readline = {
+          configureFlags = ["--with-readline=${readline}"];
+          buildInputs = [ readline ];
+        };
+
+        sqlite = {
+          configureFlags = ["--with-pdo-sqlite=${sqlite}"];
+          buildInputs = [ sqlite ];
+        };
+
+        postgresql = {
+          configureFlags = ["--with-pgsql=${postgresql}"];
+          buildInputs = [ postgresql ];
+        };
+
+        pdo_pgsql = {
+          configureFlags = ["--with-pdo-pgsql=${postgresql}"];
+          buildInputs = [ postgresql ];
+        };
+
+        mysql = {
+          configureFlags = ["--with-mysql=${mysql.lib}"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        mysqli = {
+          configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        mysqli_embedded = {
+          configureFlags = ["--enable-embedded-mysqli"];
+          depends = "mysqli";
+          assertion = fixed.mysqliSupport;
+        };
+
+        pdo_mysql = {
+          configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        bcmath = {
+          configureFlags = ["--enable-bcmath"];
+        };
+
+        gd = {
+          # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
+          configureFlags = [
+            "--with-gd"
+            "--with-freetype-dir=${freetype}"
+            "--with-png-dir=${libpng}"
+            "--with-jpeg-dir=${libjpeg}"
+          ];
+          buildInputs = [ libpng libjpeg freetype ];
+        };
+
+        gmp = {
+          configureFlags = ["--with-gmp=${gmp}"];
+          buildInputs = [ gmp ];
+        };
+
+        soap = {
+          configureFlags = ["--enable-soap"];
+        };
+
+        sockets = {
+          configureFlags = ["--enable-sockets"];
+        };
+
+        openssl = {
+          configureFlags = ["--with-openssl=${openssl}"];
+          buildInputs = [openssl];
+        };
+
+        mbstring = {
+          configureFlags = ["--enable-mbstring"];
+        };
+
+        gettext = {
+          configureFlags = ["--with-gettext=${gettext}"];
+          buildInputs = [gettext];
+        };
+
+        intl = {
+          configureFlags = ["--enable-intl"];
+          buildInputs = [icu];
+        };
+
+        exif = {
+          configureFlags = ["--enable-exif"];
+        };
+
+        xsl = {
+          configureFlags = ["--with-xsl=${libxslt}"];
+          buildInputs = [libxslt];
+        };
+
+        mcrypt = let libmcrypt' = libmcrypt.override { disablePosixThreads = true; }; in {
+          configureFlags = ["--with-mcrypt=${libmcrypt'}"];
+          buildInputs = [libmcrypt'];
+        };
+
+        bz2 = {
+          configureFlags = ["--with-bz2=${bzip2}"];
+          buildInputs = [bzip2];
+        };
+
+        zip = {
+          configureFlags = ["--enable-zip"];
+        };
+
+        ftp = {
+          configureFlags = ["--enable-ftp"];
+        };
+
+        fpm = {
+          configureFlags = ["--enable-fpm"];
+        };
+
+        mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+          configureFlags = ["--with-mssql=${freetds}"];
+          buildInputs = [freetds];
+        };
+
+        zts = {
+          configureFlags = ["--enable-maintainer-zts"];
+        };
+
+        calendar = {
+          configureFlags = ["--enable-calendar"];
+        };
+      };
+
+      cfg = {
+        imapSupport = config.php.imap or true;
+        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;
+        bcmathSupport = config.php.bcmath or true;
+        socketsSupport = config.php.sockets or true;
+        curlSupport = config.php.curl or true;
+        curlWrappersSupport = (!php7) && (config.php.curlWrappers or true);
+        gettextSupport = config.php.gettext or true;
+        pcntlSupport = config.php.pcntl or true;
+        postgresqlSupport = config.php.postgresql or true;
+        pdo_pgsqlSupport = config.php.pdo_pgsql or true;
+        readlineSupport = config.php.readline or true;
+        sqliteSupport = config.php.sqlite or true;
+        soapSupport = config.php.soap or true;
+        zlibSupport = config.php.zlib or true;
+        opensslSupport = config.php.openssl or true;
+        mbstringSupport = config.php.mbstring or true;
+        gdSupport = config.php.gd or true;
+        intlSupport = config.php.intl or true;
+        exifSupport = config.php.exif or true;
+        xslSupport = config.php.xsl or false;
+        mcryptSupport = config.php.mcrypt or true;
+        bz2Support = config.php.bz2 or false;
+        zipSupport = config.php.zip or true;
+        ftpSupport = config.php.ftp or true;
+        fpmSupport = config.php.fpm or true;
+        gmpSupport = config.php.gmp or true;
+        mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin));
+        ztsSupport = config.php.zts or false;
+        calendarSupport = config.php.calendar or true;
+      };
+
+      configurePhase = ''
+        # Don't record the configure flags since this causes unnecessary
+        # runtime dependencies.
+        for i in main/build-defs.h.in scripts/php-config.in; do
+          substituteInPlace $i \
+            --replace '@CONFIGURE_COMMAND@' '(omitted)' \
+            --replace '@CONFIGURE_OPTIONS@' "" \
+            --replace '@PHP_LDFLAGS@' ""
+        done
+
+        iniFile=$out/etc/php-recommended.ini
+        [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
+        ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
+      '';
+
+      installPhase = ''
+        unset installPhase; installPhase;
+        cp php.ini-production $iniFile
+      '';
+
+      src = fetchurl {
+        inherit url sha256;
+      };
+
+      meta = with stdenv.lib; {
+        description = "An HTML-embedded scripting language";
+        homepage = http://www.php.net/;
+        license = stdenv.lib.licenses.php301;
+        maintainers = with maintainers; [ globin ];
+      };
+
+      patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ];
+
+    });
+
+in {
+
+  php54 = generic {
+    version = "5.4.44";
+    sha256 = "0vc5lf0yjk1fs7inri76mh0lrcmq32ji4m6yqdmg7314x5f9xmcd";
+  };
+
+  php55 = generic {
+    version = "5.5.28";
+    sha256 = "1wy2v5rmbiia3v6fc8nwg1y3sdkdmicksxnkadz1f3035rbjqz8r";
+  };
+
+  php56 = generic {
+    version = "5.6.12";
+    sha256 = "0fl5r0lzav7icg97p7gkvbxk0xk2mh7i1r45dycjlyxgf91109vg";
+  };
+
+  php70 = lib.lowPrio (generic {
+    version = "7.0.0beta1";
+    url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2";
+    sha256 = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984";
+  });
+
+}
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
deleted file mode 100644
index e71b62381735..000000000000
--- a/pkgs/development/interpreters/php/generic.nix
+++ /dev/null
@@ -1,291 +0,0 @@
-{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
-, 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
-
-, phpVersion, apacheHttpd, sha
-, php7 ? false, url ? null }:
-
-let
-  libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
-in
-
-composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
-
-  version = "${phpVersion}";
-
-  name = "php-${version}";
-
-  enableParallelBuilding = true;
-
-  buildInputs = [ flex bison pkgconfig ];
-
-  flags = {
-
-    # much left to do here...
-
-    # SAPI modules:
-
-    apxs2 = {
-      configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
-      buildInputs = [apacheHttpd];
-    };
-
-    # Extensions
-    imap = {
-      configureFlags = [
-        "--with-imap=${uwimap}"
-        "--with-imap-ssl"
-        ];
-      buildInputs = [ uwimap openssl pam ];
-    };
-
-    ldap = {
-      configureFlags = ["--with-ldap=${openldap}"];
-      buildInputs = [openldap cyrus_sasl openssl];
-    };
-
-    mhash = {
-      configureFlags = ["--with-mhash"];
-      buildInputs = [libmhash];
-    };
-
-    curl = {
-      configureFlags = ["--with-curl=${curl}"];
-      buildInputs = [curl openssl];
-    };
-
-    curlWrappers = {
-      configureFlags = ["--with-curlwrappers"];
-    };
-
-    zlib = {
-      configureFlags = ["--with-zlib=${zlib}"];
-      buildInputs = [zlib];
-    };
-
-    libxml2 = {
-      configureFlags = [
-        "--with-libxml-dir=${libxml2}"
-        ];
-      buildInputs = [ libxml2 ];
-    };
-
-    pcntl = {
-      configureFlags = [ "--enable-pcntl" ];
-    };
-
-    readline = {
-      configureFlags = ["--with-readline=${readline}"];
-      buildInputs = [ readline ];
-    };
-
-    sqlite = {
-      configureFlags = ["--with-pdo-sqlite=${sqlite}"];
-      buildInputs = [ sqlite ];
-    };
-
-    postgresql = {
-      configureFlags = ["--with-pgsql=${postgresql}"];
-      buildInputs = [ postgresql ];
-    };
-
-    pdo_pgsql = {
-      configureFlags = ["--with-pdo-pgsql=${postgresql}"];
-      buildInputs = [ postgresql ];
-    };
-
-    mysql = {
-      configureFlags = ["--with-mysql=${mysql.lib}"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    mysqli = {
-      configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    mysqli_embedded = {
-      configureFlags = ["--enable-embedded-mysqli"];
-      depends = "mysqli";
-      assertion = fixed.mysqliSupport;
-    };
-
-    pdo_mysql = {
-      configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    bcmath = {
-      configureFlags = ["--enable-bcmath"];
-    };
-
-    gd = {
-      # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
-      configureFlags = [
-        "--with-gd"
-        "--with-freetype-dir=${freetype}"
-        "--with-png-dir=${libpng}"
-        "--with-jpeg-dir=${libjpeg}"
-      ];
-      buildInputs = [ libpng libjpeg freetype ];
-    };
-
-    gmp = {
-      configureFlags = ["--with-gmp=${gmp}"];
-      buildInputs = [ gmp ];
-    };
-
-    soap = {
-      configureFlags = ["--enable-soap"];
-    };
-
-    sockets = {
-      configureFlags = ["--enable-sockets"];
-    };
-
-    openssl = {
-      configureFlags = ["--with-openssl=${openssl}"];
-      buildInputs = [openssl];
-    };
-
-    mbstring = {
-      configureFlags = ["--enable-mbstring"];
-    };
-
-    gettext = {
-      configureFlags = ["--with-gettext=${gettext}"];
-      buildInputs = [gettext];
-    };
-
-    intl = {
-      configureFlags = ["--enable-intl"];
-      buildInputs = [icu];
-    };
-
-    exif = {
-      configureFlags = ["--enable-exif"];
-    };
-
-    xsl = {
-      configureFlags = ["--with-xsl=${libxslt}"];
-      buildInputs = [libxslt];
-    };
-
-    mcrypt = {
-      configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
-      buildInputs = [libmcryptOverride];
-    };
-
-    bz2 = {
-      configureFlags = ["--with-bz2=${bzip2}"];
-      buildInputs = [bzip2];
-    };
-
-    zip = {
-      configureFlags = ["--enable-zip"];
-    };
-
-    ftp = {
-      configureFlags = ["--enable-ftp"];
-    };
-
-    fpm = {
-      configureFlags = ["--enable-fpm"];
-    };
-
-    mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
-      configureFlags = ["--with-mssql=${freetds}"];
-      buildInputs = [freetds];
-    };
-
-    zts = {
-      configureFlags = ["--enable-maintainer-zts"];
-    };
-
-    calendar = {
-      configureFlags = ["--enable-calendar"];
-    };
-  };
-
-  cfg = {
-    imapSupport = config.php.imap or true;
-    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;
-    bcmathSupport = config.php.bcmath or true;
-    socketsSupport = config.php.sockets or true;
-    curlSupport = config.php.curl or true;
-    curlWrappersSupport = (!php7) && (config.php.curlWrappers or true);
-    gettextSupport = config.php.gettext or true;
-    pcntlSupport = config.php.pcntl or true;
-    postgresqlSupport = config.php.postgresql or true;
-    pdo_pgsqlSupport = config.php.pdo_pgsql or true;
-    readlineSupport = config.php.readline or true;
-    sqliteSupport = config.php.sqlite or true;
-    soapSupport = config.php.soap or true;
-    zlibSupport = config.php.zlib or true;
-    opensslSupport = config.php.openssl or true;
-    mbstringSupport = config.php.mbstring or true;
-    gdSupport = config.php.gd or true;
-    intlSupport = config.php.intl or true;
-    exifSupport = config.php.exif or true;
-    xslSupport = config.php.xsl or false;
-    mcryptSupport = config.php.mcrypt or true;
-    bz2Support = config.php.bz2 or false;
-    zipSupport = config.php.zip or true;
-    ftpSupport = config.php.ftp or true;
-    fpmSupport = config.php.fpm or true;
-    gmpSupport = config.php.gmp or true;
-    mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin));
-    ztsSupport = config.php.zts or false;
-    calendarSupport = config.php.calendar or true;
-  };
-
-  configurePhase = ''
-    # Don't record the configure flags since this causes unnecessary
-    # runtime dependencies.
-    for i in main/build-defs.h.in scripts/php-config.in; do
-      substituteInPlace $i \
-        --replace '@CONFIGURE_COMMAND@' '(omitted)' \
-        --replace '@CONFIGURE_OPTIONS@' "" \
-        --replace '@PHP_LDFLAGS@' ""
-    done
-
-    iniFile=$out/etc/php-recommended.ini
-    [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
-    ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
-  '';
-
-  installPhase = ''
-    unset installPhase; installPhase;
-    cp php.ini-production $iniFile
-  '';
-
-  src = fetchurl {
-    url = if url == null then
-      "http://www.php.net/distributions/php-${version}.tar.bz2"
-    else
-      url;
-    sha256 = sha;
-  };
-
-  meta = with stdenv.lib; {
-    description = "An HTML-embedded scripting language";
-    homepage = http://www.php.net/;
-    license = stdenv.lib.licenses.php301;
-    maintainers = with maintainers; [ globin ];
-  };
-
-  patches = if !php7 then
-    [ ./fix-paths.patch ]
-  else
-    [ ./fix-paths-php7.patch ]
-  ;
-
-})
diff --git a/pkgs/development/interpreters/picoc/default.nix b/pkgs/development/interpreters/picoc/default.nix
index c9ec01703bf0..e9893dfd1c7e 100644
--- a/pkgs/development/interpreters/picoc/default.nix
+++ b/pkgs/development/interpreters/picoc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, readline }:
 
 let version = "2015-05-04"; in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "picoc-${version}";
 
   src = fetchFromGitHub {
@@ -39,7 +39,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  # Tests are currently broken on i686 see
+  # http://hydra.nixos.org/build/24003763/nixlog/1
+  doCheck = if stdenv.isi686 then false else true;
   checkTarget = "test";
 
   installPhase = ''
diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix
index 143bab575347..f5cf11ead970 100644
--- a/pkgs/development/interpreters/pypy/default.nix
+++ b/pkgs/development/interpreters/pypy/default.nix
@@ -100,7 +100,12 @@ let
        ln -s $out/pypy-c/include $out/include/${libPrefix}
        ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
 
-       wrapProgram "$out/bin/pypy" \
+       # We must wrap the original, not the symlink.
+       # PyPy uses argv[0] to find its standard library, and while it knows
+       # how to follow symlinks, it doesn't know about wrappers. So, it
+       # will think the wrapper is the original. As long as the wrapper has
+       # the same path as the original, this is OK.
+       wrapProgram "$out/pypy-c/pypy-c" \
          --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
          --set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
 
@@ -114,6 +119,7 @@ let
       isPypy = true;
       buildEnv = callPackage ../python/wrapper.nix { python = self; };
       interpreter = "${self}/bin/${executable}";
+      sitePackages = "lib/${libPrefix}/site-packages";
     };
 
     enableParallelBuilding = true;  # almost no parallelization without STM
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 163e8d7194ba..f757147b0475 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -6,28 +6,40 @@
 # Create a python executable that knows about additional packages.
 let
   recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
-in
-(buildEnv {
-  name = "${python.name}-env";
-  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
+  env = (buildEnv {
+    name = "${python.name}-env";
+    paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
 
-  inherit ignoreCollisions;
+    inherit ignoreCollisions;
 
-  postBuild = ''
-    . "${makeWrapper}/nix-support/setup-hook"
+    postBuild = ''
+      . "${makeWrapper}/nix-support/setup-hook"
 
-    if [ -L "$out/bin" ]; then
-        unlink "$out/bin"
-    fi
-    mkdir -p "$out/bin"
+      if [ -L "$out/bin" ]; then
+          unlink "$out/bin"
+      fi
+      mkdir -p "$out/bin"
 
-    cd "${python}/bin"
-    for prg in *; do
-      rm -f "$out/bin/$prg"
-      makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
-    done
-  '' + postBuild;
-}) // {
-  inherit python;
-  inherit (python) meta;
-}
+      cd "${python}/bin"
+      for prg in *; do
+        rm -f "$out/bin/$prg"
+        makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
+      done
+    '' + postBuild;
+
+    passthru.env = stdenv.mkDerivation {
+      name = "interactive-${python.name}-environment";
+      nativeBuildInputs = [ env ];
+
+      buildCommand = ''
+        echo >&2 ""
+        echo >&2 "*** Python 'env' attributes are intended for interactive nix-shell sessions, not for building! ***"
+        echo >&2 ""
+        exit 1
+      '';
+    };
+  }) // {
+    inherit python;
+    inherit (python) meta;
+  };
+in env
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 1affd1fa5827..8aa75829554c 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -31,11 +31,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "racket-${version}";
-  version = "6.2";
+  version = "6.2.1";
 
   src = fetchurl {
     url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "05g60fzb9dzf52xj9n7s4prybwbr8dqjq94mbdmw5cxk88vi2c8k";
+    sha256 = "0555j63k7fs10iv0icmivlxpzgp6s7gwcbfddmbwxlf2rk80qhq0";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     cd src/build
   '';
 
-  configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
+  configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" "--disable-docs"];
 
   configureScript = "../configure";
 
diff --git a/pkgs/development/interpreters/ruby/bundler-head.nix b/pkgs/development/interpreters/ruby/bundler-head.nix
index 2087485e3ef3..0aa6e9f90ce1 100644
--- a/pkgs/development/interpreters/ruby/bundler-head.nix
+++ b/pkgs/development/interpreters/ruby/bundler-head.nix
@@ -5,12 +5,12 @@ buildRubyGem {
   src = fetchgit {
     url = "https://github.com/bundler/bundler.git";
     rev = "a2343c9eabf5403d8ffcbca4dea33d18a60fc157";
-    sha256 = "1vzm21fc37w89psxfk2fzi64zyb3gyhzr9smd6jk2r2kvgp6d38b";
+    sha256 = "1p7kzhmicfljy9n7nq3qh6lvrsckiq76ddypf6s55gfh1l98z4k9";
     leaveDotGit = true;
   };
   dontPatchShebangs = true;
   postInstall = ''
-    find $out -type f -perm +0100 | while read f; do
+    find $out -type f -perm /0100 | while read f; do
       substituteInPlace $f \
          --replace "/usr/bin/env" "${coreutils}/bin/env"
     done
diff --git a/pkgs/development/interpreters/ruby/bundler.nix b/pkgs/development/interpreters/ruby/bundler.nix
index d5278bed885a..6dc01f9929c9 100644
--- a/pkgs/development/interpreters/ruby/bundler.nix
+++ b/pkgs/development/interpreters/ruby/bundler.nix
@@ -6,7 +6,7 @@ buildRubyGem {
   sha256 = "1zkxw6699bbmsamrij2lirscbh0j58p1p3bql22jsxvx34j6w5nc";
   dontPatchShebangs = true;
   postInstall = ''
-    find $out -type f -perm +0100 | while read f; do
+    find $out -type f -perm /0100 | while read f; do
       substituteInPlace $f \
          --replace "/usr/bin/env" "${coreutils}/bin/env"
     done
diff --git a/pkgs/development/interpreters/scsh/default.nix b/pkgs/development/interpreters/scsh/default.nix
index 98b4f55f79b8..ad2bf945f966 100644
--- a/pkgs/development/interpreters/scsh/default.nix
+++ b/pkgs/development/interpreters/scsh/default.nix
@@ -1,26 +1,22 @@
-{stdenv, fetchurl}:
-
-let
-  pname = "scsh";
-  version = "0.6.7";
-  name = "${pname}-${version}";
-in
+{ stdenv, fetchgit, autoconf, automake, autoreconfHook, scheme48 }:
 
 stdenv.mkDerivation {
-  inherit name;
+  name = "scsh-0.7pre";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "c4a9f7df2a0bb7a7aa3dafc918aa9e9a566d4ad33a55f0192889de172d1ddb7f";
+  src = fetchgit {
+    url = "git://github.com/scheme/scsh.git";
+    rev = "f99b8c5293628cfeaeb792019072e3a96841104f";
+    fetchSubmodules = true;
+    sha256 = "0fz1r0bmiii9ld91r84dqkqwhnqk0h6drdycq93zcy5ndyn12fqp";
   };
 
-  meta = {
+  buildInputs = [ autoconf automake autoreconfHook scheme48 ];
+  configureFlags = ''--with-scheme48=${scheme48}'';
+
+  meta = with stdenv.lib; {
     description = "A Scheme shell";
-    longDescription = ''
-      SCSH is an implementation of the Scheme shell.  It is implemented as
-      a heap image which is interpreted by the Scheme 48 virtual machine.
-    '';
     homepage = http://www.scsh.net/;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ joachifm ];
   };
 }
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index a20d5b1dfd12..f44347c61b74 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig
-, libjack2, libsndfile, fftw, curl
+, libjack2, libsndfile, fftw, curl, gcc
 , libXt, qt, readline
 , useSCEL ? false, emacs
 }:
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [ 
-    libjack2 libsndfile fftw curl libXt qt readline ]
+    gcc libjack2 libsndfile fftw curl libXt qt readline ]
     ++ optional useSCEL emacs;
 }