diff options
Diffstat (limited to 'dev-python')
26 files changed, 1511 insertions, 4 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz Binary files differindex 3b28c30114ec..12a55e07f89b 100644 --- a/dev-python/Manifest.gz +++ b/dev-python/Manifest.gz diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest index 4250d5577dd4..8dc5eea12d18 100644 --- a/dev-python/pypy-exe-bin/Manifest +++ b/dev-python/pypy-exe-bin/Manifest @@ -6,5 +6,14 @@ DIST pypy-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6563840 BLAKE2B cc7938c4a9f3b80a9b7 DIST pypy-exe-7.3.13-1.ppc64le.gpkg.tar 10936320 BLAKE2B eaacb2af2c5f62fd487893e4d97ab288ead1c81a0b3ba99782f11ab95ac525c81bc37af5093e76843a17c8ce792aa601befe51b6774908a5328fd4ad449651f8 SHA512 733ec08aa5ab055ec4983e677c8261a4b62006c88a01f0e9ff9abed45781da5144eb4acd41ed7203f74622cd35cbb89c1384ec113c915e38a8d9d81288952b19 DIST pypy-exe-7.3.13-1.x86-musl.gpkg.tar 9656320 BLAKE2B 61f608aaaa316a64de7445fd856aedf34e11bb08d5f1d7819faa198c7014d397244acd54eb35fe95fc79ef53c5ff770f6e608a0868508422386f110c4357fb69 SHA512 0c3799d15688496ff67007323e0398e7b82becb83d77db4585b5439107f3b4244cff658b908d125d1615391265cc5add2ba5116027bf67c7603c49de54b73f02 DIST pypy-exe-7.3.13-1.x86.gpkg.tar 9574400 BLAKE2B 29b9d82995b503f5fa933c0ab3ea988b0321768692974d232040afc1b24fb45905f1ae526f57e443110e7341ed310753e4a0ffd161979b0bdc8e6cf1374ca540 SHA512 9046ae99f4996188c04a098e5d716e885545437f5e31e1c75268b45f80d4743b1c431a2aeed990746530ce3c6077a985ff535f813fabcf2ccac91ed8dbc4f2ef +DIST pypy-exe-7.3.14-1.amd64-musl.gpkg.tar 12943360 BLAKE2B dcb129b19ba43ba92697f6b9133591ca02923b2d5b2bcbbc8c2936ea0aaa7c77caffe264fc5ed35bb46621b4ab47ebeaa8079a56558d39153b26d95c42d1b809 SHA512 783c09d6054209a0c4c7fbd366bf712fd53deb14a8083e1bb18cb5e4f2c5cbd2c638e42a0b8e2abc7d5fcd3b1437004532089ac8c35fcda512f3695e4105c2d7 +DIST pypy-exe-7.3.14-1.amd64.gpkg.tar 12861440 BLAKE2B 88ff25e6ecd12ac2844317923e4d353608bdcc8b65c3a828b5728d0b92759a8c6844b4b0e62563cd24c13b755416176f670a288e26317d8b114af3a1d774f5de SHA512 fa1407b2dae1e6e796611921a32a1f655ecf932601211c0257e6b3877636d99140c2a3617c6601a517eda1c1166f2b9d2fc47edf51703d7e0342699906bd1eaf +DIST pypy-exe-7.3.14-1.arm64-musl.gpkg.tar 10895360 BLAKE2B c8ad4bd01df3ac990e54e6b22cca5d19d2b1c145e8672def6ef5e80e8b1240ec497fb5bfbcedafd2165e654a813ec5091eed6be797bba6c8ce431bf176e68818 SHA512 705ac967d776003c504df4c4c74549ba52c9b91e8145ed6e7d51e35603b5d2800350f159312077ff754254ec8ab539817d989d61b3ab289fdf32e52c85a58992 +DIST pypy-exe-7.3.14-1.arm64.gpkg.tar 10864640 BLAKE2B 6bf4cf7188edeca9cc94c4764c3c1f1cefb36e6430c3ec8c014ae25a91f9a1e6fd87701d0a6d06a36d3a607eef5c01605d6ed86fb1112901ca4b3827fec8c5c0 SHA512 fd85453a5729be5905a2eaf58109fa19268358244989d24d4a7fd4e627a60ff083d6ef96a3a244016ec87f4d3f76ee777f5fe6e356ef8819621b3740c0b19fc5 +DIST pypy-exe-7.3.14-1.ppc64le-musl.gpkg.tar 6696960 BLAKE2B 7478945b927d9df57e1242edbb57b99ab004d3e62159fbcdfb4ea6d406e1df73cfdb2e56bd87dc716b070792973ddffb2b9e535a0c63fe12548457920e20f29e SHA512 4e10026546933bbb734aa203b94941bb63471ab44396a405f6a0273a05e3f9225c8ec46011866e246681591f3ec9896d83a1246a1ca393739f864cdee53e8da8 +DIST pypy-exe-7.3.14-1.ppc64le.gpkg.tar 11110400 BLAKE2B 2651e0d0b592020a7b70a6bc43bd6d1eecc3842022a7fe09668abed088c2b6cbddc91f6dfa23a1474199290a2b1cc90111c3d5225c55b88e96ca26e19fe836f0 SHA512 aba7abe80d340ecedaaaf47747a109a32cf15bc0b2b16e3272440e8405b91314e423668c301a5cefa4a6b49c3718611012c138f5dc969cc78b5c8c53407ccdac +DIST pypy-exe-7.3.14-1.x86-musl.gpkg.tar 9830400 BLAKE2B 2c8b24951ed3f74ffca0be4e4f3c9e841240591d2b66a996f7028011270b292702e827ca59a1591a439fa3adcc1d5e3167d87fd9a15799985389acc3ede9b82d SHA512 dac584239b247738165d650b9b7da87cf006ee88081f32b8daaebd1dfb62aef86c0278b93a1b161ffd7bb0d15675fb7c85f18b373202389536c671194dffc227 +DIST pypy-exe-7.3.14-1.x86.gpkg.tar 9861120 BLAKE2B 02fb30d79d4dc7f844179f9f8ea42e8e4db607bf58b43f944dc2c2dcfaf1adf3acede93c32785bf46bb259af546a891471f558db7a00e653bf169760130dc0eb SHA512 e586be487950f0e33c558c8a2fc9f97fc46e9b4e5c113870661e45ee3c553b21686818eb36829b525201c24ec4c13da14bb22c723ae118ca40f222d2bf826458 EBUILD pypy-exe-bin-7.3.13.ebuild 1947 BLAKE2B ced9c32c68bc0d6991a3c023c5ac6f3952cae5be14c39bbaf498c2efa249715235747526090d59f6a39da4645c83551ebfebabb2a2c7a25343c5acb64d9a1d6e SHA512 3ca0ae4098385dbd208bb3d069b17f9654b2b61b8d85fc822776a91e69341a60492c101310c24fc10a7d0e68b080ce28976d1bc9d5c120dbb40d4af04a7215ae +EBUILD pypy-exe-bin-7.3.14.ebuild 1949 BLAKE2B 144e22713546812ee4664e6c7f092188d521a4c5788f2b1473d2e0fe7ad3b49a16f6965ac4ee194e51d5b64e599b5d80f84fce2cc13b1c667f245f6f75e16847 SHA512 a6905d688350e83368fb1ab2ba273b730adf4be279b45ee3d78d2721532cfd0a1919b694be446df9c7cd2c2fbdf023614dcbd9ef5554c006b9fad0fc4f5cdd87 MISC metadata.xml 241 BLAKE2B 4f18c355c71824c25df283b2d463a5abbf2295446e74b960e868dd78d4910ac066725450478087567a6e66b7a8948d99e053f13a7e58dbf2b89fdaf5c2f3436c SHA512 c46e70ffd66754ad84c64806f2bbff25ba9a688f035176a4565afc95351ce10fffba64bbde89965501460b05978c7e59b3d84db6a8cb6efff4055d4b7a5ab5d8 diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.14.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.14.ebuild new file mode 100644 index 000000000000..577201cf8c2d --- /dev/null +++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.14.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils unpacker + +MY_P=pypy-exe-${PV}-1 +DESCRIPTION="PyPy executable (pre-built version)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + elibc_glibc? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86.gpkg.tar + ) + ) + elibc_musl? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64-musl.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64-musl.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le-musl.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86-musl.gpkg.tar + ) + ) +" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +# sys-devel/gcc for libgcc_s.so +RDEPEND=" + app-arch/bzip2:0/1 + dev-libs/expat:0/0 + dev-libs/libffi:0/8 + sys-libs/ncurses:0/6 + >=sys-libs/zlib-1.1.3:0/1 + virtual/libintl:0/0 + elibc_glibc? ( + sys-devel/gcc + >=sys-libs/glibc-2.35 + ) + !dev-python/pypy-exe:${SLOT} +" + +QA_PREBUILT=" + usr/lib/pypy2.7/pypy-c-${SLOT} +" + +src_install() { + insinto / + doins -r */image/usr + fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}" + pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}" +} diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest index c087ccb62cfe..422250f0ca7c 100644 --- a/dev-python/pypy-exe/Manifest +++ b/dev-python/pypy-exe/Manifest @@ -1,4 +1,7 @@ DIST pypy2.7-gentoo-patches-7.3.13.tar.xz 5340 BLAKE2B 843a7a5e4c2fd56fc4db51ba388736c0aa6593d45b145503f6428783a9fd815a77e2a06809077effced6fccf75c0dd38527a0695211852fd2a4c61b34e40c15c SHA512 cc8f6fc69f00030609a8d79f05a60b2e185141e9fc70a53b476b60a183dd0500627023658c6a57c2412f32af1db6fae91a361a4992d84e7dfbadb7eb4a98b8a1 +DIST pypy2.7-gentoo-patches-7.3.14.tar.xz 5344 BLAKE2B 841556694ad6bb61ea96e063c125508d574fa0be493f930435dff784a35def18c17d510c7123229cf85d576111b4a721cb52341ebb5f618d731335fbcf9ed267 SHA512 ccc8d03a17825607fb41c1e3926ff17908bd644542d9431c8f9291ed10a852416cf91b09c5c0ba0446f73208755b3bbb742c926be55875cfd69646f1ac7a8cae DIST pypy2.7-v7.3.13-src.tar.bz2 19907651 BLAKE2B ce80db193afadbc721e781cbfe3d72bfe420eef3ede408f23213ab5d87a9a42c025d3c31c742dcb55a039b618930ebc4899d704f060d294f2e492d4d754effba SHA512 deeca234abbe526102cec637dc88399f462f64ae66c38782e6f3372b484d25fa4e88b906f783ba515bed17d2e82626d1c94fd6ee9b8b64e393f9bc0f5ee2b07b +DIST pypy2.7-v7.3.14-src.tar.bz2 19910947 BLAKE2B 3d03b16b4e6344b8590aaf1815202782bb355ab21422c5ea5b40cd84f36fa2ff37b2493313a3faf242039b9b91e3c8ea8fe1237a487a0dac44e4c27bf29f5f85 SHA512 e806aedc1625c1601fa623c3b03881f820d37455c5432bef345f85ef0300247f7725efe3bf470fe533aa422dbceaadca636d0c4bf74c65e1e04c0f82380e53f0 EBUILD pypy-exe-7.3.13.ebuild 4060 BLAKE2B 5c6883e608eba8f972af83966b23dfd3e13edfeeb511d1a47f303b60746d5cb08ab9bdb9914b5b7dd2ff6ef630e15a0fca3a3c3f253e4f76aca7145ff72cf35c SHA512 d5dc8433dd88b0ae58b3283ad233dd7524acf31763e917e46ab8f837623d340f4d487a06fce679a7e91fa96cf89acf98171a423acf4b0251776f1e2abdf41c0c +EBUILD pypy-exe-7.3.14.ebuild 4062 BLAKE2B b9437200b3738b7e2d76cc05aee4847d4b4e4757ce3631391f345a66d7dc5ed587bcff75d4c8d2d158181578800dc0aaaca794107170ead0ee0072855164cb1a SHA512 e89eea8f316311d8b84b3e493029579d66774e4f41fb6af9d6ce1696470a8d22c967375bba37cfafa1e6288a04f55f2c199311ad8cc0e5073bc915601193affa MISC metadata.xml 498 BLAKE2B 8dbcdb7c3a4a2fa5d1a922fd5197fb5e3337adcaec1e7d382f25f8696c80726e5b79843477bf8e5ce131aecde6e2c4c283548c5b337e54cb58aaa066013c445a SHA512 8a9bb514bbf3bf328aa63734e1fdc106f6aaf5ccb88c29ad8a686ab2724f3d1f4727163500013dd16e7b34232b881cf47d2f174212b5428ee076af27cf43628d diff --git a/dev-python/pypy-exe/pypy-exe-7.3.14.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.14.ebuild new file mode 100644 index 000000000000..6f7eef22f3b8 --- /dev/null +++ b/dev-python/pypy-exe/pypy-exe-7.3.14.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs pax-utils toolchain-funcs + +PYPY_PV=${PV%_p*} +MY_P=pypy2.7-v${PYPY_PV/_} +PATCHSET="pypy2.7-gentoo-patches-${PV/_}" + +DESCRIPTION="PyPy executable (build from source)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + 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" +SLOT="${PYPY_PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" + +DEPEND=" + >=sys-libs/zlib-1.1.3:0= + dev-libs/libffi:0= + virtual/libintl:0= + dev-libs/expat:0= + bzip2? ( app-arch/bzip2:0= ) + ncurses? ( sys-libs/ncurses:0= ) +" +RDEPEND=" + ${DEPEND} + !dev-python/pypy-exe-bin:${PYPY_PV} +" +# don't enforce the dep on dev-python/pypy with USE=low-memory +# since it's going to cause circular dep with unhelpful error message +BDEPEND=" + !low-memory? ( + || ( + dev-python/pypy + dev-lang/python:2.7 + ) + ) +" + +check_env() { + if ! has_version -b dev-python/pypy; then + if use low-memory; then + eerror "USE=low-memory requires (a prior version of) dev-python/pypy" + eerror "installed." + else + ewarn "CPython 2.7 will be used to perform the translation. Upstream" + ewarn "recommends using (a prior version of) dev-python/pypy instead." + fi + elog "You can install a prebuilt version of PyPy first using e.g.:" + elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin" + + if use low-memory; then + die "dev-python/pypy needs to be installed for USE=low-memory" + fi + fi + + if use low-memory; then + CHECKREQS_MEMORY="1750M" + use amd64 && CHECKREQS_MEMORY="3500M" + else + CHECKREQS_MEMORY="3G" + use amd64 && CHECKREQS_MEMORY="6G" + fi + + check-reqs_pkg_pretend +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_configure() { + tc-export CC + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use cpu_flags_x86_sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + --no-shared + $(usex jit -Ojit -O2) + + ${jit_backend} + + pypy/goal/targetpypystandalone + ) + + # Avoid linking against libraries disabled by use flags + local opts=( + bzip2:bz2 + ncurses:_minimal_curses + ) + + local opt + for opt in "${opts[@]}"; do + local flag=${opt%:*} + local mod=${opt#*:} + + args+=( + $(usex ${flag} --withmod --withoutmod)-${mod} + ) + done + + local interp + if use low-memory || has_version -b dev-python/pypy; then + einfo "Using already-installed PyPy to perform the translation." + interp=( pypy ) + if use low-memory; then + local -x PYPY_GC_MAX_DELTA=200MB + interp+=( --jit loop_longevity=300 ) + fi + else + einfo "Using CPython 2.7 to perform the translation." + interp=( python2.7 ) + + # reuse bundled pycparser to avoid external dep + mkdir -p "${T}"/pymod/cffi || die + : > "${T}"/pymod/cffi/__init__.py || die + cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die + local -x PYTHONPATH=${T}/pymod:${PYTHONPATH} + fi + + # translate into the C sources + # we're going to build them ourselves since otherwise pypy does not + # free up the unneeded memory before spawning the compiler + set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "translation failed" +} + +src_compile() { + emake -C "${T}"/usession*-0/testing_1 +} + +src_install() { + local dest=/usr/lib/pypy2.7 + exeinto "${dest}" + newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV} + insinto "${dest}"/include/${PYPY_PV} + doins include/pypy_* + pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}" +} diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest index 288848860ce5..6e4af980d565 100644 --- a/dev-python/pypy/Manifest +++ b/dev-python/pypy/Manifest @@ -1,4 +1,7 @@ DIST pypy2.7-gentoo-patches-7.3.13.tar.xz 5340 BLAKE2B 843a7a5e4c2fd56fc4db51ba388736c0aa6593d45b145503f6428783a9fd815a77e2a06809077effced6fccf75c0dd38527a0695211852fd2a4c61b34e40c15c SHA512 cc8f6fc69f00030609a8d79f05a60b2e185141e9fc70a53b476b60a183dd0500627023658c6a57c2412f32af1db6fae91a361a4992d84e7dfbadb7eb4a98b8a1 +DIST pypy2.7-gentoo-patches-7.3.14.tar.xz 5344 BLAKE2B 841556694ad6bb61ea96e063c125508d574fa0be493f930435dff784a35def18c17d510c7123229cf85d576111b4a721cb52341ebb5f618d731335fbcf9ed267 SHA512 ccc8d03a17825607fb41c1e3926ff17908bd644542d9431c8f9291ed10a852416cf91b09c5c0ba0446f73208755b3bbb742c926be55875cfd69646f1ac7a8cae DIST pypy2.7-v7.3.13-src.tar.bz2 19907651 BLAKE2B ce80db193afadbc721e781cbfe3d72bfe420eef3ede408f23213ab5d87a9a42c025d3c31c742dcb55a039b618930ebc4899d704f060d294f2e492d4d754effba SHA512 deeca234abbe526102cec637dc88399f462f64ae66c38782e6f3372b484d25fa4e88b906f783ba515bed17d2e82626d1c94fd6ee9b8b64e393f9bc0f5ee2b07b +DIST pypy2.7-v7.3.14-src.tar.bz2 19910947 BLAKE2B 3d03b16b4e6344b8590aaf1815202782bb355ab21422c5ea5b40cd84f36fa2ff37b2493313a3faf242039b9b91e3c8ea8fe1237a487a0dac44e4c27bf29f5f85 SHA512 e806aedc1625c1601fa623c3b03881f820d37455c5432bef345f85ef0300247f7725efe3bf470fe533aa422dbceaadca636d0c4bf74c65e1e04c0f82380e53f0 EBUILD pypy-7.3.13.ebuild 7044 BLAKE2B 318cb3094bdfe996eab44bff918703747e01d28accba19c111b62a64ea2c41b899222db2ef964bacf4db83eb31b48ad3c1a0ed16c3dce98fbe0498938b2f8090 SHA512 5815a10db7550687502c5109a5927d3752f3263beb641de2cca22a87a83d744ba5d1a64ca6d8f6a1f026a3c5d596b0f9e2fc25b1b58149b5e16c1f90e45db54c +EBUILD pypy-7.3.14.ebuild 7046 BLAKE2B d1944efab0f0b0a034081c4b012a9a4dab5b829bdccc2a43c0410680620555eeb39c1ddc936aef3d2ea9eaba7dc5ea1ca315f38abc1e8099ca35694b0b97f2d4 SHA512 7c25069635329e92065922c6668915b9816bfde79b4779cc907c457af6da7e7c1940e3d8267623af7c5179711efdd777aa7c1a0a9d2fec38e4e5eebbca02a748 MISC metadata.xml 565 BLAKE2B 956a62e9d3632a7ab9ade67527bae54fe0b58d79a6c2f26dc7017a6b8d337f7e5a155b747f24b98f345eb9e1d15c3f38d8530212ad16cfa5292d6cb1ecbf3e91 SHA512 6dd5bc7712533a926b7efdba10c3bea32c813d703916f6bf152ff14f7561cdc466354c8fdbb9640afe415daa3cf2d9365351261e89b8aadfae7b74afd48ae061 diff --git a/dev-python/pypy/pypy-7.3.14.ebuild b/dev-python/pypy/pypy-7.3.14.ebuild new file mode 100644 index 000000000000..1ef22f293672 --- /dev/null +++ b/dev-python/pypy/pypy-7.3.14.ebuild @@ -0,0 +1,302 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils + +PYPY_PV=${PV%_p*} +MY_P=pypy2.7-v${PYPY_PV/_} +PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}" + +DESCRIPTION="A fast, compliant alternative implementation of the Python language" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + 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="0/73" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk" +RESTRICT="!full-stdlib? ( 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= + ) +" +DEPEND=" + ${RDEPEND} +" + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_compile() { + # copy over to make sys.prefix happy + cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die + cp -p "${BROOT}"/usr/lib/pypy2.7/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=2d3acf18 + 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/2.7/test/test_urllibnet.py + --ignore=lib-python/2.7/test/test_urllib2net.py + # lots of free space + --ignore=lib-python/2.7/test/test_zipfile64.py + + # broken by expat-2.4.5 + --ignore=lib-python/2.7/test/test_minidom.py + --ignore=lib-python/2.7/test/test_xml_etree.py + --ignore=lib-python/2.7/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/pypy2.7 + 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/pypy2.7/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/*2.7/test/test_gdbm.py || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \ + "${ED}${dest}"/lib_pypy/_sqlite3.py \ + "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \ + "${ED}${dest}"/lib_pypy/_tkinter \ + "${ED}${dest}"/lib-python/*2.7/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/2.7 || die + insinto "${dest}/lib-python/2.7" + doins -r "${lib_py_modules[@]}" + cd - >/dev/null || die + + cd lib-python/2.7/distutils || die + insinto "${dest}/lib-python/2.7/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/pypy2.7/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-python/pypy3/Manifest b/dev-python/pypy3/Manifest index a7490915ffd1..6706465d6624 100644 --- a/dev-python/pypy3/Manifest +++ b/dev-python/pypy3/Manifest @@ -1,2 +1,3 @@ EBUILD pypy3-7.3.13.ebuild 583 BLAKE2B 9308115fd68cc96beed284dcd1eec6f3a404254b422cd7f88dbf6ffbc30e69050d3613bcc34151a4fd64375d1901b0899e32f42d843c68ab281c7ed10c5b9611 SHA512 df2c8d9903a9e772bce5c5d93203a31b68ee8e413ce5b721d6c59d9542f65ff13c9676ee22080cf1b361cb5762dfc22d1a5ee3a498c6aa2ba6d13731e9cd09de +EBUILD pypy3-7.3.14.ebuild 585 BLAKE2B 5c5704a58e65e6d2bc4272988aaf0ca2e4b2bb21aa316c629ebb8594500743add0a901704f0a2ded2aa803841d4ec16a754884f435ece9a8682da1a70a1a2bff SHA512 3513a60f7264acf12d10d9b1921e843460db4aadaca2b0137a624a870a2ee31a44c52ed065d0cab4a9c35c1c24fbaaffbfd1dab838d1e12117ee53e528e8e481 MISC metadata.xml 317 BLAKE2B 9da451fe362dc5c1f6b3412b33065ab6e316e5ae49fd8e6a8e7485cd5cb7440c316c7c5c9b504a69c4f21a6370317edfe11f388238665133b8557a26acbfe1eb SHA512 96039ea2033b920e595e05c8749ee7e316e951bc6ff544a2f4d175d862cf7537401cbba1d4535f20245bbcac32d5ce1261d04aee412953401b513ecc5e7217bc diff --git a/dev-python/pypy3/pypy3-7.3.14.ebuild b/dev-python/pypy3/pypy3-7.3.14.ebuild new file mode 100644 index 000000000000..ecf195f8f782 --- /dev/null +++ b/dev-python/pypy3/pypy3-7.3.14.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYVER=3.10 +DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language" +HOMEPAGE=" + https://www.pypy.org/ + https://foss.heptapod.net/pypy/pypy/ +" +S=${WORKDIR} + +LICENSE="MIT" +SLOT="0/pypy310-pp73-384" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+gdbm ncurses sqlite tk" + +RDEPEND=" + =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?] +" + +src_install() { + dodir /usr/bin + dosym pypy${PYVER} /usr/bin/pypy3 +} diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest index 71841d0820ab..a49e922a9fce 100644 --- a/dev-python/pypy3_10-exe-bin/Manifest +++ b/dev-python/pypy3_10-exe-bin/Manifest @@ -6,5 +6,14 @@ DIST pypy3_10-exe-7.3.13_p3-1.ppc64le-musl.gpkg.tar 6522880 BLAKE2B 6c1a9c390e35 DIST pypy3_10-exe-7.3.13_p3-1.ppc64le.gpkg.tar 10065920 BLAKE2B 951899b54a4fd248643625df6fa6926ed831b7b43d3020c62b109101877a06f5413ed41e1bf165b23bb66e2bfc4b910f84d6a3a9ad67cfaee2e8fbe5dec96bac SHA512 24b72ddedadce461b8dbaedc25dc582e8f215b194431a9a946b3d21725506730564e3ec64e640ae29baee0fae132e7b756b781444a6c0080890953234afb509f DIST pypy3_10-exe-7.3.13_p3-1.x86-musl.gpkg.tar 8806400 BLAKE2B 92152ea6f9c7a75934cb3a507d2c1ec17f91465aa3d5fb8f2cf8add2708d721a90d90c15656ada1c2ee0bf2290891cce090fed2b8ea4c8b9a17bccf3239ba1e9 SHA512 73292601e8ffb2c977a1b1253878d17bdf686d8a3b5ef7a737319aabfafe342c1b210f0773765203a41b55359a7c4fbe4958cc9813fc6849bf78ff5c5aaca7b0 DIST pypy3_10-exe-7.3.13_p3-1.x86.gpkg.tar 8765440 BLAKE2B 1ea5c757b5f87846000ed010ef9eecb40ff278b3bf97211037e184a0c96f643f17656a0801ae0fc8ff45f7fc20372474439d1e3a7ba38755a1f64cc56d5670c3 SHA512 88a7ab0d960f89d38ef1703eaf8afdfad18b9b1ee046295914bb4968f719759e3dd9a604930348568feb60afd466258705bd9c6e26f6c760f56ffb0ddf1038e7 +DIST pypy3_10-exe-7.3.14-1.amd64-musl.gpkg.tar 12001280 BLAKE2B 9f0507d48bea2773b0d648bf2817f3228c6cd985e2c5229456887af00a0d4b8e9f4d0f8a2c0dabd73880c06ab93c89ca7ddc5aa5cec8720407d14ed40303604b SHA512 7f2740e94100ff64b2e492d30d4f4ca7f313586b29eb2edbd6c405fcbee1712f253205d09a010cf6992c593b3bdc593732ab76eb41b154aaf170cfa46e2da800 +DIST pypy3_10-exe-7.3.14-1.amd64.gpkg.tar 12011520 BLAKE2B 256a561cc40aa2fa980766e19f253bfca5d301a0e79de419d18d13b23b038db593835cfcb5faa3089cec9e86fcee98b09498d951d549a66aac1545c5c7e39a47 SHA512 e250e7f2d7acdd7dd521cae9ed12b344759970280da4c4c8ee3f3d667449c31fd3762be9ae44093b7d0b7a963a1a3c82586ee298a6bea425e77638162c3662ea +DIST pypy3_10-exe-7.3.14-1.arm64-musl.gpkg.tar 10199040 BLAKE2B 782501fb169ad7ab0c22d10b58a559b3063d8c67db707c66147864b69d16dbde55027c841ad8548aaf574e20df95d87af7fdd7fb52030c9a2d71fc6a16ecda4e SHA512 9c353521198b6ff35213075177a5cea4d1f76d8148823077221f8fb2e32fc55cbe89590a69e36e670d97700c888f705cc26dd237ea137759cb44c311dbf89a49 +DIST pypy3_10-exe-7.3.14-1.arm64.gpkg.tar 10117120 BLAKE2B 4135a346b1d6e34ae90e5bfb255d3ca840fcfd13cd848b3b6562a650b364a9ff1f91a5eb81070252297bef87bc511cefeecf30e274be1c06b731eb33a88fbc33 SHA512 b60eade588eafbdea5285c31cda25c1f735da586ef56e7c81f98b883c481d866837680b86d5fdafa847282d1a83e1b7da9b4a95096041f7932ec6f77c74b897d +DIST pypy3_10-exe-7.3.14-1.ppc64le-musl.gpkg.tar 6737920 BLAKE2B 3578757c8fc2da1079808107272cff3b49ae295d8fea1009d9787faab68e8f32c6e633093394d83feb629b39a4c149d083cb80a1e48b2e892570f0ee43f72ba3 SHA512 f5c66d9f96d4ba94c54739812d315b92a99ca2f85c777c6fd8b704405ba8d2fc9f28e4ced24fab0548ceadee3e2b60288dafb9b023653439c2a0596d05b45d3b +DIST pypy3_10-exe-7.3.14-1.ppc64le.gpkg.tar 10362880 BLAKE2B f9422fb581ea1196d97ad420ebf192a6de343cd9024a030e987267a0c51b1a7070783ddd123c862cca7338c99011368bc5a8b6e603b15ae8e70358dd13275e97 SHA512 e9b55117a13767a855b4f25e0c3550370d9d4e4110aa7e685b4131e07dfaef9a68a01e3e18620aee40d9152a37e01271ada0e112d71dc92cafcc1ba240bf03a5 +DIST pypy3_10-exe-7.3.14-1.x86-musl.gpkg.tar 9031680 BLAKE2B ebd345010960b2c30e8ba68b79b5986c88c3657577c4cab36f8edd28e7df6f7e0f37a42a696cd6e6b17a2bc40896cab4280b1da9c0883925711d5eb46f827dda SHA512 ae2974c7c792900152d65114fd08c81ace540d13ab428de2fa8018bd8a1f279b13cac7c0b7b75b77335feb1463c537f2e7009d362ef42a1c54af7b5097d27d5b +DIST pypy3_10-exe-7.3.14-1.x86.gpkg.tar 9021440 BLAKE2B 48a724bcfc5751413abcdf7adfe906a221e3541bdb8c550ad3711be0a8420b60c7716372eac6cbbadcae496fa135864507293fb9d3c287fa82eb921bf9107726 SHA512 7499e54bf34d9786b414bde6cc6265fc9c7372136461577af9af3a74a1775144168ce8100a3c9dc090491b24a863442bec29db4117bb326dd1c878925794575f EBUILD pypy3_10-exe-bin-7.3.13_p3.ebuild 2034 BLAKE2B 2929a8321810f24f9acdf39df73ac574f6f251f527aca9f88c9391672ea1f20f7b0a63ca9ec253b5eed2ced2157390b90f5ba085bf823dca0fb468909c279c48 SHA512 b08ceef463a43a3a3945129844f489763df275d84ac6d96a84f9817b3940ffb65a9956919e3d3e8d61e932585b395b55d6b5401ce307dc92761b710c10fe05b6 +EBUILD pypy3_10-exe-bin-7.3.14.ebuild 2036 BLAKE2B de1e4d8df35611557315fa2a5502e9eb4bbf5c6870fab8cc9187839dfd2c80400f8c24cde3078b06a3080ba7d7508582b32479d7a1ef59e22066dbf04f522282 SHA512 3842581febdaa65140fda3fb96db5f127c63e0956aa089f5cc152f453baa5edf64f2248a09a7e69717be95bed6141e3cb8395e86fce9b465c7695678f2071a96 MISC metadata.xml 241 BLAKE2B 4f18c355c71824c25df283b2d463a5abbf2295446e74b960e868dd78d4910ac066725450478087567a6e66b7a8948d99e053f13a7e58dbf2b89fdaf5c2f3436c SHA512 c46e70ffd66754ad84c64806f2bbff25ba9a688f035176a4565afc95351ce10fffba64bbde89965501460b05978c7e59b3d84db6a8cb6efff4055d4b7a5ab5d8 diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14.ebuild new file mode 100644 index 000000000000..3933dcac88c9 --- /dev/null +++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils unpacker + +PYVER=3.10 +MY_P=pypy3_10-exe-${PV}-1 + +DESCRIPTION="PyPy3.10 executable (pre-built version)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + elibc_glibc? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86.gpkg.tar + ) + ) + elibc_musl? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64-musl.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64-musl.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le-musl.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86-musl.gpkg.tar + ) + ) +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +# sys-devel/gcc for libgcc_s.so +RDEPEND=" + app-arch/bzip2:0/1 + dev-libs/expat:0/0 + dev-libs/libffi:0/8 + sys-libs/ncurses:0/6 + >=sys-libs/zlib-1.1.3:0/1 + virtual/libintl:0/0 + elibc_glibc? ( + sys-devel/gcc + >=sys-libs/glibc-2.35 + ) + !dev-python/pypy3_10-exe:${SLOT} +" + +PYPY_PV=${PV%_p*} +QA_PREBUILT=" + usr/bin/pypy${PYVER}-c-${PYPY_PV} +" + +src_install() { + insinto / + doins -r image/usr + fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}" + pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest index 1ebb96dbf816..5d7e6e429a15 100644 --- a/dev-python/pypy3_10-exe/Manifest +++ b/dev-python/pypy3_10-exe/Manifest @@ -1,4 +1,7 @@ DIST pypy3.10-gentoo-patches-7.3.13_p3.tar.xz 9780 BLAKE2B a72cfc6723ad914f012309eac7606a37f2e6dd2c5f83c049c0d68466dae45a366536f2065c1ccdc9516339cb8949b146e410ab04b1cbbff3b9d62620a039040d SHA512 c1beb5c661dd0c0d94bebb23b82972ac9442caf777c377923c31b3f82b007396d0c3ef9874fc01cf765986cc7c6a941628f7e377a732a0706e99e3acb6fc5db6 +DIST pypy3.10-gentoo-patches-7.3.14.tar.xz 4772 BLAKE2B 3866dd6a86f88bf10d5a9a639defea0dbe3cb301ccb23d015b147a220f0e32041dc46497e43ad03c1c486291bb56752d77eaa2703e164e58f4f6af3e6b1e2433 SHA512 5da998beefaabe1307a16f1d9d4239453b9017aaabefbdb34d70ce339bfb9f8b7a258cdfcba74e0241bf140b3d2aae500710309d1dddb667154be7c482e88daa DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43 +DIST pypy3.10-v7.3.14-src.tar.bz2 23828709 BLAKE2B 15b3197953ff6271ddc9aad317f06094e1744111b7236447f029299dcc8a8ee089a8d91eec46d634489e0e89c94c0b18fda97dee51b3030ac62b0beeea7d6413 SHA512 4162d60d3869cfc87b1850266b9c7147413d3a7184a3c0c2edf1d1270ba3dff2db8047c7f2b5bbdd4c4d5136823adc078a5d45d575715984bab6633d1462f694 EBUILD pypy3_10-exe-7.3.13_p3.ebuild 2859 BLAKE2B d25fd1d2fe4db8b14b32822743d303e1fe164d4236af519bc231a0db118cd32f950582bcd2e1c6de0522c10ff8d26d383bd0c8c2bb4ab0c4376066354a9ef624 SHA512 8e89ddb61bb26cf58e290ad7488b9cddc9698a2aadeb88897a5b901997b93806bc54cd50ce66a109613d919d6c55b29548e23396442974f8924bef248c1e051d +EBUILD pypy3_10-exe-7.3.14.ebuild 2861 BLAKE2B aa9e25b2a21232e0c5ac08939cf4376911920c7c7dba220f810be9b3b1c544395315b5e9a066d3e2a4b797ac19aff419d696cac554322483a9c308a45d389a89 SHA512 482398a63227ae2eaac531825b4e3c4bab022c729b64cfb29747bbb80d2eff9d7b576a06ab04902868fc4d27e6716afd9dcfc3b7532ea9c74c8082de8aff0747 MISC metadata.xml 498 BLAKE2B 8dbcdb7c3a4a2fa5d1a922fd5197fb5e3337adcaec1e7d382f25f8696c80726e5b79843477bf8e5ce131aecde6e2c4c283548c5b337e54cb58aaa066013c445a SHA512 8a9bb514bbf3bf328aa63734e1fdc106f6aaf5ccb88c29ad8a686ab2724f3d1f4727163500013dd16e7b34232b881cf47d2f174212b5428ee076af27cf43628d diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14.ebuild new file mode 100644 index 000000000000..9eec2da0971d --- /dev/null +++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs flag-o-matic pax-utils toolchain-funcs + +PYPY_PV=${PV%_p*} +PYVER=3.10 +MY_P="pypy${PYVER}-v${PYPY_PV/_}" +PATCHSET="pypy${PYVER}-gentoo-patches-${PV}" + +DESCRIPTION="PyPy3.10 executable (build from source)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + 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" +SLOT="${PYPY_PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+jit low-memory ncurses cpu_flags_x86_sse2" + +RDEPEND=" + app-arch/bzip2:0= + dev-libs/expat:0= + dev-libs/libffi:0= + >=sys-libs/zlib-1.1.3:0= + virtual/libintl:0= + ncurses? ( sys-libs/ncurses:0= ) + !dev-python/pypy3-exe-bin:${SLOT} +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-python/pypy + virtual/pkgconfig +" + +check_env() { + if use low-memory; then + CHECKREQS_MEMORY="1750M" + use amd64 && CHECKREQS_MEMORY="3500M" + else + CHECKREQS_MEMORY="3G" + use amd64 && CHECKREQS_MEMORY="6G" + fi + + check-reqs_pkg_pretend +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_configure() { + tc-export CC + + # Yes, yuck, but it's being worked on upstream (bug #918971). + # https://foss.heptapod.net/pypy/pypy/-/issues/4042 + append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types) + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use cpu_flags_x86_sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + --no-shared + $(usex jit -Ojit -O2) + + ${jit_backend} + + pypy/goal/targetpypystandalone + --withmod-bz2 + $(usex ncurses --with{,out}mod-_minimal_curses) + ) + + local interp=( pypy ) + if use low-memory; then + local -x PYPY_GC_MAX_DELTA=200MB + interp+=( --jit loop_longevity=300 ) + fi + + # translate into the C sources + # we're going to build them ourselves since otherwise pypy does not + # free up the unneeded memory before spawning the compiler + set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "translation failed" +} + +src_compile() { + emake -C "${T}"/usession*-0/testing_1 +} + +src_install() { + cd "${T}"/usession*-0 || die + newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}" + insinto "/usr/include/pypy${PYVER}/${PYPY_PV}" + doins *.h + pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest index b4f2a3d56e9f..be8dd4c40674 100644 --- a/dev-python/pypy3_10/Manifest +++ b/dev-python/pypy3_10/Manifest @@ -1,4 +1,7 @@ DIST pypy3.10-gentoo-patches-7.3.13_p3.tar.xz 9780 BLAKE2B a72cfc6723ad914f012309eac7606a37f2e6dd2c5f83c049c0d68466dae45a366536f2065c1ccdc9516339cb8949b146e410ab04b1cbbff3b9d62620a039040d SHA512 c1beb5c661dd0c0d94bebb23b82972ac9442caf777c377923c31b3f82b007396d0c3ef9874fc01cf765986cc7c6a941628f7e377a732a0706e99e3acb6fc5db6 +DIST pypy3.10-gentoo-patches-7.3.14.tar.xz 4772 BLAKE2B 3866dd6a86f88bf10d5a9a639defea0dbe3cb301ccb23d015b147a220f0e32041dc46497e43ad03c1c486291bb56752d77eaa2703e164e58f4f6af3e6b1e2433 SHA512 5da998beefaabe1307a16f1d9d4239453b9017aaabefbdb34d70ce339bfb9f8b7a258cdfcba74e0241bf140b3d2aae500710309d1dddb667154be7c482e88daa DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43 +DIST pypy3.10-v7.3.14-src.tar.bz2 23828709 BLAKE2B 15b3197953ff6271ddc9aad317f06094e1744111b7236447f029299dcc8a8ee089a8d91eec46d634489e0e89c94c0b18fda97dee51b3030ac62b0beeea7d6413 SHA512 4162d60d3869cfc87b1850266b9c7147413d3a7184a3c0c2edf1d1270ba3dff2db8047c7f2b5bbdd4c4d5136823adc078a5d45d575715984bab6633d1462f694 EBUILD pypy3_10-7.3.13_p3.ebuild 6312 BLAKE2B eaf56803de815ba2b66ce1f41c545589e0db710337c3635c939dc606465c5754fffeb97069c08b8dd4522bc6431009bc17d527362e3a1de0c4aa69b198abddce SHA512 c92b97d4257cae186b013bdae4caa8ae7bf1045567ebfeb8432c39179693e6a3c2122ba9c8f98d173f3e9043d373e930ccc486190c5db4483071c5834d6ecdc1 +EBUILD pypy3_10-7.3.14.ebuild 6314 BLAKE2B 529442108d44e4612a66c4bbb1a511f5472840b1d5f952a9a12a9ad6e0ca771d589474f69fa7790c4f47e7e99201011b76a884d60711bf11d1e07e52b05049cf SHA512 de94b475e6dcfcd5ea24eed5710856af9167a9a3276eb13ec598a93b90e0f55ec27ebebef4f763905017e4d2efa58489242206d9341d8b9a0ae44d7adc041e71 MISC metadata.xml 531 BLAKE2B 0f727c7ced9fb24ba0dc0b41d51c177b3711de33b838bf46cfdde5d8b751de9694873c13fe8153747f2cb533c078c54f004ee84b1c3c57b6f8d62128ffb9dba2 SHA512 331b66647a58047ded4bcf1529e3ca16b21cbb37afa82d8be0a4b6ad605e17bf3f1478fad1ea3b9c970bdf5162cb41e6adcb029a261fcbf894e807998b9219f6 diff --git a/dev-python/pypy3_10/pypy3_10-7.3.14.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.14.ebuild new file mode 100644 index 000000000000..723a5ebe36a9 --- /dev/null +++ b/dev-python/pypy3_10/pypy3_10-7.3.14.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multiprocessing pax-utils toolchain-funcs + +PYPY_PV=${PV%_p*} +PYVER=3.10 +MY_P="pypy${PYVER}-v${PYPY_PV/_}" +PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}" + +DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language" +HOMEPAGE=" + https://www.pypy.org/ + https://foss.heptapod.net/pypy/pypy/ +" +SRC_URI=" + 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="0/pypy310-pp73-384" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+ensurepip gdbm +jit ncurses sqlite tk" +# many tests are failing upstream +# see https://buildbot.pypy.org/summary?branch=py${PYVER} +RESTRICT="test" + +RDEPEND=" + || ( + >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?] + >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV} + ) + dev-lang/python-exec[python_targets_pypy3(-)] + 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= + ) + !~dev-python/pypy3-7.3.12_rc1 +" +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 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=$(<pybuilddir.txt) || die + cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die + + # 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 +} + +src_install() { + einfo "Installing PyPy ..." + dodir /usr/bin + dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER} + insinto /usr/lib/pypy${PYVER} + # preserve mtimes to avoid obsoleting caches + insopts -p + doins -r lib-python/3/. lib_pypy/. + insinto /usr/include + doins -r include/pypy${PYVER} + + # replace copied headers with symlinks + for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do + dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}" + done + + dodoc README.rst + + local dest=/usr/lib/pypy${PYVER} + rm -r "${ED}${dest}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${ED}${dest}"/ensurepip || die + fi + if ! use gdbm; then + rm -r "${ED}${dest}"/_gdbm* || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/sqlite3 \ + "${ED}${dest}"/_sqlite3* \ + "${ED}${dest}"/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/{idlelib,tkinter} \ + "${ED}${dest}"/_tkinter \ + "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die + fi + dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED" + + local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV} + # temporarily copy to build tree to facilitate module builds + cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die + + einfo "Byte-compiling Python standard library..." + # exclude list from CPython Makefile.pre.in + "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \ + -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ + --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/pypy3_9-exe-bin/Manifest b/dev-python/pypy3_9-exe-bin/Manifest index 841c6c3b9635..32cc4b2c9028 100644 --- a/dev-python/pypy3_9-exe-bin/Manifest +++ b/dev-python/pypy3_9-exe-bin/Manifest @@ -6,5 +6,14 @@ DIST pypy3_9-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6389760 BLAKE2B 1eb0a9aed7e28227 DIST pypy3_9-exe-7.3.13-1.ppc64le.gpkg.tar 9963520 BLAKE2B 07e02711f40e336077162887f1e39e761c295ef13300be46871082a4ecc998bedabbca38aba2a22d76899dd367d25194cf60f5ebe75fd89306c6661beaf4383e SHA512 939850b6d1c4acf634e9fb7eacabefb4888938fda2e333dd658e46304b281619b737cf3b5c1969c4114269a5a2ad90a193a1e7ca3bf57d67c4b777d308997cdf DIST pypy3_9-exe-7.3.13-1.x86-musl.gpkg.tar 8704000 BLAKE2B 22e5b403fe30d147d4eeff43b4ff010f5234a759a4383d2131a04e871039ac19f0c9918f43d2958554c0d25c2a1ad5532ab90a11bb2b401ec00f804b8a4f0b58 SHA512 3e9f5f3529473beaa13e1c473743449d08eb636f45fe6f94ecd5dc3560f2b48bd46ba9dc7aef9fbb54c94fd822e1835f0b58b611522a5349d54e5c509a5c1384 DIST pypy3_9-exe-7.3.13-1.x86.gpkg.tar 8642560 BLAKE2B c5f481f79ba67c5250d6d72d3582ff72be3f55516f14acbfe6720b65d7d6b1464c9a2703f7bb75e9479c5a1e83b07f0c6fa628a55a019eeb9ac939cb68275e99 SHA512 0eadc7cf710c2c02ef9c0ba7ae0c45a9055bb65f0f341d5039e41934d3217b0cd92ee169569205a7b14217f92e91da9b8d376b0dfb25c6c41be150771711ba36 +DIST pypy3_9-exe-7.3.14-1.amd64-musl.gpkg.tar 11878400 BLAKE2B 200c9e8ad15eff269c26edb0db30fb642502f969a35290e86d1aa1814a1b331dbf2b5cbb7848164b2383f2e7b1bd03ed69f44c010c8240bc34d9ca44d638c5a0 SHA512 7e41264432aab6f70e552931e27be8ee0126b9eb530a8d7b5f7cac32f1e5778965481f92c92cb1ab485a6d3f0196300741d591e20ce2f0c53af08e6f25224236 +DIST pypy3_9-exe-7.3.14-1.amd64.gpkg.tar 11857920 BLAKE2B e65451a17c7c253ccf6865e0c1e4767cc382322f0d3d6d476e847db0f0535eb82db5ff1716f1e5114fb73fee9f9fa2ac8b3251cd53ba3a271e0a6a9170b38a85 SHA512 2e0c1fbff05f8b3f24b442f53cbe2c937d108176b86195483b2de718b48c198a3efd2916d1206bbf2b8579b93657a954b688445918ff306dcde1d0157dd3f84f +DIST pypy3_9-exe-7.3.14-1.arm64-musl.gpkg.tar 10024960 BLAKE2B 68191a2c591d88dda53064572e85a4df07fd72c4219a89e73bcb03b87cee307aa385f4d8d366edf6ae7338b2f494d73c06e2b7f74f9251787d3fba9b92ba98bc SHA512 90870861fc0e9d70ab750b2ef259c056019173b475b514edf563231e05488cd3fd47d61ccd2d7742482b2c463fcb5280daf1f48089f16ef99eb43f9b24e69cc8 +DIST pypy3_9-exe-7.3.14-1.arm64.gpkg.tar 10024960 BLAKE2B 7e386315979ce7f4da6883906c3c754ad021df0ca7e5a9b57d81dc2bb1c09158d81b9960320bbdab47433d5b45d84f8024dc575a6f215c5e502bda3828797b60 SHA512 5311e5d8a6196398bc891b24d2b2ac0efe8ff64d254d27d04fae7e1d20418d77a19408a4276830b90951c1baf5f331bf4632476ac1e3845cbc8e4d47d0e578e5 +DIST pypy3_9-exe-7.3.14-1.ppc64le-musl.gpkg.tar 6584320 BLAKE2B 7fdcf4a6ed39a0c25be6dac0c3b5880e7aa7f5ea179b8790ac9d520b69fc1165554094d783d9d9327a3b3305b839c5ff3d94bcae04139606d6f10290f263c5c2 SHA512 299b851b509ef0905313761f82d89034cfe3cae5defeeb938635cb6a5d456ff9f3254b3875177d3720622168fdd0e8d635c62ddb6179d1ff2652ea333e1e730a +DIST pypy3_9-exe-7.3.14-1.ppc64le.gpkg.tar 10260480 BLAKE2B 94ec718a5c37dbf6b15e91346147918284e9778b8f5240dc0169fe13cd2356fbea87ae0c24a718f86e04929cc63a8e8e0b5291da4c257338c7f4f419448848ef SHA512 809f76e514ef3a050be570b81e56a872573a7125c55581104057505a13d11580d2f0f71a3e59c6fd22b2dcd3fb3cd1e2ae046ff4dcb9bf2c791675e112ff6526 +DIST pypy3_9-exe-7.3.14-1.x86-musl.gpkg.tar 8888320 BLAKE2B 6aa189e8a5e80bbed01216808d2b7b543831a19e0039f7e8ed037881ea6a5a22ecc3acb1179a7892a4896dd2ef783ce169689a8f6c45bbaef662528cc2b74264 SHA512 4b68eae8185ece64a59b0ba952779f8fa31594f874dbccf125a9243ff656b86e0381d4ac39f70f2456edf58a2715277e0ee29840126437643587c4dfcf065904 +DIST pypy3_9-exe-7.3.14-1.x86.gpkg.tar 8919040 BLAKE2B 3896f0db4893fb54bc085f79a861cafc2395a3160efe8efe344530052e5c9e4547121e6e3263e4e1ad36ea7aa45de62b454bd89a5ddefd999d088be612b9d97a SHA512 1dd32f1e05817f18ca76a3c5ad38b100ac8601a2df20307fbec1336b0139a7e2a701759a833b5991875458a117a772bb94b7aba80f7a2712ff380a2e3d9be62e EBUILD pypy3_9-exe-bin-7.3.13.ebuild 2024 BLAKE2B 4c187873f36c357f98926b74ca630433f108857489e3b7edf38dfa95b6204792fd7f1114032f331bcd62c6779138f6476a8415fcb7b469d0673d15fb9002de64 SHA512 caf6b5685a328ee31e399d5586e1f404ada1d3008fcd4630d2d1976770797c540dee0db6550a3a707616d0ee0d2d218fcbacff77eb89fbcdfec3004cef8b78e0 +EBUILD pypy3_9-exe-bin-7.3.14.ebuild 2024 BLAKE2B 4c187873f36c357f98926b74ca630433f108857489e3b7edf38dfa95b6204792fd7f1114032f331bcd62c6779138f6476a8415fcb7b469d0673d15fb9002de64 SHA512 caf6b5685a328ee31e399d5586e1f404ada1d3008fcd4630d2d1976770797c540dee0db6550a3a707616d0ee0d2d218fcbacff77eb89fbcdfec3004cef8b78e0 MISC metadata.xml 241 BLAKE2B 4f18c355c71824c25df283b2d463a5abbf2295446e74b960e868dd78d4910ac066725450478087567a6e66b7a8948d99e053f13a7e58dbf2b89fdaf5c2f3436c SHA512 c46e70ffd66754ad84c64806f2bbff25ba9a688f035176a4565afc95351ce10fffba64bbde89965501460b05978c7e59b3d84db6a8cb6efff4055d4b7a5ab5d8 diff --git a/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.14.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.14.ebuild new file mode 100644 index 000000000000..d714e8dea6e4 --- /dev/null +++ b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.14.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils unpacker + +PYVER=3.9 +MY_P=pypy3_9-exe-${PV}-1 + +DESCRIPTION="PyPy3.9 executable (pre-built version)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + elibc_glibc? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86.gpkg.tar + ) + ) + elibc_musl? ( + amd64? ( + https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.amd64-musl.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.arm64-musl.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.ppc64le-musl.gpkg.tar + ) + x86? ( + https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar + -> ${MY_P}.x86-musl.gpkg.tar + ) + ) +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +# sys-devel/gcc for libgcc_s.so +RDEPEND=" + app-arch/bzip2:0/1 + dev-libs/expat:0/0 + dev-libs/libffi:0/8 + sys-libs/ncurses:0/6 + >=sys-libs/zlib-1.1.3:0/1 + virtual/libintl:0/0 + elibc_glibc? ( + sys-devel/gcc + >=sys-libs/glibc-2.35 + ) + !dev-python/pypy3_9-exe:${SLOT} +" + +PYPY_PV=${PV%_p*} +QA_PREBUILT=" + usr/bin/pypy${PYVER}-c-${PYPY_PV} +" + +src_install() { + insinto / + doins -r image/usr + fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}" + pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3_9-exe/Manifest b/dev-python/pypy3_9-exe/Manifest index 5daeebc2a3b2..bcfffc355b78 100644 --- a/dev-python/pypy3_9-exe/Manifest +++ b/dev-python/pypy3_9-exe/Manifest @@ -1,4 +1,7 @@ DIST pypy3.9-gentoo-patches-7.3.13.tar.xz 7476 BLAKE2B 70f80c489686e92e933a200d2e92a095a80e2300814ec4e1f3cb31ec5f5500a45667f7bfe9570ea5eef3933fdda33a9930bdf2cf683c28e3ddb610bebeeca6dd SHA512 5170f5141beb93b3b37cc94f85324c88182967eaff2f8ca26b81d63d5b0d20414a139ca44c250c07b46c747e27c97fd0fe5a2365f6636aba2dd28df3bc55cdca +DIST pypy3.9-gentoo-patches-7.3.14.tar.xz 5808 BLAKE2B 92ab7e9129838ff22cc13a64fe1ffe9ffd3af45ec777bde531ce2e15b87681e17fca2f1dc037ee4798bca5a9312ca4c961ec97b0a53bf5e6dc36fd12241151c9 SHA512 dffd17558d5ec2625682e5476ea53a9fe273f553b94d2589628e23ac3b45c50b5bf3ba9c7d92935e477374d9220af6ed310abae1270175f091a8c5a267a4bacd DIST pypy3.9-v7.3.13-src.tar.bz2 23452374 BLAKE2B b5ce8dd78e4851b5c7fa6aa0c6f2f5c198a3b2d1e4691ccb20d1b229397d60ac41eaecef37f7c76e4de837876bdd6c1e4276302afc292080e0a38f1a58869580 SHA512 04b184050625f06d2acaa836a786db788c4f658f3384ebde176d0acc95044ee83dbf7193ebab1e4fd6275bed7a590d3945482294be32d8f94e8c541e053dce59 +DIST pypy3.9-v7.3.14-src.tar.bz2 24683302 BLAKE2B 318fe17b423ce9c5b374cbceacf480ddbad7862bd6507d74289bbc0bd8ba8cf350ad21297b1e2dab7dfe6e7f542d929259be8d57867420b8a9a59284532aa9e2 SHA512 77db85092ca8ce419e30b274ec001566bbd275d88e74e5a3a3d0d557b18beb5a1e98428487f338e46f64893e54bf426464d372056c37a87a2b42b36c7d0fb536 EBUILD pypy3_9-exe-7.3.13.ebuild 2662 BLAKE2B 9b78336e1adc2bc216953a6e464f8dc433ceda3898dbcd6ff96b60f886cd35b6d0532e22f5d77b6a1247b0f203cac01d1dd85b23eed8b7f9ecb7a822d45b841f SHA512 6e7019c636edfd391824b725d1552fcde4960284e9ba2c595aa6973cf65586a7c8ffe6ca61694904328c777898dacf5bd79c5d57117d4512e293af95bd928902 +EBUILD pypy3_9-exe-7.3.14.ebuild 2662 BLAKE2B 9b78336e1adc2bc216953a6e464f8dc433ceda3898dbcd6ff96b60f886cd35b6d0532e22f5d77b6a1247b0f203cac01d1dd85b23eed8b7f9ecb7a822d45b841f SHA512 6e7019c636edfd391824b725d1552fcde4960284e9ba2c595aa6973cf65586a7c8ffe6ca61694904328c777898dacf5bd79c5d57117d4512e293af95bd928902 MISC metadata.xml 498 BLAKE2B 8dbcdb7c3a4a2fa5d1a922fd5197fb5e3337adcaec1e7d382f25f8696c80726e5b79843477bf8e5ce131aecde6e2c4c283548c5b337e54cb58aaa066013c445a SHA512 8a9bb514bbf3bf328aa63734e1fdc106f6aaf5ccb88c29ad8a686ab2724f3d1f4727163500013dd16e7b34232b881cf47d2f174212b5428ee076af27cf43628d diff --git a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.14.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.14.ebuild new file mode 100644 index 000000000000..a6d7ba06e1b1 --- /dev/null +++ b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.14.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs pax-utils toolchain-funcs + +PYPY_PV=${PV%_p*} +PYVER=3.9 +MY_P="pypy${PYVER}-v${PYPY_PV/_}" +PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_}" + +DESCRIPTION="PyPy3.9 executable (build from source)" +HOMEPAGE="https://www.pypy.org/" +SRC_URI=" + 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" +SLOT="${PYPY_PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+jit low-memory ncurses cpu_flags_x86_sse2" + +RDEPEND=" + app-arch/bzip2:0= + dev-libs/expat:0= + dev-libs/libffi:0= + >=sys-libs/zlib-1.1.3:0= + virtual/libintl:0= + ncurses? ( sys-libs/ncurses:0= ) + !dev-python/pypy3-exe-bin:${SLOT} +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-python/pypy + virtual/pkgconfig +" + +check_env() { + if use low-memory; then + CHECKREQS_MEMORY="1750M" + use amd64 && CHECKREQS_MEMORY="3500M" + else + CHECKREQS_MEMORY="3G" + use amd64 && CHECKREQS_MEMORY="6G" + fi + + check-reqs_pkg_pretend +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && check_env +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default +} + +src_configure() { + tc-export CC + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use cpu_flags_x86_sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + --no-shared + $(usex jit -Ojit -O2) + + ${jit_backend} + + pypy/goal/targetpypystandalone + --withmod-bz2 + $(usex ncurses --with{,out}mod-_minimal_curses) + ) + + local interp=( pypy ) + if use low-memory; then + local -x PYPY_GC_MAX_DELTA=200MB + interp+=( --jit loop_longevity=300 ) + fi + + # translate into the C sources + # we're going to build them ourselves since otherwise pypy does not + # free up the unneeded memory before spawning the compiler + set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "translation failed" +} + +src_compile() { + emake -C "${T}"/usession*-0/testing_1 +} + +src_install() { + cd "${T}"/usession*-0 || die + newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}" + insinto "/usr/include/pypy${PYVER}/${PYPY_PV}" + doins *.h + pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3_9/Manifest b/dev-python/pypy3_9/Manifest index f1663407d20d..0ab70cf286b5 100644 --- a/dev-python/pypy3_9/Manifest +++ b/dev-python/pypy3_9/Manifest @@ -1,4 +1,7 @@ DIST pypy3.9-gentoo-patches-7.3.13.tar.xz 7476 BLAKE2B 70f80c489686e92e933a200d2e92a095a80e2300814ec4e1f3cb31ec5f5500a45667f7bfe9570ea5eef3933fdda33a9930bdf2cf683c28e3ddb610bebeeca6dd SHA512 5170f5141beb93b3b37cc94f85324c88182967eaff2f8ca26b81d63d5b0d20414a139ca44c250c07b46c747e27c97fd0fe5a2365f6636aba2dd28df3bc55cdca +DIST pypy3.9-gentoo-patches-7.3.14.tar.xz 5808 BLAKE2B 92ab7e9129838ff22cc13a64fe1ffe9ffd3af45ec777bde531ce2e15b87681e17fca2f1dc037ee4798bca5a9312ca4c961ec97b0a53bf5e6dc36fd12241151c9 SHA512 dffd17558d5ec2625682e5476ea53a9fe273f553b94d2589628e23ac3b45c50b5bf3ba9c7d92935e477374d9220af6ed310abae1270175f091a8c5a267a4bacd DIST pypy3.9-v7.3.13-src.tar.bz2 23452374 BLAKE2B b5ce8dd78e4851b5c7fa6aa0c6f2f5c198a3b2d1e4691ccb20d1b229397d60ac41eaecef37f7c76e4de837876bdd6c1e4276302afc292080e0a38f1a58869580 SHA512 04b184050625f06d2acaa836a786db788c4f658f3384ebde176d0acc95044ee83dbf7193ebab1e4fd6275bed7a590d3945482294be32d8f94e8c541e053dce59 +DIST pypy3.9-v7.3.14-src.tar.bz2 24683302 BLAKE2B 318fe17b423ce9c5b374cbceacf480ddbad7862bd6507d74289bbc0bd8ba8cf350ad21297b1e2dab7dfe6e7f542d929259be8d57867420b8a9a59284532aa9e2 SHA512 77db85092ca8ce419e30b274ec001566bbd275d88e74e5a3a3d0d557b18beb5a1e98428487f338e46f64893e54bf426464d372056c37a87a2b42b36c7d0fb536 EBUILD pypy3_9-7.3.13-r1.ebuild 6311 BLAKE2B a026679c0a4e092f2219f4f63718623012a62552439598525c080dc98d6b0bbbb4c561a0204b089989a66ca38ff3d614c1151480e70616e2cb083d9cc3d09363 SHA512 65f1ef6b8775982c6fe834a5aff09c0aae2d2e6a0f28bc07a885346c6263fb135444f9fdd397c083fa6196f712190e486f5fc013ee0184612d181ca1d40c8ca8 +EBUILD pypy3_9-7.3.14.ebuild 6311 BLAKE2B 02ece4d982b6444166c1ec035f3a95e2af738b25df03a8614d06edce6318df28f04d553464e55f2112ac79ee1ef124ef67495db291445ab436a5d4bf559910b3 SHA512 a83d9ce03cace746c3b113e89a31880b67287876f0e7d53daed16195e1668d8e2c04aa045762d13126adaf29b8bbc5b1ffcd84003730ca5ee09240c827639676 MISC metadata.xml 531 BLAKE2B 0f727c7ced9fb24ba0dc0b41d51c177b3711de33b838bf46cfdde5d8b751de9694873c13fe8153747f2cb533c078c54f004ee84b1c3c57b6f8d62128ffb9dba2 SHA512 331b66647a58047ded4bcf1529e3ca16b21cbb37afa82d8be0a4b6ad605e17bf3f1478fad1ea3b9c970bdf5162cb41e6adcb029a261fcbf894e807998b9219f6 diff --git a/dev-python/pypy3_9/pypy3_9-7.3.14.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.14.ebuild new file mode 100644 index 000000000000..6a263ec2fbb4 --- /dev/null +++ b/dev-python/pypy3_9/pypy3_9-7.3.14.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multiprocessing pax-utils toolchain-funcs + +PYPY_PV=${PV%_p*} +PYVER=3.9 +MY_P="pypy${PYVER}-v${PYPY_PV/_}" +PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}" + +DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language" +HOMEPAGE=" + https://www.pypy.org/ + https://foss.heptapod.net/pypy/pypy/ +" +SRC_URI=" + 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="0/pypy39-pp73-336" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+ensurepip gdbm +jit ncurses sqlite tk" +# many tests are failing upstream +# see https://buildbot.pypy.org/summary?branch=py${PYVER} +RESTRICT="test" + +RDEPEND=" + || ( + >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?] + >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV} + ) + dev-lang/python-exec[python_targets_pypy3(-)] + 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= + ) + !<dev-python/pypy3-7.3.12_rc +" +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 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=$(<pybuilddir.txt) || die + cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die + + # 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 +} + +src_install() { + einfo "Installing PyPy ..." + dodir /usr/bin + dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER} + insinto /usr/lib/pypy${PYVER} + # preserve mtimes to avoid obsoleting caches + insopts -p + doins -r lib-python/3/. lib_pypy/. + insinto /usr/include + doins -r include/pypy${PYVER} + + # replace copied headers with symlinks + for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do + dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}" + done + + dodoc README.rst + + local dest=/usr/lib/pypy${PYVER} + rm -r "${ED}${dest}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${ED}${dest}"/ensurepip || die + fi + if ! use gdbm; then + rm -r "${ED}${dest}"/_gdbm* || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/sqlite3 \ + "${ED}${dest}"/_sqlite3* \ + "${ED}${dest}"/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/{idlelib,tkinter} \ + "${ED}${dest}"/_tkinter \ + "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die + fi + dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED" + + local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV} + # temporarily copy to build tree to facilitate module builds + cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die + + einfo "Byte-compiling Python standard library..." + # exclude list from CPython Makefile.pre.in + "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \ + -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ + --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/python-sense-hat/Manifest b/dev-python/python-sense-hat/Manifest deleted file mode 100644 index de85f1e723a1..000000000000 --- a/dev-python/python-sense-hat/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST python-sense-hat-2.4.0.gh.tar.gz 27396 BLAKE2B 7f7482e17f80a3598c92f53f7a5b99ce4f5da10a5fc9ba6de656b6e18db323f8133f720d1486c3ecbe9badfdfe597c5365d2ba17ff637933d3053ec52f36dcfa SHA512 b2ce6c231b814d415dcf72b1031b29fd2309ccf194b8996401b1d3d7ff356ad4ed83a9ecff7c182410f789c3f1f47c3a6d64dd53884abf952f928734b94e54a5 -EBUILD python-sense-hat-2.4.0.ebuild 596 BLAKE2B eb167b8b31a8e76f366ae2ec77429abec36691dc283df8c9c4123e21b71f55d17f430cdeab20066b838b7f37bf7e41a89ada7665599856db51a8a075533eb15d SHA512 b8b6587287c02d17b49c41a760f22e206ac13221deea1bd196f78d451e34b6e39f9cdacecc3849244085f96902fd966d0e2d783b3048965e5f1e409c8ae222a7 -MISC metadata.xml 696 BLAKE2B 8c66d39989f0a29eb4b674afdfea3787c8ea4446d7fd41713f1a77d5e76c926f71200b685e3ca243dfac9c88ac9b7c11569fc36dc5c08e39e6aad24cc2ff94f7 SHA512 4c8725ab9fd8388006ccba8befe362e59962d9cc368d541dc57686544c10d81b891ff20788f6e209d79eaaabce3f857045b88acc5fb87a54995046e4b6ad21e9 diff --git a/dev-python/sense-hat/Manifest b/dev-python/sense-hat/Manifest new file mode 100644 index 000000000000..3fd9ef55cef0 --- /dev/null +++ b/dev-python/sense-hat/Manifest @@ -0,0 +1,5 @@ +DIST sense-hat-2.4.0.gh.tar.gz 27396 BLAKE2B 7f7482e17f80a3598c92f53f7a5b99ce4f5da10a5fc9ba6de656b6e18db323f8133f720d1486c3ecbe9badfdfe597c5365d2ba17ff637933d3053ec52f36dcfa SHA512 b2ce6c231b814d415dcf72b1031b29fd2309ccf194b8996401b1d3d7ff356ad4ed83a9ecff7c182410f789c3f1f47c3a6d64dd53884abf952f928734b94e54a5 +DIST sense-hat-2.6.0.gh.tar.gz 26598 BLAKE2B eabb9cae494584bb05d4d6e7111284925c2be8c8abcfe0f346f148ab2e29bae4ee3adf46aa1c83ad098760f7adf57635fa7b392effa5ffab065562c0f8a60e17 SHA512 23a10b7af223bf373ecef987c40da6ec7b7e802169b8abb0a810dce369d969276c290aef9b9e6e70ee3824ce6d238dcc2654e06d87d0e05b056d11f64ac9209a +EBUILD sense-hat-2.4.0.ebuild 639 BLAKE2B 09aaec1c75bac78c413bc5736275edb086638ee5df26408225e770802f43149fd6bb9dcb815170d1047f979b6786bcb83adc5006d1a618a4e8fc57e5ff1a13a1 SHA512 a9871f4858dc734f4c38ffaf62d33323054fea14cb9b7181e7ce9db2a1e42c8afe97ecf759714035882ad646870148aca9ffd44919769cae2096eba336f16bb0 +EBUILD sense-hat-2.6.0.ebuild 642 BLAKE2B dd371d659e3cdb424d46d9e0f0c4e9be57ea0b89c9d70d4590a9f988e768d8ed3c818f66223f80e7e90f5880c78a76658ce3a432b3475a3341eee2113c6b5458 SHA512 deb7746a932662ec5f5845729863469cb66d823c6ffa14db14fe0899d41af1aa7cd92672ac682e6f34ea1383eaa41d4b9c9ebe9f85bf66d781458c0d2682f2d9 +MISC metadata.xml 696 BLAKE2B 8c66d39989f0a29eb4b674afdfea3787c8ea4446d7fd41713f1a77d5e76c926f71200b685e3ca243dfac9c88ac9b7c11569fc36dc5c08e39e6aad24cc2ff94f7 SHA512 4c8725ab9fd8388006ccba8befe362e59962d9cc368d541dc57686544c10d81b891ff20788f6e209d79eaaabce3f857045b88acc5fb87a54995046e4b6ad21e9 diff --git a/dev-python/python-sense-hat/metadata.xml b/dev-python/sense-hat/metadata.xml index 036fcee9c23f..036fcee9c23f 100644 --- a/dev-python/python-sense-hat/metadata.xml +++ b/dev-python/sense-hat/metadata.xml diff --git a/dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild b/dev-python/sense-hat/sense-hat-2.4.0.ebuild index f2e7bd4fe801..8fd3c87b3cc6 100644 --- a/dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild +++ b/dev-python/sense-hat/sense-hat-2.4.0.ebuild @@ -4,13 +4,15 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools +MY_PN="python-${PN}" PYTHON_COMPAT=( python3_{9..11} ) inherit distutils-r1 DESCRIPTION="Raspberry Pi Sense HAT python library" HOMEPAGE="https://github.com/astro-pi/python-sense-hat" -SRC_URI="https://github.com/astro-pi/python-sense-hat/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI="https://github.com/astro-pi/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" LICENSE="BSD" SLOT="0" diff --git a/dev-python/sense-hat/sense-hat-2.6.0.ebuild b/dev-python/sense-hat/sense-hat-2.6.0.ebuild new file mode 100644 index 000000000000..e628fd7360e8 --- /dev/null +++ b/dev-python/sense-hat/sense-hat-2.6.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +MY_PN="python-${PN}" +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 + +DESCRIPTION="Raspberry Pi Sense HAT python library" +HOMEPAGE="https://github.com/astro-pi/python-sense-hat" +SRC_URI="https://github.com/astro-pi/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~arm ~arm64" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/rtimulib[${PYTHON_USEDEP}] +" + +DEPEND="${RDEPEND}" |