Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/mgorny:master commit in: dev-python/pypy-binpackage/, dev-python/pypy-binpackage/files/
Date: Mon, 30 Jun 2014 08:46:55
Message-Id: 1404117059.7e36c68a53910f208788c822a1d12fa12582669f.mgorny@gentoo
1 commit: 7e36c68a53910f208788c822a1d12fa12582669f
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jun 30 08:30:59 2014 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 30 08:30:59 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/mgorny.git;a=commit;h=7e36c68a
7
8 dev-python/pypy-binpackage: bump.
9
10 ---
11 dev-python/pypy-binpackage/Manifest | 2 +-
12 .../files/2.3-21_all_distutils_c++.patch | 321 +++++++++++++++++++++
13 ...e-2.0.2.ebuild => pypy-binpackage-2.3.1.ebuild} | 40 ++-
14 3 files changed, 339 insertions(+), 24 deletions(-)
15
16 diff --git a/dev-python/pypy-binpackage/Manifest b/dev-python/pypy-binpackage/Manifest
17 index 876272d..4bea985 100644
18 --- a/dev-python/pypy-binpackage/Manifest
19 +++ b/dev-python/pypy-binpackage/Manifest
20 @@ -1,2 +1,2 @@
21 -DIST pypy-2.0.2-src.tar.bz2 14819848 SHA256 1991c90d6b98e2408b3790d4b57b71ec1c69346328b8321505ce8f6ab4544c3c SHA512 5b8b56194dff468dd249dea0014fadafb791eb69858ffae0b9c7638f087df277a84ddadc7d5b0fdb48a12ca8e6b70eb95cb5b7a5f56fe8fe3396820b814ecfd7 WHIRLPOOL bb1f71e0b2d3e145edcb1baa17b0a13c09f5229cf1b0532edbb3d0d5c87ef39543c0ef6b9dc7ce2778c4a3336d4a1580fce9cf960f82b72ddfed02e06d10d8af
22 DIST pypy-2.2.1-src.tar.bz2 14439822 SHA256 252045187e443656a2beb412dadac9296e8fe8db0f75a66ed5265db58c35035f SHA512 68b52c5b1a9b96593aa1dd38ad0b1b7b282852008e3ae3c488a5e19ab2bede68e2b40afdb79d85a4ab21cb1da6647b8b958fcefe34c99a1f6cbc1a19d695d3b6 WHIRLPOOL 6eca63959d8ee5663f868daaaac32ad1180b07e2f8b63d839652902095a098ffbfa29c6f83451733270a4b2f73b65450cb3b80a878b9dd1ec71089bfff11e9f6
23 +DIST pypy-2.3.1-src.tar.bz2 15225332 SHA256 3fd10d97c0177c33ed358a78eb26f5bf1f91b266af853564b1a9d8c310a1e439 SHA512 86aab86c5f413cdd6a56680915605de5c1416255b43a8dce1b4dcf8f1febdb3275076a4a9c7de30002387d59e4171a52da2528436eb205d8d947de7edd049c65 WHIRLPOOL c78d41240f1803d9461f797fd0ef647a40a6990a4e3a504e80a0eaaf460d052bb60fe6240cacdb3ee8737500c9c7f418b1d55c619d01ac7b73aace3d82157aa6
24
25 diff --git a/dev-python/pypy-binpackage/files/2.3-21_all_distutils_c++.patch b/dev-python/pypy-binpackage/files/2.3-21_all_distutils_c++.patch
26 new file mode 100644
27 index 0000000..2787360
28 --- /dev/null
29 +++ b/dev-python/pypy-binpackage/files/2.3-21_all_distutils_c++.patch
30 @@ -0,0 +1,321 @@
31 +http://bugs.python.org/issue1222585
32 +
33 +--- Lib/distutils/cygwinccompiler.py
34 ++++ Lib/distutils/cygwinccompiler.py
35 +@@ -117,8 +117,10 @@
36 + # dllwrap 2.10.90 is buggy
37 + if self.ld_version >= "2.10.90":
38 + self.linker_dll = "gcc"
39 ++ self.linker_dll_cxx = "g++"
40 + else:
41 + self.linker_dll = "dllwrap"
42 ++ self.linker_dll_cxx = "dllwrap"
43 +
44 + # ld_version >= "2.13" support -shared so use it instead of
45 + # -mdll -static
46 +@@ -132,9 +134,13 @@
47 + self.set_executables(compiler='gcc -mcygwin -O -Wall',
48 + compiler_so='gcc -mcygwin -mdll -O -Wall',
49 + compiler_cxx='g++ -mcygwin -O -Wall',
50 ++ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
51 + linker_exe='gcc -mcygwin',
52 + linker_so=('%s -mcygwin %s' %
53 +- (self.linker_dll, shared_option)))
54 ++ (self.linker_dll, shared_option)),
55 ++ linker_exe_cxx='g++ -mcygwin',
56 ++ linker_so_cxx=('%s -mcygwin %s' %
57 ++ (self.linker_dll_cxx, shared_option)))
58 +
59 + # cygwin and mingw32 need different sets of libraries
60 + if self.gcc_version == "2.91.57":
61 +@@ -160,8 +166,12 @@
62 + raise CompileError, msg
63 + else: # for other files use the C-compiler
64 + try:
65 +- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
66 +- extra_postargs)
67 ++ if self.detect_language(src) == 'c++':
68 ++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
69 ++ extra_postargs)
70 ++ else:
71 ++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
72 ++ extra_postargs)
73 + except DistutilsExecError, msg:
74 + raise CompileError, msg
75 +
76 +@@ -327,9 +337,14 @@
77 + self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
78 + compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
79 + compiler_cxx='g++%s -O -Wall' % no_cygwin,
80 ++ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
81 + linker_exe='gcc%s' % no_cygwin,
82 + linker_so='%s%s %s %s'
83 + % (self.linker_dll, no_cygwin,
84 ++ shared_option, entry_point),
85 ++ linker_exe_cxx='g++%s' % no_cygwin,
86 ++ linker_so_cxx='%s%s %s %s'
87 ++ % (self.linker_dll_cxx, no_cygwin,
88 + shared_option, entry_point))
89 + # Maybe we should also append -mthreads, but then the finished
90 + # dlls need another dll (mingwm10.dll see Mingw32 docs)
91 +--- Lib/distutils/emxccompiler.py
92 ++++ Lib/distutils/emxccompiler.py
93 +@@ -65,8 +65,12 @@
94 + # XXX optimization, warnings etc. should be customizable.
95 + self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
96 + compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
97 ++ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
98 ++ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
99 + linker_exe='gcc -Zomf -Zmt -Zcrtdll',
100 +- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
101 ++ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
102 ++ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
103 ++ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
104 +
105 + # want the gcc library statically linked (so that we don't have
106 + # to distribute a version dependent on the compiler we have)
107 +@@ -83,8 +87,12 @@
108 + raise CompileError, msg
109 + else: # for other files use the C-compiler
110 + try:
111 +- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
112 +- extra_postargs)
113 ++ if self.detect_language(src) == 'c++':
114 ++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
115 ++ extra_postargs)
116 ++ else:
117 ++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
118 ++ extra_postargs)
119 + except DistutilsExecError, msg:
120 + raise CompileError, msg
121 +
122 +--- Lib/distutils/sysconfig_cpython.py
123 ++++ Lib/distutils/sysconfig_cpython.py
124 +@@ -170,10 +170,12 @@
125 + _osx_support.customize_compiler(_config_vars)
126 + _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
127 +
128 +- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
129 +- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
130 +- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
131 +- 'ARFLAGS')
132 ++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
133 ++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
134 ++ 'SO', 'AR', 'ARFLAGS')
135 ++
136 ++ cflags = ''
137 ++ cxxflags = ''
138 +
139 + if 'CC' in os.environ:
140 + newcc = os.environ['CC']
141 +@@ -188,19 +190,27 @@
142 + cxx = os.environ['CXX']
143 + if 'LDSHARED' in os.environ:
144 + ldshared = os.environ['LDSHARED']
145 ++ if 'LDCXXSHARED' in os.environ:
146 ++ ldcxxshared = os.environ['LDCXXSHARED']
147 + if 'CPP' in os.environ:
148 + cpp = os.environ['CPP']
149 + else:
150 + cpp = cc + " -E" # not always
151 + if 'LDFLAGS' in os.environ:
152 + ldshared = ldshared + ' ' + os.environ['LDFLAGS']
153 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
154 + if 'CFLAGS' in os.environ:
155 +- cflags = opt + ' ' + os.environ['CFLAGS']
156 ++ cflags = os.environ['CFLAGS']
157 + ldshared = ldshared + ' ' + os.environ['CFLAGS']
158 ++ if 'CXXFLAGS' in os.environ:
159 ++ cxxflags = os.environ['CXXFLAGS']
160 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
161 + if 'CPPFLAGS' in os.environ:
162 + cpp = cpp + ' ' + os.environ['CPPFLAGS']
163 + cflags = cflags + ' ' + os.environ['CPPFLAGS']
164 ++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
165 + ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
166 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
167 + if 'AR' in os.environ:
168 + ar = os.environ['AR']
169 + if 'ARFLAGS' in os.environ:
170 +@@ -209,13 +219,17 @@
171 + archiver = ar + ' ' + ar_flags
172 +
173 + cc_cmd = cc + ' ' + cflags
174 ++ cxx_cmd = cxx + ' ' + cxxflags
175 + compiler.set_executables(
176 + preprocessor=cpp,
177 + compiler=cc_cmd,
178 + compiler_so=cc_cmd + ' ' + ccshared,
179 +- compiler_cxx=cxx,
180 ++ compiler_cxx=cxx_cmd,
181 ++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
182 + linker_so=ldshared,
183 + linker_exe=cc,
184 ++ linker_so_cxx=ldcxxshared,
185 ++ linker_exe_cxx=cxx,
186 + archiver=archiver)
187 +
188 + compiler.shared_lib_extension = so_ext
189 +--- Lib/distutils/unixccompiler.py
190 ++++ Lib/distutils/unixccompiler.py
191 +@@ -55,14 +55,17 @@
192 + # are pretty generic; they will probably have to be set by an outsider
193 + # (eg. using information discovered by the sysconfig about building
194 + # Python extensions).
195 +- executables = {'preprocessor' : None,
196 +- 'compiler' : ["cc"],
197 +- 'compiler_so' : ["cc"],
198 +- 'compiler_cxx' : ["cc"],
199 +- 'linker_so' : ["cc", "-shared"],
200 +- 'linker_exe' : ["cc"],
201 +- 'archiver' : ["ar", "-cr"],
202 +- 'ranlib' : None,
203 ++ executables = {'preprocessor' : None,
204 ++ 'compiler' : ["cc"],
205 ++ 'compiler_so' : ["cc"],
206 ++ 'compiler_cxx' : ["c++"],
207 ++ 'compiler_so_cxx' : ["c++"],
208 ++ 'linker_so' : ["cc", "-shared"],
209 ++ 'linker_exe' : ["cc"],
210 ++ 'linker_so_cxx' : ["c++", "-shared"],
211 ++ 'linker_exe_cxx' : ["c++"],
212 ++ 'archiver' : ["ar", "-cr"],
213 ++ 'ranlib' : None,
214 + }
215 +
216 + if sys.platform[:6] == "darwin":
217 +@@ -112,12 +115,19 @@
218 +
219 + def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
220 + compiler_so = self.compiler_so
221 ++ compiler_so_cxx = self.compiler_so_cxx
222 + if sys.platform == 'darwin':
223 + compiler_so = _osx_support.compiler_fixup(compiler_so,
224 + cc_args + extra_postargs)
225 ++ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
226 ++ cc_args + extra_postargs)
227 + try:
228 +- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
229 +- extra_postargs)
230 ++ if self.detect_language(src) == 'c++':
231 ++ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
232 ++ extra_postargs)
233 ++ else:
234 ++ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
235 ++ extra_postargs)
236 + except DistutilsExecError, msg:
237 + raise CompileError, msg
238 +
239 +@@ -174,23 +184,16 @@
240 + ld_args.extend(extra_postargs)
241 + self.mkpath(os.path.dirname(output_filename))
242 + try:
243 +- if target_desc == CCompiler.EXECUTABLE:
244 +- linker = self.linker_exe[:]
245 ++ if target_lang == "c++":
246 ++ if target_desc == CCompiler.EXECUTABLE:
247 ++ linker = self.linker_exe_cxx[:]
248 ++ else:
249 ++ linker = self.linker_so_cxx[:]
250 + else:
251 +- linker = self.linker_so[:]
252 +- if target_lang == "c++" and self.compiler_cxx:
253 +- # skip over environment variable settings if /usr/bin/env
254 +- # is used to set up the linker's environment.
255 +- # This is needed on OSX. Note: this assumes that the
256 +- # normal and C++ compiler have the same environment
257 +- # settings.
258 +- i = 0
259 +- if os.path.basename(linker[0]) == "env":
260 +- i = 1
261 +- while '=' in linker[i]:
262 +- i = i + 1
263 +-
264 +- linker[i] = self.compiler_cxx[i]
265 ++ if target_desc == CCompiler.EXECUTABLE:
266 ++ linker = self.linker_exe[:]
267 ++ else:
268 ++ linker = self.linker_so[:]
269 +
270 + if sys.platform == 'darwin':
271 + linker = _osx_support.compiler_fixup(linker, ld_args)
272 +--- Lib/_osx_support.py
273 ++++ Lib/_osx_support.py
274 +@@ -14,13 +14,13 @@
275 + # configuration variables that may contain universal build flags,
276 + # like "-arch" or "-isdkroot", that may need customization for
277 + # the user environment
278 +-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
279 +- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
280 +- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
281 +- 'PY_CORE_CFLAGS')
282 ++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
283 ++ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
284 ++ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
285 ++ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
286 +
287 + # configuration variables that may contain compiler calls
288 +-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
289 ++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
290 +
291 + # prefix added to original configuration variable names
292 + _INITPRE = '_OSX_SUPPORT_INITIAL_'
293 +--- a/distutils/sysconfig_pypy.py
294 ++++ b/distutils/sysconfig_pypy.py
295 +@@ -123,7 +123,55 @@
296 + optional C speedup components.
297 + """
298 + if compiler.compiler_type == "unix":
299 +- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
300 ++ cc = ' '.join(compiler.compiler)
301 ++ cxx = ' '.join(compiler.compiler_cxx)
302 ++ ldshared = ' '.join(compiler.linker_so)
303 ++ ldcxxshared = ' '.join(compiler.linker_so_cxx)
304 ++
305 ++ cflags = ''
306 ++ cxxflags = ''
307 ++ ccshared = '-fPIC'
308 ++
309 ++ if 'CC' in os.environ:
310 ++ cc = os.environ['CC']
311 ++ if 'CXX' in os.environ:
312 ++ cxx = os.environ['CXX']
313 ++ if 'LDSHARED' in os.environ:
314 ++ ldshared = os.environ['LDSHARED']
315 ++ if 'LDCXXSHARED' in os.environ:
316 ++ ldcxxshared = os.environ['LDCXXSHARED']
317 ++ if 'CPP' in os.environ:
318 ++ cpp = os.environ['CPP']
319 ++ else:
320 ++ cpp = cc + " -E" # not always
321 ++ if 'LDFLAGS' in os.environ:
322 ++ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
323 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
324 ++ if 'CFLAGS' in os.environ:
325 ++ cflags = os.environ['CFLAGS']
326 ++ ldshared = ldshared + ' ' + os.environ['CFLAGS']
327 ++ if 'CXXFLAGS' in os.environ:
328 ++ cxxflags = os.environ['CXXFLAGS']
329 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
330 ++ if 'CPPFLAGS' in os.environ:
331 ++ cpp = cpp + ' ' + os.environ['CPPFLAGS']
332 ++ cflags = cflags + ' ' + os.environ['CPPFLAGS']
333 ++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
334 ++ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
335 ++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
336 ++
337 ++ cc_cmd = cc + ' ' + cflags
338 ++ cxx_cmd = cxx + ' ' + cxxflags
339 ++ compiler.set_executables(
340 ++ preprocessor=cpp,
341 ++ compiler=cc_cmd,
342 ++ compiler_so=cc_cmd + ' ' + ccshared,
343 ++ compiler_cxx=cxx_cmd,
344 ++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
345 ++ linker_so=ldshared,
346 ++ linker_exe=cc,
347 ++ linker_so_cxx=ldcxxshared,
348 ++ linker_exe_cxx=cxx)
349 + compiler.shared_lib_extension = get_config_var('SO')
350 + if "CPPFLAGS" in os.environ:
351 + cppflags = shlex.split(os.environ["CPPFLAGS"])
352
353 diff --git a/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild b/dev-python/pypy-binpackage/pypy-binpackage-2.3.1.ebuild
354 similarity index 75%
355 rename from dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild
356 rename to dev-python/pypy-binpackage/pypy-binpackage-2.3.1.ebuild
357 index 0e390b0..833c324 100644
358 --- a/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild
359 +++ b/dev-python/pypy-binpackage/pypy-binpackage-2.3.1.ebuild
360 @@ -1,24 +1,22 @@
361 -# Copyright 1999-2013 Gentoo Foundation
362 +# Copyright 1999-2014 Gentoo Foundation
363 # Distributed under the terms of the GNU General Public License v2
364 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-2.0.2.ebuild,v 1.3 2013/06/18 10:41:29 idella4 Exp $
365 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-2.2.1.ebuild,v 1.2 2014/03/12 09:14:21 mgorny Exp $
366
367 EAPI=5
368
369 -# pypy should be preferred, per upstream.
370 -# that's the easiest way of forcing it.
371 -PYTHON_COMPAT=( pypy{1_8,1_9,2_0} )
372 -inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
373 -
374 +PYTHON_COMPAT=( python2_7 pypy2_0 )
375 +inherit check-reqs eutils multilib multiprocessing pax-utils \
376 + python-any-r1 toolchain-funcs versionator
377 MY_P=pypy-${PV}
378
379 DESCRIPTION="A fast, compliant alternative implementation of the Python language"
380 HOMEPAGE="http://pypy.org/"
381 -SRC_URI="mirror://bitbucket/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
382 +SRC_URI="https://bitbucket.org/${PN}/${PN}/get/release-${PV}.tar.bz2 -> ${MY_P}-src.tar.bz2"
383
384 LICENSE="MIT"
385 -SLOT=0
386 +SLOT="0/$(get_version_component_range 1-2 ${PV})"
387 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
388 -IUSE="bzip2 +jit ncurses sandbox shadowstack sse2"
389 +IUSE="bzip2 +jit ncurses sandbox shadowstack sqlite sse2"
390
391 DEPEND=">=sys-libs/zlib-1.1.3
392 virtual/libffi
393 @@ -33,19 +31,11 @@ DEPEND=">=sys-libs/zlib-1.1.3
394 S="${WORKDIR}/${MY_P}-src"
395
396 pkg_pretend() {
397 - if [[ ! ${PYPY_BINPKG_STORE} ]]; then
398 - eerror "Please set PYPY_BINPKG_STORE to the location where built"
399 - eerror "packages are to be stored."
400 -
401 - die "Set PYPY_BINPKG_STORE."
402 - fi
403 -
404 CHECKREQS_MEMORY="2G"
405 use amd64 && CHECKREQS_MEMORY="4G"
406 check-reqs_pkg_pretend
407 -# if [[ ${MERGE_TYPE} != binary && "$(gcc-version)" == "4.8" ]]; then
408 -# die "PyPy does not build correctly with GCC 4.8"
409 -# fi
410 +
411 + [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
412 }
413
414 pkg_setup() {
415 @@ -78,7 +68,10 @@ pkg_setup() {
416 src_prepare() {
417 epatch "${FILESDIR}/1.9-scripts-location.patch"
418 epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
419 - epatch "${FILESDIR}/2.0.2-distutils-fix_handling_of_executables_and_flags.patch"
420 +
421 + pushd lib-python/2.7 > /dev/null || die
422 + epatch "${FILESDIR}/2.3-21_all_distutils_c++.patch"
423 + popd > /dev/null || die
424
425 epatch_user
426 }
427 @@ -107,6 +100,7 @@ src_compile() {
428 fi
429
430 local args=(
431 + --shared
432 $(usex jit -Ojit -O2)
433 $(usex shadowstack --gcrootfinder=shadowstack '')
434 $(usex sandbox --sandbox '')
435 @@ -151,12 +145,12 @@ src_install() {
436
437 einfo "Zipping PyPy ..."
438 mkdir "${BIN_P}${suffix}"{,/include} || die
439 - mv pypy-c "${BIN_P}${suffix}"/ || die
440 + mv pypy-c libpypy-c.so "${BIN_P}${suffix}"/ || die
441 mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
442 chmod +x "${BIN_P}${suffix}"/pypy-c || die
443
444 tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
445 - xz -vz9 "${BIN_P}${suffix}.tar" || die
446 + xz -vz9e "${BIN_P}${suffix}.tar" || die
447 }
448
449 # Yup, very hacky.