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 _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
