diff options
Diffstat (limited to 'pkgs/development/interpreters')
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; } |