diff options
author | Dirkjan Ochtman <djc@gentoo.org> | 2012-06-08 16:52:09 +0000 |
---|---|---|
committer | Dirkjan Ochtman <djc@gentoo.org> | 2012-06-08 16:52:09 +0000 |
commit | eaeadfe0a58c39b36b6d232ada1791af31a36fa4 (patch) | |
tree | a4f2f5a35b1784e2a7448be0bf1afe5138402bbe /dev-python | |
parent | DESCRIPTION goes after inherit (diff) | |
download | historical-eaeadfe0a58c39b36b6d232ada1791af31a36fa4.tar.gz historical-eaeadfe0a58c39b36b6d232ada1791af31a36fa4.tar.bz2 historical-eaeadfe0a58c39b36b6d232ada1791af31a36fa4.zip |
Version bump pypy to 1.9.
Package-Manager: portage-2.1.10.64/cvs/Linux x86_64
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/pypy/ChangeLog | 11 | ||||
-rw-r--r-- | dev-python/pypy/Manifest | 14 | ||||
-rw-r--r-- | dev-python/pypy/files/1.9-distutils-fix_handling_of_executables_and_flags.patch | 391 | ||||
-rw-r--r-- | dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch | 11 | ||||
-rw-r--r-- | dev-python/pypy/files/1.9-no-bytecode-4151f9c406b6.patch | 27 | ||||
-rw-r--r-- | dev-python/pypy/files/1.9-scripts-location.patch | 11 | ||||
-rw-r--r-- | dev-python/pypy/pypy-1.9.ebuild | 101 |
7 files changed, 561 insertions, 5 deletions
diff --git a/dev-python/pypy/ChangeLog b/dev-python/pypy/ChangeLog index 124d79e8b0fe..e6de16a0489c 100644 --- a/dev-python/pypy/ChangeLog +++ b/dev-python/pypy/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-python/pypy # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.19 2012/06/08 16:40:22 djc Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.20 2012/06/08 16:52:09 djc Exp $ + +*pypy-1.9 (08 Jun 2012) + + 08 Jun 2012; Dirkjan Ochtman <djc@gentoo.org> + +files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.p + atch, +files/1.9-scripts-location.patch, +pypy-1.9.ebuild, + +files/1.9-no-bytecode-4151f9c406b6.patch, + +files/1.9-distutils-fix_handling_of_executables_and_flags.patch: + Version bump to 1.9. 08 Jun 2012; Dirkjan Ochtman <djc@gentoo.org> metadata.xml: Remove unused USE flag. diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest index ddb4654065d1..52bb4aaf4b41 100644 --- a/dev-python/pypy/Manifest +++ b/dev-python/pypy/Manifest @@ -4,16 +4,22 @@ Hash: SHA512 AUX 1.7-scripts-location.patch 412 RMD160 811c3cc38370f97274f8ec5cc36f34b3e79dae56 SHA1 c03fa9679443ed9461829745f5bb00cfecd3eb22 SHA256 abc39fbbf69d1d6b478a4a16626950e8e0b607fb05c6e1e1c10618c59fccdda9 AUX 1.8-elf-metadata-26a8d3fc57a7.patch 569 RMD160 de5a440cb41ab0249141304c12f9a35af1565c87 SHA1 57daa224b13ec3e6cf7f23d02d896527137dca6b SHA256 8c695811ca9eae7d3b81674e8de255dc84e242972041ca54093a3d96f40fe34b AUX 1.8-sext-instructions-02dc2f6160ee.patch 1100 RMD160 c1f83411a70af07c0987ac51c81806de70a5d991 SHA1 8430932adfaadf903a1ad5a4635644157e04ee78 SHA256 599af03fb41902cb00b6c1768febd921276efbdc7b550d010676cc210f7564bb +AUX 1.9-distutils-fix_handling_of_executables_and_flags.patch 17956 RMD160 a9185e456eaa9a810d4f7b73a78feae944982bf7 SHA1 ffd5eef4f49cbffa3c383f1d06799017ee9f79db SHA256 4ed9800fc851377a45ebf72c759322ebb005dd87100e2ebf634c11b418a56acf +AUX 1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch 551 RMD160 cb5ae5aca4c645c5c913dedf55ca267e02735976 SHA1 2c9011788abaa65ec1679ecb0ffd4c269b4cd12d SHA256 dc17421bd12e4df5fed2fb1d113c9a8ca691b127631c48350aea1801c52360f1 +AUX 1.9-no-bytecode-4151f9c406b6.patch 1114 RMD160 254806e80944589cc76caac92fb6b67ae3ebf5f3 SHA1 8d9c0ca17a242894e3347232bdf7995e5ab50536 SHA256 6c76b9456ef1e8460b80a55f82c688704de73fe0ab027a127fae634a7b087880 +AUX 1.9-scripts-location.patch 394 RMD160 e0324dd7cbdf0508c12cd63c2620f9d001e81ef6 SHA1 98b0e6e9182e38020fa9f95445bf27358c7f0356 SHA256 d02ef738b6c82a7a671b50bdc5dc623887e97c3cb033c11ea997b88e6ccb8bdc AUX pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch 18064 RMD160 8e86cff09340448f3e49ccc626efa40e9463273a SHA1 533cad04bc8d96e2ba1a09e8249a3efd97e46b1d SHA256 43cbabdf5f7b094eb969c754bb6513fa324b1fadb40b37d78bd1ad47194d787a AUX pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch 569 RMD160 540aa0881ea1fef56cea3734fa09f5c3366d5bb0 SHA1 5f4939129a9a56c9f9da0e82851f675fd7c73209 SHA256 55ea809a5f3e264b1905b06aa3af78aae149451e7d74a98d11e87629ab69493e DIST pypy-1.8.tar.bz2 14927806 RMD160 70fe569b466357ee64685c8ce15278d24862c711 SHA1 4ff684619671d6076879eff88343184d7656c699 SHA256 ac98ad6d884207f8325ff4c783104ebea57a3fcddfef32abcdf97fd4307b6287 +DIST pypy-1.9.tar.bz2 13466551 RMD160 8ac2f53330ae450650f05753985bdbb42e07b526 SHA1 36a05432bbcee5d92a320fa27a627aeb281086b4 SHA256 9fd599acade49ef98017bbce4f179f19cf2680489ff15235d3bad5b20bde0d68 EBUILD pypy-1.8-r1.ebuild 3156 RMD160 41bba9d37e47db4788bb3901c04c6cc5f210bdbd SHA1 2aef475bdd408dcd042f2c0fb865750a665963e2 SHA256 b97521f03d18b5a9fb5584dad78bf246e50a8712768b8684b2b8c1b9ba54ac80 -MISC ChangeLog 3319 RMD160 5311864978539227a6d1e5bb240393a83fbf49b5 SHA1 78cf77daa63b17278cc997cc50f73cbeac259cbf SHA256 5018bee35b2fa3fb6c8e1b3d374ac3adc954a198198c39320152562948658385 +EBUILD pypy-1.9.ebuild 3079 RMD160 08231c844fd0c35271bc7b70632eaebe8299b6d4 SHA1 bad2edbe77404a2c6451cb006dbc1e41fac3a367 SHA256 7bb7ed6e7d4f7229383e0c74bedc2ef2e85625826ff7ad567430de88f17a9a81 +MISC ChangeLog 3670 RMD160 c06ae32b25e359d73ca5e966fd537bffa24e8259 SHA1 7fbc1e9320a69894ca70af639a0e30a9c022fc5f SHA256 0a1bbeb70bf3b0e3482120a5fe98568a32a2d1a7ee1eb99dc4fa62680d8791be MISC metadata.xml 434 RMD160 3c90cc70db73e1645c0a82a093084551e80ad311 SHA1 8942b6dc54c073f17f49afac40b6bad056692571 SHA256 2af0a575ae6cb4c00383bdb8a22774b3d5bc988c7f48cbcdddef781234fc54e5 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iEYEAREKAAYFAk/SK6sACgkQxeMuLWsGW/vbMACfd2YgCVLcbiUfc24YdR+NXaL4 -7DEAnjhrH3ycfO0VGVqEp+4sIyND3j2R -=rqvf +iEYEAREKAAYFAk/SLcUACgkQxeMuLWsGW/v0MgCeJtdGkro0HnKjtg9H7pdOtDMq +bVsAoKpJc+pBXXVysgqYmD17JMHTSo3E +=zdjd -----END PGP SIGNATURE----- diff --git a/dev-python/pypy/files/1.9-distutils-fix_handling_of_executables_and_flags.patch b/dev-python/pypy/files/1.9-distutils-fix_handling_of_executables_and_flags.patch new file mode 100644 index 000000000000..4a35ea8cb3c7 --- /dev/null +++ b/dev-python/pypy/files/1.9-distutils-fix_handling_of_executables_and_flags.patch @@ -0,0 +1,391 @@ +--- lib-python/2.7/distutils/ccompiler.py ++++ lib-python/2.7/distutils/ccompiler.py +@@ -27,10 +27,16 @@ + varies across Unices and is stored in Python's Makefile. + """ + if compiler.compiler_type == "unix": +- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \ +- _sysconfig.get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', +- 'CCSHARED', 'LDSHARED', 'SO', 'AR', +- 'ARFLAGS') ++ cc = ' '.join(compiler.compiler) ++ cxx = ' '.join(compiler.compiler_cxx) ++ ldshared = ' '.join(compiler.linker_so) ++ ldcxxshared = ' '.join(compiler.linker_so_cxx) ++ ar = compiler.archiver[0] ++ ++ cflags = '' ++ cxxflags = '' ++ ccshared = '-fPIC' ++ ar_flags = compiler.archiver[1] + + if 'CC' in os.environ: + cc = os.environ['CC'] +@@ -38,19 +44,27 @@ + 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: +@@ -59,17 +73,19 @@ + 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 +- + class CCompiler: + """Abstract base class to define the interface that must be implemented + by real compiler classes. Also has some utility methods used by +--- lib-python/2.7/distutils/cygwinccompiler.py ++++ lib-python/2.7/distutils/cygwinccompiler.py +@@ -135,9 +135,13 @@ + 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, shared_option))) + + # cygwin and mingw32 need different sets of libraries + if self.gcc_version == "2.91.57": +@@ -163,8 +167,12 @@ + 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 + +@@ -325,10 +333,15 @@ + self.set_executables(compiler='gcc -mno-cygwin -O -Wall', + compiler_so='gcc -mno-cygwin -mdll -O -Wall', + compiler_cxx='g++ -mno-cygwin -O -Wall', ++ compiler_so_cxx='g++ -mno-cygwin -mdll -O -Wall', + linker_exe='gcc -mno-cygwin', + linker_so='%s -mno-cygwin %s %s' + % (self.linker_dll, shared_option, +- entry_point)) ++ entry_point), ++ linker_exe_cxx='g++ -mno-cygwin', ++ linker_so_cxx='%s -mno-cygwin %s %s' ++ % (self.linker_dll, shared_option, ++ entry_point)) + # Maybe we should also append -mthreads, but then the finished + # dlls need another dll (mingwm10.dll see Mingw32 docs) + # (-mthreads: Support thread-safe exception handling on `Mingw32') +--- lib-python/2.7/distutils/emxccompiler.py ++++ lib-python/2.7/distutils/emxccompiler.py +@@ -65,8 +65,12 @@ + # 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 @@ + 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 + +--- lib-python/2.7/distutils/sysconfig_cpython.py ++++ lib-python/2.7/distutils/sysconfig_cpython.py +@@ -149,9 +149,12 @@ + varies across Unices and is stored in Python's Makefile. + """ + if compiler.compiler_type == "unix": +- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext) = \ +- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', +- 'CCSHARED', 'LDSHARED', 'SO') ++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext) = \ ++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', ++ 'LDCXXSHARED', 'SO') ++ ++ cflags = '' ++ cxxflags = '' + + if 'CC' in os.environ: + cc = os.environ['CC'] +@@ -159,28 +162,40 @@ + 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'] + + 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_exe=cc, ++ linker_so_cxx=ldcxxshared, ++ linker_exe_cxx=cxx) + + compiler.shared_lib_extension = so_ext + +@@ -506,7 +521,7 @@ + for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', + # a number of derived variables. These need to be + # patched up as well. +- 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): ++ 'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + flags = _config_vars[key] + flags = re.sub('-arch\s+\w+\s', ' ', flags) + flags = re.sub('-isysroot [^ \t]*', ' ', flags) +@@ -525,7 +540,7 @@ + for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', + # a number of derived variables. These need to be + # patched up as well. +- 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): ++ 'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _config_vars[key] + flags = re.sub('-arch\s+\w+\s', ' ', flags) +@@ -549,7 +564,7 @@ + for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', + # a number of derived variables. These need to be + # patched up as well. +- 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): ++ 'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _config_vars[key] + flags = re.sub('-isysroot\s+\S+(\s|$)', ' ', flags) +--- lib-python/2.7/distutils/sysconfig_pypy.py ++++ lib-python/2.7/distutils/sysconfig_pypy.py +@@ -114,13 +114,56 @@ + optional C speedup components. + """ + if compiler.compiler_type == "unix": +- compiler.compiler_so.extend(['-fPIC', '-Wimplicit']) ++ cc = ' '.join(compiler.compiler) ++ cxx = ' '.join(compiler.compiler_cxx) ++ ldshared = ' '.join(compiler.linker_so) ++ ldcxxshared = ' '.join(compiler.linker_so_cxx) ++ ++ cflags = '' ++ cxxflags = '' ++ ccshared = '-fPIC' ++ ++ if 'CC' in os.environ: ++ cc = os.environ['CC'] ++ if 'CXX' in os.environ: ++ 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 = 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'] ++ ++ cc_cmd = cc + ' ' + cflags ++ cxx_cmd = cxx + ' ' + cxxflags ++ compiler.set_executables( ++ preprocessor=cpp, ++ compiler=cc_cmd, ++ compiler_so=cc_cmd + ' ' + ccshared, ++ compiler_cxx=cxx_cmd, ++ compiler_so_cxx=cxx_cmd + ' ' + ccshared, ++ linker_so=ldshared, ++ linker_exe=cc, ++ linker_so_cxx=ldcxxshared, ++ linker_exe_cxx=cxx) + compiler.shared_lib_extension = get_config_var('SO') +- if "CFLAGS" in os.environ: +- cflags = os.environ["CFLAGS"] +- compiler.compiler.append(cflags) +- compiler.compiler_so.append(cflags) +- compiler.linker_so.append(cflags) + + + from sysconfig_cpython import ( +--- lib-python/2.7/distutils/unixccompiler.py ++++ lib-python/2.7/distutils/unixccompiler.py +@@ -114,14 +114,17 @@ + # 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' : ["cc"], +- '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": +@@ -186,11 +189,18 @@ + + 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 = _darwin_compiler_fixup(compiler_so, cc_args + extra_postargs) ++ compiler_so_cxx = _darwin_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 + +@@ -247,23 +257,16 @@ + 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 = _darwin_compiler_fixup(linker, ld_args) diff --git a/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch new file mode 100644 index 000000000000..b3d5235000d5 --- /dev/null +++ b/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch @@ -0,0 +1,11 @@ +--- lib-python/2.7/distutils/unixccompiler.py ++++ 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 diff --git a/dev-python/pypy/files/1.9-no-bytecode-4151f9c406b6.patch b/dev-python/pypy/files/1.9-no-bytecode-4151f9c406b6.patch new file mode 100644 index 000000000000..5fab3a50ddad --- /dev/null +++ b/dev-python/pypy/files/1.9-no-bytecode-4151f9c406b6.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Armin Rigo <arigo@tunes.org> +# Date 1339165065 -7200 +# Node ID 4151f9c406b62f6c4a1fdd669389eb46eb90f9cb +# Parent 68f8d7152a45fa7856a2a013799874614fcd9c33 +issue1043 3rd issue fixed + +diff -r 68f8d7152a45fa7856a2a013799874614fcd9c33 -r 4151f9c406b62f6c4a1fdd669389eb46eb90f9cb pypy/translator/goal/app_main.py +--- a/pypy/translator/goal/app_main.py Fri Jun 08 16:06:33 2012 +0200 ++++ b/pypy/translator/goal/app_main.py Fri Jun 08 16:17:45 2012 +0200 +@@ -457,13 +457,13 @@ + + if PYTHON26 and not options["ignore_environment"]: + if os.getenv('PYTHONNOUSERSITE'): +- options["no_user_site"] = True ++ options["no_user_site"] = 1 + if os.getenv('PYTHONDONTWRITEBYTECODE'): +- options["dont_write_bytecode"] = True ++ options["dont_write_bytecode"] = 1 + + if (options["interactive"] or + (not options["ignore_environment"] and os.getenv('PYTHONINSPECT'))): +- options["inspect"] = True ++ options["inspect"] = 1 + + if PYTHON26 and we_are_translated(): + flags = [options[flag] for flag in sys_flags] diff --git a/dev-python/pypy/files/1.9-scripts-location.patch b/dev-python/pypy/files/1.9-scripts-location.patch new file mode 100644 index 000000000000..5f0190d9a20f --- /dev/null +++ b/dev-python/pypy/files/1.9-scripts-location.patch @@ -0,0 +1,11 @@ +--- 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', + }, + } diff --git a/dev-python/pypy/pypy-1.9.ebuild b/dev-python/pypy/pypy-1.9.ebuild new file mode 100644 index 000000000000..84d279a90e38 --- /dev/null +++ b/dev-python/pypy/pypy-1.9.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.9.ebuild,v 1.1 2012/06/08 16:52:09 djc Exp $ + +EAPI="4" + +inherit eutils toolchain-funcs check-reqs python versionator + +DESCRIPTION="PyPy is a fast, compliant alternative implementation of the Python language" +HOMEPAGE="http://pypy.org/" +SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${P}.tar.bz2" +SLOTVER=$(get_version_component_range 1-2 ${PV}) + +LICENSE="MIT" +SLOT="${SLOTVER}" +PYTHON_ABI="2.7-pypy-${SLOTVER}" +KEYWORDS="~amd64 ~x86" +IUSE="bzip2 doc examples +jit ncurses sandbox shadowstack sqlite ssl +xml" + +RDEPEND=">=sys-libs/zlib-1.1.3 + virtual/libffi + virtual/libintl + dev-libs/expat + bzip2? ( app-arch/bzip2 ) + ncurses? ( sys-libs/ncurses ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND}" +PDEPEND="app-admin/python-updater" + +DOC="README LICENSE" + +pkg_pretend() { + CHECKREQS_MEMORY="2G" + use amd64 && CHECKREQS_MEMORY="4G" + check-reqs_pkg_pretend +} + +src_unpack() { + default + mv pypy-pypy-* "${S}" || die +} + +src_prepare() { + epatch "${FILESDIR}/${PV}-no-bytecode-4151f9c406b6.patch" + epatch "${FILESDIR}/${PV}-scripts-location.patch" + epatch "${FILESDIR}/${PV}-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" + epatch "${FILESDIR}/${PV}-distutils-fix_handling_of_executables_and_flags.patch" +} + +src_compile() { + local conf + if use jit; then + conf="-Ojit" + else + conf="-O2" + fi + if use shadowstack; then + conf+=" --gcrootfinder=shadowstack" + fi + if use sandbox; then + conf+=" --sandbox" + fi + + conf+=" ./pypy/translator/goal/targetpypystandalone.py" + # Avoid linking against libraries disabled by use flags + local optional_use=("bzip2" "ncurses" "ssl") + local optional_mod=("bz2" "_minimal_curses" "_ssl") + for ((i = 0; i < ${#optional_use[*]}; i++)); do + if use ${optional_use[$i]}; then + conf+=" --withmod-${optional_mod[$i]}" + else + conf+=" --withoutmod-${optional_mod[$i]}" + fi + done + + local translate_cmd="$(PYTHON -2) ./pypy/translator/goal/translate.py --batch $conf" + echo ${_BOLD}"${translate_cmd}"${_NORMAL} + ${translate_cmd} || die "compile error" +} + +src_install() { + local INSPATH="/usr/$(get_libdir)/pypy${SLOT}" + insinto ${INSPATH} + doins -r include lib_pypy lib-python pypy-c + fperms a+x ${INSPATH}/pypy-c + dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT} + + if ! use sqlite; then + rm -fr "${ED}${INSPATH}/lib-python/2.7/sqlite3" + rm -fr "${ED}${INSPATH}/lib-python/modified-2.7/sqlite3" + rm -f "${ED}${INSPATH}/lib_pypy/_sqlite3.py" + fi + + # Generate Grammar and PatternGrammar pickles. + PYTHONPATH="${ED}${INSPATH}/lib_pypy/__extensions__:${ED}${INSPATH}/lib_pypy:${ED}${INSPATH}/lib-python/modified-2.7:${ED}${INSPATH}/lib-python/2.7" "${ED}${INSPATH}/pypy-c" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" || die "Generation of Grammar and PatternGrammar pickles failed" +} + +src_test() { + $(PYTHON -2) ./pypy/test_all.py --pypy=./pypy-c lib-python +} |