[packages/python-virtualenv] bring back lib <-> lib{64,x32} symlink; rel 2
atler
atler at pld-linux.org
Tue Jan 18 23:11:27 CET 2022
commit 220a0db647c08c722b2696a7c4d46c35ec0c0dcb
Author: Jan Palus <atler at pld-linux.org>
Date: Tue Jan 18 22:49:32 2022 +0100
bring back lib <-> lib{64,x32} symlink; rel 2
new virtualenv no longer creates lib64 symlink which causes issues
primarily in mozilla tooling due to mismatch between arch specific lib
dir in virtualenv and generic 'lib' returned by
distutils.sysconfig.get_python_lib(). proper solution would be either:
1. modify virtualenv not to prefer distutils from setuptools wheel
(implications unknown)
2. prepare patched setuptools wheel
* patch distutils embedded in setuptools same way as we patch
python3:
+ if plat_specific or standard_lib or prefix != "/usr":
* start creating setuptools wheel
* point virtualenv to our custom wheel (https://virtualenv.pypa.io/en/20.13.0/user_guide.html#embed-wheels-for-distributions)
multilib.patch | 31 +++++++++++++++++++++++++++++++
python-virtualenv.spec | 4 +++-
2 files changed, 34 insertions(+), 1 deletion(-)
---
diff --git a/python-virtualenv.spec b/python-virtualenv.spec
index 7594dc5..d359e3e 100644
--- a/python-virtualenv.spec
+++ b/python-virtualenv.spec
@@ -10,12 +10,13 @@ Summary: Tool to create isolated Python environments
Summary(pl.UTF-8): Narzędzie do tworzenia oddzielonych środowisk Pythona
Name: python-virtualenv
Version: 20.13.0
-Release: 1
+Release: 2
License: MIT
Group: Development/Languages
#Source0Download: https://pypi.org/simple/virtualenv/
Source0: https://files.pythonhosted.org/packages/source/v/virtualenv/virtualenv-%{version}.tar.gz
# Source0-md5: 95176f0639dc033650f0f3f9fdff299e
+Patch0: multilib.patch
URL: https://pypi.org/project/virtualenv/
%if %{with python2}
BuildRequires: python >= 1:2.7
@@ -124,6 +125,7 @@ Project. Zostało wydane na liberalnej licencji w stylu MIT.
%prep
%setup -q -n virtualenv-%{version}
+%patch0 -p1
%build
%if %{with python2}
diff --git a/multilib.patch b/multilib.patch
new file mode 100644
index 0000000..bddc71b
--- /dev/null
+++ b/multilib.patch
@@ -0,0 +1,31 @@
+--- virtualenv-20.13.0/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py.orig 2022-01-02 16:54:28.000000000 +0100
++++ virtualenv-20.13.0/src/virtualenv/create/via_global_ref/builtin/via_global_self_do.py 2022-01-18 22:37:40.976826916 +0100
+@@ -10,6 +10,8 @@
+ from ..api import ViaGlobalRefApi, ViaGlobalRefMeta
+ from .builtin_way import VirtualenvBuiltin
+
++import os
++import sys
+
+ class BuiltinViaGlobalRefMeta(ViaGlobalRefMeta):
+ def __init__(self):
+@@ -82,6 +83,7 @@
+ dirs.remove(directory)
+ for directory in sorted(dirs):
+ ensure_dir(directory)
++ self.symlink_libdir()
+
+ self.set_pyenv_cfg()
+ self.pyenv_cfg.write()
+@@ -112,3 +114,11 @@
+ self.pyenv_cfg["base-prefix"] = self.interpreter.system_prefix
+ self.pyenv_cfg["base-exec-prefix"] = self.interpreter.system_exec_prefix
+ self.pyenv_cfg["base-executable"] = self.interpreter.system_executable
++
++ def symlink_libdir(self):
++ lib_arch = None
++ for lib in [ 'lib64', 'libx32']:
++ if any(lib in p for p in sys.path):
++ lib_arch = lib
++ if lib_arch and (self.dest / lib_arch).exists() and not (self.dest / 'lib').exists():
++ os.symlink(lib_arch, str(self.dest / 'lib'))
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python-virtualenv.git/commitdiff/220a0db647c08c722b2696a7c4d46c35ec0c0dcb
More information about the pld-cvs-commit
mailing list