diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-12-19 20:25:18 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-12-19 20:25:18 +0000 |
| commit | 5ed0ee2c0428b5c3ab177602f5f4ef0dfdec0e4c (patch) | |
| tree | c6558e047b70118923b1df656a3f3c0704a8aaef /dev-python | |
| parent | 81ced48f539e85b7b7d01de970edf99f1ae9ab09 (diff) | |
| download | baldeagleos-repo-5ed0ee2c0428b5c3ab177602f5f4ef0dfdec0e4c.tar.gz baldeagleos-repo-5ed0ee2c0428b5c3ab177602f5f4ef0dfdec0e4c.tar.xz baldeagleos-repo-5ed0ee2c0428b5c3ab177602f5f4ef0dfdec0e4c.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
26 files changed, 730 insertions, 1001 deletions
diff --git a/dev-python/bottleneck/bottleneck-1.3.5.ebuild b/dev-python/bottleneck/bottleneck-1.3.5-r1.ebuild index 1776e97a4f3e..766ad24dff68 100644 --- a/dev-python/bottleneck/bottleneck-1.3.5.ebuild +++ b/dev-python/bottleneck/bottleneck-1.3.5-r1.ebuild @@ -31,6 +31,13 @@ DEPEND=" distutils_enable_tests pytest +src_prepare() { + # don't overwrites user's optimization level + sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die + + distutils-r1_src_prepare +} + python_test() { cd "${BUILD_DIR}/install$(python_get_sitedir)" || die epytest diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest new file mode 100644 index 000000000000..5846d3d30a62 --- /dev/null +++ b/dev-python/httpx-socks/Manifest @@ -0,0 +1 @@ +DIST httpx-socks-0.7.5.gh.tar.gz 24847 BLAKE2B 9c119b756bf493df47a1bc9c36339508a2192d2bd4392113955fed6929d7c79654f17c069f9d952a11d8c95cf210cdf54af1bb59f47dc50b26b180f0915d3fe9 SHA512 df921af0c5fd0e8b4cb127cd13d5285ae57eb6ff9bc95f9422c02c79771ef55f345ef1618156fd0887467ed81cad2081ea9f2a56a03dc1d80948ed9eabe67aee diff --git a/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild b/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild new file mode 100644 index 000000000000..4ddee7e9aafb --- /dev/null +++ b/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx" +HOMEPAGE=" + https://github.com/romis2012/httpx-socks/ + https://pypi.org/project/httpx-socks/ +" +SRC_URI=" + https://github.com/romis2012/httpx-socks/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + <dev-python/httpx-0.24.0[${PYTHON_USEDEP}] + >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}] + <dev-python/httpcore-0.17.0[${PYTHON_USEDEP}] + >=dev-python/httpcore-0.14.0[${PYTHON_USEDEP}] + >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/hypercorn-0.12.0[${PYTHON_USEDEP}] + >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}] + >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}] + >=dev-python/starlette-0.19.1[${PYTHON_USEDEP}] + >=dev-python/trio-0.18.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.6.3[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/httpx-socks/metadata.xml b/dev-python/httpx-socks/metadata.xml new file mode 100644 index 000000000000..ea8988e8af6a --- /dev/null +++ b/dev-python/httpx-socks/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest index b7412f5abb15..ec994aac239c 100644 --- a/dev-python/pypy-exe-bin/Manifest +++ b/dev-python/pypy-exe-bin/Manifest @@ -1,4 +1,8 @@ -DIST pypy-exe-7.3.8-1.amd64.xpak 13659803 BLAKE2B 438206eb417422b749d21ba0de71611147df9d0a40b6bef12bfc068fab92e7cd39878b1f15c97b6efe3f2751b29efd2f7ee9a6d084fc405384012b3c3e327552 SHA512 2c88e383302b8c873e1dcab1d24e0fc0455f751c2e5617926e97aa2414d84a437477ab029b9ae0751c418658250f13b54cb8abc871bd543ec58e392acdf4195f -DIST pypy-exe-7.3.8-1.x86.xpak 10179209 BLAKE2B e7d32ca389ab1dd92acc848caca0fb8e965f25f0ec9b3ca433984417d5979e4742926fcd5d6566eb89e19513b6fd02adcc1c5ef3305c52db84107cf14af1010a SHA512 df6086c046e6ad1da3d4d04dbc1bd6889b0ff760e6e10d4fd85c7add22cfaa31d6873dabaa18593aadc3e52d837043b3be1fec474c829debd79612adb7b0d07a -DIST pypy-exe-7.3.9-1.amd64.xpak 13757730 BLAKE2B d5e2bddc32a9cd199d01280dfbe2ff6e73583094583bf9ec3bc469911754df86270c8cfc5a9284cf06dba7ce267d897f864f6f357418e96e853a6e0f31d627e6 SHA512 570ca27d1ca411281a002c9c33ebb54d088032d6aa1898967e637f6bf06c8a32a16576f8c637fc13a0fb8294e7ba5b0b9b16600902037680b7d7f2b4edd6cfe7 -DIST pypy-exe-7.3.9-1.x86.xpak 10132659 BLAKE2B 2a7e1e587f38178861f958ab40864f3d4f1df80dd7495eb31ac493d0bfa1b4a42278bb1fe9219148b6d04377588c33e8606e59e93c53c08b867f5408a39b2efb SHA512 57cfdd0c9e9b44aae882069f356935be1719bf737d9fbd1fde75b724269bd69cffc62c8cec77a863eab5260d76bfe689dcc6c78fda55a4952b496a6d5ac5acc0 +DIST pypy-exe-7.3.10-1.amd64-musl.gpkg.tar 13107200 BLAKE2B 5b54930b2504e063839ca0e2017f6e0150ec3815c4ae783ceb97cbd11900e97edf3791bd998f686e3d16b122bb4e3f6f5abb387490af8589472c31170bc0f033 SHA512 9ee7998b391b0ff2d244346b8aef730b0c3cd5028e3a6c7dbcac77d248335eba3a01c6d1b478a21f1fca674d7ff6d2dd72df13ced5919b70b6eceb4b7991070f +DIST pypy-exe-7.3.10-1.amd64.gpkg.tar 13107200 BLAKE2B be6846f99504d5b7e80b6316e3164a9e46ce0510fc31daee429aa97800b734c21e751d205e1d93046fd4e4e008ca48b4738167249551052cb7bfffde50197af6 SHA512 eb1b01aae999ada190409ae087500ec6a3d03328da17625fe77cd7af3568275b43df158e06c6e7f595690aff539ab4ee61c67379bd7e8360403aaeb509a62de8 +DIST pypy-exe-7.3.10-1.arm64-musl.gpkg.tar 10956800 BLAKE2B 484123a23d5f39a976672cda199b405fcd144e5943328f1723d267e6918ef39b9f7cc0196d09287171046a2feaa15a9b80d5ec121f8f1cbe86d18d8aede678d7 SHA512 a8f46284f0e5ff822183f5a6ccb306a5e26adcf50e53dfa4e5e6f3d6418617935a9d92da092f4303adc2a10013860209a7011cf10da4c85dd77efe2bcf28123d +DIST pypy-exe-7.3.10-1.arm64.gpkg.tar 10885120 BLAKE2B 4d9a64cf4e63de1614b670fdbe8561681f4b6620ccfe3d3cb0ce72f7db986e85436323f074864c18c96722fb57d6909d2531867b0e8bed59afa8294fe482f6a2 SHA512 659c4e9b24c517c64f0d64580da99387aab0fec3bf5dbbc9ce663b111f0b339583ec1b4f8c808490c02ef71e09b9c08b29e02f9ad671dfe29a74489d72283ad4 +DIST pypy-exe-7.3.10-1.ppc64le-musl.gpkg.tar 6686720 BLAKE2B 8e740fc4a4244622c93a872537060f81daede6872e509654500b06b87904d2d396fc4ff7c3fe82eff3a0d523a8047e419223869f65779385c25f7cb68dae92a1 SHA512 267a7c771d09d40e28525683a85d539722584c88c5d007f6bdf2fe573d8bc46b199098ab176422b49bddc3d857d0c9376d4cb920a670c8959034950b9b4ed3a5 +DIST pypy-exe-7.3.10-1.ppc64le.gpkg.tar 11089920 BLAKE2B 9d2f551a2d3f797ac9afef0b2f5eec626f64c50225d53b5e0abc740abe8fe8f70165fa3fdcad43d3bfd04a456459a9fcfcfe5d0e61969ebb64f20b44b0c2de06 SHA512 c592463cb8d50a15723e74151e1327abf2e1cfb68524f588cb4e841e88177837198695afb073835ef2411b8a1d4dc7b9bf515106de876a6a6607cc4a0fbea7d7 +DIST pypy-exe-7.3.10-1.x86-musl.gpkg.tar 9707520 BLAKE2B 635e25ba163c1edd34eddaf5b2ddcac10b68385772b40e77fbbb2b901ab4301b0952d6da0743fd209e06f9d683d438e8849a0d26052c331edcb0f91aa90fe0b3 SHA512 0819fcdcfb88b4bfbac61932f887bdad6a456816d670b5844bca2164ecfff9a581a766e0e478b5799d7459b0a094515af3de444ca88318359fdda268f9bbdc9d +DIST pypy-exe-7.3.10-1.x86.gpkg.tar 9707520 BLAKE2B 53592d7991b5f5565f4aa1cb8de25658245c516c1ff042c0dce611abce35d9496bd048b2aeab748f16f11a89129894fc44b693c385bb8fea6ee1934e5970fd9e SHA512 458fabfcaabf6e225d5dbb45b11d301dd4655a85a3d00bf33c5a7c4c9ab1eeae25bfe059434f92303aaf0a0fa631494d51b37e17a7db9582de8eb1e19509d93b diff --git a/dev-python/pypy-exe-bin/metadata.xml b/dev-python/pypy-exe-bin/metadata.xml index d58e6b044b8a..853174b8f2ab 100644 --- a/dev-python/pypy-exe-bin/metadata.xml +++ b/dev-python/pypy-exe-bin/metadata.xml @@ -2,13 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>python@gentoo.org</email> <name>Python</name> </maintainer> - <origin>ports</origin> + <origin>gentoo-staging</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild new file mode 100644 index 000000000000..a94faab9ea06 --- /dev/null +++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2022 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-bin/pypy-exe-bin-7.3.8.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.8.ebuild deleted file mode 100644 index 42a06e9b0cb0..000000000000 --- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.8.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2021-2022 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit pax-utils - -MY_P=pypy-exe-${PV}-1 -DESCRIPTION="PyPy executable (pre-built version)" -HOMEPAGE="https://www.pypy.org/" -SRC_URI=" - amd64? ( - https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.xpak - -> ${MY_P}.amd64.xpak - ) - x86? ( - https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.xpak - -> ${MY_P}.x86.xpak - )" -S="${WORKDIR}" - -LICENSE="MIT" -SLOT="${PV%_p*}" -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" - -RDEPEND=">=sys-libs/zlib-1.1.3:0/1 - || ( - dev-libs/libffi-compat:7 - dev-libs/libffi:0/7 - ) - virtual/libintl:0/0 - dev-libs/expat:0/0 - app-arch/bzip2:0/1 - sys-libs/ncurses:0/6 - !dev-python/pypy-exe:${SLOT}" - -QA_PREBUILT=" - usr/lib/pypy2.7/pypy-c-${SLOT}" - -src_unpack() { - ebegin "Unpacking ${MY_P}.${ARCH}.xpak" - tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak") - eend ${?} || die "Unpacking ${MY_P} failed" -} - -src_install() { - insinto / - doins -r 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-bin/pypy-exe-bin-7.3.9.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild deleted file mode 100644 index 42a06e9b0cb0..000000000000 --- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2021-2022 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit pax-utils - -MY_P=pypy-exe-${PV}-1 -DESCRIPTION="PyPy executable (pre-built version)" -HOMEPAGE="https://www.pypy.org/" -SRC_URI=" - amd64? ( - https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.xpak - -> ${MY_P}.amd64.xpak - ) - x86? ( - https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.xpak - -> ${MY_P}.x86.xpak - )" -S="${WORKDIR}" - -LICENSE="MIT" -SLOT="${PV%_p*}" -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" - -RDEPEND=">=sys-libs/zlib-1.1.3:0/1 - || ( - dev-libs/libffi-compat:7 - dev-libs/libffi:0/7 - ) - virtual/libintl:0/0 - dev-libs/expat:0/0 - app-arch/bzip2:0/1 - sys-libs/ncurses:0/6 - !dev-python/pypy-exe:${SLOT}" - -QA_PREBUILT=" - usr/lib/pypy2.7/pypy-c-${SLOT}" - -src_unpack() { - ebegin "Unpacking ${MY_P}.${ARCH}.xpak" - tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak") - eend ${?} || die "Unpacking ${MY_P} failed" -} - -src_install() { - insinto / - doins -r 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/pypy-7.3.10.ebuild b/dev-python/pypy/pypy-7.3.10.ebuild new file mode 100644 index 000000000000..64c932882dae --- /dev/null +++ b/dev-python/pypy/pypy-7.3.10.ebuild @@ -0,0 +1,315 @@ +# Copyright 2021-2022 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit pax-utils python-utils-r1 + +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 libressl 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?] + ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( >=dev-libs/libressl-3.6.0:0= ) + gdbm? ( sys-libs/gdbm:0= ) + sqlite? ( dev-db/sqlite:3= ) + tk? ( + dev-lang/tk:0= + dev-tcltk/tix:0= + ) + !<dev-python/pypy-bin-7.3.0:0 +" +DEPEND=" + ${RDEPEND} +" + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + default + + eapply -p0 ${FILESDIR}/openssl_ct.patch + eapply -p0 ${FILESDIR}/openssl_dh.patch + eapply -p0 ${FILESDIR}/openssl_evp.patch + eapply -p0 ${FILESDIR}/openssl_hmac.patch + eapply -p0 ${FILESDIR}/openssl_ocsp.patch + eapply -p0 ${FILESDIR}/openssl_ssl.patch + eapply -p0 ${FILESDIR}/openssl_x509.patch + eapply -p0 ${FILESDIR}/openssl_x509name.patch + eapply -p1 ${FILESDIR}/openssl_proto.patch + eapply -p1 ${FILESDIR}/ssl_python.patch + eapply -p1 ${FILESDIR}/cryptography.patch + eapply -p1 ${FILESDIR}/openssl_cleanup.patch +} + +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 EPYTHON=pypy + 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_optimize "${ED}${dest}" + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/pypy/pypy-7.3.6.ebuild b/dev-python/pypy/pypy-7.3.6.ebuild deleted file mode 100644 index a58da1dceea2..000000000000 --- a/dev-python/pypy/pypy-7.3.6.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 2021 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit pax-utils python-utils-r1 - -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 gdbm +jit libressl ncurses sqlite tk" - -RDEPEND=" - || ( - >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?] - >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV} - ) - !libressl? ( dev-libs/openssl:0= ) - libressl? ( <dev-libs/libressl-3.3.4 ) - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - !<dev-python/pypy-bin-7.3.0:0" -DEPEND="${RDEPEND}" - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - default - - sed -e "s^@EPREFIX@^${EPREFIX}^" \ - -i lib-python/2.7/distutils/command/install.py || die -} - -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 -c 'import sysconfig; print sysconfig.get_config_var("SOABI")') - [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" - - einfo "Generating caches and CFFI modules ..." - - # Generate Grammar and PatternGrammar pickles. - ./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ - || die "Generation of Grammar and PatternGrammar pickles failed" - - # Generate cffi modules - # Please keep in sync with pypy/tool/build_cffi_imports.py! -#cffi_build_scripts = { -# "_ssl": "_ssl_build.py", -# "sqlite3": "_sqlite3_build.py", -# "audioop": "_audioop_build.py", -# "tk": "_tkinter/tklib_build.py", -# "curses": "_curses_build.py" if sys.platform != "win32" else None, -# "syslog": "_syslog_build.py" if sys.platform != "win32" else None, -# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None, -# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None, -# "resource": "_resource_build.py" if sys.platform != "win32" else None, - cffi_targets=( 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 - - # Cleanup temporary objects - find -name "_cffi_*.[co]" -delete || die - find -type d -empty -delete || die -} - -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 - ) - - ./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 - 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 - - dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy - dodoc README.rst - - 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 - - local -x EPYTHON=pypy - 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 - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_moduleinto /usr/lib/pypy2.7/site-packages - python_domodule epython.py - - einfo "Byte-compiling Python standard library..." - python_optimize "${ED}${dest}" - - # remove to avoid collisions - rm "${PYTHON}" || die -} diff --git a/dev-python/pypy/pypy-7.3.9.ebuild b/dev-python/pypy/pypy-7.3.9.ebuild deleted file mode 100644 index d5a349b2ed39..000000000000 --- a/dev-python/pypy/pypy-7.3.9.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2021-2022 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit pax-utils python-utils-r1 - -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 gdbm +jit libressl ncurses sqlite tk" - -RDEPEND=" - || ( - >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?] - >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV} - ) - !libressl? ( dev-libs/openssl:0= ) - libressl? ( >=dev-libs/libressl-3.5.0:0= ) - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - !<dev-python/pypy-bin-7.3.0:0" -DEPEND="${RDEPEND}" - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - default - - sed -e "s^@EPREFIX@^${EPREFIX}^" \ - -i lib-python/2.7/distutils/command/install.py || die - eapply -p0 ${FILESDIR}/openssl_ct.patch - eapply -p0 ${FILESDIR}/openssl_dh.patch - eapply -p0 ${FILESDIR}/openssl_evp.patch - eapply -p0 ${FILESDIR}/openssl_hmac.patch - eapply -p0 ${FILESDIR}/openssl_ocsp.patch - eapply -p0 ${FILESDIR}/openssl_ssl.patch - eapply -p0 ${FILESDIR}/openssl_x509.patch - eapply -p0 ${FILESDIR}/openssl_x509name.patch - eapply -p1 ${FILESDIR}/openssl_proto.patch - eapply -p1 ${FILESDIR}/ssl_python.patch - eapply -p1 ${FILESDIR}/cryptography.patch -} - -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 -c 'import sysconfig; print sysconfig.get_config_var("SOABI")') - [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" - - einfo "Generating caches and CFFI modules ..." - - # Generate Grammar and PatternGrammar pickles. - ./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ - || die "Generation of Grammar and PatternGrammar pickles failed" - - # 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 -c ' -from pypy_tools.build_cffi_imports import cffi_build_scripts as x; -import binascii, json; -print("%08x" % (binascii.crc32(json.dumps(x)),))') - - 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 -} - -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 - ) - - ./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 - 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 - - dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy - dodoc README.rst - - 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 - - local -x EPYTHON=pypy - 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 - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_moduleinto /usr/lib/pypy2.7/site-packages - python_domodule epython.py - - einfo "Byte-compiling Python standard library..." - python_optimize "${ED}${dest}" - - # remove to avoid collisions - rm "${PYTHON}" || die -} diff --git a/dev-python/pypy3-exe/Manifest b/dev-python/pypy3-exe/Manifest index 05460a548104..4c1972bf2684 100644 --- a/dev-python/pypy3-exe/Manifest +++ b/dev-python/pypy3-exe/Manifest @@ -1,4 +1,2 @@ -DIST pypy3.8-gentoo-patches-7.3.7.tar.xz 4396 BLAKE2B adc33a02ada4d22eae0484292ec6cc295805d9f254b7a9110c622628aa40011621a1833ca62d3251e4e5056c406f648e7ad0439bd60e77c38808dd9df46973a5 SHA512 1cda8467de2d749d98fa20d7d200b5f96dae0ca68cf44a054d03f3f148bc3946ba1f1c474ac0336560f79c78b3eddcd4ba24386e83de283c83475b8e4b75bdf8 -DIST pypy3.8-v7.3.7-src.tar.bz2 24375444 BLAKE2B 44fe19ee63d95243c499ecb0b84e77873c73da93320b1e028a5c6c4b167441d223812dc66b16e070308cba48c4d8774738f827319cce9d1769b3f4346e15487c SHA512 9e6701cc441d5535968656cfb0cfa9076c364f9ba32bc6f0ef64f06ab343281e2458dbe88791c0e02401457fbf80d367f397fc904f6146bff68e04a15e05fda2 -DIST pypy3.9-gentoo-patches-7.3.9.tar.xz 1564 BLAKE2B fe0875ef002842a78fb31589f6d0b255c3dea10f2bd014231ae9b17641f65f810ac84fe7961de1a4614249b0166f2127c3aa37947f7d1d4c85860a31b89110f1 SHA512 a1dc3ee36e908e29b2bbbb100a97b7910bd4325c5dc55c0455cdca450d6b272d1463708b383e0607e9499b1932da4442f97d2da57e47ed3a4ff8fd3c78a54732 -DIST pypy3.9-v7.3.9-src.tar.bz2 26976726 BLAKE2B bf1ed21c575901abac020120aaff07ab57f1404713211b19cbd1eb4d6ffc675b7933be8c6fffc2b69ab467963d6598534cd5aa90c02feddad596611d2a6b6581 SHA512 83f8a6a2da351c190d2d224242cbc35e35529c7a8e8d842eaf5c945cbce2e172b02a340f32af3d49df8d5288370d794d5bc95fc12dd4a13d817c925abf06198a +DIST pypy3.9-gentoo-patches-7.3.10.tar.xz 10012 BLAKE2B 45186cf6e8608995af6c0d763a2d676d862ba886acb3a0e0f0056309123d0db75240a175ecf90e24889a139f228dffc788872a5ca84736f4ce0901eda0acb789 SHA512 e6c39666f34bb7e2db72f153fad2d89421b30c04de88812637027a7e8a73bccc7620a7296b2b205464ad7fd0c911bc7a7f0dc0fc504dc8d163f7087b8b0c61b3 +DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8 diff --git a/dev-python/pypy3-exe/metadata.xml b/dev-python/pypy3-exe/metadata.xml index f813e9ee0c0e..aa8b98fa69c4 100644 --- a/dev-python/pypy3-exe/metadata.xml +++ b/dev-python/pypy3-exe/metadata.xml @@ -2,10 +2,6 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>python@gentoo.org</email> <name>Python</name> </maintainer> @@ -15,5 +11,5 @@ This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86, at the cost of lengthened build time.</flag> </use> - <origin>ports</origin> + <origin>gentoo-staging</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild new file mode 100644 index 000000000000..33e71a846c4c --- /dev/null +++ b/dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2022 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=pypy3.9-v${PYPY_PV/_} +PATCHSET="pypy3.9-gentoo-patches-${PV/_}" + +DESCRIPTION="PyPy3 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="3.9-${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 +" + +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/pypy3.9-c pypy3.9-c-${PYPY_PV} + insinto /usr/include/pypy3.9/${PYPY_PV} + doins *.h + pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}" +} diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.7.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.7.ebuild deleted file mode 100644 index 3242886bc28d..000000000000 --- a/dev-python/pypy3-exe/pypy3-exe-7.3.7.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 2021 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -# pypy3 needs to be built using python 2 -PYTHON_COMPAT=( python2_7 ) -inherit check-reqs pax-utils python-any-r1 toolchain-funcs - -PYPY_PV=${PV%_p*} -MY_P=pypy3.8-v${PYPY_PV/_} -PATCHSET="pypy3.8-gentoo-patches-${PV/_}" - -DESCRIPTION="PyPy3 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" - -RDEPEND=">=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= ) - !dev-python/pypy3-exe-bin:${PYPY_PV}" -DEPEND="${RDEPEND}" -BDEPEND=" - low-memory? ( dev-python/pypy ) - !low-memory? ( - || ( - dev-python/pypy - dev-lang/python:2.7 - ) - )" - -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() { - if [[ ${MERGE_TYPE} != binary ]]; then - check_env - - # unset to allow forcing pypy below :) - use low-memory && EPYTHON= - if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && - { has_version -b dev-python/pypy || - has_version -b dev-python/pypy-bin; } - then - einfo "Using PyPy to perform the translation." - EPYTHON=pypy - else - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" - einfo "recommends using PyPy for that. If you wish to do so, please install" - einfo "dev-python/pypy and ensure that EPYTHON variable is unset." - python-any-r1_pkg_setup - fi - fi -} - -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=( "${EPYTHON}" ) - if use low-memory; then - interp=( env PYPY_GC_MAX_DELTA=200MB - "${EPYTHON}" --jit loop_longevity=300 ) - fi - - if [[ ${EPYTHON} != pypy ]]; then - # 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() { - cd "${T}"/usession*-0 || die - newbin testing_1/pypy3-c pypy3-c-${PYPY_PV} - insinto /usr/include/pypy3.8/${PYPY_PV} - doins pypy_*.h - pax-mark m "${ED}/usr/bin/pypy3-c-${PYPY_PV}" -} diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild deleted file mode 100644 index baab2945beb5..000000000000 --- a/dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2021-2022 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -# pypy3 needs to be built using python 2 -PYTHON_COMPAT=( python2_7 ) -inherit check-reqs pax-utils python-any-r1 toolchain-funcs - -PYPY_PV=${PV%_p*} -MY_P=pypy3.9-v${PYPY_PV/_} -PATCHSET="pypy3.9-gentoo-patches-${PV/_}" - -DESCRIPTION="PyPy3 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="3.9-${PYPY_PV}" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" -IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2" - -RDEPEND=">=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= ) - !dev-python/pypy3-exe-bin:${PYPY_PV}" -DEPEND="${RDEPEND}" -BDEPEND=" - low-memory? ( dev-python/pypy ) - !low-memory? ( - || ( - dev-python/pypy - dev-lang/python:2.7 - ) - )" - -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() { - if [[ ${MERGE_TYPE} != binary ]]; then - check_env - - # unset to allow forcing pypy below :) - use low-memory && EPYTHON= - if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] && - { has_version -b dev-python/pypy || - has_version -b dev-python/pypy-bin; } - then - einfo "Using PyPy to perform the translation." - EPYTHON=pypy - else - einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream" - einfo "recommends using PyPy for that. If you wish to do so, please install" - einfo "dev-python/pypy and ensure that EPYTHON variable is unset." - python-any-r1_pkg_setup - fi - fi -} - -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=( "${EPYTHON}" ) - if use low-memory; then - interp=( env PYPY_GC_MAX_DELTA=200MB - "${EPYTHON}" --jit loop_longevity=300 ) - fi - - if [[ ${EPYTHON} != pypy ]]; then - # reuse bundled pycparser to avoid external dep - mkdir -p "${T}"/pymod || die - cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/pycparser || die - #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() { - cd "${T}"/usession*-0 || die - newbin testing_1/pypy3.9-c pypy3.9-c-${PYPY_PV} - insinto /usr/include/pypy3.9/${PYPY_PV} - doins *.h - pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}" -} diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest index 05460a548104..97bdf1319991 100644 --- a/dev-python/pypy3/Manifest +++ b/dev-python/pypy3/Manifest @@ -1,4 +1,4 @@ -DIST pypy3.8-gentoo-patches-7.3.7.tar.xz 4396 BLAKE2B adc33a02ada4d22eae0484292ec6cc295805d9f254b7a9110c622628aa40011621a1833ca62d3251e4e5056c406f648e7ad0439bd60e77c38808dd9df46973a5 SHA512 1cda8467de2d749d98fa20d7d200b5f96dae0ca68cf44a054d03f3f148bc3946ba1f1c474ac0336560f79c78b3eddcd4ba24386e83de283c83475b8e4b75bdf8 -DIST pypy3.8-v7.3.7-src.tar.bz2 24375444 BLAKE2B 44fe19ee63d95243c499ecb0b84e77873c73da93320b1e028a5c6c4b167441d223812dc66b16e070308cba48c4d8774738f827319cce9d1769b3f4346e15487c SHA512 9e6701cc441d5535968656cfb0cfa9076c364f9ba32bc6f0ef64f06ab343281e2458dbe88791c0e02401457fbf80d367f397fc904f6146bff68e04a15e05fda2 +DIST pypy3.9-gentoo-patches-7.3.10.tar.xz 10012 BLAKE2B 45186cf6e8608995af6c0d763a2d676d862ba886acb3a0e0f0056309123d0db75240a175ecf90e24889a139f228dffc788872a5ca84736f4ce0901eda0acb789 SHA512 e6c39666f34bb7e2db72f153fad2d89421b30c04de88812637027a7e8a73bccc7620a7296b2b205464ad7fd0c911bc7a7f0dc0fc504dc8d163f7087b8b0c61b3 DIST pypy3.9-gentoo-patches-7.3.9.tar.xz 1564 BLAKE2B fe0875ef002842a78fb31589f6d0b255c3dea10f2bd014231ae9b17641f65f810ac84fe7961de1a4614249b0166f2127c3aa37947f7d1d4c85860a31b89110f1 SHA512 a1dc3ee36e908e29b2bbbb100a97b7910bd4325c5dc55c0455cdca450d6b272d1463708b383e0607e9499b1932da4442f97d2da57e47ed3a4ff8fd3c78a54732 +DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8 DIST pypy3.9-v7.3.9-src.tar.bz2 26976726 BLAKE2B bf1ed21c575901abac020120aaff07ab57f1404713211b19cbd1eb4d6ffc675b7933be8c6fffc2b69ab467963d6598534cd5aa90c02feddad596611d2a6b6581 SHA512 83f8a6a2da351c190d2d224242cbc35e35529c7a8e8d842eaf5c945cbce2e172b02a340f32af3d49df8d5288370d794d5bc95fc12dd4a13d817c925abf06198a diff --git a/dev-python/pypy3/pypy3-7.3.9.ebuild b/dev-python/pypy3/pypy3-7.3.10.ebuild index f26c724ed45c..498fed55c0a3 100644 --- a/dev-python/pypy3/pypy3-7.3.9.ebuild +++ b/dev-python/pypy3/pypy3-7.3.10.ebuild @@ -2,15 +2,17 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python2_7 ) -inherit pax-utils python-any-r1 toolchain-funcs +inherit pax-utils python-utils-r1 toolchain-funcs PYPY_PV=${PV%_p*} MY_P=pypy3.9-v${PYPY_PV/_rc/rc} PATCHSET="pypy3.9-gentoo-patches-${PV/_rc/rc}" DESCRIPTION="A fast, compliant alternative implementation of the Python (3.9) language" -HOMEPAGE="https://www.pypy.org/" +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 @@ -20,41 +22,33 @@ 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" +SLOT="0/pypy39-pp73-336" KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="bzip2 gdbm +jit libressl ncurses sqlite test tk" +IUSE="+ensurepip gdbm +jit libressl ncurses sqlite tk" # many tests are failing upstream # see https://buildbot.pypy.org/summary?branch=py3.9 RESTRICT="test" RDEPEND=" || ( - >=dev-python/pypy3-exe-${PYPY_PV}:3.9-${PYPY_PV}[bzip2?,ncurses?] + >=dev-python/pypy3-exe-${PYPY_PV}:3.9-${PYPY_PV}[bzip2(+),ncurses?] >=dev-python/pypy3-exe-bin-${PYPY_PV}:3.9-${PYPY_PV} ) dev-lang/python-exec[python_targets_pypy3(-)] !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) + libressl? ( >=dev-libs/libressl-3.6.0:0= ) + 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-bin-7.3.0:0 " DEPEND=" ${RDEPEND} - test? ( - ${PYTHON_DEPS} - !!dev-python/pytest-forked - ) " -pkg_setup() { - use test && python-any-r1_pkg_setup -} - src_prepare() { local PATCHES=( "${WORKDIR}/${PATCHSET}" @@ -73,6 +67,7 @@ src_prepare() { eapply -p1 ${FILESDIR}/openssl_proto.patch eapply -p1 ${FILESDIR}/ssl_python.patch eapply -p1 ${FILESDIR}/cryptography.patch + eapply -p1 ${FILESDIR}/openssl_cleanup.patch } src_configure() { @@ -95,14 +90,34 @@ src_compile() { # verify the subslot local soabi=$( ./pypy3.9-c - <<-EOF + import importlib.util import sysconfig - print(sysconfig.get_config_var("SOABI")) + 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/pypy3.9" + LIBDIR "${EPREFIX}/usr/$(get_libdir)" + TZPATH "${EPREFIX}/usr/share/zoneinfo" + WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip" + ) + ./pypy3.9-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. ./pypy3.9-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed" import lib2to3.pygram @@ -149,17 +164,6 @@ src_compile() { find -type d -empty -delete || die } -src_test() { - # (unset) - local -x PYTHONDONTWRITEBYTECODE= - local -x COLUMNS=80 - - # Test runner requires Python 2 too. However, it spawns PyPy3 - # internally so that we end up testing the correct interpreter. - # (--deselect for failing doctests) - "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3.9-c -vv lib-python || die -} - src_install() { einfo "Installing PyPy ..." dodir /usr/bin @@ -180,6 +184,10 @@ src_install() { dodoc README.rst local dest=/usr/lib/pypy3.9 + 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 @@ -199,10 +207,6 @@ src_install() { # temporarily copy to build tree to facilitate module builds cp -p "${BROOT}/usr/bin/pypy3.9-c-${PYPY_PV}" "${PYTHON}" || die - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_moduleinto "${dest}"/site-packages - python_domodule epython.py - einfo "Byte-compiling Python standard library..." python_optimize "${ED}${dest}" diff --git a/dev-python/pypy3/pypy3-7.3.7.ebuild b/dev-python/pypy3/pypy3-7.3.7.ebuild deleted file mode 100644 index e250d57dd44c..000000000000 --- a/dev-python/pypy3/pypy3-7.3.7.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2021-2022 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -PYTHON_COMPAT=( python2_7 ) -inherit pax-utils python-any-r1 toolchain-funcs - -PYPY_PV=${PV%_p*} -MY_P=pypy3.8-v${PYPY_PV/_/} -PATCHSET="pypy3.8-gentoo-patches-${PV}" - -DESCRIPTION="A fast, compliant alternative implementation of the Python (3.7) 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" -# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))' -# also check pypy/interpreter/pycode.py -> pypy_incremental_magic -SLOT="0/pypy38-pp73" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" -IUSE="bzip2 gdbm +jit libressl ncurses sqlite test tk" -# pypy3.7 is in alpha state and a lot of tests are failing -RESTRICT="test" - -RDEPEND=" - || ( - >=dev-python/pypy3-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?] - >=dev-python/pypy3-exe-bin-${PYPY_PV}:${PYPY_PV} - ) - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - gdbm? ( sys-libs/gdbm:0= ) - sqlite? ( dev-db/sqlite:3= ) - tk? ( - dev-lang/tk:0= - dev-tcltk/tix:0= - ) - !<dev-python/pypy3-bin-7.3.0:0" -DEPEND="${RDEPEND} - test? ( - ${PYTHON_DEPS} - !!dev-python/pytest-forked - )" - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - local PATCHES=( - "${WORKDIR}/${PATCHSET}" - ) - default - - sed -e "s^@EPREFIX@^${EPREFIX}^" \ - -i lib-python/3/distutils/command/install.py || die - - eapply_user -} - -src_configure() { - tc-export CC -} - -src_compile() { - # copy over to make sys.prefix happy - cp -p "${BROOT}"/usr/bin/pypy3-c-${PYPY_PV} pypy3-c || die - cp -p "${BROOT}"/usr/include/pypy3.8/${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 pypy3-c - - einfo "Generating caches and CFFI modules ..." - - # Generate Grammar and PatternGrammar pickles. - ./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ - || die "Generation of Grammar and PatternGrammar pickles failed" - - # Generate cffi modules - # Please keep in sync with pypy/tool/build_cffi_imports.py! -#cffi_build_scripts = { -# "_blake2": "_blake2/_blake2_build.py", -# "_ssl": "_ssl_build.py", -# "sqlite3": "_sqlite3_build.py", -# "audioop": "_audioop_build.py", -# "tk": "_tkinter/tklib_build.py", -# "curses": "_curses_build.py" if sys.platform != "win32" else None, -# "syslog": "_syslog_build.py" if sys.platform != "win32" else None, -# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None, -# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None, -# "resource": "_resource_build.py" if sys.platform != "win32" else None, -# "lzma": "_lzma_build.py", -# "_decimal": "_decimal_build.py", -# "_sha3": "_sha3/_sha3_build.py", - cffi_targets=( blake2/_blake2 sha3/_sha3 ssl - audioop syslog pwdgrp resource lzma decimal ) - 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 - ../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" - done - - # Cleanup temporary objects - find -name "_cffi_*.[co]" -delete || die - find -type d -empty -delete || die -} - -src_test() { - # (unset) - local -x PYTHONDONTWRITEBYTECODE= - local -x COLUMNS=80 - - # Test runner requires Python 2 too. However, it spawns PyPy3 - # internally so that we end up testing the correct interpreter. - # (--deselect for failing doctests) - "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die -} - -src_install() { - local dest=/usr/lib/pypy3.7 - einfo "Installing PyPy ..." - dosym pypy3-c-${PYPY_PV} "${dest}/pypy3-c" - insinto "${dest}" - # preserve mtimes to avoid obsoleting caches - insopts -p - doins -r include lib_pypy lib-python - - # replace copied headers with symlinks - for x in "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/*; do - dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}" - done - - dosym ../lib/pypy3.7/pypy3-c /usr/bin/pypy3 - dodoc README.rst - - if ! use gdbm; then - rm -r "${ED}${dest}"/lib_pypy/_gdbm* || die - fi - if ! use sqlite; then - rm -r "${ED}${dest}"/lib-python/*3/sqlite3 \ - "${ED}${dest}"/lib_pypy/_sqlite3* \ - "${ED}${dest}"/lib-python/*3/test/test_sqlite.py || die - fi - if ! use tk; then - rm -r "${ED}${dest}"/lib-python/*3/{idlelib,tkinter} \ - "${ED}${dest}"/lib_pypy/_tkinter \ - "${ED}${dest}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die - fi - - local -x EPYTHON=pypy3 - local -x PYTHON=${ED}${dest}/pypy3-c-${PYPY_PV} - # temporarily copy to build tree to facilitate module builds - cp -p "${BROOT}${dest}/pypy3-c-${PYPY_PV}" "${PYTHON}" || die - - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_moduleinto /usr/lib/pypy3.7/site-packages - python_domodule epython.py - - einfo "Byte-compiling Python standard library..." - python_optimize "${ED}${dest}" - - # remove to avoid collisions - rm "${PYTHON}" || die -} diff --git a/dev-python/python-socks/Manifest b/dev-python/python-socks/Manifest index fcf803e8d367..090cccec82f9 100644 --- a/dev-python/python-socks/Manifest +++ b/dev-python/python-socks/Manifest @@ -1 +1,2 @@ DIST python-socks-2.0.3.gh.tar.gz 40697 BLAKE2B c1e6f72763d1bd767af78ea1188e411814a6d41f703488dd67165d5a9b9ce1e2f9070b35a46cd72859b65c10519cdb02c91d1702a97c2d82cb5891b46187d02a SHA512 9d51e61d03b4a46e94a66fc037ac759715db2e2c5d631aaf6088a0363ad13140c00da44a513088a40c0f149b9d4ee2bb4165f59f76c3956f0aede8104772fc5d +DIST python-socks-2.1.0.gh.tar.gz 31251 BLAKE2B b32b35c746066c10fa1e52677e42058e6196eb1c19cfc120a670e86daf8f920a4d6be3d1d92f984b68d635496da992b33f196277a1b22b254fe045988a15d2f1 SHA512 66da2da1d8103570e44d0a2ace03c24695b7319c562d7f96242c713b9d03ea693a2ece3cf6869cea686c330a9fb05aa35a443bad5a638d843b4fc7b24a8e6a82 diff --git a/dev-python/python-socks/python-socks-2.1.0.ebuild b/dev-python/python-socks/python-socks-2.1.0.ebuild new file mode 100644 index 000000000000..77e687667df6 --- /dev/null +++ b/dev-python/python-socks/python-socks-2.1.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="SOCKS4, SOCKS5, HTTP tunneling functionality for Python" +HOMEPAGE=" + https://github.com/romis2012/python-socks/ + https://pypi.org/project/python-socks/ +" +SRC_URI=" + https://github.com/romis2012/python-socks/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +# curio is not packaged +# asyncio is the only backend we have, so dep on its deps unconditionally +# TODO: revisit +RDEPEND=" + dev-python/async-timeout[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}] + >=dev-python/async-timeout-3.0.1[${PYTHON_USEDEP}] + >=dev-python/flask-1.1.2[${PYTHON_USEDEP}] + >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}] + >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}] + >=dev-python/tiny-proxy-0.1.1[${PYTHON_USEDEP}] + >=dev-python/trio-0.16.0[${PYTHON_USEDEP}] + >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.4.2[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/starlette/starlette-0.23.1.ebuild b/dev-python/starlette/starlette-0.23.1.ebuild index e047797c9a7e..dc05d61fd355 100644 --- a/dev-python/starlette/starlette-0.23.1.ebuild +++ b/dev-python/starlette/starlette-0.23.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{7,8,9,10,11} ) +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) inherit distutils-r1 diff --git a/dev-python/tiny-proxy/Manifest b/dev-python/tiny-proxy/Manifest new file mode 100644 index 000000000000..4d9159acc16f --- /dev/null +++ b/dev-python/tiny-proxy/Manifest @@ -0,0 +1 @@ +DIST tiny-proxy-0.1.1.gh.tar.gz 14940 BLAKE2B eba17082bf832127c36468db37d9214e45d236c9c1fa7e357e05269df8671f4a06992e03224147642221220aeb89d91479332038e09bf1aa22ce1f0c0316ff20 SHA512 aaf677d18058e6c7c1133398e03d7b0d8b9b4e500fc89174bb3dda1145eb0382492b227f892f672d7a558a30f1d4b92b20eef62922e0e6983f93fcd17850d825 diff --git a/dev-python/tiny-proxy/metadata.xml b/dev-python/tiny-proxy/metadata.xml new file mode 100644 index 000000000000..ea8988e8af6a --- /dev/null +++ b/dev-python/tiny-proxy/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild new file mode 100644 index 000000000000..a6333ea3a57c --- /dev/null +++ b/dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Simple proxy server (SOCKS4(a), SOCKS5(h), HTTP tunnel)" +HOMEPAGE=" + https://github.com/romis2012/tiny-proxy/ + https://pypi.org/project/tiny-proxy/ +" +SRC_URI=" + https://github.com/romis2012/tiny-proxy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + <dev-python/anyio-4.0.0[${PYTHON_USEDEP}] + >=dev-python/anyio-3.6.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/aiohttp-3.8.1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}] + >=dev-python/httpx-socks-0.7.4[${PYTHON_USEDEP}] + >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}] + >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest |
