From 959e2aafbe6cabd4e6860f842bce9b8644f627ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 27 Nov 2015 17:02:42 +0100 Subject: [PATCH] Gentoo: override paths for system-wide install based on sys.prefix Override all default distutils install paths to ones suitable for system-wide install when sys.prefix indicates we're running the Gentoo system-wide install of PyPy with no prefix overrides (e.g. virtualenv). Fixes: https://bugs.gentoo.org/462306 Fixes: https://bugs.gentoo.org/465546 [updated for 7.0.0] --- lib-python/2.7/distutils/command/install.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib-python/2.7/distutils/command/install.py b/lib-python/2.7/distutils/command/install.py index fc43951da0..c2564188cb 100644 --- a/lib-python/2.7/distutils/command/install.py +++ b/lib-python/2.7/distutils/command/install.py @@ -90,6 +90,13 @@ INSTALL_SCHEMES = { 'scripts': '$base/bin', 'data' : '$base', }, + 'gentoo': { + 'purelib': '$base/site-packages', + 'platlib': '$base/site-packages', + 'headers': '$base/include', + 'scripts': '@EPREFIX@/usr/bin', + 'data' : '@EPREFIX@/usr', + }, } # The keys to an installation scheme; if any new types of files are to be @@ -476,7 +483,11 @@ class install (Command): # it's the caller's problem if they supply a bad name! if (hasattr(sys, 'pypy_version_info') and not name.endswith(('_user', '_home'))): - name = 'pypy' + if self.install_base == os.path.normpath('@EPREFIX@/usr/lib/pypy2.7'): + # override paths for system-wide install + name = 'gentoo' + else: + name = 'pypy' scheme = INSTALL_SCHEMES[name] for key in SCHEME_KEYS: attrname = 'install_' + key -- 2.21.0.rc1