diff options
-rw-r--r-- | dev-python/pypy3/files/7.0.0-gentoo-path.patch | 52 | ||||
-rw-r--r-- | dev-python/pypy3/pypy3-7.0.0-r1.ebuild (renamed from dev-python/pypy3/pypy3-7.0.0.ebuild) | 4 | ||||
-rw-r--r-- | dev-python/pypy3/pypy3-9999.ebuild | 4 |
3 files changed, 60 insertions, 0 deletions
diff --git a/dev-python/pypy3/files/7.0.0-gentoo-path.patch b/dev-python/pypy3/files/7.0.0-gentoo-path.patch new file mode 100644 index 000000000000..17409fa89a42 --- /dev/null +++ b/dev-python/pypy3/files/7.0.0-gentoo-path.patch @@ -0,0 +1,52 @@ +From 44c16c344f137cc91a145294c4124174fc25ad16 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 + +[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.5'): ++ # 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 + diff --git a/dev-python/pypy3/pypy3-7.0.0.ebuild b/dev-python/pypy3/pypy3-7.0.0-r1.ebuild index c318a1f521a0..87ce4dbc2489 100644 --- a/dev-python/pypy3/pypy3-7.0.0.ebuild +++ b/dev-python/pypy3/pypy3-7.0.0-r1.ebuild @@ -84,10 +84,14 @@ pkg_setup() { } src_prepare() { + eapply "${FILESDIR}/7.0.0-gentoo-path.patch" eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002 eapply "${FILESDIR}"/7.0.0_all_distutils_cxx.patch + sed -e "s^@EPREFIX@^${EPREFIX}^" \ + -i lib-python/3/distutils/command/install.py || die + # apply CPython stdlib patches pushd lib-python/3 > /dev/null || die eapply "${FILESDIR}"/python-3.5-distutils-OO-build.patch diff --git a/dev-python/pypy3/pypy3-9999.ebuild b/dev-python/pypy3/pypy3-9999.ebuild index 3b0362d0252f..236616d1f286 100644 --- a/dev-python/pypy3/pypy3-9999.ebuild +++ b/dev-python/pypy3/pypy3-9999.ebuild @@ -92,10 +92,14 @@ src_unpack() { } src_prepare() { + eapply "${FILESDIR}/7.0.0-gentoo-path.patch" eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002 eapply "${FILESDIR}"/7.0.0_all_distutils_cxx.patch + sed -e "s^@EPREFIX@^${EPREFIX}^" \ + -i lib-python/3/distutils/command/install.py || die + # apply CPython stdlib patches pushd lib-python/3 > /dev/null || die eapply "${FILESDIR}"/python-3.5-distutils-OO-build.patch |