diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch index 5093fdbead94..d3e588bd1cd2 100644 --- a/pkgs/development/python-modules/virtualenv-change-prefix.patch +++ b/pkgs/development/python-modules/virtualenv-change-prefix.patch @@ -1,29 +1,32 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because it notices that the python readline.so is not in the same path as python2.7. I assume this is to avoid copying the wrong file on systems where it is possible to find incompatible libraries by accident. Adding "/nix/store" to the prefix fixes this problem. Unfortunately readline is still not available if you just run `virtualenv .`. - ---- virtualenv-1.6.4/virtualenv.py 2012-05-20 00:40:38.070649647 +0200 -+++ virtualenv-1.6.4/virtualenv.py 2012-05-20 00:45:10.596242604 +0200 -@@ -951,13 +951,7 @@ +--- virtualenv-1.8.4/virtualenv.py 2013-01-16 23:43:37.583615220 +0100 ++++ virtualenv-1.8.4/virtualenv.py 2013-01-16 23:44:47.885973431 +0100 +@@ -1135,17 +1135,7 @@ def change_prefix(filename, dst_prefix): - prefixes = [sys.prefix] - -- if sys.platform == "darwin": +- if is_darwin: - prefixes.extend(( - os.path.join("/Library/Python", sys.version[:3], "site-packages"), - os.path.join(sys.prefix, "Extras", "lib", "python"), -- os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"))) +- os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"), +- # Python 2.6 no-frameworks +- os.path.join("~", ".local", "lib","python", sys.version[:3], "site-packages"), +- # System Python 2.7 on OSX Mountain Lion +- os.path.join("~", "Library", "Python", sys.version[:3], "lib", "python", "site-packages"))) + prefixes = ["/nix/store", sys.prefix] if hasattr(sys, 'real_prefix'): prefixes.append(sys.real_prefix) -@@ -968,6 +962,8 @@ - _, relpath = filename.split(src_prefix, 1) - assert relpath[0] == os.sep - relpath = relpath[1:] -+ if src_prefix == "/nix/store": -+ relpath = "/".join(relpath.split("/")[1:]) +@@ -1162,6 +1152,8 @@ + if src_prefix != os.sep: # sys.prefix == "/" + assert relpath[0] == os.sep + relpath = relpath[1:] ++ if src_prefix == "/nix/store": ++ relpath = "/".join(relpath.split("/")[1:]) return join(dst_prefix, relpath) assert False, "Filename %s does not start with any of these prefixes: %s" % \ (filename, prefixes) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e2f75b5ce63f..07176ad782eb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3076,10 +3076,10 @@ let pythonPackages = python.modules // rec { }); virtualenv = buildPythonPackage rec { - name = "virtualenv-1.6.4"; + name = "virtualenv-1.8.4"; src = fetchurl { url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz"; - md5 = "1072b66d53c24e019a8f1304ac9d9fc5"; + md5 = "1c7e56a7f895b2e71558f96e365ee7a7"; }; patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];