diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-08-12 10:09:41 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-08-12 10:09:41 +0200 |
commit | 6899c7fdb989ce02f877ce5c0490a20ac4a64bf0 (patch) | |
tree | 68a2e9b25d3b4f0d0a70343b38d10bdc0111f20d /pkgs/development/interpreters | |
parent | 9bcee1051a94d6ba2be64a19665f017542122b83 (diff) | |
parent | e207d1f04ad262f53e387e9e3956a2a9c421a66a (diff) | |
download | nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar.gz nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar.bz2 nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar.lz nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar.xz nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.tar.zst nixlib-6899c7fdb989ce02f877ce5c0490a20ac4a64bf0.zip |
Merge branch 'master' into gcc-6
Diffstat (limited to 'pkgs/development/interpreters')
42 files changed, 394 insertions, 309 deletions
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix index d1c8cf15fcee..c2ae87582df6 100644 --- a/pkgs/development/interpreters/chibi/default.nix +++ b/pkgs/development/interpreters/chibi/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { inherit name; meta = { - homepage = "https://github.com/ashinn/chibi-scheme"; + homepage = https://github.com/ashinn/chibi-scheme; description = "Small Footprint Scheme for use as a C Extension Language"; platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/interpreters/clips/default.nix b/pkgs/development/interpreters/clips/default.nix index cf923d409172..b597ba6fe789 100644 --- a/pkgs/development/interpreters/clips/default.nix +++ b/pkgs/development/interpreters/clips/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { description = "A Tool for Building Expert Systems"; - homepage = "http://www.clipsrules.net/"; + homepage = http://www.clipsrules.net/; longDescription = '' Developed at NASA's Johnson Space Center from 1985 to 1996, CLIPS is a rule-based programming language useful for creating diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index d32f415732b9..3d19f7ba2911 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation { meta = { platforms = [ "i686-linux" "x86_64-linux" ]; - homepage = "https://www.dartlang.org/"; + homepage = https://www.dartlang.org/; description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; longDescription = '' Dart is a class-based, single inheritance, object-oriented language diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix index 9fc25ad46fdc..28ea05066c23 100644 --- a/pkgs/development/interpreters/eff/default.nix +++ b/pkgs/development/interpreters/eff/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { checkTarget = "test"; meta = with stdenv.lib; { - homepage = "http://www.eff-lang.org"; + homepage = http://www.eff-lang.org; description = "A functional programming language based on algebraic effects and their handlers"; longDescription = '' Eff is a functional language with handlers of not only exceptions, diff --git a/pkgs/development/interpreters/elixir/1.5.nix b/pkgs/development/interpreters/elixir/1.5.nix index 0c3c0304a9b4..e85d25002235 100644 --- a/pkgs/development/interpreters/elixir/1.5.nix +++ b/pkgs/development/interpreters/elixir/1.5.nix @@ -1,7 +1,7 @@ { mkDerivation }: mkDerivation rec { - version = "1.5.0-rc.2"; - sha256 = "0wfxsfz1qbb6iapg8j1qskva6j4mccxqvv79xbz08fzzb6n1wvxa"; + version = "1.5.1"; + sha256 = "0q0zr3v9cyb7p9aab8v038hnjm84nf9b60kikffp6w9rfqqqf767"; minimumOTPVersion = "18"; } diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix index ff63406aea36..8f83a338484c 100644 --- a/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/pkgs/development/interpreters/elixir/generic-builder.nix @@ -59,7 +59,7 @@ in ''; meta = with stdenv.lib; { - homepage = "http://elixir-lang.org/"; + homepage = https://elixir-lang.org/; description = "A functional, meta-programming aware language built on top of the Erlang VM"; longDescription = '' diff --git a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix index 89c97f5a0eb7..a5f79c197d63 100644 --- a/pkgs/development/interpreters/erlang/R16B02-8-basho.nix +++ b/pkgs/development/interpreters/erlang/R16B02-8-basho.nix @@ -42,7 +42,7 @@ mkDerivation rec { ''; meta = { - homepage = "https://github.com/basho/otp/"; + homepage = https://github.com/basho/otp/; description = "Programming language used for massively scalable soft real-time systems, Basho fork"; longDescription = '' diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 3434603f3028..897f84f94ada 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -1,5 +1,5 @@ { pkgs, stdenv, fetchurl, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused -, libxml2, libxslt, ncurses, openssl, perl, gcc, autoreconfHook +, libxml2, libxslt, ncurses, openssl, perl, autoreconfHook , openjdk ? null # javacSupport , unixODBC ? null # odbcSupport , mesa ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport @@ -47,9 +47,9 @@ in stdenv.mkDerivation ({ inherit src version; - buildInputs = - [ perl gnum4 ncurses openssl autoreconfHook libxslt libxml2 makeWrapper gcc - ] + nativeBuildInputs = [ autoreconfHook makeWrapper perl ]; + + buildInputs = [ gnum4 ncurses openssl autoreconfHook libxslt libxml2 ] ++ optionals wxSupport wxPackages2 ++ optionals odbcSupport odbcPackages ++ optionals javacSupport javacPackages @@ -102,7 +102,7 @@ in stdenv.mkDerivation ({ setupHook = ./setup-hook.sh; meta = with stdenv.lib; { - homepage = "http://www.erlang.org/"; + homepage = http://www.erlang.org/; downloadPage = "http://www.erlang.org/download.html"; description = "Programming language used for massively scalable soft real-time systems"; diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix index 1928d51d3e58..e203a1d09f40 100644 --- a/pkgs/development/interpreters/groovy/default.nix +++ b/pkgs/development/interpreters/groovy/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "groovy-${version}"; - version = "2.4.10"; + version = "2.4.12"; src = fetchurl { url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip"; - sha256 = "1a8pqcrm014h4x54gqqyxp7r1vkwhphqwrfa7gnqr6nzdqxzyk8w"; + sha256 = "1dm7m221pqbgh3lp1q1nvv6qc0fpja3cgsd0mx3ghahcfsfa3fck"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/development/interpreters/gtk-server/default.nix b/pkgs/development/interpreters/gtk-server/default.nix index 277912f76670..381144c68c2c 100644 --- a/pkgs/development/interpreters/gtk-server/default.nix +++ b/pkgs/development/interpreters/gtk-server/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { description = "gtk-server for interpreted GUI programming"; - homepage = "http://www.gtk-server.org/"; + homepage = http://www.gtk-server.org/; license = stdenv.lib.licenses.gpl2Plus; maintainers = [stdenv.lib.maintainers.tohl]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix index 854052edf056..a7be084991ba 100644 --- a/pkgs/development/interpreters/love/0.10.nix +++ b/pkgs/development/interpreters/love/0.10.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3 meta = { - homepage = "http://love2d.org"; + homepage = http://love2d.org; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix index 8053c82e90e6..09f7e39196cc 100644 --- a/pkgs/development/interpreters/love/0.7.nix +++ b/pkgs/development/interpreters/love/0.7.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://love2d.org"; + homepage = http://love2d.org; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix index e73f831156a5..2b19f18b3ef3 100644 --- a/pkgs/development/interpreters/love/0.8.nix +++ b/pkgs/development/interpreters/love/0.8.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://love2d.org"; + homepage = http://love2d.org; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix index da733ef29a85..9a9de2ad6f55 100644 --- a/pkgs/development/interpreters/love/0.9.nix +++ b/pkgs/development/interpreters/love/0.9.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3 meta = { - homepage = "http://love2d.org"; + homepage = http://love2d.org; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; diff --git a/pkgs/development/interpreters/lua-4/default.nix b/pkgs/development/interpreters/lua-4/default.nix index a89f4b1e5d71..1d94fd33a72c 100644 --- a/pkgs/development/interpreters/lua-4/default.nix +++ b/pkgs/development/interpreters/lua-4/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector"; meta = { - homepage = "http://www.lua.org"; + homepage = http://www.lua.org; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/pkgs/development/interpreters/lua-5/5.0.3.nix b/pkgs/development/interpreters/lua-5/5.0.3.nix index 773883ef34a9..a9e725f128bc 100644 --- a/pkgs/development/interpreters/lua-5/5.0.3.nix +++ b/pkgs/development/interpreters/lua-5/5.0.3.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { installTargets = "install soinstall"; meta = { - homepage = "http://www.lua.org"; + homepage = http://www.lua.org; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix index 9d9e104fb85f..cdbb2324dc65 100644 --- a/pkgs/development/interpreters/lua-5/5.1.nix +++ b/pkgs/development/interpreters/lua-5/5.1.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://www.lua.org"; + homepage = http://www.lua.org; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix index 3bd921860841..43e289cd3690 100644 --- a/pkgs/development/interpreters/lua-5/5.2.nix +++ b/pkgs/development/interpreters/lua-5/5.2.nix @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { }; meta = { - homepage = "http://www.lua.org"; + homepage = http://www.lua.org; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/pkgs/development/interpreters/lua-5/5.3.nix b/pkgs/development/interpreters/lua-5/5.3.nix index 8290bd05c590..c1d313a36569 100644 --- a/pkgs/development/interpreters/lua-5/5.3.nix +++ b/pkgs/development/interpreters/lua-5/5.3.nix @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { }; meta = { - homepage = "http://www.lua.org"; + homepage = http://www.lua.org; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/pkgs/development/interpreters/lua-5/filesystem.nix b/pkgs/development/interpreters/lua-5/filesystem.nix index 0df5a6d37212..21f656044a33 100644 --- a/pkgs/development/interpreters/lua-5/filesystem.nix +++ b/pkgs/development/interpreters/lua-5/filesystem.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "https://github.com/keplerproject/luafilesystem"; + homepage = https://github.com/keplerproject/luafilesystem; hydraPlatforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.flosse ]; }; diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix index 018fb201bcda..b83b920497de 100644 --- a/pkgs/development/interpreters/lua-5/sockets.nix +++ b/pkgs/development/interpreters/lua-5/sockets.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ lua5 ]; meta = { - homepage = "http://w3.impa.br/~diego/software/luasocket/"; + homepage = http://w3.impa.br/~diego/software/luasocket/; hydraPlatforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.mornfall ]; }; diff --git a/pkgs/development/interpreters/lua-5/zip.nix b/pkgs/development/interpreters/lua-5/zip.nix index f6460be16625..295f41aaa2b8 100644 --- a/pkgs/development/interpreters/lua-5/zip.nix +++ b/pkgs/development/interpreters/lua-5/zip.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { patches = [ ./zip.patch ]; meta = { - homepage = "https://github.com/luaforge/luazip"; + homepage = https://github.com/luaforge/luazip; hydraPlatforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.mit; }; diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index 17e545d95a74..9ead7176d4ed 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = "http://maude.cs.illinois.edu/"; + homepage = http://maude.cs.illinois.edu/; description = "High-level specification language"; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix index f4f52ec4ed33..08ed8f0d4689 100644 --- a/pkgs/development/interpreters/pixie/default.nix +++ b/pkgs/development/interpreters/pixie/default.nix @@ -77,7 +77,7 @@ let ''; meta = { description = "A clojure-like lisp, built with the pypy vm toolkit"; - homepage = "https://github.com/pixie-lang/pixie"; + homepage = https://github.com/pixie-lang/pixie; license = stdenv.lib.licenses.lgpl3; platforms = ["x86_64-linux" "i686-linux"]; }; diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix index 1fecdfdf560e..79aa85def3c1 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/boot.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix @@ -76,7 +76,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - homepage = "http://python.org"; + homepage = http://python.org; description = "A high-level dynamically-typed programming language"; longDescription = '' Python is a remarkably powerful dynamic programming language that diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index 34058c558af0..fd3c63de1e72 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -210,7 +210,7 @@ in stdenv.mkDerivation { enableParallelBuilding = true; meta = { - homepage = "http://python.org"; + homepage = http://python.org; description = "A high-level dynamically-typed programming language"; longDescription = '' Python is a remarkably powerful dynamic programming language that diff --git a/pkgs/development/interpreters/python/cpython/3.3/default.nix b/pkgs/development/interpreters/python/cpython/3.3/default.nix deleted file mode 100644 index 9ff8ec51efe5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.3/default.nix +++ /dev/null @@ -1,160 +0,0 @@ -{ stdenv, fetchurl -, bzip2 -, gdbm -, lzma -, ncurses -, openssl -, readline -, sqlite -, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false -, zlib -, callPackage -, self -, CF, configd -, python-setup-hook -# For the Python package set -, pkgs, packageOverrides ? (self: super: {}) -}: - -assert x11Support -> tcl != null - && tk != null - && xproto != null - && libX11 != null; - -with stdenv.lib; - -let - majorVersion = "3.3"; - minorVersion = "6"; - minorVersionSuffix = ""; - pythonVersion = majorVersion; - version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; - libPrefix = "python${majorVersion}"; - sitePackages = "lib/${libPrefix}/site-packages"; - - buildInputs = filter (p: p != null) [ - zlib bzip2 lzma gdbm sqlite readline ncurses openssl ] - ++ optionals x11Support [ tcl tk libX11 xproto ] - ++ optionals stdenv.isDarwin [ CF configd ]; - -in stdenv.mkDerivation { - name = "python3-${version}"; - pythonVersion = majorVersion; - inherit majorVersion version; - - inherit buildInputs; - - src = fetchurl { - url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "0gsxpgd5p4mwd01gw501vsyahncyw3h9836ypkr3y32kgazy89jj"; - }; - - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; - - # Determinism: The interpreter is patched to write null timestamps when compiling python files. - # This way python doesn't try to update them when we freeze timestamps in nix store. - DETERMINISTIC_BUILD=1; - # Determinism: We fix the hashes of str, bytes and datetime objects. - PYTHONHASHSEED=0; - - postPatch = '' - # Determinism - substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])" -# # We do not patch `Lib/importlib/_bootstrap_external.py` because it does not exist. - '' + 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 - done - ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} - - configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}" - LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" - ) - ''; - - setupHook = python-setup-hook sitePackages; - - postInstall = '' - # needed for some packages, especially packages that backport functionality - # to 2.x from 3.x - for item in $out/lib/python${majorVersion}/test/*; do - if [[ "$item" != */test_support.py* ]]; then - rm -rf "$item" - else - echo $item - fi - done - touch $out/lib/python${majorVersion}/test/__init__.py - - ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}" - paxmark E $out/bin/python${majorVersion} - - # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484 - echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py - - # Determinism: Windows installers were not deterministic. - # We're also not interested in building Windows installers. - find "$out" -name 'wininst*.exe' | xargs -r rm -f - - # Use Python3 as default python - ln -s "$out/bin/idle3" "$out/bin/idle" - ln -s "$out/bin/pip3" "$out/bin/pip" - ln -s "$out/bin/pydoc3" "$out/bin/pydoc" - ln -s "$out/bin/python3" "$out/bin/python" - ln -s "$out/bin/python3-config" "$out/bin/python-config" - ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc" - - # Get rid of retained dependencies on -dev packages, and remove - # some $TMPDIR references to improve binary reproducibility. - # Note that the .pyc file of _sysconfigdata.py should be regenerated! - for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do - sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g" - done - - # Determinism: rebuild all bytecode - # We exclude lib2to3 because that's Python 2 code which fails - # We rebuild three times, once for each optimization level - find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i - - ''; - - passthru = let - pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;}; - in rec { - inherit libPrefix sitePackages x11Support; - executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; }; - withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; - pkgs = pythonPackages; - isPy3 = true; - isPy33 = true; - is_py3k = true; # deprecated - interpreter = "${self}/bin/${executable}"; - }; - - 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 = with stdenv.lib.platforms; linux ++ darwin; - maintainers = with stdenv.lib.maintainers; [ chaoflow cstrahan ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix index 4d20a21a4d13..e188e7ff48a4 100644 --- a/pkgs/development/interpreters/python/cpython/3.4/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix @@ -27,7 +27,7 @@ with stdenv.lib; let majorVersion = "3.4"; - minorVersion = "6"; + minorVersion = "7"; minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -48,7 +48,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; - sha256 = "0h2z248hkf8x1ix1z8npkqs9cq62i322sl4rcjdkp7mawsxjhd7i"; + sha256 = "06wx2ag0dnixny67jfdl5z10243fjga898cgxhnr4dnxaqmwy547"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix index a4aec241a1aa..82db26960bcf 100644 --- a/pkgs/development/interpreters/python/cpython/3.5/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix @@ -27,7 +27,7 @@ with stdenv.lib; let majorVersion = "3.5"; - minorVersion = "3"; + minorVersion = "4"; minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -48,7 +48,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "1c6v1n9nz4mlx9mw1125fxpmbrgniqdbbx9hnqx44maqazb2mzpf"; + sha256 = "0k68ai0a204piwibz013ds6ck7hgj9gk4nin2259y41vpgx3pncl"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; @@ -64,14 +64,6 @@ in stdenv.mkDerivation { substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; - patches = [ - (fetchpatch { - name = "glibc-2.25-enosys.patch"; - url = https://github.com/python/cpython/commit/035ba5da3e53e.patch; - sha256 = "1y74ir1w5cq542w27rgzgp70chhq2x047db9911mihpab8p2nj71"; - }) - ]; - postPatch = '' # Determinism substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])" diff --git a/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch new file mode 100644 index 000000000000..c96de5d0e914 --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch @@ -0,0 +1,164 @@ +From f0ed87f4066296b7aa3c095d04672c138506fa45 Mon Sep 17 00:00:00 2001 +From: Frederik Rietdijk <fridh@fridh.nl> +Date: Sat, 29 Jul 2017 20:33:56 +0200 +Subject: [PATCH] Don't use ldconfig and speed up uuid load + +--- + Lib/ctypes/util.py | 70 ++---------------------------------------------------- + Lib/uuid.py | 52 ---------------------------------------- + 2 files changed, 2 insertions(+), 120 deletions(-) + +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 7684eab81d..e9957d7951 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -95,46 +95,7 @@ elif os.name == "posix": + import re, tempfile + + def _findLib_gcc(name): +- # Run GCC's linker with the -t (aka --trace) option and examine the +- # library name it prints out. The GCC command will fail because we +- # haven't supplied a proper program with main(), but that does not +- # matter. +- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) +- +- c_compiler = shutil.which('gcc') +- if not c_compiler: +- c_compiler = shutil.which('cc') +- if not c_compiler: +- # No C compiler available, give up +- return None +- +- temp = tempfile.NamedTemporaryFile() +- try: +- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] +- +- env = dict(os.environ) +- env['LC_ALL'] = 'C' +- env['LANG'] = 'C' +- try: +- proc = subprocess.Popen(args, +- stdout=subprocess.PIPE, +- stderr=subprocess.STDOUT, +- env=env) +- except OSError: # E.g. bad executable +- return None +- with proc: +- trace = proc.stdout.read() +- finally: +- try: +- temp.close() +- except FileNotFoundError: +- # Raised if the file was already removed, which is the normal +- # behaviour of GCC if linking fails +- pass +- res = re.search(expr, trace) +- if not res: +- return None +- return os.fsdecode(res.group(0)) ++ return None + + + if sys.platform == "sunos5": +@@ -256,34 +217,7 @@ elif os.name == "posix": + else: + + def _findSoname_ldconfig(name): +- import struct +- if struct.calcsize('l') == 4: +- machine = os.uname().machine + '-32' +- else: +- machine = os.uname().machine + '-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) +- regex = os.fsencode( +- '\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)) +- try: +- with subprocess.Popen(['/sbin/ldconfig', '-p'], +- stdin=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL, +- stdout=subprocess.PIPE, +- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: +- res = re.search(regex, p.stdout.read()) +- if res: +- return os.fsdecode(res.group(1)) +- except OSError: +- pass ++ return None + + 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 e96e7e034c..a099ab4b4a 100644 +--- a/Lib/uuid.py ++++ b/Lib/uuid.py +@@ -455,58 +455,6 @@ def _netbios_getnode(): + continue + return int.from_bytes(bytes, 'big') + +-# 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. +-# XXX This makes the module non-thread-safe! +-_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 Exception: +- 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().release.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.""" +-- +2.13.3 + diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix index d2d922ce4955..7e05a0ce61c9 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix @@ -27,7 +27,7 @@ with stdenv.lib; let majorVersion = "3.6"; - minorVersion = "1"; + minorVersion = "2"; minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -48,7 +48,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "0ha03sbakxblzyvlramx5fj0ranzmzx4pa2png6nn8gczkfi0650"; + sha256 = "1ab4vlpdax1ihpiyiwchlgsk36apl4kgdw271wvl9l8ywhxpfacj"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; @@ -64,6 +64,10 @@ in stdenv.mkDerivation { substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; + patches = [ + ./no-ldconfig.patch + ]; + postPatch = '' # Determinism substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])" diff --git a/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch new file mode 100644 index 000000000000..da6afe04d6e7 --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch @@ -0,0 +1,163 @@ +From a831df344ec1c883a0ef04d8cc8f5c53a942f6de Mon Sep 17 00:00:00 2001 +From: Frederik Rietdijk <fridh@fridh.nl> +Date: Sat, 29 Jul 2017 20:17:40 +0200 +Subject: [PATCH] Don't use ldconfig and speed up uuid load + +--- + Lib/ctypes/util.py | 70 ++---------------------------------------------------- + Lib/uuid.py | 51 --------------------------------------- + 2 files changed, 2 insertions(+), 119 deletions(-) + +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 339ae8aa8a..2944985c30 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -85,46 +85,7 @@ elif os.name == "posix": + import re, tempfile + + def _findLib_gcc(name): +- # Run GCC's linker with the -t (aka --trace) option and examine the +- # library name it prints out. The GCC command will fail because we +- # haven't supplied a proper program with main(), but that does not +- # matter. +- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) +- +- c_compiler = shutil.which('gcc') +- if not c_compiler: +- c_compiler = shutil.which('cc') +- if not c_compiler: +- # No C compiler available, give up +- return None +- +- temp = tempfile.NamedTemporaryFile() +- try: +- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] +- +- env = dict(os.environ) +- env['LC_ALL'] = 'C' +- env['LANG'] = 'C' +- try: +- proc = subprocess.Popen(args, +- stdout=subprocess.PIPE, +- stderr=subprocess.STDOUT, +- env=env) +- except OSError: # E.g. bad executable +- return None +- with proc: +- trace = proc.stdout.read() +- finally: +- try: +- temp.close() +- except FileNotFoundError: +- # Raised if the file was already removed, which is the normal +- # behaviour of GCC if linking fails +- pass +- res = re.search(expr, trace) +- if not res: +- return None +- return os.fsdecode(res.group(0)) ++ return None + + + if sys.platform == "sunos5": +@@ -246,34 +207,7 @@ elif os.name == "posix": + else: + + def _findSoname_ldconfig(name): +- import struct +- if struct.calcsize('l') == 4: +- machine = os.uname().machine + '-32' +- else: +- machine = os.uname().machine + '-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) +- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' +- regex = os.fsencode(regex % (re.escape(name), abi_type)) +- try: +- with subprocess.Popen(['/sbin/ldconfig', '-p'], +- stdin=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL, +- stdout=subprocess.PIPE, +- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: +- res = re.search(regex, p.stdout.read()) +- if res: +- return os.fsdecode(res.group(1)) +- except OSError: +- pass ++ return None + + def _findLib_ld(name): + # See issue #9998 for why this is needed +diff --git a/Lib/uuid.py b/Lib/uuid.py +index 200c800b34..a099ab4b4a 100644 +--- a/Lib/uuid.py ++++ b/Lib/uuid.py +@@ -455,57 +455,6 @@ def _netbios_getnode(): + continue + return int.from_bytes(bytes, 'big') + +-# 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. +-# XXX This makes the module non-thread-safe! +-_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 Exception: +- 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': +- if int(os.uname().release.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.""" +-- +2.13.3 + diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-html.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-html.nix deleted file mode 100644 index 055224dd740b..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-html.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python33-docs-html-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-html.tar.bz2; - sha256 = "0vv24b9qi7gznv687ik0pa2w1rq9grqivy44znvj2ysjfg7mc2c1"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/html - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-a4.nix deleted file mode 100644 index 8c6b842d0b94..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-a4.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python33-docs-pdf-a4-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-a4.tar.bz2; - sha256 = "1y6n13bxlw8a11khy3ynfbz8z0kpf2lvh32dvy8scyw3hrk6wdxp"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/pdf-a4 - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-letter.nix deleted file mode 100644 index 046abe8f83d7..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-letter.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python33-docs-pdf-letter-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-letter.tar.bz2; - sha256 = "0mcj1i47nx81fc9zk1cic4c4p139qjcqlzf4hnnkzvb3jcgy5z6k"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/pdf-letter - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-text.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-text.nix deleted file mode 100644 index 4d99c25bf598..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-text.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python33-docs-text-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-text.tar.bz2; - sha256 = "10vk2fixg1aglqmsf89kn98rlirrbhnrk1285vzfbynf2iavxw0n"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/text - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/default.nix b/pkgs/development/interpreters/python/cpython/docs/default.nix index 89e60f961f63..60e0a0bf1e6e 100644 --- a/pkgs/development/interpreters/python/cpython/docs/default.nix +++ b/pkgs/development/interpreters/python/cpython/docs/default.nix @@ -4,36 +4,24 @@ let pythonDocs = { html = { recurseForDerivations = true; - python33 = import ./3.3-html.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-html.nix { inherit stdenv fetchurl lib; }; }; pdf_a4 = { recurseForDerivations = true; - python33 = import ./3.3-pdf-a4.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-pdf-a4.nix { inherit stdenv fetchurl lib; }; }; pdf_letter = { recurseForDerivations = true; - python33 = import ./3.3-pdf-letter.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-pdf-letter.nix { inherit stdenv fetchurl lib; }; }; text = { recurseForDerivations = true; - python33 = import ./3.3-text.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-text.nix { inherit stdenv fetchurl lib; }; diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh index 1c74e612b559..37bd5b097395 100644 --- a/pkgs/development/interpreters/python/wrap.sh +++ b/pkgs/development/interpreters/python/wrap.sh @@ -66,7 +66,9 @@ wrapPythonProgramsIn() { # above. The script will set PYTHONPATH and PATH variables.! # (see pkgs/build-support/setup-hooks/make-wrapper.sh) local -a wrap_args=("$f" - --prefix PATH ':' "$program_PATH") + --prefix PATH ':' "$program_PATH" + --set PYTHONNOUSERSITE "true" + ) # Add any additional arguments provided by makeWrapperArgs # argument to buildPythonPackage. diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix index b4bd532dc1d9..9f355ddefda7 100644 --- a/pkgs/development/interpreters/python/wrapper.nix +++ b/pkgs/development/interpreters/python/wrapper.nix @@ -6,8 +6,7 @@ # Create a python executable that knows about additional packages. let recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; }; - env = ( - let + env = let paths = stdenv.lib.closePropagation (extraLibs ++ [ python recursivePthLoader ] ) ; in buildEnv { name = "${python.name}-env"; @@ -29,26 +28,31 @@ let for prg in *; do if [ -f "$prg" ]; then rm -f "$out/bin/$prg" - makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" + if [ -x "$prg" ]; then + makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" --set PYTHONNOUSERSITE "true" + fi fi done fi done '' + postBuild; - passthru.env = stdenv.mkDerivation { - name = "interactive-${python.name}-environment"; - nativeBuildInputs = [ env ]; + inherit (python) meta; + + passthru = python.passthru // { + interpreter = "${env}/bin/${python.executable}"; + inherit python; + 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 - ''; + 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/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix index 0d0cbbab2b52..c2eae32c5b60 100644 --- a/pkgs/development/interpreters/renpy/default.nix +++ b/pkgs/development/interpreters/renpy/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { meta = { description = "Ren'Py Visual Novel Engine"; - homepage = "http://renpy.org/"; + homepage = http://renpy.org/; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; # This is an ancient version, last updated in 2014 (3d59f42ce); it fails to diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix index e2a4ad2e3020..b4823817d4b7 100644 --- a/pkgs/development/interpreters/spidermonkey/38.nix +++ b/pkgs/development/interpreters/spidermonkey/38.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; - homepage = "https://developer.mozilla.org/en/SpiderMonkey"; + homepage = https://developer.mozilla.org/en/SpiderMonkey; # TODO: MPL/GPL/LGPL tri-license. maintainers = [ maintainers.abbradar ]; diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index f8c98c727f49..642fd928f41d 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = { description = "Programming language for real time audio synthesis"; - homepage = "http://supercollider.sourceforge.net/"; + homepage = http://supercollider.sourceforge.net/; license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.linux; }; |