From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 0AE7D15808A for ; Tue, 22 Jul 2025 06:01:23 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id DEA543410A3 for ; Tue, 22 Jul 2025 06:01:22 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id AA353110569; Tue, 22 Jul 2025 06:01:06 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 8E713110565 for ; Tue, 22 Jul 2025 06:01:06 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 120D5340FDE for ; Tue, 22 Jul 2025 06:01:06 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1F999329A for ; Tue, 22 Jul 2025 06:01:03 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1753164050.7b2e05529ca1c5628621b3a8f8d80a4a9d4127de.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/pypy/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/pypy/Manifest dev-lang/pypy/pypy-2.7.7.3.19.ebuild dev-lang/pypy/pypy-3.10.7.3.19_p5-r1.ebuild dev-lang/pypy/pypy-3.11.7.3.19_p11-r1.ebuild X-VCS-Directories: dev-lang/pypy/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 7b2e05529ca1c5628621b3a8f8d80a4a9d4127de X-VCS-Branch: master Date: Tue, 22 Jul 2025 06:01:03 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ef62da1a-6a6f-4163-8546-16b0df5d0749 X-Archives-Hash: 91bf114803deff9506f3767ba88cb6ce commit: 7b2e05529ca1c5628621b3a8f8d80a4a9d4127de Author: Michał Górny gentoo org> AuthorDate: Tue Jul 22 05:15:47 2025 +0000 Commit: Michał Górny gentoo org> CommitDate: Tue Jul 22 06:00:50 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b2e0552 dev-lang/pypy: Remove old Signed-off-by: Michał Górny gentoo.org> dev-lang/pypy/Manifest | 6 - dev-lang/pypy/pypy-2.7.7.3.19.ebuild | 315 --------------------------- dev-lang/pypy/pypy-3.10.7.3.19_p5-r1.ebuild | 227 ------------------- dev-lang/pypy/pypy-3.11.7.3.19_p11-r1.ebuild | 242 -------------------- 4 files changed, 790 deletions(-) diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest index 9c8f8d94d99f..263114048e0a 100644 --- a/dev-lang/pypy/Manifest +++ b/dev-lang/pypy/Manifest @@ -1,10 +1,4 @@ -DIST pypy2.7-gentoo-patches-7.3.19.tar.xz 5328 BLAKE2B c997c0e7f39a4a6a9ec34811b38fc8f9b90ccae8c958ca420074013d63a4f1b453b6331be79a2df299efe177cc99d91038ae56156d37b5f9b9f8715ccd2cb75d SHA512 7bac5331fa868c60b376e405df212a29d406f117035fbc1ad8bd6d81212ab2ea4ce5b6b40e8dbbb6303fe941152e37aae17608a2eca9efd16767c8844f6f5fdb DIST pypy2.7-gentoo-patches-7.3.20.tar.xz 5324 BLAKE2B d2ac71ae4360292d1f4661e10ec817bebdaceb00c6deb92eb8ffaf023d7f0e511c10f10aac6c60d436f9b0f34185e989a87780c99913d011a679df8cdb6f255d SHA512 69839ed3c5cba8983661da8719b06a3054b94fc1a3eca9ccf3546c523745811cd91963afb39ea9551fe98e8f71fab6c9344ccbb0378c2b51f0dca8aef7f04ac4 -DIST pypy2.7-v7.3.19-src.tar.bz2 21011665 BLAKE2B b8e205927c829753dd3e5aba0868923efff73f62e5338d6200aab2470857fff9cf38763ab8b63a74a39299d4956d4794eedf5d474d083875bbb9cee9ea757e64 SHA512 8ab8d9c0fa94ec96ebfae30b7f97eb8dff6ad4ee17fa688df123927c45f3ffea2c7f5dbb98bd2f8a49f7db6baf0ba3e98fd230df0bdc8602e407fb2bc33144e3 DIST pypy2.7-v7.3.20-src.tar.bz2 21016441 BLAKE2B 382830a4e2511b77861a96a52038f0f6ca69fd3a938cdc0434285dac217bbeacacb71a5566edad0240e7e7723924ee449b2237b3a84008e80922b19df8880638 SHA512 f23a065efc7f4ab4020de554ff1411b21d05364e19dd49f7026a9a1f90761342bdf5606f1522094991c189df449387ebf0f79240902b6836235cb3a4e89d6d3a -DIST pypy3.10-gentoo-patches-7.3.19_p5.tar.xz 26284 BLAKE2B 726121c69c24ef8d5c812842cc5b76d517cb6495530ea82f5379f6ed376f9e9afd613dff90af03cb72a01aa590e7ab7c3ed0de3f9fa45988b17ed49e0a34b12f SHA512 646fe0610b2ec32ea895c968b388febc8634f7ff92b772dcd7732ef1bf7e7ffad23c2df47a695298284122780fb8f0ea4160901b3be16211428080e67af25a09 -DIST pypy3.10-v7.3.19-src.tar.bz2 24547353 BLAKE2B 975de34c7e01117c74e184693b6659ba0e3d8d488d724c03737dbd64533452c954e045e45058e1e77b9bee68e01060e74e30d7898d29f1adce417ce4b46579b8 SHA512 8fa24d3556bcf9cd0e2facd697827a5001fcfae9bf7874957843e4751b259f85a8b36166921282d71f39bb468d1706bb669373aebbc52486b683fcc824fb30ad -DIST pypy3.11-gentoo-patches-7.3.19_p11.tar.xz 29804 BLAKE2B 23a6a82f0ab21540d24bf23771161616f2e10022ecb3d6948ca837705410e930c1ea9b83f233145a55fe2091149dbc4d5d63a8970e5f9e32d1486f28f41f533a SHA512 cde1fb6df55f5c24ec41e7a02204fa5e520f14f52cf1224557b22b1fe6448e7eca22568424ed23da9bffb81c1dae85cefc1aecdf2c8c33b4c38c32342ff03666 DIST pypy3.11-gentoo-patches-7.3.20_p1.tar.xz 3552 BLAKE2B 539117cb61e7ab44a957b87099fa1d2eacc995b7dcd1a3a683f84a28e12bf257e7769cad1f7499b30764fb97c9467c148f8f35df0edd627c56704d7a96218607 SHA512 894a8b3a36a26b5aaa8958d7428c5476cc04102db40e83bc0e161a94e952a3f207f4ebbf51af3a2c0113956b9eae46f932d7c7d2a98129c705f974e7a5eb19ce -DIST pypy3.11-v7.3.19-src.tar.bz2 24916380 BLAKE2B febc61b3a1c5055b5ab92e7f3af2c307605c8510131437b12df27b58a13b29f6fd0a4bf82d101f7f8f441ca93b20cf70dbd540af11578be297ea871d59304ea3 SHA512 ab078e81e5eefe16823350bdc9adcc444e0ef6835ff2234197f9e5cb0903c5208deb6df60722e99aa529ffff703c5dcbc08eaa7f753c2e5c1185afea6358395a DIST pypy3.11-v7.3.20-src.tar.bz2 24907202 BLAKE2B eef877362365908b665cbd0ea266daebe5fa7a3f224ac0d133664244b712214e2ae93ab655e2f82257beef125c3cef301e50810c97ba4c035efa4930902aed32 SHA512 b957adeca5d5bd33cf1e9769459282488fdd9b1ec9398d20b35681ca88492bc01bdee91bb2c212e75fb946555f9be9869b7944b20207aef5a63c7035702b8cfa diff --git a/dev-lang/pypy/pypy-2.7.7.3.19.ebuild b/dev-lang/pypy/pypy-2.7.7.3.19.ebuild deleted file mode 100644 index ae0295f37ce5..000000000000 --- a/dev-lang/pypy/pypy-2.7.7.3.19.ebuild +++ /dev/null @@ -1,315 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit pax-utils toolchain-funcs - -PYVER=$(ver_cut 1-2) -PATCHSET_PV=$(ver_cut 3-) -PYPY_PV=${PATCHSET_PV%_p*} - -MY_P="pypy${PYVER}-v${PYPY_PV/_}" -PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}" - -DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language" -HOMEPAGE=" - https://pypy.org/ - https://github.com/pypy/pypy/ -" -SRC_URI=" - https://downloads.python.org/pypy/${MY_P}-src.tar.bz2 - https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz -" -S="${WORKDIR}/${MY_P}-src" - -LICENSE="MIT" -# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")' -SLOT="${PYVER}/73" -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk" -RESTRICT="test" - -RDEPEND=" - || ( - >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV} - >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?] - ) - dev-libs/openssl:0= - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - !dev-python/pypy -" -DEPEND=" - ${RDEPEND} -" - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default -} - -src_configure() { - tc-export CC -} - -src_compile() { - # copy over to make sys.prefix happy - cp -p "${BROOT}/usr/lib/pypy${PYVER}/pypy-c-${PYPY_PV}" pypy-c || die - cp -p "${BROOT}/usr/lib/pypy${PYVER}/include/${PYPY_PV}"/* include/ || die - # (not installed by pypy) - rm pypy/module/cpyext/include/_numpypy/numpy/README || die - mv pypy/module/cpyext/include/* include/ || die - mv pypy/module/cpyext/parse/*.h include/ || die - pax-mark m pypy-c - - # verify the subslot - local soabi=$( - ./pypy-c - <<-EOF - import sysconfig - print sysconfig.get_config_var("SOABI") - EOF - ) - [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" - - einfo "Generating caches and CFFI modules ..." - - if use full-stdlib; then - # Generate Grammar and PatternGrammar pickles. - ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed" - import lib2to3.pygram - import lib2to3.patcomp - lib2to3.patcomp.PatternCompiler() - EOF - - # Generate cffi modules - # Please keep in sync with pypy/tool/build_cffi_imports.py! - cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource ) - use gdbm && cffi_targets+=( gdbm ) - use ncurses && cffi_targets+=( curses ) - use sqlite && cffi_targets+=( sqlite3 ) - use tk && cffi_targets+=( tkinter/tklib ) - - local t - # all modules except tkinter output to . - # tkinter outputs to the correct dir ... - cd lib_pypy || die - for t in "${cffi_targets[@]}"; do - # tkinter doesn't work via -m - ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" - done - - # Verify that CFFI module list is up-to-date - local expected_cksum=-7df4eab0 - local local_cksum=$( - ../pypy-c - <<-EOF - import binascii - import json - from pypy_tools.build_cffi_imports import cffi_build_scripts as x - print("%08x" % (binascii.crc32(json.dumps(x)),)) - EOF - ) - if [[ ${local_cksum} != ${expected_cksum} ]]; then - die "Please verify cffi_targets and update checksum to ${local_cksum}" - fi - - # Cleanup temporary objects - find -name "_cffi_*.[co]" -delete || die - find -type d -empty -delete || die - fi -} - -src_test() { - # (unset) - local -x PYTHONDONTWRITEBYTECODE= - local -x COLUMNS=80 - - local ignored_tests=( - # network - --ignore=lib-python/${PYVER}/test/test_urllibnet.py - --ignore=lib-python/${PYVER}/test/test_urllib2net.py - # lots of free space - --ignore=lib-python/${PYVER}/test/test_zipfile64.py - - # broken by expat-2.4.5 - --ignore=lib-python/${PYVER}/test/test_minidom.py - --ignore=lib-python/${PYVER}/test/test_xml_etree.py - --ignore=lib-python/${PYVER}/test/test_xml_etree_c.py - ) - - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \ - "${ignored_tests[@]}" lib-python || die -} - -src_install() { - local dest="/usr/lib/pypy${PYVER}" - einfo "Installing PyPy ..." - dosym "pypy-c-${PYPY_PV}" "${dest}/pypy-c" - insinto "${dest}" - # preserve mtimes to avoid obsoleting caches - insopts -p - if use full-stdlib; then - doins -r include lib_pypy lib-python - - # replace copied headers with symlinks - for x in "${BROOT}/usr/lib/pypy${PYVER}/include/${PYPY_PV}"/*; do - dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}" - done - - if ! use gdbm; then - rm -r "${ED}${dest}"/lib_pypy/gdbm.py \ - "${ED}${dest}"/lib-python/*${PYVER}/test/test_gdbm.py || die - fi - if ! use sqlite; then - rm -r "${ED}${dest}"/lib-python/*${PYVER}/sqlite3 \ - "${ED}${dest}"/lib_pypy/_sqlite3.py \ - "${ED}${dest}"/lib-python/*${PYVER}/test/test_sqlite.py || die - fi - if ! use tk; then - rm -r "${ED}${dest}"/lib-python/*${PYVER}/{idlelib,lib-tk} \ - "${ED}${dest}"/lib_pypy/_tkinter \ - "${ED}${dest}"/lib-python/*${PYVER}/test/test_{tcl,tk,ttk*}.py || die - fi - else - # install only the absolutely minimal subset of modules needed - # for pypy3 build - local lib_py_modules=( - # base modules needed to even start pypy (and import site) - codecs.py - copy_reg.py - encodings - genericpath.py - linecache.py - os.py - pkgutil.py - posixpath.py - re.py - runpy.py - site.py - sre_compile.py - sre_constants.py - sre_parse.py - stat.py - string.py - sysconfig.py - traceback.py - warnings.py - UserDict.py - - # needed for python_optimize - compileall.py - getopt.py - py_compile.py - struct.py - - # needed for rpython - argparse.py - atexit.py - base64.py - bdb.py - bisect.py - cmd.py - code.py - codeop.py - collections.py - colorsys.py - contextlib.py - copy.py - ctypes - dis.py - fnmatch.py - functools.py - gettext.py - hashlib.py - heapq.py - inspect.py - io.py - json - keyword.py - locale.py - logging - new.py - opcode.py - optparse.py - pdb.py - pickle.py - platform.py - pprint.py - random.py - repr.py - shlex.py - shutil.py - StringIO.py - subprocess.py - tempfile.py - textwrap.py - threading.py - tokenize.py - weakref.py - zipfile.py - ) - - local distutils_modules=( - # needed by site - __init__.py - errors.py - sysconfig.py - sysconfig_cpython.py - sysconfig_pypy.py - ) - - local lib_pypy_modules=( - # needed by site - _sysconfigdata.py - - # needed by rpython - cffi - _ctypes - _ffi.py - _functools.py - _sha.py - _sha256.py - _sha512.py - - # NB: we're deliberately skipping _hashlib to avoid some deps - ) - - cd "lib-python/${PYVER}" || die - insinto "${dest}/lib-python/${PYVER}" - doins -r "${lib_py_modules[@]}" - cd - >/dev/null || die - - cd "lib-python/${PYVER}/distutils" || die - insinto "${dest}/lib-python/${PYVER}/distutils" - doins -r "${distutils_modules[@]}" - cd - >/dev/null || die - - cd lib_pypy || die - insinto "${dest}/lib_pypy" - doins -r "${lib_pypy_modules[@]}" - cd - >/dev/null || die - fi - - dosym "../lib/pypy${PYVER}/pypy-c" /usr/bin/pypy - dodoc README.rst - - local -x PYTHON="${ED}${dest}/pypy-c-${PYPY_PV}" - # temporarily copy to build tree to facilitate module builds - cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die - - einfo "Byte-compiling Python standard library..." - "${PYTHON}" -m compileall \ - -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \ - -q -f -d "${dest}" "${ED}/${dest}" || die - - # remove to avoid collisions - rm "${PYTHON}" || die -} diff --git a/dev-lang/pypy/pypy-3.10.7.3.19_p5-r1.ebuild b/dev-lang/pypy/pypy-3.10.7.3.19_p5-r1.ebuild deleted file mode 100644 index de73d27be28c..000000000000 --- a/dev-lang/pypy/pypy-3.10.7.3.19_p5-r1.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs - -PYVER=$(ver_cut 1-2) -PATCHSET_PV=$(ver_cut 3-) -PYPY_PV=${PATCHSET_PV%_p*} - -MY_P="pypy${PYVER}-v${PYPY_PV/_}" -PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}" - -DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language" -HOMEPAGE=" - https://pypy.org/ - https://github.com/pypy/pypy/ -" -SRC_URI=" - https://downloads.python.org/pypy/${MY_P}-src.tar.bz2 - https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2 - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz -" -S="${WORKDIR}/${MY_P}-src" - -LICENSE="MIT" -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))' -# also check pypy/interpreter/pycode.py -> pypy_incremental_magic -SLOT="${PYVER}/pypy310-pp73-384" -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="+ensurepip gdbm +jit ncurses sqlite +test-install tk" -# many tests are failing upstream -# see https://buildbot.pypy.org/summary?branch=py${PYVER} -RESTRICT="test" - -RDEPEND=" - || ( - >=dev-python/pypy3_10-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?] - >=dev-python/pypy3_10-exe-bin-${PYPY_PV}:${PYPY_PV} - ) - dev-libs/openssl:0= - dev-python/gentoo-common - ensurepip? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - !dev-python/pypy3_10 -" -DEPEND=" - ${RDEPEND} -" - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - - default -} - -src_configure() { - tc-export CC -} - -src_compile() { - mkdir bin || die - # switch to the layout expected for cffi module builds - mkdir "include/pypy${PYVER}" || die - # copy over to make sys.prefix happy - cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" pypy${PYVER}-c || die - cp -p "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/* include/pypy${PYVER}/ || die - # (not installed by pypy-exe) - rm pypy/module/cpyext/include/_numpypy/numpy/README || die - mv pypy/module/cpyext/include/* "include/pypy${PYVER}/" || die - mv pypy/module/cpyext/parse/*.h "include/pypy${PYVER}/" || die - pax-mark m "pypy${PYVER}-c" - - # verify the subslot - local soabi=$( - "./pypy${PYVER}-c" - <<-EOF - import importlib.util - import sysconfig - soabi = sysconfig.get_config_var("SOABI") - magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff - print(f"{soabi}-{magic}") - EOF - ) - [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" - - # Add epython.py to the distribution - echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die - - einfo "Generating caches and CFFI modules ..." - - # Generate Grammar and PatternGrammar pickles. - "./pypy${PYVER}-c" - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed" - import lib2to3.pygram - import lib2to3.patcomp - lib2to3.patcomp.PatternCompiler() - EOF - - # Generate cffi modules - # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py! - # (NB: we build CFFI modules first to avoid error log when importing - # build_cffi_imports). - cffi_targets=( - pypy_util blake2/_blake2 sha3/_sha3 ssl - audioop syslog pwdgrp resource lzma posixshmem - ctypes_test testmultiphase - ) - use gdbm && cffi_targets+=( gdbm ) - use ncurses && cffi_targets+=( curses ) - use sqlite && cffi_targets+=( sqlite3 ) - use tk && cffi_targets+=( tkinter/tklib ) - - local t - # all modules except tkinter output to . - # tkinter outputs to the correct dir ... - cd lib_pypy || die - for t in "${cffi_targets[@]}"; do - # tkinter doesn't work via -m - "../pypy${PYVER}-c" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" - done - # testcapi does not have a "build" script - "../pypy${PYVER}-c" -c "import _testcapi" || die - - # Verify that CFFI module list is up-to-date - local expected_cksum=a4138e48 - local local_cksum=$( - "../pypy${PYVER}-c" - <<-EOF - import binascii - import json - from pypy_tools.build_cffi_imports import cffi_build_scripts as x - print("%08x" % (binascii.crc32(json.dumps(x).encode()),)) - EOF - ) - if [[ ${local_cksum} != ${expected_cksum} ]]; then - die "Please verify cffi_targets and update checksum to ${local_cksum}" - fi - - # Cleanup temporary objects - find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die - find -type d -empty -delete || die - cd .. || die - - # Generate sysconfig data - local host_gnu_type=$(sh pypy/tool/release/config.guess) - local overrides=( - HOST_GNU_TYPE "${host_gnu_type:-unknown}" - INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}" - LIBDIR "${EPREFIX}/usr/$(get_libdir)" - TZPATH "${EPREFIX}/usr/share/zoneinfo" - WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip" - ) - "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" || die - local outdir - outdir=$( pypy_incremental_magic -SLOT="${PYVER}/pypy311-pp73-416" -KEYWORDS="amd64 ~arm64 ~ppc64 x86" -IUSE="+ensurepip gdbm +jit ncurses sqlite symlink +test-install tk" -# many tests are failing upstream -# see https://buildbot.pypy.org/summary?branch=py${PYVER} -RESTRICT="test" - -RDEPEND=" - || ( - dev-lang/pypy3-exe:${PV%_p*}[bzip2(+),ncurses?] - dev-lang/pypy3-exe-bin:${PV%_p*} - ) - dev-lang/python-exec[python_targets_pypy${PYVER/./_}(-)] - dev-libs/openssl:0= - dev-python/gentoo-common - ensurepip? ( - dev-python/ensurepip-pip - dev-python/ensurepip-setuptools - ) - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - symlink? ( - !dev-lang/pypy:3.10[symlink(-)] - ! lib-python/3/epython.py || die - - einfo "Generating caches and CFFI modules ..." - - # Generate Grammar and PatternGrammar pickles. - "./pypy${PYVER}-c" - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed" - import lib2to3.pygram - import lib2to3.patcomp - lib2to3.patcomp.PatternCompiler() - EOF - - # Generate cffi modules - # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py! - # (NB: we build CFFI modules first to avoid error log when importing - # build_cffi_imports). - cffi_targets=( - pypy_util blake2/_blake2 sha3/_sha3 ssl - audioop syslog pwdgrp resource lzma posixshmem - ctypes_test testmultiphase - ) - use gdbm && cffi_targets+=( gdbm ) - use ncurses && cffi_targets+=( curses ) - use sqlite && cffi_targets+=( sqlite3 ) - use tk && cffi_targets+=( tkinter/tklib ) - - local t - # all modules except tkinter output to . - # tkinter outputs to the correct dir ... - cd lib_pypy || die - for t in "${cffi_targets[@]}"; do - # tkinter doesn't work via -m - "../pypy${PYVER}-c" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" - done - # testcapi does not have a "build" script - "../pypy${PYVER}-c" -c "import _testcapi" || die - - # Verify that CFFI module list is up-to-date - local expected_cksum=a4138e48 - local local_cksum=$( - "../pypy${PYVER}-c" - <<-EOF - import binascii - import json - from pypy_tools.build_cffi_imports import cffi_build_scripts as x - print("%08x" % (binascii.crc32(json.dumps(x).encode()),)) - EOF - ) - if [[ ${local_cksum} != ${expected_cksum} ]]; then - die "Please verify cffi_targets and update checksum to ${local_cksum}" - fi - - # Cleanup temporary objects - find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die - find -type d -empty -delete || die - cd .. || die - - # Generate sysconfig data - local host_gnu_type=$(sh pypy/tool/release/config.guess) - local overrides=( - HOST_GNU_TYPE "${host_gnu_type:-unknown}" - INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}" - LIBDIR "${EPREFIX}/usr/$(get_libdir)" - TZPATH "${EPREFIX}/usr/share/zoneinfo" - WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip" - ) - "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" || die - local outdir - outdir=$(