packages: python-virtualenv/python-virtualenv.spec, python-virtualenv/unpac...
baggins
baggins at pld-linux.org
Wed Aug 31 12:30:51 CEST 2011
Author: baggins Date: Wed Aug 31 10:30:51 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- fix for site dirs split into 'lib' and 'share' in PLD python,
patch by Łukasz Szczęsny <luk/at/mimuw.edu.pl>
---- Files affected:
packages/python-virtualenv:
python-virtualenv.spec (1.13 -> 1.14) , unpack-support.py (NONE -> 1.1) (NEW), virtualenv-pld.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/python-virtualenv/python-virtualenv.spec
diff -u packages/python-virtualenv/python-virtualenv.spec:1.13 packages/python-virtualenv/python-virtualenv.spec:1.14
--- packages/python-virtualenv/python-virtualenv.spec:1.13 Wed Aug 31 10:35:28 2011
+++ packages/python-virtualenv/python-virtualenv.spec Wed Aug 31 12:30:46 2011
@@ -7,11 +7,18 @@
Group: Development/Languages
Source0: http://pypi.python.org/packages/source/v/virtualenv/virtualenv-%{version}.tar.gz
# Source0-md5: 1072b66d53c24e019a8f1304ac9d9fc5
+Source1: https://raw.github.com/pypa/virtualenv/%{version}/bin/rebuild-script.py
+# Source1-md5: b9748dcf1c81dc85a8368dcb7c680494
+Source2: unpack-support.py
URL: http://pypi.python.org/pypi/virtualenv
+Patch0: virtualenv-pld.patch
BuildRequires: python
BuildRequires: python-modules
BuildRequires: rpm-pythonprov
Requires: python-setuptools
+# Blame binary-only python packages authors
+# virtualenv wants *.py
+Requires: python-devel-src
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -24,6 +31,15 @@
%prep
%setup -q -n virtualenv-%{version}
+%{__install} -d bin
+%{__install} -m 755 -p %{SOURCE1} bin/
+%{__install} -m 755 -p %{SOURCE2} bin/
+
+python ./bin/unpack-support.py
+
+%patch0 -p1
+
+python ./bin/rebuild-script.py
%build
%{__python} setup.py build
@@ -53,6 +69,10 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.14 2011/08/31 10:30:46 baggins
+- fix for site dirs split into 'lib' and 'share' in PLD python,
+ patch by Łukasz Szczęsny <luk/at/mimuw.edu.pl>
+
Revision 1.13 2011/08/31 08:35:28 baggins
- 1.6.4
================================================================
Index: packages/python-virtualenv/unpack-support.py
diff -u /dev/null packages/python-virtualenv/unpack-support.py:1.1
--- /dev/null Wed Aug 31 12:30:51 2011
+++ packages/python-virtualenv/unpack-support.py Wed Aug 31 12:30:46 2011
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+
+import re
+import os
+import sys
+
+cmd_folder = os.path.dirname(os.path.abspath(__file__))
+sys.path.insert(0, os.path.join(cmd_folder, '..'))
+
+import virtualenv
+
+file_regex = re.compile(
+ r'##file (.*?)\n([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*convert\("""(.*?)"""\)',
+ re.S)
+
+f = open('virtualenv.py', 'rb')
+content = f.read()
+f.close()
+match = None
+for match in file_regex.finditer(content):
+ f = open(os.path.join('virtualenv_support', match.group(1)), 'wb')
+ f.write(eval("virtualenv." + match.group(2)))
+ f.close()
================================================================
Index: packages/python-virtualenv/virtualenv-pld.patch
diff -u /dev/null packages/python-virtualenv/virtualenv-pld.patch:1.1
--- /dev/null Wed Aug 31 12:30:51 2011
+++ packages/python-virtualenv/virtualenv-pld.patch Wed Aug 31 12:30:46 2011
@@ -0,0 +1,54 @@
+diff --git a/virtualenv.py b/virtualenv.py
+index c173dd4..e460b79 100644
+--- a/virtualenv.py
++++ b/virtualenv.py
+@@ -1045,6 +1045,14 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear):
+ site_filename = site_filename.replace('$py.class', '.py')
+ site_filename_dst = change_prefix(site_filename, home_dir)
+ site_dir = os.path.dirname(site_filename_dst)
++ # PLD fix
++ try:
++ os.symlink(
++ make_relative_path(join(lib_dir, 'site-packages'), site_dir),
++ join(site_dir, 'site-packages')
++ )
++ except (OSError, NotImplementedError):
++ logger.info('Symlinking site-packages failed.')
+ writefile(site_filename_dst, SITE_PY)
+ writefile(join(site_dir, 'orig-prefix.txt'), prefix)
+ site_packages_filename = join(site_dir, 'no-global-site-packages.txt')
+
+diff --git a/virtualenv_support/site.py b/virtualenv_support/site.py
+index 3f4585a..4c52afe 100644
+--- a/virtualenv_support/site.py
++++ b/virtualenv_support/site.py
+@@ -234,7 +234,8 @@ def addsitepackages(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_pre
+ "python" + sys.version[:3],
+ "site-packages"),
+ os.path.join(prefix, "lib", "site-python"),
+- os.path.join(prefix, "python" + sys.version[:3], "lib-dynload")]
++ os.path.join(prefix, "python" + sys.version[:3], "lib-dynload"),
++ os.path.join(prefix, "lib64", "python" + sys.version[:3], "lib-dynload")]
+ lib64_dir = os.path.join(prefix, "lib64", "python" + sys.version[:3], "site-packages")
+ if (os.path.exists(lib64_dir) and
+ os.path.realpath(lib64_dir) not in [os.path.realpath(p) for p in sitedirs]):
+@@ -253,6 +254,9 @@ def addsitepackages(known_paths, sys_prefix=sys.prefix, exec_prefix=sys.exec_pre
+ "python" + sys.version[:3],
+ "dist-packages"))
+ sitedirs.append(os.path.join(prefix, "lib", "dist-python"))
++ # PLD fix
++ sitedirs.append(os.path.join(prefix, "share",
++ "python" + sys.version[:3]))
+ else:
+ sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
+ if sys.platform == 'darwin':
+@@ -568,7 +572,8 @@ def virtual_install_main_packages():
+ if os.path.exists(plat_path):
+ paths.append(plat_path)
+ else:
+- paths = [os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3])]
++ paths = [os.path.join(sys.real_prefix, 'lib', 'python'+sys.version[:3]),
++ os.path.join(sys.real_prefix, 'share', 'python'+sys.version[:3])]
+ hardcoded_relative_dirs = paths[:] # for the special 'darwin' case below
+ lib64_path = os.path.join(sys.real_prefix, 'lib64', 'python'+sys.version[:3])
+ if os.path.exists(lib64_path):
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/python-virtualenv/python-virtualenv.spec?r1=1.13&r2=1.14&f=u
More information about the pld-cvs-commit
mailing list