diff options
author | Robin Gloster <mail@glob.in> | 2017-01-20 16:37:16 +0100 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2017-01-20 16:37:16 +0100 |
commit | c2738235854d441e49099b50ca1fc0dca18ef530 (patch) | |
tree | 138c12922f6c40a3da32925d0daf3923ca85c540 /pkgs/development/interpreters | |
parent | 3373a55cacb8117a53d5ea3b01241177a975fa0b (diff) | |
parent | 6b6553c768b35241930e18fecc9a0e5b95e209b6 (diff) | |
download | nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar.gz nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar.bz2 nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar.lz nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar.xz nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.tar.zst nixlib-c2738235854d441e49099b50ca1fc0dca18ef530.zip |
Merge remote-tracking branch 'upstream/master' into gcc-6
Diffstat (limited to 'pkgs/development/interpreters')
23 files changed, 359 insertions, 75 deletions
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix index 16042091a47a..2608388e1526 100644 --- a/pkgs/development/interpreters/angelscript/default.nix +++ b/pkgs/development/interpreters/angelscript/default.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="angelscript"; - version = "2.31.1"; + version = "2.31.2"; name="${baseName}-${version}"; url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip"; - sha256 = "00z0x2w1dnfd2h8xvmq3qy2n8gqxyi9gxwnsz0q420by8vnrljmh"; + sha256 = "1cl1yg36ad4wq0vks4xg0hv7iyvq6yzsd4y1jng5qdf8qybq02qc"; }; buildInputs = [ unzip diff --git a/pkgs/development/interpreters/ceptre/default.nix b/pkgs/development/interpreters/ceptre/default.nix index 1f25a2031f27..29d63f1d0048 100644 --- a/pkgs/development/interpreters/ceptre/default.nix +++ b/pkgs/development/interpreters/ceptre/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, mlton }: stdenv.mkDerivation rec { - name = "ceptre-2016-01-01"; + name = "ceptre-2016-11-27"; src = fetchgit { url = https://github.com/chrisamaphone/interactive-lp; - rev = "b3d21489d4994f03d2982de273eea90bc7fba5d0"; - sha256 = "1qpyasr3jg4i2x547yq1dzksvjagvnrmkdd00s108wvw9npc2jj1"; + rev = "e436fda2ccd44e9c9d226feced9d204311deacf5"; + sha256 = "174pxfnw3qyn2w8qxmx45fa68iddf106mkfi0kcmyqxzsc9jprh8"; }; nativeBuildInputs = [ mlton ]; diff --git a/pkgs/development/interpreters/clisp/hg.nix b/pkgs/development/interpreters/clisp/hg.nix new file mode 100644 index 000000000000..b4930e7d57d6 --- /dev/null +++ b/pkgs/development/interpreters/clisp/hg.nix @@ -0,0 +1,97 @@ +# there are the following linking sets: +# - boot (not installed): without modules, only used when building clisp +# - base (default): contains readline and i18n, regexp and syscalls modules +# by default +# - full: contains base plus modules in withModules +{ stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11 +, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto +, libffi +, libffcall +, coreutils +# build options +, threadSupport ? (stdenv.isi686 || stdenv.isx86_64) +, x11Support ? (stdenv.isi686 || stdenv.isx86_64) +, dllSupport ? true +, withModules ? [ + "pcre" + "rawsock" + ] + ++ stdenv.lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ] + ++ stdenv.lib.optional x11Support "clx/new-clx" +}: + +assert x11Support -> (libX11 != null && libXau != null && libXt != null + && libXpm != null && xproto != null && libXext != null && xextproto != null); + +stdenv.mkDerivation rec { + v = "2.50pre20161201"; + name = "clisp-${v}"; + + src = fetchhg { + url = "http://hg.code.sf.net/p/clisp/clisp"; + rev = "536a48"; + sha256 = "097igsfpn8xipnjapyf5hx6smzh04v4ncskxl747xxn6pgpq813z"; + }; + + inherit libsigsegv gettext coreutils; + + ffcallAvailable = stdenv.isLinux && (libffcall != null); + + buildInputs = [libsigsegv] + ++ stdenv.lib.optional (gettext != null) gettext + ++ stdenv.lib.optional (ncurses != null) ncurses + ++ stdenv.lib.optional (pcre != null) pcre + ++ stdenv.lib.optional (zlib != null) zlib + ++ stdenv.lib.optional (readline != null) readline + ++ stdenv.lib.optional (ffcallAvailable && (libffi != null)) libffi + ++ stdenv.lib.optional ffcallAvailable libffcall + ++ stdenv.lib.optionals x11Support [ + libX11 libXau libXt libXpm xproto libXext xextproto + ]; + + # First, replace port 9090 (rather low, can be used) + # with 64237 (much higher, IANA private area, not + # anything rememberable). + # Also remove reference to a type that disappeared from recent glibc + # (seems the correct thing to do, found no reference to any solution) + postPatch = '' + sed -e 's@9090@64237@g' -i tests/socket.tst + sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in + find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i + + substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" "" + ''; + + configureFlags = "builddir" + + stdenv.lib.optionalString (!dllSupport) " --without-dynamic-modules" + + stdenv.lib.optionalString (readline != null) " --with-readline" + # --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise + + stdenv.lib.optionalString (ffcallAvailable && (libffi != null)) " --with-dynamic-ffi" + + stdenv.lib.optionalString ffcallAvailable " --with-ffcall" + + stdenv.lib.optionalString (!ffcallAvailable) " --without-ffcall" + + stdenv.lib.concatMapStrings (x: " --with-module=" + x) withModules + + stdenv.lib.optionalString threadSupport " --with-threads=POSIX_THREADS"; + + preBuild = '' + sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d + cd builddir + ''; + + postInstall = + stdenv.lib.optionalString (withModules != []) + (''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full'' + + stdenv.lib.concatMapStrings (x: " " + x) withModules); + + NIX_CFLAGS_COMPILE = "-O0 ${stdenv.lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}"; + + # TODO : make mod-check fails + doCheck = false; + + meta = { + description = "ANSI Common Lisp Implementation"; + homepage = http://clisp.cons.org; + maintainers = with stdenv.lib.maintainers; [raskin tohl]; + # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 6999ee07e3d0..2d27185a9fca 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.3"; + version = "1.4.0"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "elixir"; rev = "v${version}"; - sha256 = "1l4ff3awil1nzrgd4pv4bx6n9ml83ci4czplv03yfz18q7jbipq2"; + sha256 = "1q05f1s581nk475a8d9hakh2irgvsg50x3084yjzhrcmmykwnysi"; }; buildInputs = [ erlang rebar makeWrapper ]; diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix index 824c68688803..d08c4e517cb7 100644 --- a/pkgs/development/interpreters/erlang/R19.nix +++ b/pkgs/development/interpreters/erlang/R19.nix @@ -21,7 +21,7 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}" + "${optionalString javacSupport "-javac"}"; - version = "19.1.6"; + version = "19.2"; # Minor OTP releases are not always released as tarbals at # http://erlang.org/download/ So we have to download from @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "erlang"; repo = "otp"; rev = "OTP-${version}"; - sha256 = "120dqi8h2fwqfmh9g2nmkf153zlglzw9kkddz57xqvqq5arcs72y"; + sha256 = "06pr4ydrqpp1skx85zjb1an4kvzv6vacb771vy71k54j7w6lh9hk"; }; buildInputs = @@ -43,6 +43,11 @@ stdenv.mkDerivation rec { debugInfo = enableDebugInfo; + prePatch = '' + substituteInPlace configure.in \ + --replace '`sw_vers -productVersion`' '10.10' + ''; + preConfigure = '' ./otp_build autoconf ''; diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix new file mode 100644 index 000000000000..e1ce01b59068 --- /dev/null +++ b/pkgs/development/interpreters/hy/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + name = "hy-${version}"; + version = "0.11.1"; + + src = fetchurl { + url = "mirror://pypi/h/hy/${name}.tar.gz"; + sha256 = "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs"; + }; + + buildInputs = [ pythonPackages.appdirs ]; + propagatedBuildInputs = [ pythonPackages.clint pythonPackages.astor pythonPackages.rply ]; + + meta = { + description = "A LISP dialect embedded in Python"; + homepage = http://hylang.org/; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.nixy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index 13403d50759a..7632784463fa 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -1,27 +1,38 @@ -{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }: +{ stdenv, fetchurl, unzip, makeWrapper , flex, bison, ncurses, buddy, tecla +, libsigsegv, gmpxx, cvc4, cln +}: -stdenv.mkDerivation rec { - name = "maude-2.6"; +let - src = fetchurl { - url = "http://maude.cs.uiuc.edu/download/current/Maude-2.6.tar.gz"; - sha256 = "182abzhvjvlaa21aqv7802v3bs57a4dm7cw09s3mqmih7nzpkfm5"; - }; + version = "2.7.1"; fullMaude = fetchurl { - url = "https://full-maude.googlecode.com/git/full-maude261h.maude"; - sha256 = "0xx8bfn6arsa75m5vhp5lmpazgfw230ssq33h9vifswlvzzc81ha"; + url = "http://maude.cs.illinois.edu/w/images/c/ca/Full-Maude-${version}.zip"; + sha256 = "0y4gn7n8vh24r24vckhpkd46hb5hqsbrm4w9zr6dz4paafq12fjc"; + }; + +in + +stdenv.mkDerivation rec { + name = "maude-${version}"; + + src = fetchurl { + url = "http://maude.cs.illinois.edu/w/images/d/d8/Maude-${version}.tar.gz"; + sha256 = "0jskn5dm8vvbd3mlryjxdb6wfpkvyx174wk7ci9a31aylxzpr25i"; }; - buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper]; + buildInputs = [ + flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper unzip cvc4 cln + ]; hardeningDisable = [ "stackprotector" ] ++ stdenv.lib.optionals stdenv.isi686 [ "pic" "fortify" ]; preConfigure = '' configureFlagsArray=( - --datadir=$out/share/maude + --datadir="$out/share/maude" TECLA_LIBS="-ltecla -lncursesw" + LIBS="-lcln" CFLAGS="-O3" CXXFLAGS="-O3" ) ''; @@ -30,12 +41,12 @@ stdenv.mkDerivation rec { postInstall = '' for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done - mkdir -p $out/share/maude - cp ${fullMaude} -d $out/share/maude/full-maude.maude + unzip ${fullMaude} + install -D -m 444 full-maude.maude $out/share/maude/full-maude.maude ''; meta = { - homepage = "http://maude.cs.uiuc.edu/"; + homepage = "http://maude.cs.illinois.edu/"; description = "High-level specification language"; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 226f819ded93..904ad97648e0 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -18,11 +18,11 @@ let in stdenv.mkDerivation rec { - version = "4.0.3"; + version = "4.2.0"; name = "octave-${version}"; src = fetchurl { - url = "mirror://gnu/octave/${name}.tar.xz"; - sha256 = "11day29k4yfvxh4101x5yf26ld992x5n6qvmhjjk6mzsd26fqayw"; + url = "mirror://gnu/octave/${name}.tar.gz"; + sha256 = "0rsmg5i3b5yfvkvrl9mqvn3f2n1a6vqg45phpja1qlzkh8vsffs4"; }; buildInputs = [ gfortran readline ncurses perl flex texinfo qhull diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 1a5bed6d20b9..c261668edd26 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -38,6 +38,10 @@ let buildInputs = [apacheHttpd]; }; + embed = { + configureFlags = ["--enable-embed"]; + }; + # Extensions imap = { configureFlags = [ @@ -230,6 +234,7 @@ let pdo_mysqlSupport = config.php.pdo_mysql or true; libxml2Support = config.php.libxml2 or true; apxs2Support = config.php.apxs2 or (!stdenv.isDarwin); + embedSupport = config.php.embed or false; bcmathSupport = config.php.bcmath or true; socketsSupport = config.php.sockets or true; curlSupport = config.php.curl or true; @@ -263,13 +268,15 @@ let configurePhase = '' # Don't record the configure flags since this causes unnecessary - # runtime dependencies. + # runtime dependencies - except for php-embed, as uwsgi needs them. + ${lib.optionalString (!(config.php.embed or false)) '' 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 + ''} [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin ./configure --with-config-file-scan-dir=/etc/php.d --with-config-file-path=$out/etc --prefix=$out $configureFlags @@ -302,17 +309,17 @@ let in { php56 = generic { - version = "5.6.29"; - sha256 = "1fr530x1hxpaf0gb1ayrs9a4xa9v14dfb4hn2560dgm7i96896s9"; + version = "5.6.30"; + sha256 = "01krq8r9xglq59x376zlg261yikckq179jmhnlcg3gqxza9w41d1"; }; php70 = generic { - version = "7.0.14"; - sha256 = "0d0596vzpyw86a77smk799sxl4mh2wylzsvmrv8mzda21nd3di7v"; + version = "7.0.15"; + sha256 = "1nbxwj4yx30k77qibhmnx0rvqhia1zbkwi5ps5nzm0sn6d3zkj58"; }; php71 = generic { - version = "7.1.0"; - sha256 = "0qcf4aahkiwypidw42pd5dz34n10296zgjfyh56lgcymxryzvg38"; + version = "7.1.1"; + sha256 = "1g3mqscxnsic9ypf641jhiyn95d4d1nz198539245v2lgffx74fp"; }; } diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix new file mode 100644 index 000000000000..1fecdfdf560e --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix @@ -0,0 +1,94 @@ +{ stdenv, fetchurl, CF, configd, coreutils }: + +with stdenv.lib; + +let + + mkPaths = paths: { + C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths; + LIBRARY_PATH = makeLibraryPath paths; + }; + +in + +stdenv.mkDerivation rec { + name = "python-boot-${version}"; + version = "2.7.12"; + libPrefix = "python2.7"; + + src = fetchurl { + url = "https://www.python.org/ftp/python/2.7.12/Python-${version}.tar.xz"; + sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp"; + }; + + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; + + LDFLAGS = optionalString (!stdenv.isDarwin) "-lgcc_s"; + NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; + + buildInputs = optionals stdenv.isDarwin [ CF configd ]; + + patches = + [ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff. + ./search-path.patch + + # Python recompiles a Python if the mtime stored *in* the + # pyc/pyo file differs from the mtime of the source file. This + # doesn't work in Nix because Nix changes the mtime of files in + # the Nix store to 1. So treat that as a special case. + ./nix-store-mtime.patch + + # patch python to put zero timestamp into pyc + # if DETERMINISTIC_BUILD env var is set + ./deterministic-build.patch + ]; + + DETERMINISTIC_BUILD = 1; + + preConfigure = '' + # Purity. + for i in /usr /sw /opt /pkg; do + substituteInPlace ./setup.py --replace $i /no-such-path + done + '' + optionalString (stdenv ? cc && stdenv.cc.libc != null) '' + for i in Lib/plat-*/regen; do + substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/ + done + '' + optionalString stdenv.isDarwin '' + substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' + substituteInPlace Lib/multiprocessing/__init__.py \ + --replace 'os.popen(comm)' 'os.popen("${coreutils}/bin/nproc")' + ''; + + configureFlags = [ "--enable-shared" "--with-threads" "--enable-unicode=ucs4" ] + ++ optionals stdenv.isCygwin [ "ac_cv_func_bind_textdomain_codeset=yes" ] + ++ optionals stdenv.isDarwin [ "--disable-toolbox-glue" ]; + + postInstall = + '' + ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz} + + paxmark E $out/bin/python2.7 + + rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev + ''; + + enableParallelBuilding = true; + + meta = { + homepage = "http://python.org"; + 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 + distinguishing features include: clear, readable syntax; strong + introspection capabilities; intuitive object orientation; natural + expression of procedural code; full modularity, supporting + hierarchical packages; exception-based error handling; and very + high level dynamic data types. + ''; + license = stdenv.lib.licenses.psfl; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ lnl7 chaoflow domenkozar ]; + }; +} diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index 4a25382997c3..15b21b5bed9b 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -6,7 +6,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? false , zlib , callPackage , self @@ -28,7 +28,7 @@ with stdenv.lib; let majorVersion = "2.7"; - minorVersion = "12"; + minorVersion = "13"; minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -37,7 +37,7 @@ let src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp"; + sha256 = "0cgpk3zk0fgpji59pb4zy9nzljr70qzgv1vpz5hq5xw2d2c47m9m"; }; hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); @@ -57,13 +57,6 @@ let ./properly-detect-curses.patch - # FIXME: get rid of this after the next release, when the commit referenced here makes - # it in. We need it until then because it breaks compilation of programs that use - # locale with clang 3.8 and higher. - (fetchpatch { - url = "https://hg.python.org/cpython/raw-rev/e0ec3471cb09"; - sha256 = "1jdgb70jw942r4kmr01qll7mk1di8jx0qiabmp20jhnmha246ivq"; - }) ] ++ optionals stdenv.isLinux [ # Disable the use of ldconfig in ctypes.util.find_library (since @@ -157,6 +150,10 @@ in stdenv.mkDerivation { setupHook = ./setup-hook.sh; + postPatch = optionalString (x11Support && (tix != null)) '' + substituteInPlace "Lib/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + ''; + postInstall = '' # needed for some packages, especially packages that backport diff --git a/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch index 44c38fb29534..2a6b2a20dd19 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch +++ b/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch @@ -1,8 +1,18 @@ +From 6b0f329a9f37110020ca02b35c8125391ef282b7 Mon Sep 17 00:00:00 2001 +From: Frederik Rietdijk <fridh@fridh.nl> +Date: Sat, 24 Dec 2016 15:56:10 +0100 +Subject: [PATCH] no ldconfig + +--- + Lib/ctypes/util.py | 35 +---------------------------------- + Lib/uuid.py | 47 ----------------------------------------------- + 2 files changed, 1 insertion(+), 81 deletions(-) + diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index b2c514d..a6eca81 100644 +index ab10ec5..f253e34 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py -@@ -207,31 +207,7 @@ elif os.name == "posix": +@@ -235,40 +235,7 @@ elif os.name == "posix": else: def _findSoname_ldconfig(name): @@ -22,11 +32,20 @@ index b2c514d..a6eca81 100644 - - # XXX assuming GLIBC's ldconfig (with option -p) - expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type) -- f = os.popen('LC_ALL=C LANG=C /sbin/ldconfig -p 2>/dev/null') +- +- env = dict(os.environ) +- env['LC_ALL'] = 'C' +- env['LANG'] = 'C' +- null = open(os.devnull, 'wb') - try: -- data = f.read() -- finally: -- f.close() +- with null: +- p = subprocess.Popen(['/sbin/ldconfig', '-p'], +- stderr=null, +- stdout=subprocess.PIPE, +- env=env) +- except OSError: # E.g. command not found +- return None +- [data, _] = p.communicate() - res = re.search(expr, data) - if not res: - return None @@ -36,16 +55,12 @@ index b2c514d..a6eca81 100644 def find_library(name): return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) diff --git a/Lib/uuid.py b/Lib/uuid.py -index 7432032..9829d18 100644 +index 7432032..05eeee5 100644 --- a/Lib/uuid.py +++ b/Lib/uuid.py -@@ -437,57 +437,7 @@ def _netbios_getnode(): - return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) + - (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5]) +@@ -441,53 +441,6 @@ def _netbios_getnode(): --# 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. + # If ctypes is available, use it to find system routines for UUID generation. _uuid_generate_time = _UuidCreate = None -try: - import ctypes, ctypes.util @@ -97,3 +112,6 @@ index 7432032..9829d18 100644 def _unixdll_getnode(): """Get the hardware address on Unix using ctypes.""" +-- +2.11.0 + diff --git a/pkgs/development/interpreters/python/cpython/3.3/default.nix b/pkgs/development/interpreters/python/cpython/3.3/default.nix index 6a543a8a0ee0..3ab0de96704c 100644 --- a/pkgs/development/interpreters/python/cpython/3.3/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.3/default.nix @@ -6,7 +6,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false , zlib , callPackage , self @@ -50,6 +50,10 @@ in stdenv.mkDerivation { NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + postPatch = optionalString (x11Support && (tix != null)) '' + substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + ''; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix index 623fa5d74f64..e081a60c6bc4 100644 --- a/pkgs/development/interpreters/python/cpython/3.4/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix @@ -6,7 +6,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false , zlib , callPackage , self @@ -55,6 +55,10 @@ in stdenv.mkDerivation { substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; + postPatch = optionalString (x11Support && (tix != null)) '' + substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + ''; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix index 7172e429f236..92f9d66ea52d 100644 --- a/pkgs/development/interpreters/python/cpython/3.5/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix @@ -6,7 +6,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false , zlib , callPackage , self @@ -55,6 +55,10 @@ in stdenv.mkDerivation { substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; + postPatch = optionalString (x11Support && (tix != null)) '' + substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + ''; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix index 4654a6e1cb61..795bd7467253 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix @@ -7,7 +7,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false , zlib , callPackage , self @@ -25,7 +25,7 @@ with stdenv.lib; let majorVersion = "3.6"; minorVersion = "0"; - minorVersionSuffix = "rc1"; + minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; libPrefix = "python${majorVersion}"; @@ -45,7 +45,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "01sqzz5iq7law93zgdxkb8sv98a493a2wzslynz64cl3hhdqr1pw"; + sha256 = "08inlbb2vb8lahw6wfq654lqk6l1x7ncpggp6a92vqw5yq2gkidh"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; @@ -55,6 +55,10 @@ in stdenv.mkDerivation { substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; + postPatch = optionalString (x11Support && (tix != null)) '' + substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" + ''; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix index 1fd9eaee4303..163c3847db9b 100644 --- a/pkgs/development/interpreters/python/pypy/2.7/default.nix +++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi -, sqlite, openssl, ncurses, python, expat, tcl, tk, xlibsWrapper, libX11 +, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11 , makeWrapper, callPackage, self, gdbm, db # For the Python package set , pkgs, packageOverrides ? (self: super: {}) @@ -8,8 +8,8 @@ assert zlibSupport -> zlib != null; let - majorVersion = "5.4"; - minorVersion = "1"; + majorVersion = "5.6"; + minorVersion = "0"; minorVersionSuffix = ""; pythonVersion = "2.7"; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -23,7 +23,7 @@ let src = fetchurl { url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2"; - sha256 = "1x8sa5x1nkrb8wrmicri94ji8kvyxihyryi8br5fk7gak0agcai0"; + sha256 = "145a0kd5c0s1v2rpavw9ihncfb05s2x7chc70v8fssvyxq601911"; }; # http://bugs.python.org/issue27369 @@ -35,6 +35,7 @@ let }; in '' patch lib-python/2.7/test/test_pyexpat.py < '${expatch}' + substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" ''; buildInputs = [ bzip2 openssl pkgconfig python libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ] diff --git a/pkgs/development/interpreters/python/wrap-python.nix b/pkgs/development/interpreters/python/wrap-python.nix index b965ff5350b1..1efd777bb052 100644 --- a/pkgs/development/interpreters/python/wrap-python.nix +++ b/pkgs/development/interpreters/python/wrap-python.nix @@ -35,7 +35,7 @@ makeSetupHook { import sys import site import functools - sys.argv[0] = '"'$(basename "$f")'"' + sys.argv[0] = '"'$(readlink -f "$f")'"' functools.reduce(lambda k, p: site.addsitedir(p, k), ['"$([ -n "$program_PYTHONPATH" ] && (echo "'$program_PYTHONPATH'" | sed "s|:|','|g") || true)"'], site._init_pathinfo()) ''; diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 9486d030a8b4..d5f3a6d39902 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -113,6 +113,7 @@ let configureFlags = ["--enable-shared" "--enable-pthread"] ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby" + ++ op (!docSupport) "--disable-install-doc" ++ ops stdenv.isDarwin [ # on darwin, we have /usr/include/tk.h -- so the configure script detects # that tk is installed @@ -154,7 +155,7 @@ let license = stdenv.lib.licenses.ruby; homepage = http://www.ruby-lang.org/en/; description = "The Ruby language"; - maintainers = [ stdenv.lib.maintainers.vrthra ]; + maintainers = with stdenv.lib.maintainers; [ vrthra manveru ]; platforms = stdenv.lib.platforms.all; }; @@ -218,4 +219,12 @@ in { git = "0cwjf0nrzaa5g81bw0qp65byyadhxvbnvprkshv3ckjl7yi46zf6"; }; }; + + ruby_2_4_0 = generic { + version = rubyVersion "2" "4" "0" ""; + sha256 = { + src = "0gcyn9328w2vma882l71c9v9ygmmsj2z8j1l44c4l2x92nyx0bqm"; + git = "1w9zyx8xmka8jdiha57snnbfls2r6dc9g03d8cjx0nxkmwf3r2l3"; + }; + }; } diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix index d21e7d669dcc..a3aeaf6a8ba0 100644 --- a/pkgs/development/interpreters/ruby/patchsets.nix +++ b/pkgs/development/interpreters/ruby/patchsets.nix @@ -65,4 +65,9 @@ rec { "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch" "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch" ]; + "2.4.0" = ops useRailsExpress [ + "${patchSet}/patches/ruby/2.4.0/railsexpress/01-skip-broken-tests.patch" + "${patchSet}/patches/ruby/2.4.0/railsexpress/02-improve-gc-stats.patch" + "${patchSet}/patches/ruby/2.4.0/railsexpress/03-display-more-detailed-stack-trace.patch" + ]; } diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix index bbe1038bab2f..51db26b78236 100644 --- a/pkgs/development/interpreters/ruby/rvm-patchsets.nix +++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix @@ -1,8 +1,8 @@ { fetchFromGitHub }: fetchFromGitHub { - owner = "skaes"; + owner = "manveru"; repo = "rvm-patchsets"; - rev = "951e47ca1022cd1e41de9177fa87438cfb72d127"; - sha256 = "18n2frwmn6lcnjywysyjam1zfzfad0r50141xs2h9kifsyak5xcf"; + rev = "46e04f230ce91a786f5e583389443efec0ecd594"; + sha256 = "0ayh8zj8knyz3344an942qdf33pi42jmksqk34frb346zi1ag693"; } diff --git a/pkgs/development/interpreters/spidermonkey/31.nix b/pkgs/development/interpreters/spidermonkey/31.nix index 585ebc120d8e..ae3e742e2ef4 100644 --- a/pkgs/development/interpreters/spidermonkey/31.nix +++ b/pkgs/development/interpreters/spidermonkey/31.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, nspr, icu, readline }: +{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, nspr, icu, readline }: stdenv.mkDerivation rec { version = "31.5.0"; @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { sha256 = "1q8icql5hh1g3gzg5fp4rl9rfagyhm9gilfn3dgi7qn4i1mrfqsd"; }; - buildInputs = [ pkgconfig perl python2 zip libffi readline nspr icu ]; + buildInputs = [ libffi readline nspr icu ]; + nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ]; postUnpack = "sourceRoot=\${sourceRoot}/js/src"; diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix index 89c02f262001..b4823817d4b7 100644 --- a/pkgs/development/interpreters/spidermonkey/38.nix +++ b/pkgs/development/interpreters/spidermonkey/38.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, python2, zip, libffi, readline, icu, zlib, nspr }: +{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, nspr }: stdenv.mkDerivation rec { version = "38.2.1.rc0"; @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { sha256 = "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681"; }; - buildInputs = [ pkgconfig perl python2 zip libffi readline icu zlib nspr ]; + buildInputs = [ libffi readline icu zlib nspr ]; + nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ]; postUnpack = "sourceRoot=\${sourceRoot}/js/src"; |