mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-31 23:08:09 -07:00
dev-python/pypy-bin: Apply full Gentoo path set, for Gentoo sys.prefix
Override all default distutils.command.install paths for Gentoo rather than just scriptdir. However, do that only when install_base equals the default prefix in which PyPy is installed system-wide. This fixes both issues resulting from lack of prefix override (like installing data files in /usr/lib*/pypy), and from overeager prefix overrides (like virtualenv installing scripts in /usr/bin). Fixes: https://bugs.gentoo.org/462306 Fixes: https://bugs.gentoo.org/465546
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
--- pypy-pypy-release-1.7/lib-python/2.7/distutils/command/install.py
|
||||
+++ pypy-pypy-release-1.7/lib-python/2.7/distutils/command/install.py
|
||||
@@ -87,7 +87,7 @@
|
||||
'purelib': '$base/site-packages',
|
||||
'platlib': '$base/site-packages',
|
||||
'headers': '$base/include',
|
||||
- 'scripts': '$base/bin',
|
||||
+ 'scripts': '/usr/bin',
|
||||
'data' : '$base',
|
||||
},
|
||||
}
|
||||
50
dev-python/pypy-bin/files/4.0.0-gentoo-path.patch
Normal file
50
dev-python/pypy-bin/files/4.0.0-gentoo-path.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
From 165e05bbdc93e54411217c0198d0a5cbb9de4e33 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
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
|
||||
---
|
||||
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 fc43951..fed5218 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/@libdir@/pypy'):
|
||||
+ # override paths for system-wide install
|
||||
+ name = 'gentoo'
|
||||
+ else:
|
||||
+ name = 'pypy'
|
||||
scheme = INSTALL_SCHEMES[name]
|
||||
for key in SCHEME_KEYS:
|
||||
attrname = 'install_' + key
|
||||
--
|
||||
2.6.3
|
||||
|
||||
@@ -84,9 +84,13 @@ pkg_setup() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/1.9-scripts-location.patch" \
|
||||
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
|
||||
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-e "s^@libdir@^$(get_libdir)^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
|
||||
# apply CPython stdlib patches
|
||||
pushd lib-python/2.7 > /dev/null || die
|
||||
epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \
|
||||
@@ -84,9 +84,13 @@ pkg_setup() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/1.9-scripts-location.patch" \
|
||||
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
|
||||
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-e "s^@libdir@^$(get_libdir)^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
|
||||
# apply CPython stdlib patches
|
||||
pushd lib-python/2.7 > /dev/null || die
|
||||
epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \
|
||||
Reference in New Issue
Block a user