mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
dev-python/pypy-bin: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
DIST pypy-bin-7.2.0-amd64+bzip2+jit+ncurses.tar.lz 13208672 BLAKE2B 526e2f4eeb57d1f169344244384f3aa35d77bd0f9dc4e1f463248eeac023e7c98a21e565080d0cc3e56c1950128450b1fc6e830e33032e8267aa21c5beb4f80b SHA512 d49942d1cd97ab580850b95590cf0982eb7f53e0b88681408392266cdad814d00d195edd757b106e4016d8df9e0d3c53bf937de145f9257313f33ffb86c2229e
|
||||
DIST pypy-bin-7.2.0-amd64+bzip2+ncurses.tar.lz 7865924 BLAKE2B 1d3cf776274285aee433de2dc8ebd5e0bf52a7cc700f1bbfb16ca071ac5b6017dddad211d9dcdf809f97289e12d38e5758023dbd80c6a68323ffaa02e8c72614 SHA512 ad481a62359c615a0fcb1bb3e57b84c536b43d569ac88393000bd8b9e9d0fc3e685c3907cfcf241c3dc60479589d042009ffe1382a27be2581c8ab421e7f0397
|
||||
DIST pypy-bin-7.2.0-x86+bzip2+jit+ncurses+sse2.tar.lz 9887935 BLAKE2B 177780ff596b1256f623982ba44ec2ec1c951e420a4521520ffee93e6e480864c59e8e55769f583841a0622693a578f84f408f6e577f97e7812ced7fb7594104 SHA512 dd0c71bff27beaef98ab0ce114108cd586863ef2d6eac999dbb0bdbef7cda1f5f568b465e803339a7b92262354bfe674cc6161ee1c0d479545c6d7bcd58ec3cd
|
||||
DIST pypy-bin-7.2.0-x86+bzip2+ncurses+sse2.tar.lz 6092349 BLAKE2B e285f4c5443c356cba90c0e56dcf9ad75357613bcf486e80816d4304bc9459ba53250a58f09155382f6ebb624610780a9f77c312aeb55a28236474cedf994e26 SHA512 0a4d782f5b074cc5fb206cd2843a59ea59c3a17ac8fd8bf2c74f0997d906e5f722142f0d33a20cdb3a7c7eb476f3799a797d5c2ccac2632c425317d38cb54b7c
|
||||
DIST pypy2.7-v7.2.0-src.tar.bz2 20219532 BLAKE2B 225e2cebdfa3ceb310f2a047b1d9e1d375b181c10707822890f39fc0a5ec9e6ddd7a8cf6e073074067960b766a0a813294042513a08b8e7e02b011f612e17917 SHA512 8f724490f9fa06686c8e25ddd3592b260bbffae460395de4c7d29d983780ce9b8925fa87434aac6446aac2034381cc1a13074faf252f5d1ac466a252f219f1ae
|
||||
DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/lib-python/2.7/distutils/unixccompiler.py
|
||||
+++ b/lib-python/2.7/distutils/unixccompiler.py
|
||||
@@ -297,7 +297,7 @@
|
||||
# this time, there's no way to determine this information from
|
||||
# the configuration data stored in the Python installation, so
|
||||
# we use this hack.
|
||||
- compiler = os.path.basename(sysconfig.get_config_var("CC"))
|
||||
+ compiler = os.path.basename(self.compiler[0])
|
||||
if sys.platform[:6] == "darwin":
|
||||
# MacOSX's linker doesn't understand the -R flag at all
|
||||
return "-L" + dir
|
||||
@@ -1,388 +0,0 @@
|
||||
From 9bf4611231faa0dc9ae64c6a7a8b55a3290a3ca2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Tue, 25 Apr 2017 07:14:11 +0200
|
||||
Subject: [PATCH] Fancy patch for distutils C++ support, rebased for pypy5.7
|
||||
|
||||
http://bugs.python.org/issue1222585
|
||||
http://bugs.gentoo.org/show_bug.cgi?id=599918
|
||||
---
|
||||
_osx_support.py | 10 ++---
|
||||
distutils/cygwinccompiler.py | 21 ++++++++--
|
||||
distutils/emxccompiler.py | 14 +++++--
|
||||
distutils/sysconfig_cpython.py | 26 ++++++++++---
|
||||
distutils/sysconfig_pypy.py | 37 ++++++++++++++----
|
||||
distutils/unixccompiler.py | 55 ++++++++++++++-------------
|
||||
6 files changed, 112 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/_osx_support.py b/_osx_support.py
|
||||
index d2aaae7..8bcdb05 100644
|
||||
--- a/_osx_support.py
|
||||
+++ b/_osx_support.py
|
||||
@@ -14,13 +14,13 @@ __all__ = [
|
||||
# configuration variables that may contain universal build flags,
|
||||
# like "-arch" or "-isdkroot", that may need customization for
|
||||
# the user environment
|
||||
-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
|
||||
- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
|
||||
- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
|
||||
- 'PY_CORE_CFLAGS')
|
||||
+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
|
||||
+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
|
||||
+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
|
||||
+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
|
||||
|
||||
# configuration variables that may contain compiler calls
|
||||
-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
|
||||
+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
|
||||
|
||||
# prefix added to original configuration variable names
|
||||
_INITPRE = '_OSX_SUPPORT_INITIAL_'
|
||||
diff --git a/distutils/cygwinccompiler.py b/distutils/cygwinccompiler.py
|
||||
index 767400c..7133097 100644
|
||||
--- a/distutils/cygwinccompiler.py
|
||||
+++ b/distutils/cygwinccompiler.py
|
||||
@@ -120,8 +120,10 @@ class CygwinCCompiler (UnixCCompiler):
|
||||
# dllwrap 2.10.90 is buggy
|
||||
if self.ld_version >= "2.10.90":
|
||||
self.linker_dll = "gcc"
|
||||
+ self.linker_dll_cxx = "g++"
|
||||
else:
|
||||
self.linker_dll = "dllwrap"
|
||||
+ self.linker_dll_cxx = "dllwrap"
|
||||
|
||||
# ld_version >= "2.13" support -shared so use it instead of
|
||||
# -mdll -static
|
||||
@@ -135,9 +137,13 @@ class CygwinCCompiler (UnixCCompiler):
|
||||
self.set_executables(compiler='gcc -mcygwin -O -Wall',
|
||||
compiler_so='gcc -mcygwin -mdll -O -Wall',
|
||||
compiler_cxx='g++ -mcygwin -O -Wall',
|
||||
+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
|
||||
linker_exe='gcc -mcygwin',
|
||||
linker_so=('%s -mcygwin %s' %
|
||||
- (self.linker_dll, shared_option)))
|
||||
+ (self.linker_dll, shared_option)),
|
||||
+ linker_exe_cxx='g++ -mcygwin',
|
||||
+ linker_so_cxx=('%s -mcygwin %s' %
|
||||
+ (self.linker_dll_cxx, shared_option)))
|
||||
|
||||
# cygwin and mingw32 need different sets of libraries
|
||||
if self.gcc_version == "2.91.57":
|
||||
@@ -163,8 +169,12 @@ class CygwinCCompiler (UnixCCompiler):
|
||||
raise CompileError, msg
|
||||
else: # for other files use the C-compiler
|
||||
try:
|
||||
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
|
||||
- extra_postargs)
|
||||
+ if self.detect_language(src) == 'c++':
|
||||
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
+ else:
|
||||
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
except DistutilsExecError, msg:
|
||||
raise CompileError, msg
|
||||
|
||||
@@ -330,9 +340,14 @@ class Mingw32CCompiler (CygwinCCompiler):
|
||||
self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
|
||||
compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
|
||||
compiler_cxx='g++%s -O -Wall' % no_cygwin,
|
||||
+ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
|
||||
linker_exe='gcc%s' % no_cygwin,
|
||||
linker_so='%s%s %s %s'
|
||||
% (self.linker_dll, no_cygwin,
|
||||
+ shared_option, entry_point),
|
||||
+ linker_exe_cxx='g++%s' % no_cygwin,
|
||||
+ linker_so_cxx='%s%s %s %s'
|
||||
+ % (self.linker_dll_cxx, no_cygwin,
|
||||
shared_option, entry_point))
|
||||
# Maybe we should also append -mthreads, but then the finished
|
||||
# dlls need another dll (mingwm10.dll see Mingw32 docs)
|
||||
diff --git a/distutils/emxccompiler.py b/distutils/emxccompiler.py
|
||||
index a017205..bdc532c 100644
|
||||
--- a/distutils/emxccompiler.py
|
||||
+++ b/distutils/emxccompiler.py
|
||||
@@ -65,8 +65,12 @@ class EMXCCompiler (UnixCCompiler):
|
||||
# XXX optimization, warnings etc. should be customizable.
|
||||
self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
|
||||
compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
|
||||
+ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
|
||||
+ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
|
||||
linker_exe='gcc -Zomf -Zmt -Zcrtdll',
|
||||
- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
|
||||
+ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
|
||||
+ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
|
||||
+ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
|
||||
|
||||
# want the gcc library statically linked (so that we don't have
|
||||
# to distribute a version dependent on the compiler we have)
|
||||
@@ -83,8 +87,12 @@ class EMXCCompiler (UnixCCompiler):
|
||||
raise CompileError, msg
|
||||
else: # for other files use the C-compiler
|
||||
try:
|
||||
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
|
||||
- extra_postargs)
|
||||
+ if self.detect_language(src) == 'c++':
|
||||
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
+ else:
|
||||
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
except DistutilsExecError, msg:
|
||||
raise CompileError, msg
|
||||
|
||||
diff --git a/distutils/sysconfig_cpython.py b/distutils/sysconfig_cpython.py
|
||||
index 35f39e4..8dd032d 100644
|
||||
--- a/distutils/sysconfig_cpython.py
|
||||
+++ b/distutils/sysconfig_cpython.py
|
||||
@@ -171,10 +171,12 @@ def customize_compiler(compiler):
|
||||
_osx_support.customize_compiler(_config_vars)
|
||||
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
|
||||
|
||||
- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
|
||||
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
|
||||
- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
|
||||
- 'ARFLAGS')
|
||||
+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
|
||||
+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
|
||||
+ 'SO', 'AR', 'ARFLAGS')
|
||||
+
|
||||
+ cflags = ''
|
||||
+ cxxflags = ''
|
||||
|
||||
if 'CC' in os.environ:
|
||||
newcc = os.environ['CC']
|
||||
@@ -189,19 +191,27 @@ def customize_compiler(compiler):
|
||||
cxx = os.environ['CXX']
|
||||
if 'LDSHARED' in os.environ:
|
||||
ldshared = os.environ['LDSHARED']
|
||||
+ if 'LDCXXSHARED' in os.environ:
|
||||
+ ldcxxshared = os.environ['LDCXXSHARED']
|
||||
if 'CPP' in os.environ:
|
||||
cpp = os.environ['CPP']
|
||||
else:
|
||||
cpp = cc + " -E" # not always
|
||||
if 'LDFLAGS' in os.environ:
|
||||
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
|
||||
if 'CFLAGS' in os.environ:
|
||||
- cflags = opt + ' ' + os.environ['CFLAGS']
|
||||
+ cflags = os.environ['CFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CFLAGS']
|
||||
+ if 'CXXFLAGS' in os.environ:
|
||||
+ cxxflags = os.environ['CXXFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
|
||||
if 'CPPFLAGS' in os.environ:
|
||||
cpp = cpp + ' ' + os.environ['CPPFLAGS']
|
||||
cflags = cflags + ' ' + os.environ['CPPFLAGS']
|
||||
+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
|
||||
if 'AR' in os.environ:
|
||||
ar = os.environ['AR']
|
||||
if 'ARFLAGS' in os.environ:
|
||||
@@ -210,13 +220,17 @@ def customize_compiler(compiler):
|
||||
archiver = ar + ' ' + ar_flags
|
||||
|
||||
cc_cmd = cc + ' ' + cflags
|
||||
+ cxx_cmd = cxx + ' ' + cxxflags
|
||||
compiler.set_executables(
|
||||
preprocessor=cpp,
|
||||
compiler=cc_cmd,
|
||||
compiler_so=cc_cmd + ' ' + ccshared,
|
||||
- compiler_cxx=cxx,
|
||||
+ compiler_cxx=cxx_cmd,
|
||||
+ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
|
||||
linker_so=ldshared,
|
||||
linker_exe=cc,
|
||||
+ linker_so_cxx=ldcxxshared,
|
||||
+ linker_exe_cxx=cxx,
|
||||
archiver=archiver)
|
||||
|
||||
compiler.shared_lib_extension = so_ext
|
||||
diff --git a/distutils/sysconfig_pypy.py b/distutils/sysconfig_pypy.py
|
||||
index 368f232..4fe1f08 100644
|
||||
--- a/distutils/sysconfig_pypy.py
|
||||
+++ b/distutils/sysconfig_pypy.py
|
||||
@@ -67,6 +67,7 @@ def _init_posix():
|
||||
g['CFLAGS'] = "-DNDEBUG -O2"
|
||||
g['CCSHARED'] = "-fPIC"
|
||||
g['LDSHARED'] = "cc -pthread -shared"
|
||||
+ g['LDCXXSHARED'] = "c++ -pthread -shared"
|
||||
g['SO'] = [s[0] for s in imp.get_suffixes() if s[2] == imp.C_EXTENSION][0]
|
||||
g['AR'] = "ar"
|
||||
g['ARFLAGS'] = "rc"
|
||||
@@ -85,6 +86,7 @@ def _init_posix():
|
||||
# just a guess
|
||||
arch = platform.machine()
|
||||
g['LDSHARED'] += ' -undefined dynamic_lookup'
|
||||
+ g['LDCXXSHARED'] += ' -undefined dynamic_lookup'
|
||||
g['CC'] += ' -arch %s' % (arch,)
|
||||
|
||||
global _config_vars
|
||||
@@ -168,37 +170,52 @@ def customize_compiler(compiler):
|
||||
_osx_support.customize_compiler(_config_vars)
|
||||
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
|
||||
|
||||
- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
|
||||
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
|
||||
- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
|
||||
- 'ARFLAGS')
|
||||
+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
|
||||
+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
|
||||
+ 'SO', 'AR', 'ARFLAGS')
|
||||
+
|
||||
+ cflags = ''
|
||||
+ cxxflags = ''
|
||||
|
||||
if 'CC' in os.environ:
|
||||
newcc = os.environ['CC']
|
||||
- if (sys.platform == 'darwin'
|
||||
+ if (True
|
||||
and 'LDSHARED' not in os.environ
|
||||
and ldshared.startswith(cc)):
|
||||
# On OS X, if CC is overridden, use that as the default
|
||||
# command for LDSHARED as well
|
||||
+ # Gentoo: s/OS X/every system/
|
||||
ldshared = newcc + ldshared[len(cc):]
|
||||
cc = newcc
|
||||
if 'CXX' in os.environ:
|
||||
- cxx = os.environ['CXX']
|
||||
+ newcxx = os.environ['CXX']
|
||||
+ if ('LDCXXSHARED' not in os.environ
|
||||
+ and ldcxxshared.startswith(cxx)):
|
||||
+ ldcxxshared = newcxx + ldcxxshared[len(cxx):]
|
||||
+ cxx = newcxx
|
||||
if 'LDSHARED' in os.environ:
|
||||
ldshared = os.environ['LDSHARED']
|
||||
+ if 'LDCXXSHARED' in os.environ:
|
||||
+ ldcxxshared = os.environ['LDCXXSHARED']
|
||||
if 'CPP' in os.environ:
|
||||
cpp = os.environ['CPP']
|
||||
else:
|
||||
cpp = cc + " -E" # not always
|
||||
if 'LDFLAGS' in os.environ:
|
||||
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
|
||||
if 'CFLAGS' in os.environ:
|
||||
- cflags = opt + ' ' + os.environ['CFLAGS']
|
||||
+ cflags = os.environ['CFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CFLAGS']
|
||||
+ if 'CXXFLAGS' in os.environ:
|
||||
+ cxxflags = os.environ['CXXFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
|
||||
if 'CPPFLAGS' in os.environ:
|
||||
cpp = cpp + ' ' + os.environ['CPPFLAGS']
|
||||
cflags = cflags + ' ' + os.environ['CPPFLAGS']
|
||||
+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
|
||||
if 'AR' in os.environ:
|
||||
ar = os.environ['AR']
|
||||
if 'ARFLAGS' in os.environ:
|
||||
@@ -207,13 +224,17 @@ def customize_compiler(compiler):
|
||||
archiver = ar + ' ' + ar_flags
|
||||
|
||||
cc_cmd = cc + ' ' + cflags
|
||||
+ cxx_cmd = cxx + ' ' + cxxflags
|
||||
compiler.set_executables(
|
||||
preprocessor=cpp,
|
||||
compiler=cc_cmd,
|
||||
compiler_so=cc_cmd + ' ' + ccshared,
|
||||
- compiler_cxx=cxx,
|
||||
+ compiler_cxx=cxx_cmd,
|
||||
+ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
|
||||
linker_so=ldshared,
|
||||
linker_exe=cc,
|
||||
+ linker_so_cxx=ldcxxshared,
|
||||
+ linker_exe_cxx=cxx,
|
||||
archiver=archiver)
|
||||
|
||||
compiler.shared_lib_extension = so_ext
|
||||
diff --git a/distutils/unixccompiler.py b/distutils/unixccompiler.py
|
||||
index dee88a5..558b568 100644
|
||||
--- a/distutils/unixccompiler.py
|
||||
+++ b/distutils/unixccompiler.py
|
||||
@@ -55,14 +55,17 @@ class UnixCCompiler(CCompiler):
|
||||
# are pretty generic; they will probably have to be set by an outsider
|
||||
# (eg. using information discovered by the sysconfig about building
|
||||
# Python extensions).
|
||||
- executables = {'preprocessor' : None,
|
||||
- 'compiler' : ["cc"],
|
||||
- 'compiler_so' : ["cc"],
|
||||
- 'compiler_cxx' : ["c++"], # pypy: changed, 'cc' is bogus
|
||||
- 'linker_so' : ["cc", "-shared"],
|
||||
- 'linker_exe' : ["cc"],
|
||||
- 'archiver' : ["ar", "-cr"],
|
||||
- 'ranlib' : None,
|
||||
+ executables = {'preprocessor' : None,
|
||||
+ 'compiler' : ["cc"],
|
||||
+ 'compiler_so' : ["cc"],
|
||||
+ 'compiler_cxx' : ["c++"],
|
||||
+ 'compiler_so_cxx' : ["c++"],
|
||||
+ 'linker_so' : ["cc", "-shared"],
|
||||
+ 'linker_exe' : ["cc"],
|
||||
+ 'linker_so_cxx' : ["c++", "-shared"],
|
||||
+ 'linker_exe_cxx' : ["c++"],
|
||||
+ 'archiver' : ["ar", "-cr"],
|
||||
+ 'ranlib' : None,
|
||||
}
|
||||
|
||||
if sys.platform[:6] == "darwin":
|
||||
@@ -129,12 +132,19 @@ class UnixCCompiler(CCompiler):
|
||||
|
||||
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
|
||||
compiler_so = self.compiler_so
|
||||
+ compiler_so_cxx = self.compiler_so_cxx
|
||||
if sys.platform == 'darwin':
|
||||
compiler_so = _osx_support.compiler_fixup(compiler_so,
|
||||
cc_args + extra_postargs)
|
||||
+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
|
||||
+ cc_args + extra_postargs)
|
||||
try:
|
||||
- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
|
||||
- extra_postargs)
|
||||
+ if self.detect_language(src) == 'c++':
|
||||
+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
+ else:
|
||||
+ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
|
||||
+ extra_postargs)
|
||||
except DistutilsExecError, msg:
|
||||
raise CompileError, msg
|
||||
|
||||
@@ -191,23 +201,16 @@ class UnixCCompiler(CCompiler):
|
||||
ld_args.extend(extra_postargs)
|
||||
self.mkpath(os.path.dirname(output_filename))
|
||||
try:
|
||||
- if target_desc == CCompiler.EXECUTABLE:
|
||||
- linker = self.linker_exe[:]
|
||||
+ if target_lang == "c++":
|
||||
+ if target_desc == CCompiler.EXECUTABLE:
|
||||
+ linker = self.linker_exe_cxx[:]
|
||||
+ else:
|
||||
+ linker = self.linker_so_cxx[:]
|
||||
else:
|
||||
- linker = self.linker_so[:]
|
||||
- if target_lang == "c++" and self.compiler_cxx:
|
||||
- # skip over environment variable settings if /usr/bin/env
|
||||
- # is used to set up the linker's environment.
|
||||
- # This is needed on OSX. Note: this assumes that the
|
||||
- # normal and C++ compiler have the same environment
|
||||
- # settings.
|
||||
- i = 0
|
||||
- if os.path.basename(linker[0]) == "env":
|
||||
- i = 1
|
||||
- while '=' in linker[i]:
|
||||
- i = i + 1
|
||||
-
|
||||
- linker[i] = self.compiler_cxx[i]
|
||||
+ if target_desc == CCompiler.EXECUTABLE:
|
||||
+ linker = self.linker_exe[:]
|
||||
+ else:
|
||||
+ linker = self.linker_so[:]
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
linker = _osx_support.compiler_fixup(linker, ld_args)
|
||||
--
|
||||
2.12.2
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
From 959e2aafbe6cabd4e6860f842bce9b8644f627ca 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/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
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1 unpacker
|
||||
|
||||
BINHOST="https://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
|
||||
CPY_PATCHSET_VERSION="2.7.15"
|
||||
MY_P=pypy2.7-v${PV}
|
||||
|
||||
DESCRIPTION="Pre-built version of PyPy"
|
||||
HOMEPAGE="https://pypy.org/"
|
||||
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz
|
||||
amd64? (
|
||||
jit? ( ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.lz )
|
||||
!jit? ( ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.lz )
|
||||
)
|
||||
x86? (
|
||||
cpu_flags_x86_sse2? (
|
||||
jit? ( ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.lz )
|
||||
!jit? ( ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.lz )
|
||||
)
|
||||
)"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
# pypy 7.0.0: install directory changed to 'pypy2.7'
|
||||
SLOT="0/41-py27"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gdbm +jit libressl sqlite cpu_flags_x86_sse2 tk"
|
||||
# Supported variants
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:0/1
|
||||
dev-libs/expat:0/0
|
||||
dev-libs/libffi:0/7
|
||||
sys-devel/gcc:*
|
||||
>=sys-libs/glibc-2.28
|
||||
sys-libs/ncurses:0/6
|
||||
sys-libs/zlib:0/1
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!dev-python/pypy:0"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/lzip
|
||||
app-arch/xz-utils"
|
||||
|
||||
S=${WORKDIR}/${MY_P}-src
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/lib/pypy2.7/pypy-c
|
||||
usr/lib/pypy2.7/libpypy-c.so"
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/7.0.0-gentoo-path.patch"
|
||||
eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
|
||||
# apply CPython stdlib patches
|
||||
pushd lib-python/2.7 > /dev/null || die
|
||||
# TODO: cpy turkish locale patch now fixes C code
|
||||
# probably needs better port to pypy, if it is broken there
|
||||
eapply "${FILESDIR}"/5.8.0_all_distutils_cxx.patch
|
||||
eapply -p2 "${WORKDIR}"/patches/0011-use_pyxml.patch
|
||||
popd > /dev/null || die
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Tadaam! PyPy compiled!
|
||||
mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
|
||||
mv "${WORKDIR}"/${P}*/include/*.h include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
|
||||
pax-mark m pypy-c libpypy-c.so
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop curses syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
# no module named 'worker' -- a lot
|
||||
--ignore=lib-python/2.7/test/test_xpickle.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
exeinto "${dest}"
|
||||
doexe pypy-c libpypy-c.so
|
||||
pax-mark m "${ED}${dest}/pypy-c" "${ED}${dest}/libpypy-c.so"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x PYTHON=${ED}${dest}/pypy-c
|
||||
# we can't use eclass function since PyPy is dumb and always gives
|
||||
# paths relative to the interpreter
|
||||
local PYTHON_SITEDIR=${EPREFIX}/usr/lib/pypy2.7/site-packages
|
||||
python_export pypy EPYTHON
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
|
||||
# compile the installed modules
|
||||
python_optimize "${ED}${dest}"
|
||||
}
|
||||
Reference in New Issue
Block a user