From 44c16c344f137cc91a145294c4124174fc25ad16 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/3/distutils/command/install.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib-python/3/distutils/command/install.py b/lib-python/3/distutils/command/install.py index 77a1827d4b..255603967f 100644 --- a/lib-python/3/distutils/command/install.py +++ b/lib-python/3/distutils/command/install.py @@ -50,6 +50,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', + }, } # user site schemes @@ -461,7 +468,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/pypy3.6'): + # 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