1 |
commit: 539c46300a0c95b623d6e7c4cdc68c8ff3791ab1 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Feb 20 14:15:56 2022 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Feb 20 14:19:15 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=539c4630 |
7 |
|
8 |
dev-python/pypy3-exe: Remove old |
9 |
|
10 |
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> |
11 |
|
12 |
dev-python/pypy3-exe/Manifest | 5 - |
13 |
dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1.ebuild | 166 --------------------- |
14 |
dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1_p2.ebuild | 166 --------------------- |
15 |
dev-python/pypy3-exe/pypy3-exe-7.3.8_rc2.ebuild | 166 --------------------- |
16 |
4 files changed, 503 deletions(-) |
17 |
|
18 |
diff --git a/dev-python/pypy3-exe/Manifest b/dev-python/pypy3-exe/Manifest |
19 |
index cabb480dca8c..782c1546b167 100644 |
20 |
--- a/dev-python/pypy3-exe/Manifest |
21 |
+++ b/dev-python/pypy3-exe/Manifest |
22 |
@@ -1,9 +1,4 @@ |
23 |
DIST pypy3.8-gentoo-patches-7.3.7.tar.xz 4396 BLAKE2B adc33a02ada4d22eae0484292ec6cc295805d9f254b7a9110c622628aa40011621a1833ca62d3251e4e5056c406f648e7ad0439bd60e77c38808dd9df46973a5 SHA512 1cda8467de2d749d98fa20d7d200b5f96dae0ca68cf44a054d03f3f148bc3946ba1f1c474ac0336560f79c78b3eddcd4ba24386e83de283c83475b8e4b75bdf8 |
24 |
DIST pypy3.8-v7.3.7-src.tar.bz2 24375444 BLAKE2B 44fe19ee63d95243c499ecb0b84e77873c73da93320b1e028a5c6c4b167441d223812dc66b16e070308cba48c4d8774738f827319cce9d1769b3f4346e15487c SHA512 9e6701cc441d5535968656cfb0cfa9076c364f9ba32bc6f0ef64f06ab343281e2458dbe88791c0e02401457fbf80d367f397fc904f6146bff68e04a15e05fda2 |
25 |
DIST pypy3.9-gentoo-patches-7.3.8.tar.xz 1568 BLAKE2B 0011188de7b5757964bd13c49d5995a656a721acd54e1d77f7e77fac7420a2a56ca75eb42709e2304a771fa69c982fc6901e9fc9580ab8e8b35e7bb8b0cc83a6 SHA512 1064e987b7233fc55f94bd49aeeab9a9fd9322e90798439ad9a4c35020ca923fe0670e47406ab180a6f8e7afd65d03be23427d4fa43befa3c0ce172028e1a09f |
26 |
-DIST pypy3.9-gentoo-patches-7.3.8rc1.tar.xz 1232 BLAKE2B 9f56ed8fb2e40a5a52a30cd43973fa8ff777ffee49d07c72a1a15cac5be57b6e9531671832abb2f9d645b75e070f8fedc13197b19d680adc718bc5294be30418 SHA512 ff0aa40124270d1b4765aac99c86968ef32f26b4b59d073a59ea0883958d964fc4bed668e5b8b304f7d7c97d50040c1650788ae196d33c53e276f869ba57e841 |
27 |
-DIST pypy3.9-gentoo-patches-7.3.8rc1_p2.tar.xz 7252 BLAKE2B 9d7b908f8506053600694dd9e00aac4cbed9a999935a3468309103070930972751b0838eb5fc15063895f3090815aeef7e7603d5f9e21a99b65f658ccb1592e0 SHA512 c699d11e3342ef0f2ee3a5ccbb6a18a6f7ecd5513b553f1c2b0cb0aea59992603c360cf9b995a0146e08f43ff71483d94bf117a5cddbe7e83b0fadc9eafd03b7 |
28 |
-DIST pypy3.9-gentoo-patches-7.3.8rc2.tar.xz 1568 BLAKE2B 983ccd0d7482a4542cf2cc7d66b5c515051cd9bdcc43b56ca932ddd7fe15b13d097f0257108fb82ef2619f468fcaa2e549be0ae115ac2635e867206f1d0a4431 SHA512 a8a9e477563d5bb64c7f1f401645f783f66e0a338e6ae44f4e5a5c11152ebca1232f0ce14270f6087b855137f00ba2dc57bfcccb4935eb5fb50c34e7791bb3a7 |
29 |
DIST pypy3.9-v7.3.8-src.tar.bz2 26277823 BLAKE2B 343fa4a57b69936a586acb036506e25c8de3a9761eb6622ef7266c136a1dc977cabc23969917bc2369fd73b1ae6fef731d81536179107f2d731352e6f5387bf9 SHA512 aed018738af7a225f516ec37d059d539f486d9dd427fe000805147b197f496d5fcb0387e47008524753ad18224aebeb1e68f9e2093acbe37468e02bff92f7126 |
30 |
-DIST pypy3.9-v7.3.8rc1-src.tar.bz2 26254113 BLAKE2B fb4eca88080eee91d4ec8886abb484de11997c73d5b60c5f9acab7cd7b8cbc9d80190608bb905d82b6bcd1bbf602b6afc53257c9263458fc51a2b5f32510a164 SHA512 d1b1942fbacc7f8d642c85ceb4c4c9796e73bd5836615e2db81f4ddabf9e4f94c230f2d946ea9c49b642d41304aeed3906df1931a52ec40c56d14f1028139978 |
31 |
-DIST pypy3.9-v7.3.8rc2-src.tar.bz2 26277719 BLAKE2B 7853d30983e43e20ee90af9a380c0c368c7d4cc0fd58c7e4ff3db80bffabdfefb7cb31a2d39e00f99ff0f34f23be77b9d7302926baa30a348c1ffde52f641937 SHA512 40fc0dd45bf24bc9a1bfa259bce11ee706ac73dd29f66a3e2a16bb9ca5c6683d4aedaf21394875ab3facb31eb65f4d497eaa3c10ef4394251ecb4b4a85511197 |
32 |
|
33 |
diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1.ebuild |
34 |
deleted file mode 100644 |
35 |
index 96e7ab01222b..000000000000 |
36 |
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1.ebuild |
37 |
+++ /dev/null |
38 |
@@ -1,166 +0,0 @@ |
39 |
-# Copyright 1999-2022 Gentoo Authors |
40 |
-# Distributed under the terms of the GNU General Public License v2 |
41 |
- |
42 |
-EAPI=8 |
43 |
- |
44 |
-# pypy3 needs to be built using python 2 |
45 |
-PYTHON_COMPAT=( python2_7 ) |
46 |
-inherit check-reqs pax-utils python-any-r1 toolchain-funcs |
47 |
- |
48 |
-PYPY_PV=${PV%_p*} |
49 |
-MY_P=pypy3.9-v${PYPY_PV/_} |
50 |
-PATCHSET="pypy3.9-gentoo-patches-${PV/_}" |
51 |
- |
52 |
-DESCRIPTION="PyPy3 executable (build from source)" |
53 |
-HOMEPAGE="https://www.pypy.org/" |
54 |
-SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 |
55 |
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" |
56 |
-S="${WORKDIR}/${MY_P}-src" |
57 |
- |
58 |
-LICENSE="MIT" |
59 |
-SLOT="3.9-${PYPY_PV}" |
60 |
-KEYWORDS="" |
61 |
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" |
62 |
- |
63 |
-RDEPEND=">=sys-libs/zlib-1.1.3:0= |
64 |
- dev-libs/libffi:0= |
65 |
- virtual/libintl:0= |
66 |
- dev-libs/expat:0= |
67 |
- bzip2? ( app-arch/bzip2:0= ) |
68 |
- ncurses? ( sys-libs/ncurses:0= ) |
69 |
- !dev-python/pypy3-exe-bin:${PYPY_PV}" |
70 |
-DEPEND="${RDEPEND}" |
71 |
-BDEPEND=" |
72 |
- low-memory? ( dev-python/pypy ) |
73 |
- !low-memory? ( |
74 |
- || ( |
75 |
- dev-python/pypy |
76 |
- dev-lang/python:2.7 |
77 |
- ) |
78 |
- )" |
79 |
- |
80 |
-check_env() { |
81 |
- if use low-memory; then |
82 |
- CHECKREQS_MEMORY="1750M" |
83 |
- use amd64 && CHECKREQS_MEMORY="3500M" |
84 |
- else |
85 |
- CHECKREQS_MEMORY="3G" |
86 |
- use amd64 && CHECKREQS_MEMORY="6G" |
87 |
- fi |
88 |
- |
89 |
- check-reqs_pkg_pretend |
90 |
-} |
91 |
- |
92 |
-pkg_pretend() { |
93 |
- [[ ${MERGE_TYPE} != binary ]] && check_env |
94 |
-} |
95 |
- |
96 |
-pkg_setup() { |
97 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
98 |
- check_env |
99 |
- |
100 |
- # unset to allow forcing pypy below :) |
101 |
- use low-memory && EPYTHON= |
102 |
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && |
103 |
- { has_version -b dev-python/pypy || |
104 |
- has_version -b dev-python/pypy-bin; } |
105 |
- then |
106 |
- einfo "Using PyPy to perform the translation." |
107 |
- EPYTHON=pypy |
108 |
- else |
109 |
- einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" |
110 |
- einfo "recommends using PyPy for that. If you wish to do so, please install" |
111 |
- einfo "dev-python/pypy and ensure that EPYTHON variable is unset." |
112 |
- python-any-r1_pkg_setup |
113 |
- fi |
114 |
- fi |
115 |
-} |
116 |
- |
117 |
-src_prepare() { |
118 |
- local PATCHES=( |
119 |
- "${WORKDIR}/${PATCHSET}" |
120 |
- ) |
121 |
- default |
122 |
-} |
123 |
- |
124 |
-src_configure() { |
125 |
- tc-export CC |
126 |
- |
127 |
- local jit_backend |
128 |
- if use jit; then |
129 |
- jit_backend='--jit-backend=' |
130 |
- |
131 |
- # We only need the explicit sse2 switch for x86. |
132 |
- # On other arches we can rely on autodetection which uses |
133 |
- # compiler macros. Plus, --jit-backend= doesn't accept all |
134 |
- # the modern values... |
135 |
- |
136 |
- if use x86; then |
137 |
- if use cpu_flags_x86_sse2; then |
138 |
- jit_backend+=x86 |
139 |
- else |
140 |
- jit_backend+=x86-without-sse2 |
141 |
- fi |
142 |
- else |
143 |
- jit_backend+=auto |
144 |
- fi |
145 |
- fi |
146 |
- |
147 |
- local args=( |
148 |
- --no-shared |
149 |
- $(usex jit -Ojit -O2) |
150 |
- |
151 |
- ${jit_backend} |
152 |
- |
153 |
- pypy/goal/targetpypystandalone |
154 |
- ) |
155 |
- |
156 |
- # Avoid linking against libraries disabled by use flags |
157 |
- local opts=( |
158 |
- bzip2:bz2 |
159 |
- ncurses:_minimal_curses |
160 |
- ) |
161 |
- |
162 |
- local opt |
163 |
- for opt in "${opts[@]}"; do |
164 |
- local flag=${opt%:*} |
165 |
- local mod=${opt#*:} |
166 |
- |
167 |
- args+=( |
168 |
- $(usex ${flag} --withmod --withoutmod)-${mod} |
169 |
- ) |
170 |
- done |
171 |
- |
172 |
- local interp=( "${EPYTHON}" ) |
173 |
- if use low-memory; then |
174 |
- interp=( env PYPY_GC_MAX_DELTA=200MB |
175 |
- "${EPYTHON}" --jit loop_longevity=300 ) |
176 |
- fi |
177 |
- |
178 |
- if [[ ${EPYTHON} != pypy ]]; then |
179 |
- # reuse bundled pycparser to avoid external dep |
180 |
- mkdir -p "${T}"/pymod/cffi || die |
181 |
- : > "${T}"/pymod/cffi/__init__.py || die |
182 |
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die |
183 |
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} |
184 |
- fi |
185 |
- |
186 |
- # translate into the C sources |
187 |
- # we're going to build them ourselves since otherwise pypy does not |
188 |
- # free up the unneeded memory before spawning the compiler |
189 |
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" |
190 |
- echo -e "\033[1m${@}\033[0m" |
191 |
- "${@}" || die "translation failed" |
192 |
-} |
193 |
- |
194 |
-src_compile() { |
195 |
- emake -C "${T}"/usession*-0/testing_1 |
196 |
-} |
197 |
- |
198 |
-src_install() { |
199 |
- cd "${T}"/usession*-0 || die |
200 |
- newbin testing_1/pypy3.9-c pypy3.9-c-${PYPY_PV} |
201 |
- insinto /usr/include/pypy3.9/${PYPY_PV} |
202 |
- doins *.h |
203 |
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}" |
204 |
-} |
205 |
|
206 |
diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1_p2.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1_p2.ebuild |
207 |
deleted file mode 100644 |
208 |
index 96e7ab01222b..000000000000 |
209 |
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc1_p2.ebuild |
210 |
+++ /dev/null |
211 |
@@ -1,166 +0,0 @@ |
212 |
-# Copyright 1999-2022 Gentoo Authors |
213 |
-# Distributed under the terms of the GNU General Public License v2 |
214 |
- |
215 |
-EAPI=8 |
216 |
- |
217 |
-# pypy3 needs to be built using python 2 |
218 |
-PYTHON_COMPAT=( python2_7 ) |
219 |
-inherit check-reqs pax-utils python-any-r1 toolchain-funcs |
220 |
- |
221 |
-PYPY_PV=${PV%_p*} |
222 |
-MY_P=pypy3.9-v${PYPY_PV/_} |
223 |
-PATCHSET="pypy3.9-gentoo-patches-${PV/_}" |
224 |
- |
225 |
-DESCRIPTION="PyPy3 executable (build from source)" |
226 |
-HOMEPAGE="https://www.pypy.org/" |
227 |
-SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 |
228 |
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" |
229 |
-S="${WORKDIR}/${MY_P}-src" |
230 |
- |
231 |
-LICENSE="MIT" |
232 |
-SLOT="3.9-${PYPY_PV}" |
233 |
-KEYWORDS="" |
234 |
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" |
235 |
- |
236 |
-RDEPEND=">=sys-libs/zlib-1.1.3:0= |
237 |
- dev-libs/libffi:0= |
238 |
- virtual/libintl:0= |
239 |
- dev-libs/expat:0= |
240 |
- bzip2? ( app-arch/bzip2:0= ) |
241 |
- ncurses? ( sys-libs/ncurses:0= ) |
242 |
- !dev-python/pypy3-exe-bin:${PYPY_PV}" |
243 |
-DEPEND="${RDEPEND}" |
244 |
-BDEPEND=" |
245 |
- low-memory? ( dev-python/pypy ) |
246 |
- !low-memory? ( |
247 |
- || ( |
248 |
- dev-python/pypy |
249 |
- dev-lang/python:2.7 |
250 |
- ) |
251 |
- )" |
252 |
- |
253 |
-check_env() { |
254 |
- if use low-memory; then |
255 |
- CHECKREQS_MEMORY="1750M" |
256 |
- use amd64 && CHECKREQS_MEMORY="3500M" |
257 |
- else |
258 |
- CHECKREQS_MEMORY="3G" |
259 |
- use amd64 && CHECKREQS_MEMORY="6G" |
260 |
- fi |
261 |
- |
262 |
- check-reqs_pkg_pretend |
263 |
-} |
264 |
- |
265 |
-pkg_pretend() { |
266 |
- [[ ${MERGE_TYPE} != binary ]] && check_env |
267 |
-} |
268 |
- |
269 |
-pkg_setup() { |
270 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
271 |
- check_env |
272 |
- |
273 |
- # unset to allow forcing pypy below :) |
274 |
- use low-memory && EPYTHON= |
275 |
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && |
276 |
- { has_version -b dev-python/pypy || |
277 |
- has_version -b dev-python/pypy-bin; } |
278 |
- then |
279 |
- einfo "Using PyPy to perform the translation." |
280 |
- EPYTHON=pypy |
281 |
- else |
282 |
- einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" |
283 |
- einfo "recommends using PyPy for that. If you wish to do so, please install" |
284 |
- einfo "dev-python/pypy and ensure that EPYTHON variable is unset." |
285 |
- python-any-r1_pkg_setup |
286 |
- fi |
287 |
- fi |
288 |
-} |
289 |
- |
290 |
-src_prepare() { |
291 |
- local PATCHES=( |
292 |
- "${WORKDIR}/${PATCHSET}" |
293 |
- ) |
294 |
- default |
295 |
-} |
296 |
- |
297 |
-src_configure() { |
298 |
- tc-export CC |
299 |
- |
300 |
- local jit_backend |
301 |
- if use jit; then |
302 |
- jit_backend='--jit-backend=' |
303 |
- |
304 |
- # We only need the explicit sse2 switch for x86. |
305 |
- # On other arches we can rely on autodetection which uses |
306 |
- # compiler macros. Plus, --jit-backend= doesn't accept all |
307 |
- # the modern values... |
308 |
- |
309 |
- if use x86; then |
310 |
- if use cpu_flags_x86_sse2; then |
311 |
- jit_backend+=x86 |
312 |
- else |
313 |
- jit_backend+=x86-without-sse2 |
314 |
- fi |
315 |
- else |
316 |
- jit_backend+=auto |
317 |
- fi |
318 |
- fi |
319 |
- |
320 |
- local args=( |
321 |
- --no-shared |
322 |
- $(usex jit -Ojit -O2) |
323 |
- |
324 |
- ${jit_backend} |
325 |
- |
326 |
- pypy/goal/targetpypystandalone |
327 |
- ) |
328 |
- |
329 |
- # Avoid linking against libraries disabled by use flags |
330 |
- local opts=( |
331 |
- bzip2:bz2 |
332 |
- ncurses:_minimal_curses |
333 |
- ) |
334 |
- |
335 |
- local opt |
336 |
- for opt in "${opts[@]}"; do |
337 |
- local flag=${opt%:*} |
338 |
- local mod=${opt#*:} |
339 |
- |
340 |
- args+=( |
341 |
- $(usex ${flag} --withmod --withoutmod)-${mod} |
342 |
- ) |
343 |
- done |
344 |
- |
345 |
- local interp=( "${EPYTHON}" ) |
346 |
- if use low-memory; then |
347 |
- interp=( env PYPY_GC_MAX_DELTA=200MB |
348 |
- "${EPYTHON}" --jit loop_longevity=300 ) |
349 |
- fi |
350 |
- |
351 |
- if [[ ${EPYTHON} != pypy ]]; then |
352 |
- # reuse bundled pycparser to avoid external dep |
353 |
- mkdir -p "${T}"/pymod/cffi || die |
354 |
- : > "${T}"/pymod/cffi/__init__.py || die |
355 |
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die |
356 |
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} |
357 |
- fi |
358 |
- |
359 |
- # translate into the C sources |
360 |
- # we're going to build them ourselves since otherwise pypy does not |
361 |
- # free up the unneeded memory before spawning the compiler |
362 |
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" |
363 |
- echo -e "\033[1m${@}\033[0m" |
364 |
- "${@}" || die "translation failed" |
365 |
-} |
366 |
- |
367 |
-src_compile() { |
368 |
- emake -C "${T}"/usession*-0/testing_1 |
369 |
-} |
370 |
- |
371 |
-src_install() { |
372 |
- cd "${T}"/usession*-0 || die |
373 |
- newbin testing_1/pypy3.9-c pypy3.9-c-${PYPY_PV} |
374 |
- insinto /usr/include/pypy3.9/${PYPY_PV} |
375 |
- doins *.h |
376 |
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}" |
377 |
-} |
378 |
|
379 |
diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc2.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc2.ebuild |
380 |
deleted file mode 100644 |
381 |
index 96e7ab01222b..000000000000 |
382 |
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.8_rc2.ebuild |
383 |
+++ /dev/null |
384 |
@@ -1,166 +0,0 @@ |
385 |
-# Copyright 1999-2022 Gentoo Authors |
386 |
-# Distributed under the terms of the GNU General Public License v2 |
387 |
- |
388 |
-EAPI=8 |
389 |
- |
390 |
-# pypy3 needs to be built using python 2 |
391 |
-PYTHON_COMPAT=( python2_7 ) |
392 |
-inherit check-reqs pax-utils python-any-r1 toolchain-funcs |
393 |
- |
394 |
-PYPY_PV=${PV%_p*} |
395 |
-MY_P=pypy3.9-v${PYPY_PV/_} |
396 |
-PATCHSET="pypy3.9-gentoo-patches-${PV/_}" |
397 |
- |
398 |
-DESCRIPTION="PyPy3 executable (build from source)" |
399 |
-HOMEPAGE="https://www.pypy.org/" |
400 |
-SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 |
401 |
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz" |
402 |
-S="${WORKDIR}/${MY_P}-src" |
403 |
- |
404 |
-LICENSE="MIT" |
405 |
-SLOT="3.9-${PYPY_PV}" |
406 |
-KEYWORDS="" |
407 |
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" |
408 |
- |
409 |
-RDEPEND=">=sys-libs/zlib-1.1.3:0= |
410 |
- dev-libs/libffi:0= |
411 |
- virtual/libintl:0= |
412 |
- dev-libs/expat:0= |
413 |
- bzip2? ( app-arch/bzip2:0= ) |
414 |
- ncurses? ( sys-libs/ncurses:0= ) |
415 |
- !dev-python/pypy3-exe-bin:${PYPY_PV}" |
416 |
-DEPEND="${RDEPEND}" |
417 |
-BDEPEND=" |
418 |
- low-memory? ( dev-python/pypy ) |
419 |
- !low-memory? ( |
420 |
- || ( |
421 |
- dev-python/pypy |
422 |
- dev-lang/python:2.7 |
423 |
- ) |
424 |
- )" |
425 |
- |
426 |
-check_env() { |
427 |
- if use low-memory; then |
428 |
- CHECKREQS_MEMORY="1750M" |
429 |
- use amd64 && CHECKREQS_MEMORY="3500M" |
430 |
- else |
431 |
- CHECKREQS_MEMORY="3G" |
432 |
- use amd64 && CHECKREQS_MEMORY="6G" |
433 |
- fi |
434 |
- |
435 |
- check-reqs_pkg_pretend |
436 |
-} |
437 |
- |
438 |
-pkg_pretend() { |
439 |
- [[ ${MERGE_TYPE} != binary ]] && check_env |
440 |
-} |
441 |
- |
442 |
-pkg_setup() { |
443 |
- if [[ ${MERGE_TYPE} != binary ]]; then |
444 |
- check_env |
445 |
- |
446 |
- # unset to allow forcing pypy below :) |
447 |
- use low-memory && EPYTHON= |
448 |
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && |
449 |
- { has_version -b dev-python/pypy || |
450 |
- has_version -b dev-python/pypy-bin; } |
451 |
- then |
452 |
- einfo "Using PyPy to perform the translation." |
453 |
- EPYTHON=pypy |
454 |
- else |
455 |
- einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" |
456 |
- einfo "recommends using PyPy for that. If you wish to do so, please install" |
457 |
- einfo "dev-python/pypy and ensure that EPYTHON variable is unset." |
458 |
- python-any-r1_pkg_setup |
459 |
- fi |
460 |
- fi |
461 |
-} |
462 |
- |
463 |
-src_prepare() { |
464 |
- local PATCHES=( |
465 |
- "${WORKDIR}/${PATCHSET}" |
466 |
- ) |
467 |
- default |
468 |
-} |
469 |
- |
470 |
-src_configure() { |
471 |
- tc-export CC |
472 |
- |
473 |
- local jit_backend |
474 |
- if use jit; then |
475 |
- jit_backend='--jit-backend=' |
476 |
- |
477 |
- # We only need the explicit sse2 switch for x86. |
478 |
- # On other arches we can rely on autodetection which uses |
479 |
- # compiler macros. Plus, --jit-backend= doesn't accept all |
480 |
- # the modern values... |
481 |
- |
482 |
- if use x86; then |
483 |
- if use cpu_flags_x86_sse2; then |
484 |
- jit_backend+=x86 |
485 |
- else |
486 |
- jit_backend+=x86-without-sse2 |
487 |
- fi |
488 |
- else |
489 |
- jit_backend+=auto |
490 |
- fi |
491 |
- fi |
492 |
- |
493 |
- local args=( |
494 |
- --no-shared |
495 |
- $(usex jit -Ojit -O2) |
496 |
- |
497 |
- ${jit_backend} |
498 |
- |
499 |
- pypy/goal/targetpypystandalone |
500 |
- ) |
501 |
- |
502 |
- # Avoid linking against libraries disabled by use flags |
503 |
- local opts=( |
504 |
- bzip2:bz2 |
505 |
- ncurses:_minimal_curses |
506 |
- ) |
507 |
- |
508 |
- local opt |
509 |
- for opt in "${opts[@]}"; do |
510 |
- local flag=${opt%:*} |
511 |
- local mod=${opt#*:} |
512 |
- |
513 |
- args+=( |
514 |
- $(usex ${flag} --withmod --withoutmod)-${mod} |
515 |
- ) |
516 |
- done |
517 |
- |
518 |
- local interp=( "${EPYTHON}" ) |
519 |
- if use low-memory; then |
520 |
- interp=( env PYPY_GC_MAX_DELTA=200MB |
521 |
- "${EPYTHON}" --jit loop_longevity=300 ) |
522 |
- fi |
523 |
- |
524 |
- if [[ ${EPYTHON} != pypy ]]; then |
525 |
- # reuse bundled pycparser to avoid external dep |
526 |
- mkdir -p "${T}"/pymod/cffi || die |
527 |
- : > "${T}"/pymod/cffi/__init__.py || die |
528 |
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die |
529 |
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} |
530 |
- fi |
531 |
- |
532 |
- # translate into the C sources |
533 |
- # we're going to build them ourselves since otherwise pypy does not |
534 |
- # free up the unneeded memory before spawning the compiler |
535 |
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" |
536 |
- echo -e "\033[1m${@}\033[0m" |
537 |
- "${@}" || die "translation failed" |
538 |
-} |
539 |
- |
540 |
-src_compile() { |
541 |
- emake -C "${T}"/usession*-0/testing_1 |
542 |
-} |
543 |
- |
544 |
-src_install() { |
545 |
- cd "${T}"/usession*-0 || die |
546 |
- newbin testing_1/pypy3.9-c pypy3.9-c-${PYPY_PV} |
547 |
- insinto /usr/include/pypy3.9/${PYPY_PV} |
548 |
- doins *.h |
549 |
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}" |
550 |
-} |