Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/dev/mgorny:master commit in: dev-binpkg/pypy3/files/, dev-binpkg/pypy3/
Date: Sun, 15 Dec 2019 04:39:30
Message-Id: 1576384519.8b2207c4bb56ce8682b984cc706f8877487c4f91.mgorny@gentoo
1 commit: 8b2207c4bb56ce8682b984cc706f8877487c4f91
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 15 04:27:28 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 15 04:35:19 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/dev/mgorny.git/commit/?id=8b2207c4
7
8 dev-binpkg/pypy3: Drop old
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-binpkg/pypy3/Manifest | 12 --
13 dev-binpkg/pypy3/files/2.3.1-shared-lib.patch | 11 --
14 dev-binpkg/pypy3/files/2.5.0-shared-lib.patch | 12 --
15 dev-binpkg/pypy3/files/5.7.1-kill-flto.patch | 27 ---
16 dev-binpkg/pypy3/files/pypy3-2.4.0-gcc-4.9.patch | 26 ---
17 dev-binpkg/pypy3/files/pypy3-2.4.0-libressl.patch | 187 --------------------
18 dev-binpkg/pypy3/metadata.xml | 4 +-
19 dev-binpkg/pypy3/pypy3-2.4.0.ebuild | 188 --------------------
20 dev-binpkg/pypy3/pypy3-5.10.0.ebuild | 199 ---------------------
21 dev-binpkg/pypy3/pypy3-5.10.1.ebuild | 199 ---------------------
22 dev-binpkg/pypy3/pypy3-5.2.0_alpha1.ebuild | 188 --------------------
23 dev-binpkg/pypy3/pypy3-5.5.0_alpha.ebuild | 186 --------------------
24 dev-binpkg/pypy3/pypy3-5.7.1.ebuild | 201 ----------------------
25 dev-binpkg/pypy3/pypy3-5.8.0.ebuild | 199 ---------------------
26 dev-binpkg/pypy3/pypy3-5.9.0.ebuild | 199 ---------------------
27 dev-binpkg/pypy3/pypy3-6.0.0.ebuild | 199 ---------------------
28 dev-binpkg/pypy3/pypy3-7.0.0.ebuild | 178 -------------------
29 dev-binpkg/pypy3/pypy3-7.1.0.ebuild | 178 -------------------
30 dev-binpkg/pypy3/pypy3-7.1.1.ebuild | 198 ---------------------
31 19 files changed, 1 insertion(+), 2590 deletions(-)
32
33 diff --git a/dev-binpkg/pypy3/Manifest b/dev-binpkg/pypy3/Manifest
34 index 5c05d4d..4fa9943 100644
35 --- a/dev-binpkg/pypy3/Manifest
36 +++ b/dev-binpkg/pypy3/Manifest
37 @@ -1,13 +1 @@
38 -DIST pypy3-2.4.0-src.tar.bz2 14693194 BLAKE2B 835940610682a85118fc6118b804a75ea842aa74324826a276d776caccdfd65436b8e38f6a949837ba08d04c57ab4c9c5fff5734743805368e95ec2cb04bb60f SHA512 7e2b0c21f1833b8cd61251c2d58c6a9f99207e5d582618f0036886ff28dcb313541dce1c36bd1b57b332a36a94b13e416bb7b67110be7c8ece8283749ba712be
39 -DIST pypy3-v5.10.0-src.tar.bz2 29075971 BLAKE2B 02fb64d514ab292e09ced57e1c206b04d0fb38353ad6ec0e836448344a6d126d0fccfb61cbd278ea3acaa227032640e82f9ffd7efe3b33ade1ca34a18831b3e4 SHA512 69a373c18dbad9dd617f994ad885c8d8975f0c484ba9dd547e6e892c9a3030a43e9e3ee668aee5f4969403883de1311cef97a0a5e5701921172ee6c2119b771b
40 -DIST pypy3-v5.10.1-src.tar.bz2 29071765 BLAKE2B d5c163697d8dd36a9a61e9a355719628902de0c9a4c038d31cd134d9bb26b8058abfdf85b09715208146295c37e343fae5e1e4a3c8d1999306eeea93791e326c SHA512 91b0ed25130bdbb46d5e577136b5fe63d5162917dcc2d0b69f5cac2a283ece9d0bfd3c7c8dc61ff391e0550fa1603326f6edeb2df3159d71617fefe6c07439f5
41 -DIST pypy3-v5.7.1-src.tar.bz2 28811162 BLAKE2B 1186669b9b024c4b021fdc08395fc3fca34656b88a0ddb5ff3d10b7ea2ec043669db0c47443e8a5fe75fc3c348d806a871f263b18deff3a95d614d8a77c3a5cc SHA512 f8ead8214ad7d89fe80e24d97b13ece7f2c80b2f11446257a2eab0e3025fc7d8fec26474b0e9eb2b2e3ccd629532dd062829459361b601add12e40793bd5aa60
42 -DIST pypy3-v5.8.0-src.tar.bz2 28986883 BLAKE2B dc6c906109269e8d1bd6b171cabf6475aa803e4326a9974ded86fbb0943798317761bc0ae0ab09829a48c073b3755c8a2bdcb03bed4b06b9a70cee061867edb6 SHA512 d78b4c899a5643028664365ed973a7b292a8e5b3989cc75203cd381ea3cda7dd73121c574726e23dca86e8364fcfcf42c372c9deee438c805f30d6e1c4ac115a
43 -DIST pypy3-v5.9.0-src.tar.bz2 29055111 BLAKE2B 181d87ebe4a83a3f03b28d891f248f718ad120ed54621f8054f19a65aebbe90b65c69e40ca656612356b2019aa9ac22d5e242e688a80190b046511a8ceb9c040 SHA512 3d5384d644fdd1bc8b95f5747dbd1771ae06eb2cfc7b57be359b8bf40177676afd097620d0cb9d9000c40d8cce075cfa6bfd92de987d3dd927c04d7d595dc5bd
44 -DIST pypy3-v6.0.0-src.tar.bz2 22648140 BLAKE2B b8678859b0c24494788ddf6f410a3ec1a56a04663452e1aba25d3f41c5073a95866d1623f00cb1a6c9d0256df728fa60d1edb5b58d26c0d88577769cc8a6205d SHA512 ea406c4dd1837a6ab13026de01330790f3c18f6e2bfb83e8553e52acf78b43dfb559ce75c2d91395055c771db359356c8183ed950da6f01a21bf09128935af5e
45 -DIST pypy3.3-v5.2.0-alpha1-src.tar.bz2 24390595 BLAKE2B 597c2fde68b884592f2c0fb8032a8ee6b0bfb6d3ee47dc1e64a7bb6759f329b909cadb04c99c422f6e4f756ab2787aa3f850d6e05e37f06c3f28436d98e0f805 SHA512 1b6bcab12a7f4dd0ac44158b8acafd64de4b9bcc277385ba4c05982381dcd577fa6ec7b2247f70d2671055f3669764b92b4447b32d51ded58c60e6ec23509595
46 -DIST pypy3.3-v5.5.0-alpha-src.tar.bz2 25122033 BLAKE2B 6d0fc60fd8f5461a043f7a48dc6faaf0fd886a83a87955053e4fd9aae33e3e0a84421319916284170ade4cb663d1aa3c0db761489745cda685a4d55efc0eccb1 SHA512 b2cf9700e45c452293297edffe08e572dffc3c567026b4b5d9165c1ba1b4d858ffc8a6754f5f28781020016c36440e5c02d07562d075b12444c9c32ea5dd2168
47 -DIST pypy3.5-v7.0.0-src.tar.bz2 22730690 BLAKE2B 312aea1f88303b225bbfa5e82a28d3c2893d9977b03a3fd12923db15c4a77f04ec3fbce947f0684c4e27073836583ef8a5eaf5be05612e564172170740c2a6e3 SHA512 3facac26e06e254cbf244841824b35ec211859123f6ba9f095dc980292c10d9cf1d11de62cc6372cf77e92ee1cd2358bbd794b3ff25cb7172e1b21c02c8ce6c2
48 -DIST pypy3.6-v7.1.0-src.tar.bz2 23167216 BLAKE2B 12a085c2d4820289643818d8bc1c17304e4cf4f4687054452d878c6f26fd36802bbbe5baee73f0ce2f0322e126dbccbcf7b48ca6569bb7eb8d59f473bd80d4b1 SHA512 1a0a9e9de31c63114c0537747c4a718504a28b780a2ef1f76bff6051a1ec68b496b574989f0b729c07611cd81e199135dd268834dfa6f9664e1e119db8ae20e4
49 -DIST pypy3.6-v7.1.1-src.tar.bz2 23171982 BLAKE2B be43528bc6f3e02d146016a4969bd8c7a9e880a3bd3b77f441aac6d22ef67700f71e0171ec000066bd2c0bd506db64af69d6b75b59a92222dd0353ee70e6629b SHA512 17e78f9c7080d597a6283d8e8247d1ca78f09a14ff221db8c3d90d255b5befc73102b317ca34a80979e544d5ee72f3e5e649f89d185a085f4cc15012da4d0473
50 DIST pypy3.6-v7.2.0-src.tar.bz2 21850076 BLAKE2B 756ea3034fe8971c979ec83c9cbfac55a680f3ef03b276475aa4318f3480ae5ede609b8413412df64db553a33979670498b1f97184f3b57406619c9db7f01127 SHA512 bcbb53062a473d504bcc082cf6286f6169c83d1f38d22c4d7c4e46ddc32bca9d91e71194637e6650db5bec02b29fe262b22fe236d627b6bc3e6e0c59c66c07cc
51
52 diff --git a/dev-binpkg/pypy3/files/2.3.1-shared-lib.patch b/dev-binpkg/pypy3/files/2.3.1-shared-lib.patch
53 deleted file mode 100644
54 index ae1139f..0000000
55 --- a/dev-binpkg/pypy3/files/2.3.1-shared-lib.patch
56 +++ /dev/null
57 @@ -1,11 +0,0 @@
58 ---- rpython/translator/platform/posix.py
59 -+++ rpython/translator/platform/posix.py
60 -@@ -180,7 +180,7 @@
61 - 'int main(int argc, char* argv[]) '
62 - '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
63 - m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
64 -- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@')
65 -+ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
66 -
67 - return m
68 -
69
70 diff --git a/dev-binpkg/pypy3/files/2.5.0-shared-lib.patch b/dev-binpkg/pypy3/files/2.5.0-shared-lib.patch
71 deleted file mode 100644
72 index b5c877b..0000000
73 --- a/dev-binpkg/pypy3/files/2.5.0-shared-lib.patch
74 +++ /dev/null
75 @@ -1,12 +0,0 @@
76 -diff -ur pypy-2.5.0-src.orig/rpython/translator/platform/posix.py pypy-2.5.0-src/rpython/translator/platform/posix.py
77 ---- a/rpython/translator/platform/posix.py 2015-02-03 05:12:49.000000000 +0800
78 -+++ b/rpython/translator/platform/posix.py 2015-03-22 07:36:01.420116684 +0800
79 -@@ -183,7 +183,7 @@
80 - 'int main(int argc, char* argv[]) '
81 - '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
82 - m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
83 -- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@ $(RPATH_FLAGS)')
84 -+ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
85 -
86 - return m
87 -
88
89 diff --git a/dev-binpkg/pypy3/files/5.7.1-kill-flto.patch b/dev-binpkg/pypy3/files/5.7.1-kill-flto.patch
90 deleted file mode 100644
91 index 92395bd..0000000
92 --- a/dev-binpkg/pypy3/files/5.7.1-kill-flto.patch
93 +++ /dev/null
94 @@ -1,27 +0,0 @@
95 -From 261f9280d9736965a8626c2d6a6fadd4254b2b89 Mon Sep 17 00:00:00 2001
96 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
97 -Date: Tue, 25 Apr 2017 17:03:46 +0200
98 -Subject: [PATCH] Kill -flto
99 -
100 ----
101 - rpython/translator/platform/posix.py | 4 ----
102 - 1 file changed, 4 deletions(-)
103 -
104 -diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py
105 -index a8d4768..20a2934 100644
106 ---- a/rpython/translator/platform/posix.py
107 -+++ b/rpython/translator/platform/posix.py
108 -@@ -130,10 +130,6 @@ class BasePosix(Platform):
109 - else:
110 - cflags = tuple(self.cflags) + tuple(self.standalone_only)
111 -
112 -- # xxx check which compilers accept this option or not
113 -- if not config or config.translation.gcrootfinder != 'asmgcc':
114 -- cflags = ('-flto',) + cflags
115 --
116 - m = GnuMakefile(path)
117 - m.exe_name = path.join(exe_name.basename)
118 - m.eci = eci
119 ---
120 -2.12.2
121 -
122
123 diff --git a/dev-binpkg/pypy3/files/pypy3-2.4.0-gcc-4.9.patch b/dev-binpkg/pypy3/files/pypy3-2.4.0-gcc-4.9.patch
124 deleted file mode 100644
125 index dd3a688..0000000
126 --- a/dev-binpkg/pypy3/files/pypy3-2.4.0-gcc-4.9.patch
127 +++ /dev/null
128 @@ -1,26 +0,0 @@
129 -Description: Expect cmovnb and jnb
130 - Fixes an FTBFS since gcc 4.9.2, which is emmiting new operations
131 -Author: Stefano Rivera <stefanor@××××××.org>
132 -Forwarded: https://bitbucket.org/pypy/pypy/commits/c1abec418acf30bb04891c3249bc12cbe8f48d4a
133 -Bug-Debian: https://bugs.debian.org/771137
134 -Last-Update: 2014-11-26
135 -
136 ---- a/rpython/translator/c/gcc/trackgcroot.py
137 -+++ b/rpython/translator/c/gcc/trackgcroot.py
138 -@@ -590,7 +590,7 @@
139 -
140 - # The various cmov* operations
141 - for name in '''
142 -- e ne g ge l le a ae b be p np s ns o no
143 -+ e ne g ge l le a ae b be nb p np s ns o no
144 - '''.split():
145 - locals()['visit_cmov' + name] = binary_insn
146 - locals()['visit_cmov' + name + 'l'] = binary_insn
147 -@@ -837,6 +837,7 @@
148 - visit_jb = conditional_jump
149 - visit_jbe = conditional_jump
150 - visit_jp = conditional_jump
151 -+ visit_jnb = conditional_jump
152 - visit_jnp = conditional_jump
153 - visit_js = conditional_jump
154 - visit_jns = conditional_jump
155
156 diff --git a/dev-binpkg/pypy3/files/pypy3-2.4.0-libressl.patch b/dev-binpkg/pypy3/files/pypy3-2.4.0-libressl.patch
157 deleted file mode 100644
158 index 5852939..0000000
159 --- a/dev-binpkg/pypy3/files/pypy3-2.4.0-libressl.patch
160 +++ /dev/null
161 @@ -1,187 +0,0 @@
162 -From 66bef80988c9efe60b61c6bc05f3206b4c3df7e8 Mon Sep 17 00:00:00 2001
163 -From: hasufell <hasufell@g.o>
164 -Date: Mon, 12 Oct 2015 20:43:50 +0200
165 -Subject: [PATCH] Add LibreSSL support, patches backported from upstream
166 -
167 -https://bitbucket.org/pypy/pypy/pull-requests/333/deal-with-platforms-without-rand_egd-take/diff
168 ----
169 - pypy/module/_ssl/interp_ssl.py | 34 +++++++++++++++-----------
170 - pypy/module/_ssl/test/test_ssl.py | 8 +++---
171 - rpython/rlib/ropenssl.py | 6 ++++-
172 - rpython/rtyper/tool/rffi_platform.py | 12 ++++++---
173 - rpython/rtyper/tool/test/test_rffi_platform.py | 24 +++++++++++++++++-
174 - 5 files changed, 61 insertions(+), 23 deletions(-)
175 -
176 -diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py
177 -index 0cac165..f210167 100644
178 ---- a/pypy/module/_ssl/interp_ssl.py
179 -+++ b/pypy/module/_ssl/interp_ssl.py
180 -@@ -310,20 +310,26 @@ if HAVE_OPENSSL_RAND:
181 - res = libssl_RAND_status()
182 - return space.wrap(res)
183 -
184 -- @unwrap_spec(path=str)
185 -- def RAND_egd(space, path):
186 -- """RAND_egd(path) -> bytes
187 --
188 -- Queries the entropy gather daemon (EGD) on socket path. Returns number
189 -- of bytes read. Raises socket.sslerror if connection to EGD fails or
190 -- if it does provide enough data to seed PRNG."""
191 -- with rffi.scoped_str2charp(path) as socket_path:
192 -- bytes = libssl_RAND_egd(socket_path)
193 -- if bytes == -1:
194 -- raise ssl_error(space,
195 -- "EGD connection failed or EGD did not return "
196 -- "enough data to seed the PRNG")
197 -- return space.wrap(bytes)
198 -+ if HAVE_OPENSSL_RAND_EGD:
199 -+ @unwrap_spec(path=str)
200 -+ def RAND_egd(space, path):
201 -+ """RAND_egd(path) -> bytes
202 -+
203 -+ Queries the entropy gather daemon (EGD) on socket path. Returns number
204 -+ of bytes read. Raises socket.sslerror if connection to EGD fails or
205 -+ if it does provide enough data to seed PRNG."""
206 -+ with rffi.scoped_str2charp(path) as socket_path:
207 -+ bytes = libssl_RAND_egd(socket_path)
208 -+ if bytes == -1:
209 -+ raise ssl_error(space,
210 -+ "EGD connection failed or EGD did not return "
211 -+ "enough data to seed the PRNG")
212 -+ return space.wrap(bytes)
213 -+ else:
214 -+ # Dummy func for platforms missing RAND_egd(). Most likely LibreSSL.
215 -+ @unwrap_spec(path=str)
216 -+ def RAND_egd(space, path):
217 -+ raise ssl_error(space, "RAND_egd unavailable")
218 -
219 -
220 - class SSLSocket(W_Root):
221 -diff --git a/pypy/module/_ssl/test/test_ssl.py b/pypy/module/_ssl/test/test_ssl.py
222 -index 3204610..9722fd5 100644
223 ---- a/pypy/module/_ssl/test/test_ssl.py
224 -+++ b/pypy/module/_ssl/test/test_ssl.py
225 -@@ -33,7 +33,8 @@ class AppTestSSL:
226 - assert isinstance(_ssl.OPENSSL_VERSION_INFO, tuple)
227 - assert len(_ssl.OPENSSL_VERSION_INFO) == 5
228 - assert isinstance(_ssl.OPENSSL_VERSION, str)
229 -- assert 'openssl' in _ssl.OPENSSL_VERSION.lower()
230 -+ lower_version = _ssl.OPENSSL_VERSION.lower()
231 -+ assert 'openssl' in lower_version or "libressl" in lower_version
232 -
233 - def test_RAND_add(self):
234 - import _ssl
235 -@@ -64,8 +65,9 @@ class AppTestSSL:
236 -
237 - def test_sslwrap(self):
238 - import ssl, _socket, sys, gc
239 -- if sys.platform == 'darwin' or 'freebsd' in sys.platform:
240 -- skip("hangs indefinitely on OSX & FreeBSD (also on CPython)")
241 -+ if sys.platform == 'darwin' or 'freebsd' in sys.platform or \
242 -+ 'openbsd' in sys.platform:
243 -+ skip("hangs indefinitely on OSX & BSD (also on CPython)")
244 - s = _socket.socket()
245 - ss = ssl.wrap_socket(s)
246 -
247 -diff --git a/rpython/rlib/ropenssl.py b/rpython/rlib/ropenssl.py
248 -index c36779d..6fe45d0 100644
249 ---- a/rpython/rlib/ropenssl.py
250 -+++ b/rpython/rlib/ropenssl.py
251 -@@ -168,6 +168,9 @@ OBJ_NAME = rffi.CArrayPtr(OBJ_NAME_st)
252 -
253 - HAVE_OPENSSL_RAND = OPENSSL_VERSION_NUMBER >= 0x0090500f
254 - HAVE_SSL_CTX_CLEAR_OPTIONS = OPENSSL_VERSION_NUMBER >= 0x009080df
255 -+HAVE_OPENSSL_RAND_EGD = rffi_platform.has('RAND_egd("/")',
256 -+ '#include <openssl/rand.h>',
257 -+ libraries=['ssl', 'crypto'])
258 -
259 - def external(name, argtypes, restype, **kw):
260 - kw['compilation_info'] = eci
261 -@@ -194,7 +197,8 @@ ssl_external('CRYPTO_set_id_callback',
262 - if HAVE_OPENSSL_RAND:
263 - ssl_external('RAND_add', [rffi.CCHARP, rffi.INT, rffi.DOUBLE], lltype.Void)
264 - ssl_external('RAND_status', [], rffi.INT)
265 -- ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)
266 -+ if HAVE_OPENSSL_RAND_EGD:
267 -+ ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)
268 - ssl_external('SSL_CTX_new', [SSL_METHOD], SSL_CTX)
269 - ssl_external('SSL_get_SSL_CTX', [SSL], SSL_CTX)
270 - ssl_external('TLSv1_method', [], SSL_METHOD)
271 -diff --git a/rpython/rtyper/tool/rffi_platform.py b/rpython/rtyper/tool/rffi_platform.py
272 -index 1760877..1d56c20 100755
273 ---- a/rpython/rtyper/tool/rffi_platform.py
274 -+++ b/rpython/rtyper/tool/rffi_platform.py
275 -@@ -17,12 +17,15 @@ from rpython.rlib.rarithmetic import r_uint, r_longlong, r_ulonglong, intmask
276 - #
277 - # Helpers for simple cases
278 -
279 --def eci_from_header(c_header_source, include_dirs=None):
280 -+def eci_from_header(c_header_source, include_dirs=None, libraries=None):
281 - if include_dirs is None:
282 - include_dirs = []
283 -+ if libraries is None:
284 -+ libraries = []
285 - return ExternalCompilationInfo(
286 - post_include_bits=[c_header_source],
287 -- include_dirs=include_dirs
288 -+ include_dirs=include_dirs,
289 -+ libraries=libraries,
290 - )
291 -
292 - def getstruct(name, c_header_source, interesting_fields):
293 -@@ -75,9 +78,10 @@ def getintegerfunctionresult(function, args=None, c_header_source='', includes=[
294 - CConfig._compilation_info_.includes = includes
295 - return configure(CConfig)['RESULT']
296 -
297 --def has(name, c_header_source, include_dirs=None):
298 -+def has(name, c_header_source, include_dirs=None, libraries=None):
299 - class CConfig:
300 -- _compilation_info_ = eci_from_header(c_header_source, include_dirs)
301 -+ _compilation_info_ = \
302 -+ eci_from_header(c_header_source, include_dirs, libraries)
303 - HAS = Has(name)
304 - return configure(CConfig)['HAS']
305 -
306 -diff --git a/rpython/rtyper/tool/test/test_rffi_platform.py b/rpython/rtyper/tool/test/test_rffi_platform.py
307 -index bfa069e..4feae87 100644
308 ---- a/rpython/rtyper/tool/test/test_rffi_platform.py
309 -+++ b/rpython/rtyper/tool/test/test_rffi_platform.py
310 -@@ -271,12 +271,34 @@ def test_array():
311 - [("d_name", lltype.FixedSizeArray(rffi.CHAR, 1))])
312 - assert dirent.c_d_name.length == 32
313 -
314 --def test_has():
315 -+def test_has_0001():
316 - assert rffi_platform.has("x", "int x = 3;")
317 - assert not rffi_platform.has("x", "")
318 - # has() should also not crash if it is given an invalid #include
319 - assert not rffi_platform.has("x", "#include <some/path/which/cannot/exist>")
320 -
321 -+def test_has_0002():
322 -+ assert rffi_platform.has("pow", "#include <math.h>", libraries=["m"])
323 -+
324 -+def test_has_0003():
325 -+ """multiple libraries"""
326 -+ assert rffi_platform.has("pow", "#include <math.h>", libraries=["m", "c"])
327 -+
328 -+def test_has_0004():
329 -+ """bogus symbol name"""
330 -+ assert not rffi_platform.has("pow", "#include <math.h>",
331 -+ libraries=["boguslibname"])
332 -+
333 -+def test_has_0005():
334 -+ """bogus symbol name and lib name"""
335 -+ assert not rffi_platform.has("bogus_symbol_name", "#include <math.h>",
336 -+ libraries=["boguslibname"])
337 -+
338 -+def test_has_0006():
339 -+ """missing include"""
340 -+ assert not rffi_platform.has("pow", "", libraries=["m"])
341 -+
342 -+
343 - def test_verify_eci():
344 - eci = ExternalCompilationInfo()
345 - rffi_platform.verify_eci(eci)
346 ---
347 -2.6.1
348 -
349
350 diff --git a/dev-binpkg/pypy3/metadata.xml b/dev-binpkg/pypy3/metadata.xml
351 index 675ce03..5915221 100644
352 --- a/dev-binpkg/pypy3/metadata.xml
353 +++ b/dev-binpkg/pypy3/metadata.xml
354 @@ -1,14 +1,12 @@
355 <?xml version="1.0" encoding="UTF-8"?>
356 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
357 <pkgmetadata>
358 - <herd>python</herd>
359 - <maintainer>
360 + <maintainer type="person">
361 <email>mgorny@g.o</email>
362 <name>Michał Górny</name>
363 </maintainer>
364 <use>
365 <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint. This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86, at the cost of lengthened build time. Please note that you will need an extra ~1G of extra RAM or swap since the translation memory (unused at the time) is not freed when the C compiler is spawned.</flag>
366 <flag name="sandbox">Enable sandboxing functionality</flag>
367 - <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
368 </use>
369 </pkgmetadata>
370
371 diff --git a/dev-binpkg/pypy3/pypy3-2.4.0.ebuild b/dev-binpkg/pypy3/pypy3-2.4.0.ebuild
372 deleted file mode 100644
373 index 89a1389..0000000
374 --- a/dev-binpkg/pypy3/pypy3-2.4.0.ebuild
375 +++ /dev/null
376 @@ -1,188 +0,0 @@
377 -# Copyright 1999-2015 Gentoo Foundation
378 -# Distributed under the terms of the GNU General Public License v2
379 -# $Id$
380 -
381 -EAPI=5
382 -
383 -# pypy3 needs to be built using python 2
384 -PYTHON_COMPAT=( python2_7 pypy )
385 -inherit check-reqs eutils multilib multiprocessing pax-utils \
386 - python-any-r1 toolchain-funcs versionator
387 -
388 -DESCRIPTION="A fast, compliant alternative implementation of Python 3"
389 -HOMEPAGE="http://pypy.org/"
390 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2"
391 -
392 -LICENSE="MIT"
393 -SLOT="0/$(get_version_component_range 1-2 ${PV})"
394 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
395 -IUSE="bzip2 +jit low-memory ncurses sandbox shadowstack cpu_flags_x86_sse2"
396 -
397 -DEPEND=">=sys-libs/zlib-1.1.3
398 - virtual/libffi
399 - virtual/libintl
400 - dev-libs/expat
401 - dev-libs/openssl
402 - bzip2? ( app-arch/bzip2 )
403 - ncurses? ( sys-libs/ncurses[-tinfo] )
404 - app-arch/lzip
405 - low-memory? ( virtual/pypy:0 )
406 - !low-memory? ( ${PYTHON_DEPS} )"
407 -
408 -S="${WORKDIR}/${P}-src"
409 -
410 -pkg_pretend() {
411 - if [[ ${MERGE_TYPE} != binary ]]; then
412 - if use low-memory; then
413 - CHECKREQS_MEMORY="1750M"
414 - use amd64 && CHECKREQS_MEMORY="3500M"
415 - else
416 - CHECKREQS_MEMORY="3G"
417 - use amd64 && CHECKREQS_MEMORY="6G"
418 - fi
419 - fi
420 -
421 - check-reqs_pkg_pretend
422 -}
423 -
424 -pkg_setup() {
425 - local force_pypy
426 -
427 - pkg_pretend
428 -
429 - use low-memory && local EPYTHON
430 - if has_version virtual/pypy && [[ ! ${EPYTHON} ]]; then
431 - einfo "Using PyPy to perform the translation."
432 - local EPYTHON=pypy
433 - else
434 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
435 - einfo "recommends using PyPy for that. If you wish to do so, please install"
436 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
437 - fi
438 -
439 - python-any-r1_pkg_setup
440 -
441 - local cpu
442 - if use amd64; then
443 - # common denominator between Intel & AMD
444 - cpu='x86-64'
445 - elif use x86; then
446 - if use cpu_flags_x86_sse2; then
447 - # lowest with SSE2
448 - cpu='pentium-m'
449 - else
450 - # lowest with SSE, compat. with athlon-xp
451 - # TODO: do we want to support something older?
452 - cpu='pentium3'
453 - fi
454 - else
455 - die "Unsupported arch ${ARCH}"
456 - fi
457 -
458 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
459 - export CXXFLAGS=${CFLAGS}
460 -
461 - elog "CFLAGS: ${CFLAGS}"
462 -}
463 -
464 -src_prepare() {
465 - epatch \
466 - "${FILESDIR}"/${P}-gcc-4.9.patch \
467 - "${FILESDIR}"/2.3.1-shared-lib.patch # 517002
468 - epatch "${FILESDIR}"/${PN}-2.4.0-libressl.patch
469 -
470 - epatch_user
471 -}
472 -
473 -src_compile() {
474 - tc-export CC
475 -
476 - local jit_backend
477 - if use jit; then
478 - jit_backend='--jit-backend='
479 -
480 - # We only need the explicit sse2 switch for x86.
481 - # On other arches we can rely on autodetection which uses
482 - # compiler macros. Plus, --jit-backend= doesn't accept all
483 - # the modern values...
484 -
485 - if use x86; then
486 - if use cpu_flags_x86_sse2; then
487 - jit_backend+=x86
488 - else
489 - jit_backend+=x86-without-sse2
490 - fi
491 - else
492 - jit_backend+=auto
493 - fi
494 - fi
495 -
496 - local args=(
497 - --shared
498 - $(usex jit -Ojit -O2)
499 - $(usex shadowstack --gcrootfinder=shadowstack '')
500 - $(usex sandbox --sandbox '')
501 -
502 - ${jit_backend}
503 - --make-jobs=$(makeopts_jobs)
504 -
505 - pypy/goal/targetpypystandalone
506 - )
507 -
508 - # Avoid linking against libraries disabled by use flags
509 - local opts=(
510 - bzip2:bz2
511 - ncurses:_minimal_curses
512 - )
513 -
514 - local opt
515 - for opt in "${opts[@]}"; do
516 - local flag=${opt%:*}
517 - local mod=${opt#*:}
518 -
519 - args+=(
520 - $(usex ${flag} --withmod --withoutmod)-${mod}
521 - )
522 - done
523 -
524 - local interp=( "${PYTHON}" )
525 - if use low-memory; then
526 - interp=( env PYPY_GC_MAX_DELTA=200MB
527 - "${PYTHON}" --jit loop_longevity=300 )
528 - fi
529 -
530 - set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
531 - echo -e "\033[1m${@}\033[0m"
532 - "${@}" || die "compile error"
533 -
534 - pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
535 -}
536 -
537 -src_install() {
538 - local flags=( bzip2 jit ncurses sandbox shadowstack )
539 - use x86 && flags+=( cpu_flags_x86_sse2 )
540 - local f suffix="-${ARCH}"
541 -
542 - for f in ${flags[@]}; do
543 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
544 - done
545 -
546 - local BIN_P=pypy3-bin-${PV}
547 -
548 - einfo "Zipping PyPy ..."
549 - mkdir "${BIN_P}${suffix}"{,/include} || die
550 - mv pypy-c libpypy-c.so "${BIN_P}${suffix}"/ || die
551 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
552 - chmod +x "${BIN_P}${suffix}"/pypy-c || die
553 -
554 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
555 - lzip -v9 "${BIN_P}${suffix}.tar" || die
556 -}
557 -
558 -# Yup, very hacky.
559 -pkg_preinst() {
560 - # integrity check.
561 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
562 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
563 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
564 -}
565
566 diff --git a/dev-binpkg/pypy3/pypy3-5.10.0.ebuild b/dev-binpkg/pypy3/pypy3-5.10.0.ebuild
567 deleted file mode 100644
568 index 4890a7f..0000000
569 --- a/dev-binpkg/pypy3/pypy3-5.10.0.ebuild
570 +++ /dev/null
571 @@ -1,199 +0,0 @@
572 -# Copyright 1999-2017 Gentoo Foundation
573 -# Distributed under the terms of the GNU General Public License v2
574 -
575 -EAPI=6
576 -
577 -# pypy3 needs to be built using python 2
578 -PYTHON_COMPAT=( python2_7 pypy )
579 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
580 -
581 -MY_P=pypy3-v${PV}
582 -
583 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
584 -HOMEPAGE="http://pypy.org/"
585 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
586 -
587 -LICENSE="MIT"
588 -# XX from pypy3-XX.so module suffix
589 -SLOT="0/59"
590 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
591 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
592 -
593 -DEPEND=">=sys-libs/zlib-1.1.3:0=
594 - virtual/libffi:0=
595 - virtual/libintl:0=
596 - dev-libs/expat:0=
597 - !libressl? ( dev-libs/openssl:0=[-bindist] )
598 - libressl? ( dev-libs/libressl:0= )
599 - bzip2? ( app-arch/bzip2:0= )
600 - ncurses? ( sys-libs/ncurses:0= )
601 - app-arch/lzip
602 - low-memory? ( virtual/pypy:0 )
603 - !low-memory? ( ${PYTHON_DEPS} )"
604 -# doc? ( dev-python/sphinx )
605 -
606 -S="${WORKDIR}/${MY_P}-src"
607 -
608 -pkg_pretend() {
609 - if [[ ${MERGE_TYPE} != binary ]]; then
610 - if use low-memory; then
611 - CHECKREQS_MEMORY="1750M"
612 - use amd64 && CHECKREQS_MEMORY="3500M"
613 - else
614 - CHECKREQS_MEMORY="3G"
615 - use amd64 && CHECKREQS_MEMORY="6G"
616 - fi
617 -
618 - check-reqs_pkg_pretend
619 - fi
620 -}
621 -
622 -pkg_setup() {
623 - if [[ ${MERGE_TYPE} != binary ]]; then
624 - pkg_pretend
625 -
626 - # unset to allow forcing pypy below :)
627 - use low-memory && local EPYTHON=
628 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
629 - einfo "Using PyPy to perform the translation."
630 - local EPYTHON=pypy
631 - else
632 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
633 - einfo "recommends using PyPy for that. If you wish to do so, please install"
634 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
635 - fi
636 -
637 - python-any-r1_pkg_setup
638 -
639 - local cpu
640 - if use amd64; then
641 - # common denominator between Intel & AMD
642 - cpu='x86-64'
643 - elif use x86; then
644 - if use cpu_flags_x86_sse2; then
645 - # lowest with SSE2
646 - cpu='pentium-m'
647 - else
648 - # lowest with SSE, compat. with athlon-xp
649 - # TODO: do we want to support something older?
650 - cpu='pentium3'
651 - fi
652 - else
653 - die "Unsupported arch ${ARCH}"
654 - fi
655 -
656 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
657 - export CXXFLAGS=${CFLAGS}
658 -
659 - elog "CFLAGS: ${CFLAGS}"
660 - fi
661 -}
662 -
663 -src_prepare() {
664 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
665 -
666 - eapply_user
667 -}
668 -
669 -src_configure() {
670 - tc-export CC
671 -
672 - local jit_backend
673 - if use jit; then
674 - jit_backend='--jit-backend='
675 -
676 - # We only need the explicit sse2 switch for x86.
677 - # On other arches we can rely on autodetection which uses
678 - # compiler macros. Plus, --jit-backend= doesn't accept all
679 - # the modern values...
680 -
681 - if use x86; then
682 - if use cpu_flags_x86_sse2; then
683 - jit_backend+=x86
684 - else
685 - jit_backend+=x86-without-sse2
686 - fi
687 - else
688 - jit_backend+=auto
689 - fi
690 - fi
691 -
692 - local args=(
693 - --shared
694 - $(usex jit -Ojit -O2)
695 - $(usex sandbox --sandbox '')
696 -
697 - ${jit_backend}
698 - --make-jobs=$(makeopts_jobs)
699 -
700 - pypy/goal/targetpypystandalone
701 - )
702 -
703 - # Avoid linking against libraries disabled by use flags
704 - local opts=(
705 - bzip2:bz2
706 - ncurses:_minimal_curses
707 - )
708 -
709 - local opt
710 - for opt in "${opts[@]}"; do
711 - local flag=${opt%:*}
712 - local mod=${opt#*:}
713 -
714 - args+=(
715 - $(usex ${flag} --withmod --withoutmod)-${mod}
716 - )
717 - done
718 -
719 - local interp=( "${PYTHON}" )
720 - if use low-memory; then
721 - interp=( env PYPY_GC_MAX_DELTA=200MB
722 - "${PYTHON}" --jit loop_longevity=300 )
723 - fi
724 -
725 - # translate into the C sources
726 - # we're going to make them ourselves since otherwise pypy does not
727 - # free up the unneeded memory before spawning the compiler
728 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
729 - echo -e "\033[1m${@}\033[0m"
730 - "${@}" || die "translation failed"
731 -}
732 -
733 -src_compile() {
734 - emake -C "${T}"/usession*-0/testing_1
735 -
736 - # copy back to make sys.prefix happy
737 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
738 - pax-mark m pypy3-c libpypy3-c.so
739 -
740 - #use doc && emake -C pypy/doc html
741 -}
742 -
743 -src_install() {
744 - local flags=( bzip2 jit ncurses sandbox )
745 - use x86 && flags+=( cpu_flags_x86_sse2 )
746 - local f suffix="-${ARCH}"
747 -
748 - for f in ${flags[@]}; do
749 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
750 - done
751 -
752 - local BIN_P=pypy3-bin-${PV}
753 -
754 - einfo "Zipping PyPy ..."
755 - mkdir "${BIN_P}${suffix}"{,/include} || die
756 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
757 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
758 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
759 -
760 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
761 - lzip -v9 "${BIN_P}${suffix}.tar" || die
762 -}
763 -
764 -# Yup, very hacky.
765 -pkg_preinst() {
766 - # integrity check.
767 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
768 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
769 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
770 -}
771
772 diff --git a/dev-binpkg/pypy3/pypy3-5.10.1.ebuild b/dev-binpkg/pypy3/pypy3-5.10.1.ebuild
773 deleted file mode 100644
774 index 4890a7f..0000000
775 --- a/dev-binpkg/pypy3/pypy3-5.10.1.ebuild
776 +++ /dev/null
777 @@ -1,199 +0,0 @@
778 -# Copyright 1999-2017 Gentoo Foundation
779 -# Distributed under the terms of the GNU General Public License v2
780 -
781 -EAPI=6
782 -
783 -# pypy3 needs to be built using python 2
784 -PYTHON_COMPAT=( python2_7 pypy )
785 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
786 -
787 -MY_P=pypy3-v${PV}
788 -
789 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
790 -HOMEPAGE="http://pypy.org/"
791 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
792 -
793 -LICENSE="MIT"
794 -# XX from pypy3-XX.so module suffix
795 -SLOT="0/59"
796 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
797 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
798 -
799 -DEPEND=">=sys-libs/zlib-1.1.3:0=
800 - virtual/libffi:0=
801 - virtual/libintl:0=
802 - dev-libs/expat:0=
803 - !libressl? ( dev-libs/openssl:0=[-bindist] )
804 - libressl? ( dev-libs/libressl:0= )
805 - bzip2? ( app-arch/bzip2:0= )
806 - ncurses? ( sys-libs/ncurses:0= )
807 - app-arch/lzip
808 - low-memory? ( virtual/pypy:0 )
809 - !low-memory? ( ${PYTHON_DEPS} )"
810 -# doc? ( dev-python/sphinx )
811 -
812 -S="${WORKDIR}/${MY_P}-src"
813 -
814 -pkg_pretend() {
815 - if [[ ${MERGE_TYPE} != binary ]]; then
816 - if use low-memory; then
817 - CHECKREQS_MEMORY="1750M"
818 - use amd64 && CHECKREQS_MEMORY="3500M"
819 - else
820 - CHECKREQS_MEMORY="3G"
821 - use amd64 && CHECKREQS_MEMORY="6G"
822 - fi
823 -
824 - check-reqs_pkg_pretend
825 - fi
826 -}
827 -
828 -pkg_setup() {
829 - if [[ ${MERGE_TYPE} != binary ]]; then
830 - pkg_pretend
831 -
832 - # unset to allow forcing pypy below :)
833 - use low-memory && local EPYTHON=
834 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
835 - einfo "Using PyPy to perform the translation."
836 - local EPYTHON=pypy
837 - else
838 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
839 - einfo "recommends using PyPy for that. If you wish to do so, please install"
840 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
841 - fi
842 -
843 - python-any-r1_pkg_setup
844 -
845 - local cpu
846 - if use amd64; then
847 - # common denominator between Intel & AMD
848 - cpu='x86-64'
849 - elif use x86; then
850 - if use cpu_flags_x86_sse2; then
851 - # lowest with SSE2
852 - cpu='pentium-m'
853 - else
854 - # lowest with SSE, compat. with athlon-xp
855 - # TODO: do we want to support something older?
856 - cpu='pentium3'
857 - fi
858 - else
859 - die "Unsupported arch ${ARCH}"
860 - fi
861 -
862 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
863 - export CXXFLAGS=${CFLAGS}
864 -
865 - elog "CFLAGS: ${CFLAGS}"
866 - fi
867 -}
868 -
869 -src_prepare() {
870 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
871 -
872 - eapply_user
873 -}
874 -
875 -src_configure() {
876 - tc-export CC
877 -
878 - local jit_backend
879 - if use jit; then
880 - jit_backend='--jit-backend='
881 -
882 - # We only need the explicit sse2 switch for x86.
883 - # On other arches we can rely on autodetection which uses
884 - # compiler macros. Plus, --jit-backend= doesn't accept all
885 - # the modern values...
886 -
887 - if use x86; then
888 - if use cpu_flags_x86_sse2; then
889 - jit_backend+=x86
890 - else
891 - jit_backend+=x86-without-sse2
892 - fi
893 - else
894 - jit_backend+=auto
895 - fi
896 - fi
897 -
898 - local args=(
899 - --shared
900 - $(usex jit -Ojit -O2)
901 - $(usex sandbox --sandbox '')
902 -
903 - ${jit_backend}
904 - --make-jobs=$(makeopts_jobs)
905 -
906 - pypy/goal/targetpypystandalone
907 - )
908 -
909 - # Avoid linking against libraries disabled by use flags
910 - local opts=(
911 - bzip2:bz2
912 - ncurses:_minimal_curses
913 - )
914 -
915 - local opt
916 - for opt in "${opts[@]}"; do
917 - local flag=${opt%:*}
918 - local mod=${opt#*:}
919 -
920 - args+=(
921 - $(usex ${flag} --withmod --withoutmod)-${mod}
922 - )
923 - done
924 -
925 - local interp=( "${PYTHON}" )
926 - if use low-memory; then
927 - interp=( env PYPY_GC_MAX_DELTA=200MB
928 - "${PYTHON}" --jit loop_longevity=300 )
929 - fi
930 -
931 - # translate into the C sources
932 - # we're going to make them ourselves since otherwise pypy does not
933 - # free up the unneeded memory before spawning the compiler
934 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
935 - echo -e "\033[1m${@}\033[0m"
936 - "${@}" || die "translation failed"
937 -}
938 -
939 -src_compile() {
940 - emake -C "${T}"/usession*-0/testing_1
941 -
942 - # copy back to make sys.prefix happy
943 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
944 - pax-mark m pypy3-c libpypy3-c.so
945 -
946 - #use doc && emake -C pypy/doc html
947 -}
948 -
949 -src_install() {
950 - local flags=( bzip2 jit ncurses sandbox )
951 - use x86 && flags+=( cpu_flags_x86_sse2 )
952 - local f suffix="-${ARCH}"
953 -
954 - for f in ${flags[@]}; do
955 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
956 - done
957 -
958 - local BIN_P=pypy3-bin-${PV}
959 -
960 - einfo "Zipping PyPy ..."
961 - mkdir "${BIN_P}${suffix}"{,/include} || die
962 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
963 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
964 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
965 -
966 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
967 - lzip -v9 "${BIN_P}${suffix}.tar" || die
968 -}
969 -
970 -# Yup, very hacky.
971 -pkg_preinst() {
972 - # integrity check.
973 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
974 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
975 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
976 -}
977
978 diff --git a/dev-binpkg/pypy3/pypy3-5.2.0_alpha1.ebuild b/dev-binpkg/pypy3/pypy3-5.2.0_alpha1.ebuild
979 deleted file mode 100644
980 index 3c3df9d..0000000
981 --- a/dev-binpkg/pypy3/pypy3-5.2.0_alpha1.ebuild
982 +++ /dev/null
983 @@ -1,188 +0,0 @@
984 -# Copyright 1999-2016 Gentoo Foundation
985 -# Distributed under the terms of the GNU General Public License v2
986 -# $Id$
987 -
988 -EAPI=5
989 -
990 -# pypy3 needs to be built using python 2
991 -PYTHON_COMPAT=( python2_7 pypy )
992 -inherit check-reqs eutils multilib multiprocessing pax-utils \
993 - python-any-r1 toolchain-funcs versionator
994 -
995 -MY_P=pypy3.3-v${PV/_/-}
996 -
997 -DESCRIPTION="A fast, compliant alternative implementation of Python 3"
998 -HOMEPAGE="http://pypy.org/"
999 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
1000 -
1001 -LICENSE="MIT"
1002 -SLOT="0/$(get_version_component_range 1-2 ${PV})"
1003 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
1004 -IUSE="bzip2 +jit low-memory ncurses sandbox shadowstack cpu_flags_x86_sse2"
1005 -
1006 -DEPEND=">=sys-libs/zlib-1.1.3
1007 - virtual/libffi
1008 - virtual/libintl
1009 - dev-libs/expat
1010 - dev-libs/openssl
1011 - bzip2? ( app-arch/bzip2 )
1012 - ncurses? ( sys-libs/ncurses[-tinfo] )
1013 - app-arch/lzip
1014 - low-memory? ( virtual/pypy:0 )
1015 - !low-memory? ( ${PYTHON_DEPS} )"
1016 -
1017 -S="${WORKDIR}/${MY_P}-src"
1018 -
1019 -pkg_pretend() {
1020 - if [[ ${MERGE_TYPE} != binary ]]; then
1021 - if use low-memory; then
1022 - CHECKREQS_MEMORY="1750M"
1023 - use amd64 && CHECKREQS_MEMORY="3500M"
1024 - else
1025 - CHECKREQS_MEMORY="3G"
1026 - use amd64 && CHECKREQS_MEMORY="6G"
1027 - fi
1028 - fi
1029 -
1030 - check-reqs_pkg_pretend
1031 -}
1032 -
1033 -pkg_setup() {
1034 - local force_pypy
1035 -
1036 - pkg_pretend
1037 -
1038 - use low-memory && local EPYTHON
1039 - if has_version virtual/pypy && [[ ! ${EPYTHON} ]]; then
1040 - einfo "Using PyPy to perform the translation."
1041 - local EPYTHON=pypy
1042 - else
1043 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
1044 - einfo "recommends using PyPy for that. If you wish to do so, please install"
1045 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
1046 - fi
1047 -
1048 - python-any-r1_pkg_setup
1049 -
1050 - local cpu
1051 - if use amd64; then
1052 - # common denominator between Intel & AMD
1053 - cpu='x86-64'
1054 - elif use x86; then
1055 - if use cpu_flags_x86_sse2; then
1056 - # lowest with SSE2
1057 - cpu='pentium-m'
1058 - else
1059 - # lowest with SSE, compat. with athlon-xp
1060 - # TODO: do we want to support something older?
1061 - cpu='pentium3'
1062 - fi
1063 - else
1064 - die "Unsupported arch ${ARCH}"
1065 - fi
1066 -
1067 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
1068 - export CXXFLAGS=${CFLAGS}
1069 -
1070 - elog "CFLAGS: ${CFLAGS}"
1071 -}
1072 -
1073 -src_prepare() {
1074 - epatch \
1075 - "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
1076 -
1077 - epatch_user
1078 -}
1079 -
1080 -src_compile() {
1081 - tc-export CC
1082 -
1083 - local jit_backend
1084 - if use jit; then
1085 - jit_backend='--jit-backend='
1086 -
1087 - # We only need the explicit sse2 switch for x86.
1088 - # On other arches we can rely on autodetection which uses
1089 - # compiler macros. Plus, --jit-backend= doesn't accept all
1090 - # the modern values...
1091 -
1092 - if use x86; then
1093 - if use cpu_flags_x86_sse2; then
1094 - jit_backend+=x86
1095 - else
1096 - jit_backend+=x86-without-sse2
1097 - fi
1098 - else
1099 - jit_backend+=auto
1100 - fi
1101 - fi
1102 -
1103 - local args=(
1104 - --shared
1105 - $(usex jit -Ojit -O2)
1106 - $(usex shadowstack --gcrootfinder=shadowstack '')
1107 - $(usex sandbox --sandbox '')
1108 -
1109 - ${jit_backend}
1110 - --make-jobs=$(makeopts_jobs)
1111 -
1112 - pypy/goal/targetpypystandalone
1113 - )
1114 -
1115 - # Avoid linking against libraries disabled by use flags
1116 - local opts=(
1117 - bzip2:bz2
1118 - ncurses:_minimal_curses
1119 - )
1120 -
1121 - local opt
1122 - for opt in "${opts[@]}"; do
1123 - local flag=${opt%:*}
1124 - local mod=${opt#*:}
1125 -
1126 - args+=(
1127 - $(usex ${flag} --withmod --withoutmod)-${mod}
1128 - )
1129 - done
1130 -
1131 - local interp=( "${PYTHON}" )
1132 - if use low-memory; then
1133 - interp=( env PYPY_GC_MAX_DELTA=200MB
1134 - "${PYTHON}" --jit loop_longevity=300 )
1135 - fi
1136 -
1137 - set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
1138 - echo -e "\033[1m${@}\033[0m"
1139 - "${@}" || die "compile error"
1140 -
1141 - pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
1142 -}
1143 -
1144 -src_install() {
1145 - local flags=( bzip2 jit ncurses sandbox shadowstack )
1146 - use x86 && flags+=( cpu_flags_x86_sse2 )
1147 - local f suffix="-${ARCH}"
1148 -
1149 - for f in ${flags[@]}; do
1150 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
1151 - done
1152 -
1153 - local BIN_P=pypy3-bin-${PV}
1154 -
1155 - einfo "Zipping PyPy ..."
1156 - mkdir "${BIN_P}${suffix}"{,/include} || die
1157 - mv pypy-c libpypy-c.so "${BIN_P}${suffix}"/ || die
1158 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
1159 - chmod +x "${BIN_P}${suffix}"/pypy-c || die
1160 -
1161 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
1162 - lzip -v9 "${BIN_P}${suffix}.tar" || die
1163 -}
1164 -
1165 -# Yup, very hacky.
1166 -pkg_preinst() {
1167 - # integrity check.
1168 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
1169 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1170 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1171 -}
1172
1173 diff --git a/dev-binpkg/pypy3/pypy3-5.5.0_alpha.ebuild b/dev-binpkg/pypy3/pypy3-5.5.0_alpha.ebuild
1174 deleted file mode 100644
1175 index 7800269..0000000
1176 --- a/dev-binpkg/pypy3/pypy3-5.5.0_alpha.ebuild
1177 +++ /dev/null
1178 @@ -1,186 +0,0 @@
1179 -# Copyright 1999-2016 Gentoo Foundation
1180 -# Distributed under the terms of the GNU General Public License v2
1181 -# $Id$
1182 -
1183 -EAPI=5
1184 -
1185 -# pypy3 needs to be built using python 2
1186 -PYTHON_COMPAT=( python2_7 pypy )
1187 -inherit check-reqs eutils multilib multiprocessing pax-utils \
1188 - python-any-r1 toolchain-funcs versionator
1189 -
1190 -DESCRIPTION="A fast, compliant alternative implementation of Python 3"
1191 -HOMEPAGE="http://pypy.org/"
1192 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v${PV/_/-}-src.tar.bz2"
1193 -
1194 -LICENSE="MIT"
1195 -SLOT="0/$(get_version_component_range 1-2 ${PV})"
1196 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
1197 -IUSE="bzip2 +jit low-memory ncurses sandbox shadowstack cpu_flags_x86_sse2"
1198 -
1199 -DEPEND=">=sys-libs/zlib-1.1.3:0=
1200 - virtual/libffi:0=
1201 - virtual/libintl:0=
1202 - dev-libs/expat:0=
1203 - dev-libs/openssl:0=[-bindist]
1204 - bzip2? ( app-arch/bzip2:0= )
1205 - ncurses? ( sys-libs/ncurses:0= )
1206 - app-arch/lzip
1207 - low-memory? ( virtual/pypy:0 )
1208 - !low-memory? ( ${PYTHON_DEPS} )"
1209 -
1210 -# Who would care about predictable directory names?
1211 -S="${WORKDIR}/pypy3-v${PV%_*}-src"
1212 -
1213 -pkg_pretend() {
1214 - if [[ ${MERGE_TYPE} != binary ]]; then
1215 - if use low-memory; then
1216 - CHECKREQS_MEMORY="1750M"
1217 - use amd64 && CHECKREQS_MEMORY="3500M"
1218 - else
1219 - CHECKREQS_MEMORY="3G"
1220 - use amd64 && CHECKREQS_MEMORY="6G"
1221 - fi
1222 - fi
1223 -
1224 - check-reqs_pkg_pretend
1225 -}
1226 -
1227 -pkg_setup() {
1228 - local force_pypy
1229 -
1230 - pkg_pretend
1231 -
1232 - use low-memory && local EPYTHON
1233 - if has_version virtual/pypy && [[ ! ${EPYTHON} ]]; then
1234 - einfo "Using PyPy to perform the translation."
1235 - local EPYTHON=pypy
1236 - else
1237 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
1238 - einfo "recommends using PyPy for that. If you wish to do so, please install"
1239 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
1240 - fi
1241 -
1242 - python-any-r1_pkg_setup
1243 -
1244 - local cpu
1245 - if use amd64; then
1246 - # common denominator between Intel & AMD
1247 - cpu='x86-64'
1248 - elif use x86; then
1249 - if use cpu_flags_x86_sse2; then
1250 - # lowest with SSE2
1251 - cpu='pentium-m'
1252 - else
1253 - # lowest with SSE, compat. with athlon-xp
1254 - # TODO: do we want to support something older?
1255 - cpu='pentium3'
1256 - fi
1257 - else
1258 - die "Unsupported arch ${ARCH}"
1259 - fi
1260 -
1261 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
1262 - export CXXFLAGS=${CFLAGS}
1263 -
1264 - elog "CFLAGS: ${CFLAGS}"
1265 -}
1266 -
1267 -src_prepare() {
1268 - epatch "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
1269 -
1270 - epatch_user
1271 -}
1272 -
1273 -src_compile() {
1274 - tc-export CC
1275 -
1276 - local jit_backend
1277 - if use jit; then
1278 - jit_backend='--jit-backend='
1279 -
1280 - # We only need the explicit sse2 switch for x86.
1281 - # On other arches we can rely on autodetection which uses
1282 - # compiler macros. Plus, --jit-backend= doesn't accept all
1283 - # the modern values...
1284 -
1285 - if use x86; then
1286 - if use cpu_flags_x86_sse2; then
1287 - jit_backend+=x86
1288 - else
1289 - jit_backend+=x86-without-sse2
1290 - fi
1291 - else
1292 - jit_backend+=auto
1293 - fi
1294 - fi
1295 -
1296 - local args=(
1297 - --shared
1298 - $(usex jit -Ojit -O2)
1299 - $(usex shadowstack --gcrootfinder=shadowstack '')
1300 - $(usex sandbox --sandbox '')
1301 -
1302 - ${jit_backend}
1303 - --make-jobs=$(makeopts_jobs)
1304 -
1305 - pypy/goal/targetpypystandalone
1306 - )
1307 -
1308 - # Avoid linking against libraries disabled by use flags
1309 - local opts=(
1310 - bzip2:bz2
1311 - ncurses:_minimal_curses
1312 - )
1313 -
1314 - local opt
1315 - for opt in "${opts[@]}"; do
1316 - local flag=${opt%:*}
1317 - local mod=${opt#*:}
1318 -
1319 - args+=(
1320 - $(usex ${flag} --withmod --withoutmod)-${mod}
1321 - )
1322 - done
1323 -
1324 - local interp=( "${PYTHON}" )
1325 - if use low-memory; then
1326 - interp=( env PYPY_GC_MAX_DELTA=200MB
1327 - "${PYTHON}" --jit loop_longevity=300 )
1328 - fi
1329 -
1330 - set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
1331 - echo -e "\033[1m${@}\033[0m"
1332 - "${@}" || die "compile error"
1333 -
1334 - pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
1335 -}
1336 -
1337 -src_install() {
1338 - local flags=( bzip2 jit ncurses sandbox shadowstack )
1339 - use x86 && flags+=( cpu_flags_x86_sse2 )
1340 - local f suffix="-${ARCH}"
1341 -
1342 - for f in ${flags[@]}; do
1343 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
1344 - done
1345 -
1346 - local BIN_P=pypy3-bin-${PV}
1347 -
1348 - einfo "Zipping PyPy ..."
1349 - mkdir "${BIN_P}${suffix}"{,/include} || die
1350 - mv pypy-c libpypy-c.so "${BIN_P}${suffix}"/ || die
1351 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
1352 - chmod +x "${BIN_P}${suffix}"/pypy-c || die
1353 -
1354 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
1355 - lzip -v9 "${BIN_P}${suffix}.tar" || die
1356 -}
1357 -
1358 -# Yup, very hacky.
1359 -pkg_preinst() {
1360 - # integrity check.
1361 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
1362 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1363 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1364 -}
1365
1366 diff --git a/dev-binpkg/pypy3/pypy3-5.7.1.ebuild b/dev-binpkg/pypy3/pypy3-5.7.1.ebuild
1367 deleted file mode 100644
1368 index 2c97683..0000000
1369 --- a/dev-binpkg/pypy3/pypy3-5.7.1.ebuild
1370 +++ /dev/null
1371 @@ -1,201 +0,0 @@
1372 -# Copyright 1999-2017 Gentoo Foundation
1373 -# Distributed under the terms of the GNU General Public License v2
1374 -
1375 -EAPI=6
1376 -
1377 -# pypy3 needs to be built using python 2
1378 -PYTHON_COMPAT=( python2_7 pypy )
1379 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
1380 -
1381 -MY_P=pypy3-v${PV}
1382 -
1383 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
1384 -HOMEPAGE="http://pypy.org/"
1385 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
1386 -
1387 -LICENSE="MIT"
1388 -# XX from pypy3-XX.so module suffix
1389 -SLOT="0/55"
1390 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
1391 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
1392 -
1393 -DEPEND=">=sys-libs/zlib-1.1.3:0=
1394 - virtual/libffi:0=
1395 - virtual/libintl:0=
1396 - dev-libs/expat:0=
1397 - !libressl? ( dev-libs/openssl:0=[-bindist] )
1398 - libressl? ( dev-libs/libressl:0= )
1399 - bzip2? ( app-arch/bzip2:0= )
1400 - ncurses? ( sys-libs/ncurses:0= )
1401 - app-arch/lzip
1402 - low-memory? ( virtual/pypy:0 )
1403 - !low-memory? ( ${PYTHON_DEPS} )"
1404 -# doc? ( dev-python/sphinx )
1405 -
1406 -S="${WORKDIR}/${MY_P}-src"
1407 -
1408 -pkg_pretend() {
1409 - if [[ ${MERGE_TYPE} != binary ]]; then
1410 - if use low-memory; then
1411 - CHECKREQS_MEMORY="1750M"
1412 - use amd64 && CHECKREQS_MEMORY="3500M"
1413 - else
1414 - CHECKREQS_MEMORY="3G"
1415 - use amd64 && CHECKREQS_MEMORY="6G"
1416 - fi
1417 -
1418 - check-reqs_pkg_pretend
1419 - fi
1420 -}
1421 -
1422 -pkg_setup() {
1423 - if [[ ${MERGE_TYPE} != binary ]]; then
1424 - pkg_pretend
1425 -
1426 - # unset to allow forcing pypy below :)
1427 - use low-memory && local EPYTHON=
1428 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
1429 - einfo "Using PyPy to perform the translation."
1430 - local EPYTHON=pypy
1431 - else
1432 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
1433 - einfo "recommends using PyPy for that. If you wish to do so, please install"
1434 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
1435 - fi
1436 -
1437 - python-any-r1_pkg_setup
1438 -
1439 - local cpu
1440 - if use amd64; then
1441 - # common denominator between Intel & AMD
1442 - cpu='x86-64'
1443 - elif use x86; then
1444 - if use cpu_flags_x86_sse2; then
1445 - # lowest with SSE2
1446 - cpu='pentium-m'
1447 - else
1448 - # lowest with SSE, compat. with athlon-xp
1449 - # TODO: do we want to support something older?
1450 - cpu='pentium3'
1451 - fi
1452 - else
1453 - die "Unsupported arch ${ARCH}"
1454 - fi
1455 -
1456 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
1457 - export CXXFLAGS=${CFLAGS}
1458 -
1459 - elog "CFLAGS: ${CFLAGS}"
1460 - fi
1461 -}
1462 -
1463 -src_prepare() {
1464 - eapply "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
1465 - # disarm implicit -flto
1466 - eapply "${FILESDIR}"/5.7.1-kill-flto.patch
1467 -
1468 - eapply_user
1469 -}
1470 -
1471 -src_configure() {
1472 - tc-export CC
1473 -
1474 - local jit_backend
1475 - if use jit; then
1476 - jit_backend='--jit-backend='
1477 -
1478 - # We only need the explicit sse2 switch for x86.
1479 - # On other arches we can rely on autodetection which uses
1480 - # compiler macros. Plus, --jit-backend= doesn't accept all
1481 - # the modern values...
1482 -
1483 - if use x86; then
1484 - if use cpu_flags_x86_sse2; then
1485 - jit_backend+=x86
1486 - else
1487 - jit_backend+=x86-without-sse2
1488 - fi
1489 - else
1490 - jit_backend+=auto
1491 - fi
1492 - fi
1493 -
1494 - local args=(
1495 - --shared
1496 - $(usex jit -Ojit -O2)
1497 - $(usex sandbox --sandbox '')
1498 -
1499 - ${jit_backend}
1500 - --make-jobs=$(makeopts_jobs)
1501 -
1502 - pypy/goal/targetpypystandalone
1503 - )
1504 -
1505 - # Avoid linking against libraries disabled by use flags
1506 - local opts=(
1507 - bzip2:bz2
1508 - ncurses:_minimal_curses
1509 - )
1510 -
1511 - local opt
1512 - for opt in "${opts[@]}"; do
1513 - local flag=${opt%:*}
1514 - local mod=${opt#*:}
1515 -
1516 - args+=(
1517 - $(usex ${flag} --withmod --withoutmod)-${mod}
1518 - )
1519 - done
1520 -
1521 - local interp=( "${PYTHON}" )
1522 - if use low-memory; then
1523 - interp=( env PYPY_GC_MAX_DELTA=200MB
1524 - "${PYTHON}" --jit loop_longevity=300 )
1525 - fi
1526 -
1527 - # translate into the C sources
1528 - # we're going to make them ourselves since otherwise pypy does not
1529 - # free up the unneeded memory before spawning the compiler
1530 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
1531 - echo -e "\033[1m${@}\033[0m"
1532 - "${@}" || die "translation failed"
1533 -}
1534 -
1535 -src_compile() {
1536 - emake -C "${T}"/usession*-0/testing_1
1537 -
1538 - # copy back to make sys.prefix happy
1539 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
1540 - pax-mark m pypy3-c libpypy3-c.so
1541 -
1542 - #use doc && emake -C pypy/doc html
1543 -}
1544 -
1545 -src_install() {
1546 - local flags=( bzip2 jit ncurses sandbox )
1547 - use x86 && flags+=( cpu_flags_x86_sse2 )
1548 - local f suffix="-${ARCH}"
1549 -
1550 - for f in ${flags[@]}; do
1551 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
1552 - done
1553 -
1554 - local BIN_P=pypy3-bin-${PV}
1555 -
1556 - einfo "Zipping PyPy ..."
1557 - mkdir "${BIN_P}${suffix}"{,/include} || die
1558 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
1559 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
1560 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
1561 -
1562 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
1563 - lzip -v9 "${BIN_P}${suffix}.tar" || die
1564 -}
1565 -
1566 -# Yup, very hacky.
1567 -pkg_preinst() {
1568 - # integrity check.
1569 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
1570 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1571 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1572 -}
1573
1574 diff --git a/dev-binpkg/pypy3/pypy3-5.8.0.ebuild b/dev-binpkg/pypy3/pypy3-5.8.0.ebuild
1575 deleted file mode 100644
1576 index 960566a..0000000
1577 --- a/dev-binpkg/pypy3/pypy3-5.8.0.ebuild
1578 +++ /dev/null
1579 @@ -1,199 +0,0 @@
1580 -# Copyright 1999-2017 Gentoo Foundation
1581 -# Distributed under the terms of the GNU General Public License v2
1582 -
1583 -EAPI=6
1584 -
1585 -# pypy3 needs to be built using python 2
1586 -PYTHON_COMPAT=( python2_7 pypy )
1587 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
1588 -
1589 -MY_P=pypy3-v${PV}
1590 -
1591 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
1592 -HOMEPAGE="http://pypy.org/"
1593 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
1594 -
1595 -LICENSE="MIT"
1596 -# XX from pypy3-XX.so module suffix
1597 -SLOT="0/55"
1598 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
1599 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
1600 -
1601 -DEPEND=">=sys-libs/zlib-1.1.3:0=
1602 - virtual/libffi:0=
1603 - virtual/libintl:0=
1604 - dev-libs/expat:0=
1605 - !libressl? ( dev-libs/openssl:0=[-bindist] )
1606 - libressl? ( dev-libs/libressl:0= )
1607 - bzip2? ( app-arch/bzip2:0= )
1608 - ncurses? ( sys-libs/ncurses:0= )
1609 - app-arch/lzip
1610 - low-memory? ( virtual/pypy:0 )
1611 - !low-memory? ( ${PYTHON_DEPS} )"
1612 -# doc? ( dev-python/sphinx )
1613 -
1614 -S="${WORKDIR}/${MY_P}-src"
1615 -
1616 -pkg_pretend() {
1617 - if [[ ${MERGE_TYPE} != binary ]]; then
1618 - if use low-memory; then
1619 - CHECKREQS_MEMORY="1750M"
1620 - use amd64 && CHECKREQS_MEMORY="3500M"
1621 - else
1622 - CHECKREQS_MEMORY="3G"
1623 - use amd64 && CHECKREQS_MEMORY="6G"
1624 - fi
1625 -
1626 - check-reqs_pkg_pretend
1627 - fi
1628 -}
1629 -
1630 -pkg_setup() {
1631 - if [[ ${MERGE_TYPE} != binary ]]; then
1632 - pkg_pretend
1633 -
1634 - # unset to allow forcing pypy below :)
1635 - use low-memory && local EPYTHON=
1636 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
1637 - einfo "Using PyPy to perform the translation."
1638 - local EPYTHON=pypy
1639 - else
1640 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
1641 - einfo "recommends using PyPy for that. If you wish to do so, please install"
1642 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
1643 - fi
1644 -
1645 - python-any-r1_pkg_setup
1646 -
1647 - local cpu
1648 - if use amd64; then
1649 - # common denominator between Intel & AMD
1650 - cpu='x86-64'
1651 - elif use x86; then
1652 - if use cpu_flags_x86_sse2; then
1653 - # lowest with SSE2
1654 - cpu='pentium-m'
1655 - else
1656 - # lowest with SSE, compat. with athlon-xp
1657 - # TODO: do we want to support something older?
1658 - cpu='pentium3'
1659 - fi
1660 - else
1661 - die "Unsupported arch ${ARCH}"
1662 - fi
1663 -
1664 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
1665 - export CXXFLAGS=${CFLAGS}
1666 -
1667 - elog "CFLAGS: ${CFLAGS}"
1668 - fi
1669 -}
1670 -
1671 -src_prepare() {
1672 - eapply "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
1673 -
1674 - eapply_user
1675 -}
1676 -
1677 -src_configure() {
1678 - tc-export CC
1679 -
1680 - local jit_backend
1681 - if use jit; then
1682 - jit_backend='--jit-backend='
1683 -
1684 - # We only need the explicit sse2 switch for x86.
1685 - # On other arches we can rely on autodetection which uses
1686 - # compiler macros. Plus, --jit-backend= doesn't accept all
1687 - # the modern values...
1688 -
1689 - if use x86; then
1690 - if use cpu_flags_x86_sse2; then
1691 - jit_backend+=x86
1692 - else
1693 - jit_backend+=x86-without-sse2
1694 - fi
1695 - else
1696 - jit_backend+=auto
1697 - fi
1698 - fi
1699 -
1700 - local args=(
1701 - --shared
1702 - $(usex jit -Ojit -O2)
1703 - $(usex sandbox --sandbox '')
1704 -
1705 - ${jit_backend}
1706 - --make-jobs=$(makeopts_jobs)
1707 -
1708 - pypy/goal/targetpypystandalone
1709 - )
1710 -
1711 - # Avoid linking against libraries disabled by use flags
1712 - local opts=(
1713 - bzip2:bz2
1714 - ncurses:_minimal_curses
1715 - )
1716 -
1717 - local opt
1718 - for opt in "${opts[@]}"; do
1719 - local flag=${opt%:*}
1720 - local mod=${opt#*:}
1721 -
1722 - args+=(
1723 - $(usex ${flag} --withmod --withoutmod)-${mod}
1724 - )
1725 - done
1726 -
1727 - local interp=( "${PYTHON}" )
1728 - if use low-memory; then
1729 - interp=( env PYPY_GC_MAX_DELTA=200MB
1730 - "${PYTHON}" --jit loop_longevity=300 )
1731 - fi
1732 -
1733 - # translate into the C sources
1734 - # we're going to make them ourselves since otherwise pypy does not
1735 - # free up the unneeded memory before spawning the compiler
1736 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
1737 - echo -e "\033[1m${@}\033[0m"
1738 - "${@}" || die "translation failed"
1739 -}
1740 -
1741 -src_compile() {
1742 - emake -C "${T}"/usession*-0/testing_1
1743 -
1744 - # copy back to make sys.prefix happy
1745 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
1746 - pax-mark m pypy3-c libpypy3-c.so
1747 -
1748 - #use doc && emake -C pypy/doc html
1749 -}
1750 -
1751 -src_install() {
1752 - local flags=( bzip2 jit ncurses sandbox )
1753 - use x86 && flags+=( cpu_flags_x86_sse2 )
1754 - local f suffix="-${ARCH}"
1755 -
1756 - for f in ${flags[@]}; do
1757 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
1758 - done
1759 -
1760 - local BIN_P=pypy3-bin-${PV}
1761 -
1762 - einfo "Zipping PyPy ..."
1763 - mkdir "${BIN_P}${suffix}"{,/include} || die
1764 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
1765 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
1766 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
1767 -
1768 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
1769 - lzip -v9 "${BIN_P}${suffix}.tar" || die
1770 -}
1771 -
1772 -# Yup, very hacky.
1773 -pkg_preinst() {
1774 - # integrity check.
1775 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
1776 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1777 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1778 -}
1779
1780 diff --git a/dev-binpkg/pypy3/pypy3-5.9.0.ebuild b/dev-binpkg/pypy3/pypy3-5.9.0.ebuild
1781 deleted file mode 100644
1782 index 4890a7f..0000000
1783 --- a/dev-binpkg/pypy3/pypy3-5.9.0.ebuild
1784 +++ /dev/null
1785 @@ -1,199 +0,0 @@
1786 -# Copyright 1999-2017 Gentoo Foundation
1787 -# Distributed under the terms of the GNU General Public License v2
1788 -
1789 -EAPI=6
1790 -
1791 -# pypy3 needs to be built using python 2
1792 -PYTHON_COMPAT=( python2_7 pypy )
1793 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
1794 -
1795 -MY_P=pypy3-v${PV}
1796 -
1797 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
1798 -HOMEPAGE="http://pypy.org/"
1799 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
1800 -
1801 -LICENSE="MIT"
1802 -# XX from pypy3-XX.so module suffix
1803 -SLOT="0/59"
1804 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
1805 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
1806 -
1807 -DEPEND=">=sys-libs/zlib-1.1.3:0=
1808 - virtual/libffi:0=
1809 - virtual/libintl:0=
1810 - dev-libs/expat:0=
1811 - !libressl? ( dev-libs/openssl:0=[-bindist] )
1812 - libressl? ( dev-libs/libressl:0= )
1813 - bzip2? ( app-arch/bzip2:0= )
1814 - ncurses? ( sys-libs/ncurses:0= )
1815 - app-arch/lzip
1816 - low-memory? ( virtual/pypy:0 )
1817 - !low-memory? ( ${PYTHON_DEPS} )"
1818 -# doc? ( dev-python/sphinx )
1819 -
1820 -S="${WORKDIR}/${MY_P}-src"
1821 -
1822 -pkg_pretend() {
1823 - if [[ ${MERGE_TYPE} != binary ]]; then
1824 - if use low-memory; then
1825 - CHECKREQS_MEMORY="1750M"
1826 - use amd64 && CHECKREQS_MEMORY="3500M"
1827 - else
1828 - CHECKREQS_MEMORY="3G"
1829 - use amd64 && CHECKREQS_MEMORY="6G"
1830 - fi
1831 -
1832 - check-reqs_pkg_pretend
1833 - fi
1834 -}
1835 -
1836 -pkg_setup() {
1837 - if [[ ${MERGE_TYPE} != binary ]]; then
1838 - pkg_pretend
1839 -
1840 - # unset to allow forcing pypy below :)
1841 - use low-memory && local EPYTHON=
1842 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
1843 - einfo "Using PyPy to perform the translation."
1844 - local EPYTHON=pypy
1845 - else
1846 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
1847 - einfo "recommends using PyPy for that. If you wish to do so, please install"
1848 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
1849 - fi
1850 -
1851 - python-any-r1_pkg_setup
1852 -
1853 - local cpu
1854 - if use amd64; then
1855 - # common denominator between Intel & AMD
1856 - cpu='x86-64'
1857 - elif use x86; then
1858 - if use cpu_flags_x86_sse2; then
1859 - # lowest with SSE2
1860 - cpu='pentium-m'
1861 - else
1862 - # lowest with SSE, compat. with athlon-xp
1863 - # TODO: do we want to support something older?
1864 - cpu='pentium3'
1865 - fi
1866 - else
1867 - die "Unsupported arch ${ARCH}"
1868 - fi
1869 -
1870 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
1871 - export CXXFLAGS=${CFLAGS}
1872 -
1873 - elog "CFLAGS: ${CFLAGS}"
1874 - fi
1875 -}
1876 -
1877 -src_prepare() {
1878 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
1879 -
1880 - eapply_user
1881 -}
1882 -
1883 -src_configure() {
1884 - tc-export CC
1885 -
1886 - local jit_backend
1887 - if use jit; then
1888 - jit_backend='--jit-backend='
1889 -
1890 - # We only need the explicit sse2 switch for x86.
1891 - # On other arches we can rely on autodetection which uses
1892 - # compiler macros. Plus, --jit-backend= doesn't accept all
1893 - # the modern values...
1894 -
1895 - if use x86; then
1896 - if use cpu_flags_x86_sse2; then
1897 - jit_backend+=x86
1898 - else
1899 - jit_backend+=x86-without-sse2
1900 - fi
1901 - else
1902 - jit_backend+=auto
1903 - fi
1904 - fi
1905 -
1906 - local args=(
1907 - --shared
1908 - $(usex jit -Ojit -O2)
1909 - $(usex sandbox --sandbox '')
1910 -
1911 - ${jit_backend}
1912 - --make-jobs=$(makeopts_jobs)
1913 -
1914 - pypy/goal/targetpypystandalone
1915 - )
1916 -
1917 - # Avoid linking against libraries disabled by use flags
1918 - local opts=(
1919 - bzip2:bz2
1920 - ncurses:_minimal_curses
1921 - )
1922 -
1923 - local opt
1924 - for opt in "${opts[@]}"; do
1925 - local flag=${opt%:*}
1926 - local mod=${opt#*:}
1927 -
1928 - args+=(
1929 - $(usex ${flag} --withmod --withoutmod)-${mod}
1930 - )
1931 - done
1932 -
1933 - local interp=( "${PYTHON}" )
1934 - if use low-memory; then
1935 - interp=( env PYPY_GC_MAX_DELTA=200MB
1936 - "${PYTHON}" --jit loop_longevity=300 )
1937 - fi
1938 -
1939 - # translate into the C sources
1940 - # we're going to make them ourselves since otherwise pypy does not
1941 - # free up the unneeded memory before spawning the compiler
1942 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
1943 - echo -e "\033[1m${@}\033[0m"
1944 - "${@}" || die "translation failed"
1945 -}
1946 -
1947 -src_compile() {
1948 - emake -C "${T}"/usession*-0/testing_1
1949 -
1950 - # copy back to make sys.prefix happy
1951 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
1952 - pax-mark m pypy3-c libpypy3-c.so
1953 -
1954 - #use doc && emake -C pypy/doc html
1955 -}
1956 -
1957 -src_install() {
1958 - local flags=( bzip2 jit ncurses sandbox )
1959 - use x86 && flags+=( cpu_flags_x86_sse2 )
1960 - local f suffix="-${ARCH}"
1961 -
1962 - for f in ${flags[@]}; do
1963 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
1964 - done
1965 -
1966 - local BIN_P=pypy3-bin-${PV}
1967 -
1968 - einfo "Zipping PyPy ..."
1969 - mkdir "${BIN_P}${suffix}"{,/include} || die
1970 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
1971 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
1972 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
1973 -
1974 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
1975 - lzip -v9 "${BIN_P}${suffix}.tar" || die
1976 -}
1977 -
1978 -# Yup, very hacky.
1979 -pkg_preinst() {
1980 - # integrity check.
1981 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
1982 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1983 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
1984 -}
1985
1986 diff --git a/dev-binpkg/pypy3/pypy3-6.0.0.ebuild b/dev-binpkg/pypy3/pypy3-6.0.0.ebuild
1987 deleted file mode 100644
1988 index 4890a7f..0000000
1989 --- a/dev-binpkg/pypy3/pypy3-6.0.0.ebuild
1990 +++ /dev/null
1991 @@ -1,199 +0,0 @@
1992 -# Copyright 1999-2017 Gentoo Foundation
1993 -# Distributed under the terms of the GNU General Public License v2
1994 -
1995 -EAPI=6
1996 -
1997 -# pypy3 needs to be built using python 2
1998 -PYTHON_COMPAT=( python2_7 pypy )
1999 -inherit check-reqs multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
2000 -
2001 -MY_P=pypy3-v${PV}
2002 -
2003 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.3) language"
2004 -HOMEPAGE="http://pypy.org/"
2005 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
2006 -
2007 -LICENSE="MIT"
2008 -# XX from pypy3-XX.so module suffix
2009 -SLOT="0/59"
2010 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
2011 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
2012 -
2013 -DEPEND=">=sys-libs/zlib-1.1.3:0=
2014 - virtual/libffi:0=
2015 - virtual/libintl:0=
2016 - dev-libs/expat:0=
2017 - !libressl? ( dev-libs/openssl:0=[-bindist] )
2018 - libressl? ( dev-libs/libressl:0= )
2019 - bzip2? ( app-arch/bzip2:0= )
2020 - ncurses? ( sys-libs/ncurses:0= )
2021 - app-arch/lzip
2022 - low-memory? ( virtual/pypy:0 )
2023 - !low-memory? ( ${PYTHON_DEPS} )"
2024 -# doc? ( dev-python/sphinx )
2025 -
2026 -S="${WORKDIR}/${MY_P}-src"
2027 -
2028 -pkg_pretend() {
2029 - if [[ ${MERGE_TYPE} != binary ]]; then
2030 - if use low-memory; then
2031 - CHECKREQS_MEMORY="1750M"
2032 - use amd64 && CHECKREQS_MEMORY="3500M"
2033 - else
2034 - CHECKREQS_MEMORY="3G"
2035 - use amd64 && CHECKREQS_MEMORY="6G"
2036 - fi
2037 -
2038 - check-reqs_pkg_pretend
2039 - fi
2040 -}
2041 -
2042 -pkg_setup() {
2043 - if [[ ${MERGE_TYPE} != binary ]]; then
2044 - pkg_pretend
2045 -
2046 - # unset to allow forcing pypy below :)
2047 - use low-memory && local EPYTHON=
2048 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
2049 - einfo "Using PyPy to perform the translation."
2050 - local EPYTHON=pypy
2051 - else
2052 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
2053 - einfo "recommends using PyPy for that. If you wish to do so, please install"
2054 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
2055 - fi
2056 -
2057 - python-any-r1_pkg_setup
2058 -
2059 - local cpu
2060 - if use amd64; then
2061 - # common denominator between Intel & AMD
2062 - cpu='x86-64'
2063 - elif use x86; then
2064 - if use cpu_flags_x86_sse2; then
2065 - # lowest with SSE2
2066 - cpu='pentium-m'
2067 - else
2068 - # lowest with SSE, compat. with athlon-xp
2069 - # TODO: do we want to support something older?
2070 - cpu='pentium3'
2071 - fi
2072 - else
2073 - die "Unsupported arch ${ARCH}"
2074 - fi
2075 -
2076 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
2077 - export CXXFLAGS=${CFLAGS}
2078 -
2079 - elog "CFLAGS: ${CFLAGS}"
2080 - fi
2081 -}
2082 -
2083 -src_prepare() {
2084 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
2085 -
2086 - eapply_user
2087 -}
2088 -
2089 -src_configure() {
2090 - tc-export CC
2091 -
2092 - local jit_backend
2093 - if use jit; then
2094 - jit_backend='--jit-backend='
2095 -
2096 - # We only need the explicit sse2 switch for x86.
2097 - # On other arches we can rely on autodetection which uses
2098 - # compiler macros. Plus, --jit-backend= doesn't accept all
2099 - # the modern values...
2100 -
2101 - if use x86; then
2102 - if use cpu_flags_x86_sse2; then
2103 - jit_backend+=x86
2104 - else
2105 - jit_backend+=x86-without-sse2
2106 - fi
2107 - else
2108 - jit_backend+=auto
2109 - fi
2110 - fi
2111 -
2112 - local args=(
2113 - --shared
2114 - $(usex jit -Ojit -O2)
2115 - $(usex sandbox --sandbox '')
2116 -
2117 - ${jit_backend}
2118 - --make-jobs=$(makeopts_jobs)
2119 -
2120 - pypy/goal/targetpypystandalone
2121 - )
2122 -
2123 - # Avoid linking against libraries disabled by use flags
2124 - local opts=(
2125 - bzip2:bz2
2126 - ncurses:_minimal_curses
2127 - )
2128 -
2129 - local opt
2130 - for opt in "${opts[@]}"; do
2131 - local flag=${opt%:*}
2132 - local mod=${opt#*:}
2133 -
2134 - args+=(
2135 - $(usex ${flag} --withmod --withoutmod)-${mod}
2136 - )
2137 - done
2138 -
2139 - local interp=( "${PYTHON}" )
2140 - if use low-memory; then
2141 - interp=( env PYPY_GC_MAX_DELTA=200MB
2142 - "${PYTHON}" --jit loop_longevity=300 )
2143 - fi
2144 -
2145 - # translate into the C sources
2146 - # we're going to make them ourselves since otherwise pypy does not
2147 - # free up the unneeded memory before spawning the compiler
2148 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
2149 - echo -e "\033[1m${@}\033[0m"
2150 - "${@}" || die "translation failed"
2151 -}
2152 -
2153 -src_compile() {
2154 - emake -C "${T}"/usession*-0/testing_1
2155 -
2156 - # copy back to make sys.prefix happy
2157 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
2158 - pax-mark m pypy3-c libpypy3-c.so
2159 -
2160 - #use doc && emake -C pypy/doc html
2161 -}
2162 -
2163 -src_install() {
2164 - local flags=( bzip2 jit ncurses sandbox )
2165 - use x86 && flags+=( cpu_flags_x86_sse2 )
2166 - local f suffix="-${ARCH}"
2167 -
2168 - for f in ${flags[@]}; do
2169 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
2170 - done
2171 -
2172 - local BIN_P=pypy3-bin-${PV}
2173 -
2174 - einfo "Zipping PyPy ..."
2175 - mkdir "${BIN_P}${suffix}"{,/include} || die
2176 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
2177 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
2178 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
2179 -
2180 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
2181 - lzip -v9 "${BIN_P}${suffix}.tar" || die
2182 -}
2183 -
2184 -# Yup, very hacky.
2185 -pkg_preinst() {
2186 - # integrity check.
2187 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
2188 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2189 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2190 -}
2191
2192 diff --git a/dev-binpkg/pypy3/pypy3-7.0.0.ebuild b/dev-binpkg/pypy3/pypy3-7.0.0.ebuild
2193 deleted file mode 100644
2194 index e9d7985..0000000
2195 --- a/dev-binpkg/pypy3/pypy3-7.0.0.ebuild
2196 +++ /dev/null
2197 @@ -1,178 +0,0 @@
2198 -# Copyright 1999-2019 Gentoo Authors
2199 -# Distributed under the terms of the GNU General Public License v2
2200 -
2201 -EAPI=7
2202 -
2203 -# pypy3 needs to be built using python 2
2204 -PYTHON_COMPAT=( python2_7 pypy )
2205 -inherit check-reqs pax-utils python-any-r1 toolchain-funcs
2206 -
2207 -MY_P=pypy3.5-v${PV}
2208 -
2209 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.5) language"
2210 -HOMEPAGE="http://pypy.org/"
2211 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
2212 -
2213 -LICENSE="MIT"
2214 -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
2215 -SLOT="0/71"
2216 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
2217 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
2218 -
2219 -DEPEND=">=sys-libs/zlib-1.1.3:0=
2220 - virtual/libffi:0=
2221 - virtual/libintl:0=
2222 - dev-libs/expat:0=
2223 - !libressl? ( dev-libs/openssl:0=[-bindist] )
2224 - libressl? ( dev-libs/libressl:0= )
2225 - bzip2? ( app-arch/bzip2:0= )
2226 - ncurses? ( sys-libs/ncurses:0= )
2227 - app-arch/lzip
2228 - low-memory? ( virtual/pypy:0 )
2229 - !low-memory? ( ${PYTHON_DEPS} )"
2230 -# doc? ( dev-python/sphinx )
2231 -
2232 -S="${WORKDIR}/${MY_P}-src"
2233 -
2234 -pkg_pretend() {
2235 - if [[ ${MERGE_TYPE} != binary ]]; then
2236 - if use low-memory; then
2237 - CHECKREQS_MEMORY="1750M"
2238 - use amd64 && CHECKREQS_MEMORY="3500M"
2239 - else
2240 - CHECKREQS_MEMORY="3G"
2241 - use amd64 && CHECKREQS_MEMORY="6G"
2242 - fi
2243 -
2244 - check-reqs_pkg_pretend
2245 - fi
2246 -}
2247 -
2248 -pkg_setup() {
2249 - if [[ ${MERGE_TYPE} != binary ]]; then
2250 - pkg_pretend
2251 -
2252 - # unset to allow forcing pypy below :)
2253 - use low-memory && local EPYTHON=
2254 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
2255 - einfo "Using PyPy to perform the translation."
2256 - local EPYTHON=pypy
2257 - else
2258 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
2259 - einfo "recommends using PyPy for that. If you wish to do so, please install"
2260 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
2261 - fi
2262 -
2263 - python-any-r1_pkg_setup
2264 -
2265 - local cpu
2266 - if use amd64; then
2267 - # common denominator between Intel & AMD
2268 - cpu='x86-64'
2269 - elif use x86; then
2270 - if use cpu_flags_x86_sse2; then
2271 - # lowest with SSE2
2272 - cpu='pentium-m'
2273 - else
2274 - # lowest with SSE, compat. with athlon-xp
2275 - # TODO: do we want to support something older?
2276 - cpu='pentium3'
2277 - fi
2278 - else
2279 - die "Unsupported arch ${ARCH}"
2280 - fi
2281 -
2282 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
2283 - export CXXFLAGS=${CFLAGS}
2284 -
2285 - elog "CFLAGS: ${CFLAGS}"
2286 - fi
2287 -}
2288 -
2289 -src_prepare() {
2290 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
2291 -
2292 - eapply_user
2293 -}
2294 -
2295 -src_configure() {
2296 - tc-export CC
2297 -
2298 - local args=(
2299 - --shared
2300 - $(usex jit -Ojit -O2)
2301 - $(usex sandbox --sandbox '')
2302 -
2303 - --jit-backend=auto
2304 -
2305 - pypy/goal/targetpypystandalone
2306 - )
2307 -
2308 - # Avoid linking against libraries disabled by use flags
2309 - local opts=(
2310 - bzip2:bz2
2311 - ncurses:_minimal_curses
2312 - )
2313 -
2314 - local opt
2315 - for opt in "${opts[@]}"; do
2316 - local flag=${opt%:*}
2317 - local mod=${opt#*:}
2318 -
2319 - args+=(
2320 - $(usex ${flag} --withmod --withoutmod)-${mod}
2321 - )
2322 - done
2323 -
2324 - local interp=( "${PYTHON}" )
2325 - if use low-memory; then
2326 - interp=( env PYPY_GC_MAX_DELTA=200MB
2327 - "${PYTHON}" --jit loop_longevity=300 )
2328 - fi
2329 -
2330 - # translate into the C sources
2331 - # we're going to make them ourselves since otherwise pypy does not
2332 - # free up the unneeded memory before spawning the compiler
2333 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
2334 - echo -e "\033[1m${@}\033[0m"
2335 - "${@}" || die "translation failed"
2336 -}
2337 -
2338 -src_compile() {
2339 - emake -C "${T}"/usession*-0/testing_1
2340 -
2341 - # copy back to make sys.prefix happy
2342 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
2343 - pax-mark m pypy3-c libpypy3-c.so
2344 -
2345 - #use doc && emake -C pypy/doc html
2346 -}
2347 -
2348 -src_install() {
2349 - local flags=( bzip2 jit ncurses sandbox )
2350 - use x86 && flags+=( cpu_flags_x86_sse2 )
2351 - local f suffix="-${ARCH}"
2352 -
2353 - for f in ${flags[@]}; do
2354 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
2355 - done
2356 -
2357 - local BIN_P=pypy3-bin-${PV}
2358 -
2359 - einfo "Zipping PyPy ..."
2360 - mkdir "${BIN_P}${suffix}"{,/include} || die
2361 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
2362 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
2363 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
2364 -
2365 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
2366 - lzip -v9 "${BIN_P}${suffix}.tar" || die
2367 -}
2368 -
2369 -# Yup, very hacky.
2370 -pkg_preinst() {
2371 - # integrity check.
2372 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
2373 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2374 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2375 -}
2376
2377 diff --git a/dev-binpkg/pypy3/pypy3-7.1.0.ebuild b/dev-binpkg/pypy3/pypy3-7.1.0.ebuild
2378 deleted file mode 100644
2379 index f1e198c..0000000
2380 --- a/dev-binpkg/pypy3/pypy3-7.1.0.ebuild
2381 +++ /dev/null
2382 @@ -1,178 +0,0 @@
2383 -# Copyright 1999-2019 Gentoo Authors
2384 -# Distributed under the terms of the GNU General Public License v2
2385 -
2386 -EAPI=7
2387 -
2388 -# pypy3 needs to be built using python 2
2389 -PYTHON_COMPAT=( python2_7 pypy )
2390 -inherit check-reqs pax-utils python-any-r1 toolchain-funcs
2391 -
2392 -MY_P=pypy3.6-v${PV}
2393 -
2394 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.6) language"
2395 -HOMEPAGE="http://pypy.org/"
2396 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
2397 -
2398 -LICENSE="MIT"
2399 -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
2400 -SLOT="0/71"
2401 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
2402 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
2403 -
2404 -DEPEND=">=sys-libs/zlib-1.1.3:0=
2405 - virtual/libffi:0=
2406 - virtual/libintl:0=
2407 - dev-libs/expat:0=
2408 - !libressl? ( dev-libs/openssl:0=[-bindist] )
2409 - libressl? ( dev-libs/libressl:0= )
2410 - bzip2? ( app-arch/bzip2:0= )
2411 - ncurses? ( sys-libs/ncurses:0= )
2412 - app-arch/lzip
2413 - low-memory? ( virtual/pypy:0 )
2414 - !low-memory? ( ${PYTHON_DEPS} )"
2415 -# doc? ( dev-python/sphinx )
2416 -
2417 -S="${WORKDIR}/${MY_P}-src"
2418 -
2419 -pkg_pretend() {
2420 - if [[ ${MERGE_TYPE} != binary ]]; then
2421 - if use low-memory; then
2422 - CHECKREQS_MEMORY="1750M"
2423 - use amd64 && CHECKREQS_MEMORY="3500M"
2424 - else
2425 - CHECKREQS_MEMORY="3G"
2426 - use amd64 && CHECKREQS_MEMORY="6G"
2427 - fi
2428 -
2429 - check-reqs_pkg_pretend
2430 - fi
2431 -}
2432 -
2433 -pkg_setup() {
2434 - if [[ ${MERGE_TYPE} != binary ]]; then
2435 - pkg_pretend
2436 -
2437 - # unset to allow forcing pypy below :)
2438 - use low-memory && local EPYTHON=
2439 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
2440 - einfo "Using PyPy to perform the translation."
2441 - local EPYTHON=pypy
2442 - else
2443 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
2444 - einfo "recommends using PyPy for that. If you wish to do so, please install"
2445 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
2446 - fi
2447 -
2448 - python-any-r1_pkg_setup
2449 -
2450 - local cpu
2451 - if use amd64; then
2452 - # common denominator between Intel & AMD
2453 - cpu='x86-64'
2454 - elif use x86; then
2455 - if use cpu_flags_x86_sse2; then
2456 - # lowest with SSE2
2457 - cpu='pentium-m'
2458 - else
2459 - # lowest with SSE, compat. with athlon-xp
2460 - # TODO: do we want to support something older?
2461 - cpu='pentium3'
2462 - fi
2463 - else
2464 - die "Unsupported arch ${ARCH}"
2465 - fi
2466 -
2467 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
2468 - export CXXFLAGS=${CFLAGS}
2469 -
2470 - elog "CFLAGS: ${CFLAGS}"
2471 - fi
2472 -}
2473 -
2474 -src_prepare() {
2475 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
2476 -
2477 - eapply_user
2478 -}
2479 -
2480 -src_configure() {
2481 - tc-export CC
2482 -
2483 - local args=(
2484 - --shared
2485 - $(usex jit -Ojit -O2)
2486 - $(usex sandbox --sandbox '')
2487 -
2488 - --jit-backend=auto
2489 -
2490 - pypy/goal/targetpypystandalone
2491 - )
2492 -
2493 - # Avoid linking against libraries disabled by use flags
2494 - local opts=(
2495 - bzip2:bz2
2496 - ncurses:_minimal_curses
2497 - )
2498 -
2499 - local opt
2500 - for opt in "${opts[@]}"; do
2501 - local flag=${opt%:*}
2502 - local mod=${opt#*:}
2503 -
2504 - args+=(
2505 - $(usex ${flag} --withmod --withoutmod)-${mod}
2506 - )
2507 - done
2508 -
2509 - local interp=( "${PYTHON}" )
2510 - if use low-memory; then
2511 - interp=( env PYPY_GC_MAX_DELTA=200MB
2512 - "${PYTHON}" --jit loop_longevity=300 )
2513 - fi
2514 -
2515 - # translate into the C sources
2516 - # we're going to make them ourselves since otherwise pypy does not
2517 - # free up the unneeded memory before spawning the compiler
2518 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
2519 - echo -e "\033[1m${@}\033[0m"
2520 - "${@}" || die "translation failed"
2521 -}
2522 -
2523 -src_compile() {
2524 - emake -C "${T}"/usession*-0/testing_1
2525 -
2526 - # copy back to make sys.prefix happy
2527 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
2528 - pax-mark m pypy3-c libpypy3-c.so
2529 -
2530 - #use doc && emake -C pypy/doc html
2531 -}
2532 -
2533 -src_install() {
2534 - local flags=( bzip2 jit ncurses sandbox )
2535 - use x86 && flags+=( cpu_flags_x86_sse2 )
2536 - local f suffix="-${ARCH}"
2537 -
2538 - for f in ${flags[@]}; do
2539 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
2540 - done
2541 -
2542 - local BIN_P=pypy3-bin-${PV}
2543 -
2544 - einfo "Zipping PyPy ..."
2545 - mkdir "${BIN_P}${suffix}"{,/include} || die
2546 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
2547 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
2548 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
2549 -
2550 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
2551 - lzip -v9 "${BIN_P}${suffix}.tar" || die
2552 -}
2553 -
2554 -# Yup, very hacky.
2555 -pkg_preinst() {
2556 - # integrity check.
2557 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
2558 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2559 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2560 -}
2561
2562 diff --git a/dev-binpkg/pypy3/pypy3-7.1.1.ebuild b/dev-binpkg/pypy3/pypy3-7.1.1.ebuild
2563 deleted file mode 100644
2564 index c104421..0000000
2565 --- a/dev-binpkg/pypy3/pypy3-7.1.1.ebuild
2566 +++ /dev/null
2567 @@ -1,198 +0,0 @@
2568 -# Copyright 1999-2019 Gentoo Authors
2569 -# Distributed under the terms of the GNU General Public License v2
2570 -
2571 -EAPI=7
2572 -
2573 -# pypy3 needs to be built using python 2
2574 -PYTHON_COMPAT=( python2_7 pypy )
2575 -inherit check-reqs pax-utils python-any-r1 toolchain-funcs
2576 -
2577 -MY_P=pypy3.6-v${PV}
2578 -
2579 -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.6) language"
2580 -HOMEPAGE="http://pypy.org/"
2581 -SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2"
2582 -
2583 -LICENSE="MIT"
2584 -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
2585 -SLOT="0/71"
2586 -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
2587 -IUSE="bzip2 +jit libressl low-memory ncurses sandbox cpu_flags_x86_sse2"
2588 -
2589 -DEPEND=">=sys-libs/zlib-1.1.3:0=
2590 - virtual/libffi:0=
2591 - virtual/libintl:0=
2592 - dev-libs/expat:0=
2593 - !libressl? ( dev-libs/openssl:0=[-bindist] )
2594 - libressl? ( dev-libs/libressl:0= )
2595 - bzip2? ( app-arch/bzip2:0= )
2596 - ncurses? ( sys-libs/ncurses:0= )
2597 - app-arch/lzip
2598 - low-memory? ( virtual/pypy:0 )
2599 - !low-memory? ( ${PYTHON_DEPS} )"
2600 -# doc? ( dev-python/sphinx )
2601 -
2602 -S="${WORKDIR}/${MY_P}-src"
2603 -
2604 -pkg_pretend() {
2605 - if [[ ${MERGE_TYPE} != binary ]]; then
2606 - if use low-memory; then
2607 - CHECKREQS_MEMORY="1750M"
2608 - use amd64 && CHECKREQS_MEMORY="3500M"
2609 - else
2610 - CHECKREQS_MEMORY="3G"
2611 - use amd64 && CHECKREQS_MEMORY="6G"
2612 - fi
2613 -
2614 - check-reqs_pkg_pretend
2615 - fi
2616 -}
2617 -
2618 -pkg_setup() {
2619 - if [[ ${MERGE_TYPE} != binary ]]; then
2620 - pkg_pretend
2621 -
2622 - # unset to allow forcing pypy below :)
2623 - use low-memory && local EPYTHON=
2624 - if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
2625 - einfo "Using PyPy to perform the translation."
2626 - local EPYTHON=pypy
2627 - else
2628 - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
2629 - einfo "recommends using PyPy for that. If you wish to do so, please install"
2630 - einfo "virtual/pypy and ensure that EPYTHON variable is unset."
2631 - fi
2632 -
2633 - python-any-r1_pkg_setup
2634 -
2635 - local cpu
2636 - if use amd64; then
2637 - # common denominator between Intel & AMD
2638 - cpu='x86-64'
2639 - elif use x86; then
2640 - if use cpu_flags_x86_sse2; then
2641 - # lowest with SSE2
2642 - cpu='pentium-m'
2643 - else
2644 - # lowest with SSE, compat. with athlon-xp
2645 - # TODO: do we want to support something older?
2646 - cpu='pentium3'
2647 - fi
2648 - else
2649 - die "Unsupported arch ${ARCH}"
2650 - fi
2651 -
2652 - export CFLAGS="-march=${cpu} -mtune=generic -O2 -pipe"
2653 - export CXXFLAGS=${CFLAGS}
2654 -
2655 - elog "CFLAGS: ${CFLAGS}"
2656 - fi
2657 -}
2658 -
2659 -src_prepare() {
2660 - eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
2661 -
2662 - eapply_user
2663 -}
2664 -
2665 -src_configure() {
2666 - tc-export CC
2667 -
2668 - local jit_backend
2669 - if use jit; then
2670 - jit_backend='--jit-backend='
2671 -
2672 - # We only need the explicit sse2 switch for x86.
2673 - # On other arches we can rely on autodetection which uses
2674 - # compiler macros. Plus, --jit-backend= doesn't accept all
2675 - # the modern values...
2676 -
2677 - if use x86; then
2678 - if use cpu_flags_x86_sse2; then
2679 - jit_backend+=x86
2680 - else
2681 - jit_backend+=x86-without-sse2
2682 - fi
2683 - else
2684 - jit_backend+=auto
2685 - fi
2686 - fi
2687 -
2688 - local args=(
2689 - --shared
2690 - $(usex jit -Ojit -O2)
2691 - $(usex sandbox --sandbox '')
2692 -
2693 - ${jit_backend}
2694 -
2695 - pypy/goal/targetpypystandalone
2696 - )
2697 -
2698 - # Avoid linking against libraries disabled by use flags
2699 - local opts=(
2700 - bzip2:bz2
2701 - ncurses:_minimal_curses
2702 - )
2703 -
2704 - local opt
2705 - for opt in "${opts[@]}"; do
2706 - local flag=${opt%:*}
2707 - local mod=${opt#*:}
2708 -
2709 - args+=(
2710 - $(usex ${flag} --withmod --withoutmod)-${mod}
2711 - )
2712 - done
2713 -
2714 - local interp=( "${PYTHON}" )
2715 - if use low-memory; then
2716 - interp=( env PYPY_GC_MAX_DELTA=200MB
2717 - "${PYTHON}" --jit loop_longevity=300 )
2718 - fi
2719 -
2720 - # translate into the C sources
2721 - # we're going to make them ourselves since otherwise pypy does not
2722 - # free up the unneeded memory before spawning the compiler
2723 - set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
2724 - echo -e "\033[1m${@}\033[0m"
2725 - "${@}" || die "translation failed"
2726 -}
2727 -
2728 -src_compile() {
2729 - emake -C "${T}"/usession*-0/testing_1
2730 -
2731 - # copy back to make sys.prefix happy
2732 - cp -p "${T}"/usession*-0/testing_1/{pypy3-c,libpypy3-c.so} . || die
2733 - pax-mark m pypy3-c libpypy3-c.so
2734 -
2735 - #use doc && emake -C pypy/doc html
2736 -}
2737 -
2738 -src_install() {
2739 - local flags=( bzip2 jit ncurses sandbox )
2740 - use x86 && flags+=( cpu_flags_x86_sse2 )
2741 - local f suffix="-${ARCH}"
2742 -
2743 - for f in ${flags[@]}; do
2744 - use ${f} && suffix+="+${f#cpu_flags_x86_}"
2745 - done
2746 -
2747 - local BIN_P=pypy3-bin-${PV}
2748 -
2749 - einfo "Zipping PyPy ..."
2750 - mkdir "${BIN_P}${suffix}"{,/include} || die
2751 - mv pypy3-c libpypy3-c.so "${BIN_P}${suffix}"/ || die
2752 - mv include/pypy_* "${BIN_P}${suffix}"/include/ || die
2753 - chmod +x "${BIN_P}${suffix}"/pypy3-c || die
2754 -
2755 - tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die
2756 - lzip -v9 "${BIN_P}${suffix}.tar" || die
2757 -}
2758 -
2759 -# Yup, very hacky.
2760 -pkg_preinst() {
2761 - # integrity check.
2762 - [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!'
2763 - mkdir -p "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2764 - mv "${S}"/*.tar.lz "${ROOT%/}${PYPY_BINPKG_STORE}" || die
2765 -}