diff options
author | Domen Kozar <domen@dev.si> | 2013-07-27 20:51:54 +0200 |
---|---|---|
committer | Domen Kozar <domen@dev.si> | 2013-07-29 12:09:06 +0200 |
commit | 5ec6cf37566107f01af013abbd100d8c9aa9ec75 (patch) | |
tree | ed9dbe95d0c31160fc6d618c33925a71dab5d3df /pkgs/development | |
parent | b253eb0d593cb1041bd9c87ab03dbf72295c79d6 (diff) | |
download | nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar.gz nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar.bz2 nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar.lz nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar.xz nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.tar.zst nixlib-5ec6cf37566107f01af013abbd100d8c9aa9ec75.zip |
add python3 support to pythonPackages
Diffstat (limited to 'pkgs/development')
9 files changed, 58 insertions, 14 deletions
diff --git a/pkgs/development/interpreters/pypy/2.0/default.nix b/pkgs/development/interpreters/pypy/2.0/default.nix index 969746d3a34e..f3d1e4e9ade7 100644 --- a/pkgs/development/interpreters/pypy/2.0/default.nix +++ b/pkgs/development/interpreters/pypy/2.0/default.nix @@ -59,6 +59,7 @@ let installPhase = '' mkdir -p $out/bin mkdir -p $out/pypy-c + # TODO: make libPrefix work cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c ln -s $out/pypy-c/pypy-c $out/bin/pypy chmod +x $out/bin/pypy @@ -68,6 +69,7 @@ let passthru = { inherit zlibSupport; libPrefix = "pypy${majorVersion}"; + executable = "pypy"; }; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index f264e4179e70..61c997206c1a 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -75,6 +75,7 @@ let passthru = { inherit zlibSupport; libPrefix = "python${majorVersion}"; + executable = "python2.6"; }; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index 76ef7399812b..f5a39a3b242b 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -85,6 +85,7 @@ let passthru = { inherit zlibSupport; libPrefix = "python${majorVersion}"; + executable = "python2.7"; }; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix index b3f5a17b0641..4c858c992729 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -32,6 +32,8 @@ stdenv.mkDerivation { sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v"; }; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path @@ -58,7 +60,8 @@ stdenv.mkDerivation { readlineSupport = readline != null; opensslSupport = openssl != null; tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); - libPrefix = "python${majorVersion}m"; + libPrefix = "python${majorVersion}"; + executable = "python3.2m"; }; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index 84f4ec184aa6..7d3ede6594f8 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -32,6 +32,8 @@ stdenv.mkDerivation { sha256 = "16myvina7nakyyg7r5gnjyydk8bzar988vmxsw2k485w5gz04wpp"; }; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path @@ -58,7 +60,8 @@ stdenv.mkDerivation { readlineSupport = readline != null; opensslSupport = openssl != null; tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); - libPrefix = "python${majorVersion}m"; + libPrefix = "python${majorVersion}"; + executable = "python3.3m"; }; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/3.3/setup-hook.sh b/pkgs/development/interpreters/python/3.3/setup-hook.sh index e6fa34bf54ba..c272c87daf1c 100644 --- a/pkgs/development/interpreters/python/3.3/setup-hook.sh +++ b/pkgs/development/interpreters/python/3.3/setup-hook.sh @@ -1,12 +1,12 @@ addPythonPath() { - addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.2/site-packages + addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.3/site-packages } toPythonPath() { local paths="$1" local result= for i in $paths; do - p="$i/lib/python3.2/site-packages" + p="$i/lib/python3.3/site-packages" result="${result}${result:+:}$p" done echo $result diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index d32c6818bb26..71b5c1952a05 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -33,7 +33,7 @@ , checkPhase ? '' runHook preCheck - python setup.py test + ${python}/bin/${python.executable} setup.py test runHook postCheck '' diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 92c39afc249e..3dcaaca4c250 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -2,31 +2,37 @@ stdenv.mkDerivation rec { shortName = "setuptools-${version}"; - name = "python-${shortName}"; + name = "${python.executable}-${shortName}"; - version = "0.6c11"; + version = "0.9.8"; src = fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz"; - sha256 = "1lx1hwxkhipyh206bgl90ddnfcnb68bzcvyawczbf833fadyl3v3"; + sha256 = "037b8x3fdhx8s6xafqndi3yr8x2vr42n1kzs7jxk6j9s9fd65gs2"; }; + patches = [ + # https://bitbucket.org/pypa/setuptools/issue/55/1-failure-lc_all-c-python33m-setuppy-test + ./distribute-skip-sdist_with_utf8_encoded_filename.patch + ]; + buildInputs = [ python wrapPython ]; - buildPhase = "python setup.py build --build-base $out"; + buildPhase = "${python}/bin/${python.executable} setup.py build --build-base $out"; installPhase = '' dst=$out/lib/${python.libPrefix}/site-packages mkdir -p $dst - PYTHONPATH=$dst:$PYTHONPATH - python setup.py install --prefix=$out + PYTHONPATH="$dst:$PYTHONPATH" + ${python}/bin/${python.executable} setup.py install --prefix=$out wrapPythonPrograms ''; - doCheck = false; # doesn't work with Python 2.7 - - checkPhase = "python setup.py test"; + doCheck = true; + checkPhase = '' + ${python}/bin/${python.executable} setup.py test + ''; meta = { description = "Utilities to facilitate the installation of Python packages"; diff --git a/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch b/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch new file mode 100644 index 000000000000..96a4f81ee581 --- /dev/null +++ b/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch @@ -0,0 +1,28 @@ +diff -r f5ac515f062a setuptools/tests/test_sdist.py +--- a/setuptools/tests/test_sdist.py Fri Jul 26 09:52:26 2013 +0200 ++++ b/setuptools/tests/test_sdist.py Sat Jul 27 20:22:17 2013 +0200 +@@ -3,12 +3,14 @@ + + + import os ++import locale + import shutil + import sys + import tempfile + import unittest + import unicodedata + ++from setuptools.tests.py26compat import skipIf + from setuptools.compat import StringIO, unicode + from setuptools.command.sdist import sdist + from setuptools.command.egg_info import manifest_maker +@@ -318,6 +320,9 @@ + filename = filename.decode('latin-1') + self.assertFalse(filename in cmd.filelist.files) + ++ ++ @skipIf(sys.version_info >= (3,) and locale.getpreferredencoding() != 'UTF-8', ++ 'Unittest fails if locale is not utf-8 but the manifests is recorded correctly') + def test_sdist_with_utf8_encoded_filename(self): + # Test for #303. + dist = Distribution(SETUP_ATTRS) |