add python3 support to pythonPackages
This commit is contained in:
parent
b253eb0d59
commit
5ec6cf3756
@ -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;
|
||||
|
@ -75,6 +75,7 @@ let
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
libPrefix = "python${majorVersion}";
|
||||
executable = "python2.6";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -85,6 +85,7 @@ let
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
libPrefix = "python${majorVersion}";
|
||||
executable = "python2.7";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -33,7 +33,7 @@
|
||||
, checkPhase ?
|
||||
''
|
||||
runHook preCheck
|
||||
python setup.py test
|
||||
${python}/bin/${python.executable} setup.py test
|
||||
runHook postCheck
|
||||
''
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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)
|
@ -5750,6 +5750,20 @@ let
|
||||
python = python26;
|
||||
};
|
||||
|
||||
python3Packages = python33Packages;
|
||||
|
||||
python33Packages = import ./python-packages.nix {
|
||||
inherit pkgs;
|
||||
inherit (lib) lowPrio;
|
||||
python = python33;
|
||||
};
|
||||
|
||||
python32Packages = import ./python-packages.nix {
|
||||
inherit pkgs;
|
||||
inherit (lib) lowPrio;
|
||||
python = python32;
|
||||
};
|
||||
|
||||
python27Packages = recurseIntoAttrs (import ./python-packages.nix {
|
||||
inherit pkgs;
|
||||
inherit (lib) lowPrio;
|
||||
|
@ -5,8 +5,9 @@ isPy26 = python.majorVersion == "2.6";
|
||||
isPy27 = python.majorVersion == "2.7";
|
||||
optional = pkgs.lib.optional;
|
||||
optionals = pkgs.lib.optionals;
|
||||
modules = python.modules or { readline = null; sqlite3 = null; curses = null; ssl = null; };
|
||||
|
||||
pythonPackages = python.modules // rec {
|
||||
pythonPackages = modules // rec {
|
||||
|
||||
inherit python;
|
||||
inherit (pkgs) fetchurl fetchsvn fetchgit stdenv;
|
||||
@ -444,8 +445,8 @@ pythonPackages = python.modules // rec {
|
||||
pythonPackages.mutagen
|
||||
pythonPackages.munkres
|
||||
pythonPackages.musicbrainzngs
|
||||
python.modules.sqlite3
|
||||
python.modules.readline
|
||||
modules.sqlite3
|
||||
modules.readline
|
||||
];
|
||||
|
||||
meta = {
|
||||
@ -506,7 +507,7 @@ pythonPackages = python.modules // rec {
|
||||
sha256 = "02dkmsmgy04l33nyw54rlxkjwff0yf3cy2kvdx8s5w344mqkkkv0";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python.modules.curses pygments ];
|
||||
propagatedBuildInputs = [ modules.curses pygments ];
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
@ -606,7 +607,7 @@ pythonPackages = python.modules // rec {
|
||||
# rev = "refs/tags/0.9.3";
|
||||
# };
|
||||
#
|
||||
# propagatedBuildInputs = [ pythonPackages.argparse python.modules.ssl ];
|
||||
# propagatedBuildInputs = [ pythonPackages.argparse modules.ssl ];
|
||||
#
|
||||
# doCheck = false;
|
||||
#
|
||||
@ -2387,7 +2388,7 @@ pythonPackages = python.modules // rec {
|
||||
sha256 = "0xfaa6h8css3yhsmx5vcffizrz6mvmgm46q7449z3hq7g3793184";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python.modules.sqlite3 ];
|
||||
propagatedBuildInputs = [ modules.sqlite3 ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
@ -2754,7 +2755,7 @@ pythonPackages = python.modules // rec {
|
||||
|
||||
buildInputs = [ pkgs.unzip ];
|
||||
|
||||
propagatedBuildInputs = [ argparse jinja2 six python.modules.readline ] ++
|
||||
propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++
|
||||
(optionals isPy26 [ importlib ordereddict ]);
|
||||
|
||||
meta = {
|
||||
@ -3273,7 +3274,7 @@ pythonPackages = python.modules // rec {
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
propagatedBuildInputs = [ dateutil numpy pytz python.modules.sqlite3 ];
|
||||
propagatedBuildInputs = [ dateutil numpy pytz modules.sqlite3 ];
|
||||
|
||||
# Tests require networking to pass
|
||||
doCheck = false;
|
||||
@ -4629,7 +4630,7 @@ pythonPackages = python.modules // rec {
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments
|
||||
djblets django_1_3 django_evolution pycrypto python.modules.sqlite3
|
||||
djblets django_1_3 django_evolution pycrypto modules.sqlite3
|
||||
pysvn pil psycopg2
|
||||
];
|
||||
};
|
||||
@ -5022,7 +5023,7 @@ pythonPackages = python.modules // rec {
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
propagatedBuildInputs = [ python.modules.sqlite3 ];
|
||||
propagatedBuildInputs = [ modules.sqlite3 ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.sqlalchemy.org/;
|
||||
@ -5201,7 +5202,7 @@ pythonPackages = python.modules // rec {
|
||||
|
||||
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
||||
|
||||
propagatedBuildInputs = [ genshi pkgs.setuptools python.modules.sqlite3 ];
|
||||
propagatedBuildInputs = [ genshi pkgs.setuptools modules.sqlite3 ];
|
||||
|
||||
meta = {
|
||||
description = "Enhanced wiki and issue tracking system for software development projects";
|
||||
@ -5384,9 +5385,12 @@ pythonPackages = python.modules // rec {
|
||||
md5 = "9745c28256c70c76d36adb3767a00212";
|
||||
};
|
||||
|
||||
inherit recursivePthLoader;
|
||||
pythonPath = [ recursivePthLoader ];
|
||||
|
||||
patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
|
||||
|
||||
propagatedBuildInputs = [ python.modules.readline python.modules.sqlite3 ];
|
||||
propagatedBuildInputs = [ modules.readline modules.sqlite3 modules.curses ];
|
||||
|
||||
buildInputs = [ mock nose ];
|
||||
|
||||
@ -5446,7 +5450,7 @@ pythonPackages = python.modules // rec {
|
||||
md5 = "11825b7074ba7043e157805e4e6e0f55";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ nose python.modules.ssl ];
|
||||
propagatedBuildInputs = [ nose modules.ssl ];
|
||||
|
||||
meta = {
|
||||
description = "WSGI request and response object";
|
||||
@ -6237,7 +6241,7 @@ pythonPackages = python.modules // rec {
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.unzip unittest2 nose mock ];
|
||||
propagatedBuildInputs = [ python.modules.curses libarchive ];
|
||||
propagatedBuildInputs = [ modules.curses libarchive ];
|
||||
|
||||
# two tests fail
|
||||
doCheck = false;
|
||||
@ -6478,7 +6482,7 @@ pythonPackages = python.modules // rec {
|
||||
sha256 = "1gj8i6j2i172cldqw98395235bn78ciagw6v17fgv01rmind3lag";
|
||||
};
|
||||
|
||||
buildInputs = [ django pkgs.pycairo ldap memcached python.modules.sqlite3 ];
|
||||
buildInputs = [ django pkgs.pycairo ldap memcached modules.sqlite3 ];
|
||||
|
||||
# error: invalid command 'test'
|
||||
doCheck = false;
|
||||
|
Loading…
Reference in New Issue
Block a user