From ef303441a5dff019e21f7f6ad424fca1fd2da419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 6 Jun 2025 17:58:12 +0200 Subject: [PATCH] dev-lang/pypy: Bump to 3.11.7.3.19_p11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backport followup ipaddress fixes from the 3.11 branch to fix tests in dev-python/django. Signed-off-by: Michał Górny --- dev-lang/pypy/Manifest | 1 + dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild | 239 ++++++++++++++++++++++ 2 files changed, 240 insertions(+) create mode 100644 dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest index 38e56b0d946de..65ddbcd2403df 100644 --- a/dev-lang/pypy/Manifest +++ b/dev-lang/pypy/Manifest @@ -5,6 +5,7 @@ DIST pypy3.10-gentoo-patches-7.3.19_p4.tar.xz 13204 BLAKE2B 1fede759024589bf7709 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_p10.tar.xz 27524 BLAKE2B 0970151af3274e968022e0a43fdcb1a24be0c77e61d6be49d1b011694b2ef88599319b8b1dbcdebed1de825b8734ef66eb6f2aa13fb2dbbfb1ad7a9d6207a37f SHA512 21e95694fc4385f1f8a9b56067dce67cbae5208054c33077d1015bf8281020d8a56cd69390e404b44cf42038011fac9431a7c30c6b84876fdec8813935d2ceda +DIST pypy3.11-gentoo-patches-7.3.19_p11.tar.xz 29804 BLAKE2B 23a6a82f0ab21540d24bf23771161616f2e10022ecb3d6948ca837705410e930c1ea9b83f233145a55fe2091149dbc4d5d63a8970e5f9e32d1486f28f41f533a SHA512 cde1fb6df55f5c24ec41e7a02204fa5e520f14f52cf1224557b22b1fe6448e7eca22568424ed23da9bffb81c1dae85cefc1aecdf2c8c33b4c38c32342ff03666 DIST pypy3.11-gentoo-patches-7.3.19_p6.tar.xz 12188 BLAKE2B 3830bf3dfe32a1def314f2a12c45d7651c361ecf5ef4df05155ce39328ce63569ded5211c09d88383d928645cd1021b96d4ebb5bc0c474da764849c74a46e472 SHA512 a85c515eb0ce285460bbcbd4db9147ae7a1f30bb806fc7a52ea43f7603fdbbbd7504cbbff9c6c6a79e604118eb2957c6ac48fdebd998aa3937c3faed675be874 DIST pypy3.11-gentoo-patches-7.3.19_p7.tar.xz 12812 BLAKE2B 54520af50cb5ca1bd35efea5c0db18b02601443900a14a7c30a06e77bc5a12b8cf6aa63dabeeab87f24623051de028416988e75f041c95831d72df79ee4ca7a5 SHA512 25c950e22d8828daed09b0b40629b0b359731c394b91d9d857edbe89dbdac1dbd70485560cc019ba4a36de11113fabc910764d584a4066f3bbe3449f65510b31 DIST pypy3.11-gentoo-patches-7.3.19_p8.tar.xz 13004 BLAKE2B 92fae649d7c4dd1f56d0096960ef8d049c71fe86da119c3305b87e609b1f44c1a09726e2ecbd26e54508450ba3c48d28b1bd6e8bff900c360831d275cec10872 SHA512 a4a922706aa8fde94ecb86688b656fb66c0f806fc523f5b931a2f190d5d562277e458b69d588bca8219cac8e5891a5b6ac2ac7cfa7d256df157d4b4f6e50237f diff --git a/dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild b/dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild new file mode 100644 index 0000000000000..3601b5226f4d4 --- /dev/null +++ b/dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild @@ -0,0 +1,239 @@ +# 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}/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-wheels ) + 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=$(