add python3 support to pythonPackages

This commit is contained in:
Domen Kozar
2013-07-27 20:51:54 +02:00
parent b253eb0d59
commit 5ec6cf3756
11 changed files with 91 additions and 29 deletions

View File

@@ -33,7 +33,7 @@
, checkPhase ?
''
runHook preCheck
python setup.py test
${python}/bin/${python.executable} setup.py test
runHook postCheck
''

View File

@@ -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";

View File

@@ -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)