about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDomen Kozar <domen@dev.si>2013-07-27 20:51:54 +0200
committerDomen Kozar <domen@dev.si>2013-07-29 12:09:06 +0200
commit5ec6cf37566107f01af013abbd100d8c9aa9ec75 (patch)
treeed9dbe95d0c31160fc6d618c33925a71dab5d3df /pkgs/development
parentb253eb0d593cb1041bd9c87ab03dbf72295c79d6 (diff)
downloadnixlib-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')
-rw-r--r--pkgs/development/interpreters/pypy/2.0/default.nix2
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix1
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix1
-rw-r--r--pkgs/development/interpreters/python/3.2/default.nix5
-rw-r--r--pkgs/development/interpreters/python/3.3/default.nix5
-rw-r--r--pkgs/development/interpreters/python/3.3/setup-hook.sh4
-rw-r--r--pkgs/development/python-modules/generic/default.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix24
-rw-r--r--pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch28
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)