Patching python-virtualenv so that it doesn't fail if the python version is specified, e.g. --python=python2.7, and now iff the python version is specified it successfully also installs additional libs such as readline into the virtualenv
svn path=/nixpkgs/trunk/; revision=34184
This commit is contained in:
parent
ee5b3c893c
commit
531b63a389
@ -0,0 +1,29 @@
|
|||||||
|
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 @@
|
||||||
|
|
||||||
|
|
||||||
|
def change_prefix(filename, dst_prefix):
|
||||||
|
- prefixes = [sys.prefix]
|
||||||
|
-
|
||||||
|
- if sys.platform == "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")))
|
||||||
|
+ 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:])
|
||||||
|
return join(dst_prefix, relpath)
|
||||||
|
assert False, "Filename %s does not start with any of these prefixes: %s" % \
|
||||||
|
(filename, prefixes)
|
@ -2266,6 +2266,8 @@ let pythonPackages = python.modules // rec {
|
|||||||
md5 = "1072b66d53c24e019a8f1304ac9d9fc5";
|
md5 = "1072b66d53c24e019a8f1304ac9d9fc5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
Loading…
Reference in New Issue
Block a user