summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pypy/ChangeLog12
-rw-r--r--dev-python/pypy/files/2.0-distutils-fix_handling_of_executables_and_flags.patch323
-rw-r--r--dev-python/pypy/files/2.0-encoder-3655afd07f2f.patch325
-rw-r--r--dev-python/pypy/files/2.0-no-static-hack-r1.patch39
-rw-r--r--dev-python/pypy/files/2.0-no-static-hack.patch39
-rw-r--r--dev-python/pypy/files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch391
-rw-r--r--dev-python/pypy/files/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch11
-rw-r--r--dev-python/pypy/pypy-1.9-r1.ebuild114
-rw-r--r--dev-python/pypy/pypy-1.9.ebuild100
-rw-r--r--dev-python/pypy/pypy-2.0_beta1.ebuild121
-rw-r--r--dev-python/pypy/pypy-2.0_beta2.ebuild140
11 files changed, 11 insertions, 1604 deletions
diff --git a/dev-python/pypy/ChangeLog b/dev-python/pypy/ChangeLog
index 1d9e54874ac6..7f87b828da9c 100644
--- a/dev-python/pypy/ChangeLog
+++ b/dev-python/pypy/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-python/pypy
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.44 2013/06/18 10:41:29 idella4 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.45 2013/07/21 20:46:01 mgorny Exp $
+
+ 21 Jul 2013; Michał Górny <mgorny@gentoo.org>
+ -files/2.0-distutils-fix_handling_of_executables_and_flags.patch,
+ -files/2.0-encoder-3655afd07f2f.patch, -files/2.0-no-static-hack-r1.patch,
+ -files/2.0-no-static-hack.patch,
+ -files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch, -files/
+ pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patc
+ h, -pypy-1.9-r1.ebuild, -pypy-1.9.ebuild, -pypy-2.0_beta1.ebuild,
+ -pypy-2.0_beta2.ebuild:
+ Drop old.
18 Jun 2013; Ian Delaney <idella4@gentoo.org> pypy-2.0.2.ebuild,
pypy-2.0_beta2.ebuild:
diff --git a/dev-python/pypy/files/2.0-distutils-fix_handling_of_executables_and_flags.patch b/dev-python/pypy/files/2.0-distutils-fix_handling_of_executables_and_flags.patch
deleted file mode 100644
index 751650d30bfd..000000000000
--- a/dev-python/pypy/files/2.0-distutils-fix_handling_of_executables_and_flags.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-http://bugs.python.org/issue1222585
-
---- lib-python/2.7/distutils/cygwinccompiler.py
-+++ lib-python/2.7/distutils/cygwinccompiler.py
-@@ -132,9 +132,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":
-@@ -160,8 +164,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
-
-@@ -322,10 +330,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
-@@ -150,10 +150,12 @@
- 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) = \
-- 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 = ''
-
- newcc = None
- if 'CC' in os.environ:
-@@ -191,19 +193,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:
-@@ -212,13 +222,17 @@
- 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
-@@ -530,7 +544,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)
-@@ -549,7 +563,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)
-@@ -573,7 +587,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":
-@@ -171,11 +174,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
-
-@@ -232,23 +242,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) \ No newline at end of file
diff --git a/dev-python/pypy/files/2.0-encoder-3655afd07f2f.patch b/dev-python/pypy/files/2.0-encoder-3655afd07f2f.patch
deleted file mode 100644
index bba88c54cbda..000000000000
--- a/dev-python/pypy/files/2.0-encoder-3655afd07f2f.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-# HG changeset patch
-# User Brian Kearns <bdkearns@gmail.com>
-# Date 1360472826 18000
-# Node ID 3655afd07f2fe7e3e7c9f1a94d82fcc0a79fc51a
-# Parent 8556098ab5f036e9ded2549db6989e1206e28f45
-mangle pypy's non-standard JSONEncoder modifications to avoid namespace clashes
-
-diff -r 8556098ab5f036e9ded2549db6989e1206e28f45 -r 3655afd07f2fe7e3e7c9f1a94d82fcc0a79fc51a lib-python/2.7/json/encoder.py
---- a/lib-python/2.7/json/encoder.py Sat Feb 09 23:27:51 2013 -0500
-+++ b/lib-python/2.7/json/encoder.py Sun Feb 10 00:07:06 2013 -0500
-@@ -138,16 +138,16 @@
- self.skipkeys = skipkeys
- self.ensure_ascii = ensure_ascii
- if ensure_ascii:
-- self.encoder = raw_encode_basestring_ascii
-+ self.__encoder = raw_encode_basestring_ascii
- else:
-- self.encoder = raw_encode_basestring
-+ self.__encoder = raw_encode_basestring
- if encoding != 'utf-8':
-- orig_encoder = self.encoder
-+ orig_encoder = self.__encoder
- def encoder(o):
- if isinstance(o, str):
- o = o.decode(encoding)
- return orig_encoder(o)
-- self.encoder = encoder
-+ self.__encoder = encoder
- self.check_circular = check_circular
- self.allow_nan = allow_nan
- self.sort_keys = sort_keys
-@@ -193,10 +193,10 @@
- builder = StringBuilder()
- else:
- builder = UnicodeBuilder()
-- self._encode(o, markers, builder, 0)
-+ self.__encode(o, markers, builder, 0)
- return builder.build()
-
-- def _emit_indent(self, builder, _current_indent_level):
-+ def __emit_indent(self, builder, _current_indent_level):
- if self.indent is not None:
- _current_indent_level += 1
- newline_indent = '\n' + (' ' * (self.indent *
-@@ -207,15 +207,15 @@
- separator = self.item_separator
- return separator, _current_indent_level
-
-- def _emit_unindent(self, builder, _current_indent_level):
-+ def __emit_unindent(self, builder, _current_indent_level):
- if self.indent is not None:
- builder.append('\n')
- builder.append(' ' * (self.indent * (_current_indent_level - 1)))
-
-- def _encode(self, o, markers, builder, _current_indent_level):
-+ def __encode(self, o, markers, builder, _current_indent_level):
- if isinstance(o, basestring):
- builder.append('"')
-- builder.append(self.encoder(o))
-+ builder.append(self.__encoder(o))
- builder.append('"')
- elif o is None:
- builder.append('null')
-@@ -226,46 +226,46 @@
- elif isinstance(o, (int, long)):
- builder.append(str(o))
- elif isinstance(o, float):
-- builder.append(self._floatstr(o))
-+ builder.append(self.__floatstr(o))
- elif isinstance(o, (list, tuple)):
- if not o:
- builder.append('[]')
- return
-- self._encode_list(o, markers, builder, _current_indent_level)
-+ self.__encode_list(o, markers, builder, _current_indent_level)
- elif isinstance(o, dict):
- if not o:
- builder.append('{}')
- return
-- self._encode_dict(o, markers, builder, _current_indent_level)
-+ self.__encode_dict(o, markers, builder, _current_indent_level)
- else:
-- self._mark_markers(markers, o)
-+ self.__mark_markers(markers, o)
- res = self.default(o)
-- self._encode(res, markers, builder, _current_indent_level)
-- self._remove_markers(markers, o)
-+ self.__encode(res, markers, builder, _current_indent_level)
-+ self.__remove_markers(markers, o)
- return res
-
-- def _encode_list(self, l, markers, builder, _current_indent_level):
-- self._mark_markers(markers, l)
-+ def __encode_list(self, l, markers, builder, _current_indent_level):
-+ self.__mark_markers(markers, l)
- builder.append('[')
- first = True
-- separator, _current_indent_level = self._emit_indent(builder,
-+ separator, _current_indent_level = self.__emit_indent(builder,
- _current_indent_level)
- for elem in l:
- if first:
- first = False
- else:
- builder.append(separator)
-- self._encode(elem, markers, builder, _current_indent_level)
-+ self.__encode(elem, markers, builder, _current_indent_level)
- del elem # XXX grumble
-- self._emit_unindent(builder, _current_indent_level)
-+ self.__emit_unindent(builder, _current_indent_level)
- builder.append(']')
-- self._remove_markers(markers, l)
-+ self.__remove_markers(markers, l)
-
-- def _encode_dict(self, d, markers, builder, _current_indent_level):
-- self._mark_markers(markers, d)
-+ def __encode_dict(self, d, markers, builder, _current_indent_level):
-+ self.__mark_markers(markers, d)
- first = True
- builder.append('{')
-- separator, _current_indent_level = self._emit_indent(builder,
-+ separator, _current_indent_level = self.__emit_indent(builder,
- _current_indent_level)
- if self.sort_keys:
- items = sorted(d.items(), key=lambda kv: kv[0])
-@@ -282,7 +282,7 @@
- # JavaScript is weakly typed for these, so it makes sense to
- # also allow them. Many encoders seem to do something like this.
- elif isinstance(key, float):
-- key = self._floatstr(key)
-+ key = self.__floatstr(key)
- elif key is True:
- key = 'true'
- elif key is False:
-@@ -296,15 +296,15 @@
- else:
- raise TypeError("key " + repr(key) + " is not a string")
- builder.append('"')
-- builder.append(self.encoder(key))
-+ builder.append(self.__encoder(key))
- builder.append('"')
- builder.append(self.key_separator)
-- self._encode(v, markers, builder, _current_indent_level)
-+ self.__encode(v, markers, builder, _current_indent_level)
- del key
- del v # XXX grumble
-- self._emit_unindent(builder, _current_indent_level)
-+ self.__emit_unindent(builder, _current_indent_level)
- builder.append('}')
-- self._remove_markers(markers, d)
-+ self.__remove_markers(markers, d)
-
- def iterencode(self, o, _one_shot=False):
- """Encode the given object and yield each string
-@@ -320,9 +320,9 @@
- markers = {}
- else:
- markers = None
-- return self._iterencode(o, markers, 0)
-+ return self.__iterencode(o, markers, 0)
-
-- def _floatstr(self, o):
-+ def __floatstr(self, o):
- # Check for specials. Note that this type of test is processor
- # and/or platform-specific, so do tests which don't depend on the
- # internals.
-@@ -343,21 +343,21 @@
-
- return text
-
-- def _mark_markers(self, markers, o):
-+ def __mark_markers(self, markers, o):
- if markers is not None:
- if id(o) in markers:
- raise ValueError("Circular reference detected")
- markers[id(o)] = None
-
-- def _remove_markers(self, markers, o):
-+ def __remove_markers(self, markers, o):
- if markers is not None:
- del markers[id(o)]
-
-- def _iterencode_list(self, lst, markers, _current_indent_level):
-+ def __iterencode_list(self, lst, markers, _current_indent_level):
- if not lst:
- yield '[]'
- return
-- self._mark_markers(markers, lst)
-+ self.__mark_markers(markers, lst)
- buf = '['
- if self.indent is not None:
- _current_indent_level += 1
-@@ -375,7 +375,7 @@
- else:
- buf = separator
- if isinstance(value, basestring):
-- yield buf + '"' + self.encoder(value) + '"'
-+ yield buf + '"' + self.__encoder(value) + '"'
- elif value is None:
- yield buf + 'null'
- elif value is True:
-@@ -385,17 +385,17 @@
- elif isinstance(value, (int, long)):
- yield buf + str(value)
- elif isinstance(value, float):
-- yield buf + self._floatstr(value)
-+ yield buf + self.__floatstr(value)
- else:
- yield buf
- if isinstance(value, (list, tuple)):
-- chunks = self._iterencode_list(value, markers,
-+ chunks = self.__iterencode_list(value, markers,
- _current_indent_level)
- elif isinstance(value, dict):
-- chunks = self._iterencode_dict(value, markers,
-+ chunks = self.__iterencode_dict(value, markers,
- _current_indent_level)
- else:
-- chunks = self._iterencode(value, markers,
-+ chunks = self.__iterencode(value, markers,
- _current_indent_level)
- for chunk in chunks:
- yield chunk
-@@ -403,13 +403,13 @@
- _current_indent_level -= 1
- yield '\n' + (' ' * (self.indent * _current_indent_level))
- yield ']'
-- self._remove_markers(markers, lst)
-+ self.__remove_markers(markers, lst)
-
-- def _iterencode_dict(self, dct, markers, _current_indent_level):
-+ def __iterencode_dict(self, dct, markers, _current_indent_level):
- if not dct:
- yield '{}'
- return
-- self._mark_markers(markers, dct)
-+ self.__mark_markers(markers, dct)
- yield '{'
- if self.indent is not None:
- _current_indent_level += 1
-@@ -431,7 +431,7 @@
- # JavaScript is weakly typed for these, so it makes sense to
- # also allow them. Many encoders seem to do something like this.
- elif isinstance(key, float):
-- key = self._floatstr(key)
-+ key = self.__floatstr(key)
- elif key is True:
- key = 'true'
- elif key is False:
-@@ -448,10 +448,10 @@
- first = False
- else:
- yield item_separator
-- yield '"' + self.encoder(key) + '"'
-+ yield '"' + self.__encoder(key) + '"'
- yield self.key_separator
- if isinstance(value, basestring):
-- yield '"' + self.encoder(value) + '"'
-+ yield '"' + self.__encoder(value) + '"'
- elif value is None:
- yield 'null'
- elif value is True:
-@@ -461,16 +461,16 @@
- elif isinstance(value, (int, long)):
- yield str(value)
- elif isinstance(value, float):
-- yield self._floatstr(value)
-+ yield self.__floatstr(value)
- else:
- if isinstance(value, (list, tuple)):
-- chunks = self._iterencode_list(value, markers,
-+ chunks = self.__iterencode_list(value, markers,
- _current_indent_level)
- elif isinstance(value, dict):
-- chunks = self._iterencode_dict(value, markers,
-+ chunks = self.__iterencode_dict(value, markers,
- _current_indent_level)
- else:
-- chunks = self._iterencode(value, markers,
-+ chunks = self.__iterencode(value, markers,
- _current_indent_level)
- for chunk in chunks:
- yield chunk
-@@ -478,11 +478,11 @@
- _current_indent_level -= 1
- yield '\n' + (' ' * (self.indent * _current_indent_level))
- yield '}'
-- self._remove_markers(markers, dct)
-+ self.__remove_markers(markers, dct)
-
-- def _iterencode(self, o, markers, _current_indent_level):
-+ def __iterencode(self, o, markers, _current_indent_level):
- if isinstance(o, basestring):
-- yield '"' + self.encoder(o) + '"'
-+ yield '"' + self.__encoder(o) + '"'
- elif o is None:
- yield 'null'
- elif o is True:
-@@ -492,19 +492,19 @@
- elif isinstance(o, (int, long)):
- yield str(o)
- elif isinstance(o, float):
-- yield self._floatstr(o)
-+ yield self.__floatstr(o)
- elif isinstance(o, (list, tuple)):
-- for chunk in self._iterencode_list(o, markers,
-+ for chunk in self.__iterencode_list(o, markers,
- _current_indent_level):
- yield chunk
- elif isinstance(o, dict):
-- for chunk in self._iterencode_dict(o, markers,
-+ for chunk in self.__iterencode_dict(o, markers,
- _current_indent_level):
- yield chunk
- else:
-- self._mark_markers(markers, o)
-+ self.__mark_markers(markers, o)
- obj = self.default(o)
-- for chunk in self._iterencode(obj, markers,
-+ for chunk in self.__iterencode(obj, markers,
- _current_indent_level):
- yield chunk
-- self._remove_markers(markers, o)
-+ self.__remove_markers(markers, o)
-
diff --git a/dev-python/pypy/files/2.0-no-static-hack-r1.patch b/dev-python/pypy/files/2.0-no-static-hack-r1.patch
deleted file mode 100644
index 98a9633f4d4f..000000000000
--- a/dev-python/pypy/files/2.0-no-static-hack-r1.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Remove logic that links to libssl and libcrypto statically if
-possible. Just always link dynamically: Gentoo is expected to have
-sane dynamic libraries for us to use, and our users are not expected
-to copy their pypy binary to a system with an incompatible
-libssl/libcrypto and expect it to work.
-
-Based on patch contributed by XU Benda <heroxbd@gentoo.org>.
-
---- a/rpython/rlib/ropenssl.py
-+++ b/rpython/rlib/ropenssl.py
-@@ -20,27 +20,8 @@
- # so that openssl/ssl.h can repair this nonsense.
- 'wincrypt.h']
- else:
-- libraries = ['z']
-+ libraries = ['z','ssl','crypto']
- includes = []
-- if (sys.platform.startswith('linux') and
-- os.path.exists('/usr/lib/libssl.a') and
-- os.path.exists('/usr/lib/libcrypto.a')):
-- # use static linking to avoid the infinite
-- # amount of troubles due to symbol versions
-- # and 0.9.8/1.0.0
-- link_files += ['/usr/lib/libssl.a', '/usr/lib/libcrypto.a']
-- testonly_libraries += ['ssl', 'crypto']
-- elif (sys.platform.startswith('linux') and
-- os.path.exists('/usr/local/ssl/lib/libssl.a') and
-- os.path.exists('/usr/local/ssl/lib/libcrypto.a')):
-- # use static linking, 2nd version
-- include_dirs += ['/usr/local/ssl/include']
-- link_files += ['/usr/local/ssl/lib/libssl.a',
-- '/usr/local/ssl/lib/libcrypto.a',
-- '-ldl']
-- testonly_libraries += ['ssl', 'crypto']
-- else:
-- libraries += ['ssl', 'crypto']
-
- includes += [
- 'openssl/ssl.h',
diff --git a/dev-python/pypy/files/2.0-no-static-hack.patch b/dev-python/pypy/files/2.0-no-static-hack.patch
deleted file mode 100644
index d78785dc3384..000000000000
--- a/dev-python/pypy/files/2.0-no-static-hack.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Remove logic that links to libssl and libcrypto statically if
-possible. Just always link dynamically: Gentoo is expected to have
-sane dynamic libraries for us to use, and our users are not expected
-to copy their pypy binary to a system with an incompatible
-libssl/libcrypto and expect it to work.
-
-Based on patch contributed by XU Benda <heroxbd@gentoo.org>.
-
---- pypy/rlib/ropenssl.py
-+++ pypy/rlib/ropenssl.py
-@@ -20,27 +20,8 @@
- # so that openssl/ssl.h can repair this nonsense.
- 'wincrypt.h']
- else:
-- libraries = ['z']
-+ libraries = ['z','ssl','crypto']
- includes = []
-- if (sys.platform.startswith('linux') and
-- os.path.exists('/usr/lib/libssl.a') and
-- os.path.exists('/usr/lib/libcrypto.a')):
-- # use static linking to avoid the infinite
-- # amount of troubles due to symbol versions
-- # and 0.9.8/1.0.0
-- link_files += ['/usr/lib/libssl.a', '/usr/lib/libcrypto.a']
-- testonly_libraries += ['ssl', 'crypto']
-- elif (sys.platform.startswith('linux') and
-- os.path.exists('/usr/local/ssl/lib/libssl.a') and
-- os.path.exists('/usr/local/ssl/lib/libcrypto.a')):
-- # use static linking, 2nd version
-- include_dirs += ['/usr/local/ssl/include']
-- link_files += ['/usr/local/ssl/lib/libssl.a',
-- '/usr/local/ssl/lib/libcrypto.a',
-- '-ldl']
-- testonly_libraries += ['ssl', 'crypto']
-- else:
-- libraries += ['ssl', 'crypto']
-
- includes += [
- 'openssl/ssl.h',
diff --git a/dev-python/pypy/files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch b/dev-python/pypy/files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch
deleted file mode 100644
index 1252d27cfd2a..000000000000
--- a/dev-python/pypy/files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch
+++ /dev/null
@@ -1,391 +0,0 @@
---- lib-python/modified-2.7/distutils/ccompiler.py
-+++ lib-python/modified-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/modified-2.7/distutils/cygwinccompiler.py
-+++ lib-python/modified-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/modified-2.7/distutils/emxccompiler.py
-+++ lib-python/modified-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/modified-2.7/distutils/sysconfig_cpython.py
-+++ lib-python/modified-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/modified-2.7/distutils/sysconfig_pypy.py
-+++ lib-python/modified-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/modified-2.7/distutils/unixccompiler.py
-+++ lib-python/modified-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/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy/files/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
deleted file mode 100644
index 4422824aa271..000000000000
--- a/dev-python/pypy/files/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib-python/modified-2.7/distutils/unixccompiler.py
-+++ lib-python/modified-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/pypy-1.9-r1.ebuild b/dev-python/pypy/pypy-1.9-r1.ebuild
deleted file mode 100644
index 0a1309b16dee..000000000000
--- a/dev-python/pypy/pypy-1.9-r1.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# 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-r1.ebuild,v 1.3 2012/11/18 02:06:28 floppym Exp $
-
-EAPI="4"
-
-inherit eutils toolchain-funcs check-reqs python versionator multiprocessing
-
-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 ~amd64-linux ~x86-linux"
-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"
-
-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"
- epatch "${FILESDIR}/${PV}-ssl-threads-1-34b3b5aac082.patch"
- epatch "${FILESDIR}/${PV}-ssl-threads-2-25cd11066d95.patch"
- epatch "${FILESDIR}/${PV}-get_python_lib_standard_lib-04ea518e5b71.patch"
- epatch "${FILESDIR}/${PV}-more-ignored-ops-a9a8faa76bca.patch"
- epatch "${FILESDIR}/${PV}-more-ignored-ops-146ddf82a279.patch"
- epatch "${FILESDIR}/${PV}-pybuffer-release-double-decref-4ec2a5b49386.patch"
- epatch "${FILESDIR}/${PV}-signal-a33052b17f4e.patch"
- epatch "${FILESDIR}/${PV}-getargs-freelist-c26dc70ee340.patch"
- epatch "${FILESDIR}/${PV}-ssl-errors-25d3418150d2.patch"
-
- # The following is Gentoo-specific.
- epatch "${FILESDIR}/${PV}-no-static-hack.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+=" --make-jobs=$(makeopts_jobs)"
-
- 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}
- dodoc README
-
- 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
-}
diff --git a/dev-python/pypy/pypy-1.9.ebuild b/dev-python/pypy/pypy-1.9.ebuild
deleted file mode 100644
index 6fab91baa731..000000000000
--- a/dev-python/pypy/pypy-1.9.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# 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.2 2012/11/18 02:06:28 floppym 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"
-
-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}
- dodoc README
-
- 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
-}
diff --git a/dev-python/pypy/pypy-2.0_beta1.ebuild b/dev-python/pypy/pypy-2.0_beta1.ebuild
deleted file mode 100644
index fe2d69c929b8..000000000000
--- a/dev-python/pypy/pypy-2.0_beta1.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-2.0_beta1.ebuild,v 1.5 2013/02/21 15:25:39 idella4 Exp $
-
-EAPI=5
-
-# XXX: test other implementations
-PYTHON_COMPAT=( python2_7 pypy{1_8,1_9,2_0} )
-inherit check-reqs eutils multilib multiprocessing python-any-r1 toolchain-funcs vcs-snapshot versionator
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python language"
-HOMEPAGE="http://pypy.org/"
-SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV/_beta/-beta-}.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT=$(get_version_component_range 1-2 ${PV})
-KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
-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}
- ${PYTHON_DEPS}"
-PDEPEND="app-admin/python-updater"
-
-pkg_pretend() {
- CHECKREQS_MEMORY="2G"
- use amd64 && CHECKREQS_MEMORY="4G"
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- pkg_pretend
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}/1.9-scripts-location.patch"
- epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
- epatch "${FILESDIR}/2.0-distutils-fix_handling_of_executables_and_flags.patch" \
- "${FILESDIR}"/2.0-encoder-3655afd07f2f.patch
-
- # The following is Gentoo-specific.
- epatch "${FILESDIR}/2.0-no-static-hack.patch"
-}
-
-src_compile() {
- tc-export CC
-
- local args=(
- $(usex jit -Ojit -O2)
- $(usex shadowstack --gcrootfinder=shadowstack '')
- $(usex sandbox --sandbox '')
-
- --make-jobs=$(makeopts_jobs)
-
- ./pypy/translator/goal/targetpypystandalone.py
- )
-
- # Avoid linking against libraries disabled by use flags
- local opts=(
- bzip2:bz2
- ncurses:_minimal_curses
- ssl:_ssl
- )
-
- local opt
- for opt in "${opts[@]}"; do
- local flag=${opt%:*}
- local mod=${opt#*:}
-
- args+=(
- $(usex ${flag} --withmod --withoutmod)-${mod}
- )
- done
-
- set -- "${PYTHON}" ./pypy/translator/goal/translate.py --batch "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "compile error"
-}
-
-src_install() {
- local INSDESTTREE=/usr/$(get_libdir)/pypy${SLOT}
- doins -r include lib_pypy lib-python pypy-c
- fperms a+x ${INSDESTTREE}/pypy-c
- dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
- dodoc README
-
- if ! use sqlite; then
- rm -fr "${ED}${INSDESTTREE}"/lib-python/{2.7,modified-2.7}/sqlite3
- rm -f "${ED}${INSDESTTREE}"/lib_pypy/_sqlite3.py
- fi
-
- python_export pypy-c${SLOT} EPYTHON PYTHON PYTHON_SITEDIR
-
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local PYTHON=${ED}${INSDESTTREE}/pypy-c
- fi
-
- # Generate Grammar and PatternGrammar pickles.
- PYTHONPATH="${ED}${INSDESTTREE}/lib-python/2.7" \
- "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
- || die "Generation of Grammar and PatternGrammar pickles failed"
-
- # compile the installed modules
- python_optimize "${ED}${INSDESTTREE}"
-
- echo "EPYTHON='${EPYTHON}'" > epython.py
- python_domodule epython.py
-}
-
-src_test() {
- "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python
-}
diff --git a/dev-python/pypy/pypy-2.0_beta2.ebuild b/dev-python/pypy/pypy-2.0_beta2.ebuild
deleted file mode 100644
index 036c8549bf4e..000000000000
--- a/dev-python/pypy/pypy-2.0_beta2.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-2.0_beta2.ebuild,v 1.6 2013/05/14 14:27:38 floppym Exp $
-
-EAPI=5
-
-# XXX: test other implementations
-PYTHON_COMPAT=( python2_7 pypy{1_8,1_9,2_0} )
-inherit check-reqs eutils flag-o-matic multilib multiprocessing python-any-r1 toolchain-funcs vcs-snapshot versionator
-
-DESCRIPTION="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"
-
-LICENSE="MIT"
-SLOT=$(get_version_component_range 1-2 ${PV})
-KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
-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}
- ${PYTHON_DEPS}"
-PDEPEND="app-admin/python-updater"
-
-pkg_pretend() {
- CHECKREQS_MEMORY="2G"
- use amd64 && CHECKREQS_MEMORY="4G"
- check-reqs_pkg_pretend
- if [[ ${MERGE_TYPE} != binary && "$(gcc-version)" == "4.8" ]]; then
- die "PyPy does not build correctly with GCC 4.8"
- fi
-}
-
-pkg_setup() {
- pkg_pretend
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}/1.9-scripts-location.patch"
- epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
- epatch "${FILESDIR}/2.0-distutils-fix_handling_of_executables_and_flags.patch"
-
- # The following is Gentoo-specific.
- epatch "${FILESDIR}/2.0-no-static-hack-r1.patch"
-}
-
-src_compile() {
- tc-export CC
-
- if version_is_at_least 4.8 "$(gcc-version)"; then
- # Workaround per PyPy docs
- # http://pypy.org/download.html#building-from-source
- append-cflags -fno-aggressive-loop-optimizations
- fi
-
- local args=(
- $(usex jit -Ojit -O2)
- $(usex shadowstack --gcrootfinder=shadowstack '')
- $(usex sandbox --sandbox '')
-
- --make-jobs=$(makeopts_jobs)
-
- pypy/goal/targetpypystandalone
- )
-
- # Avoid linking against libraries disabled by use flags
- local opts=(
- bzip2:bz2
- ncurses:_minimal_curses
- ssl:_ssl
- )
-
- local opt
- for opt in "${opts[@]}"; do
- local flag=${opt%:*}
- local mod=${opt#*:}
-
- args+=(
- $(usex ${flag} --withmod --withoutmod)-${mod}
- )
- done
-
- set -- "${PYTHON}" rpython/bin/rpython --batch "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "compile error"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)/pypy${SLOT}"
- doins -r include lib_pypy lib-python pypy-c
- fperms a+x ${INSDESTTREE}/pypy-c
- use jit && pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
- dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
- dodoc README.rst
-
- if ! use sqlite; then
- rm -fr "${ED%/}${INSDESTTREE}"/lib-python/{2.7,modified-2.7}/sqlite3
- rm -f "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py
- fi
-
- python_export pypy-c${SLOT} EPYTHON PYTHON PYTHON_SITEDIR
-
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
- fi
-
- runpython() {
- PYTHONPATH="${ED%/}${INSDESTTREE}/lib_pypy:${ED%/}${INSDESTTREE}/lib-python/2.7" \
- "${PYTHON}" "$@"
- }
-
- # Generate Grammar and PatternGrammar pickles.
- runpython -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
- || die "Generation of Grammar and PatternGrammar pickles failed"
-
- # Generate cffi cache
- runpython -c "import _curses" || die "Failed to import _curses"
- if use sqlite; then
- runpython -c "import _sqlite3" || die "Failed to import _sqlite3"
- fi
-
- # compile the installed modules
- python_optimize "${ED%/}${INSDESTTREE}"
-
- echo "EPYTHON='${EPYTHON}'" > epython.py
- python_domodule epython.py
-}
-
-src_test() {
- "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python
-}