diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-05-31 13:25:11 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-05-31 13:25:11 +0000 |
| commit | 77e0dfe446787ff4c8a851b4540c83fb9d505930 (patch) | |
| tree | 15fec630b6594762a5e6a1fabcd534334083bd64 /dev-python | |
| parent | 6135c784e419ee6c8d4056bc8158bf8347d19c2e (diff) | |
| download | baldeagleos-repo-77e0dfe446787ff4c8a851b4540c83fb9d505930.tar.gz baldeagleos-repo-77e0dfe446787ff4c8a851b4540c83fb9d505930.tar.xz baldeagleos-repo-77e0dfe446787ff4c8a851b4540c83fb9d505930.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
66 files changed, 2162 insertions, 23 deletions
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest index a45a61e3e4c6..1627093f0b16 100644 --- a/dev-python/Nuitka/Manifest +++ b/dev-python/Nuitka/Manifest @@ -2,3 +2,4 @@ DIST Nuitka-1.5.5.tar.gz 4172962 BLAKE2B 403ea94d2e2311c036359e80a9923f80bdaec91 DIST Nuitka-1.5.6.tar.gz 4172386 BLAKE2B 62909f36529ecb487c0f5010e19c1dd7b2033b6b7a00bed5ad5efe26b500eccf27f76f526caefdfd59bf2a796c82770310b0b5cc90a7d2d7b2aff24b285f2885 SHA512 dccf931acbdf18d905d3e9299dcbf47f50f8780e9beabc9d6266bc0b8ed174c8e5cb762257477742f3745284b84495ec6ea77f3e9f4e280113dade4ec8e11c6e DIST Nuitka-1.5.7.tar.gz 4179130 BLAKE2B 1918f0263edf89884658f49d0241f9993c6da8e0965f1a599ffed66cb635cea2729329183b1227a0b0e81f6d4e78c5ef1c1ca92c5148b635864e4caa536d0ab6 SHA512 aee0ec2d0a80b78262f3e4c972d1b156d41bea5323d3a12ed5afa47b41d6e372eb773968135217588a70f6b9ead2d215651999eb0e2f02d82e5996f89a9ea5e6 DIST Nuitka-1.5.8.tar.gz 4172897 BLAKE2B 1b4a50c6aacb6c41b4e068bc369a1c43839c8bca15c2786f3a37e8a3c6f2250e31c66192fd8ec79eb154e18e2f574819d27bc8ff3d80a97a248401966084d827 SHA512 963daea25553dc945e3f15020c7fcdabe6847ffd45167c84d68905dfe00630c132994587d1c9fc2076f19f29a46feab6b35ff15b9734d717ce50646192fa3039 +DIST Nuitka-1.6.tar.gz 4222249 BLAKE2B c4451092bfeee7b632e5ebb7162ba46f9fad29d9837f4913948aafb84b4fc6e69845fe52886962c053b419ad3307e5929fa201a4aad5c7e80dd388e41f1504d6 SHA512 3951e354acc76b63c9d61267d4f14ee75d97bc3ec838326b33d59d2ad1809a7a33605e1a6544f6c5d23a57b97fe067b9ca154744ee90d5bc77c53b90b128ecbc diff --git a/dev-python/Nuitka/Nuitka-1.6.ebuild b/dev-python/Nuitka/Nuitka-1.6.ebuild new file mode 100644 index 000000000000..1158b562d51b --- /dev/null +++ b/dev-python/Nuitka/Nuitka-1.6.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 flag-o-matic optfeature pypi + +DESCRIPTION="Python to native compiler" +HOMEPAGE=" + https://www.nuitka.net/ + https://github.com/Nuitka/Nuitka/ + https://pypi.org/project/Nuitka/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/scons[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf ) + +distutils-r1_src_prepare() { + # remove vendored version of SCons that is Python2 only + # this should be removed when upstream removes support for Python2 + rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die + eapply_user +} + +python_install() { + distutils-r1_python_install + doman doc/nuitka3.1 doc/nuitka3-run.1 +} + +python_test() { + append-ldflags -Wl,--no-warn-search-mismatch + ./tests/basics/run_all.py search || die +} + +pkg_postinst() { + optfeature "support for stand-alone executables" app-admin/chrpath +} diff --git a/dev-python/aiohttp/aiohttp-3.8.4.ebuild b/dev-python/aiohttp/aiohttp-3.8.4.ebuild index 01ba46fb7ce4..a9fb860bc7b1 100644 --- a/dev-python/aiohttp/aiohttp-3.8.4.ebuild +++ b/dev-python/aiohttp/aiohttp-3.8.4.ebuild @@ -35,7 +35,6 @@ BDEPEND=" dev-python/cython[${PYTHON_USEDEP}] test? ( app-arch/brotli[python,${PYTHON_USEDEP}] - dev-python/async_generator[${PYTHON_USEDEP}] dev-python/freezegun[${PYTHON_USEDEP}] www-servers/gunicorn[${PYTHON_USEDEP}] dev-python/pytest-forked[${PYTHON_USEDEP}] @@ -87,6 +86,10 @@ python_test() { local EPYTEST_DESELECT=( # Internet tests/test_client_session.py::test_client_session_timeout_zero + # broken by irrelevant deprecation warnings + tests/test_circular_imports.py::test_no_warnings + # TODO + tests/test_client_session.py::test_request_tracing_url_params ) case ${EPYTHON} in diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest index 8a6411da33d4..a976a42bdaf9 100644 --- a/dev-python/ansible-compat/Manifest +++ b/dev-python/ansible-compat/Manifest @@ -6,3 +6,4 @@ DIST ansible-compat-4.0.2.tar.gz 63771 BLAKE2B bcf66825c52de63172f7d36b696e136cc DIST ansible-compat-4.0.4.tar.gz 65116 BLAKE2B 3f96e052cb9ba0352884fe1cfeacf9a1e5a7bbee715d08c054df49112966751067eb08f32b0598a8559e200fa9c3a619b58b854699342b6185bd9579bc75cbf2 SHA512 b13bc3d7a29b2caebfddb7a2311bfb8ad94062019238ed5a8a22fe9de1c00d25426694755cdbf289094db7fdfd88248fcf3e17e9aef9601046ef33c25d6894e6 DIST ansible-compat-4.0.5.tar.gz 65711 BLAKE2B f40e87012dba936ba8b6f204559484ff089034123da4c355f997d7cec857efc64adcd0a4ec9abe021a428f61c692b13a3e3146f78a1896689c61764286e03719 SHA512 c08bbbcbef7e49001009cbd691dc226626f1392dfc5a5be89166da0be91c8d5794a2e6a158b11787320a1dcbe24c85eedee28596b0fc27d0a3c2a499286f5efc DIST ansible-compat-4.1.0.tar.gz 66781 BLAKE2B ce0da545e4a81798ee9376129b9f9e8c0cfd7ca641086ae55516406b73f89472a1fc44384e3728207be76cb2b8d1b724c55ff5dcf72e88a0f971ccd59aea8a8d SHA512 15b40622a00bb3b4ac3c8ed5ef05e0a65b867fbe9579352fbcbff8113d46e8da5fb5c36e0092387da4509b33244c8d27c0c08de76ff8dd78fd19e465824078c5 +DIST ansible-compat-4.1.1.tar.gz 66834 BLAKE2B 9558bd83e4662ffb9a9f45b2e5b24e36d4d1066b8fb082513ce92057a2c106b255d107a1d51a75bad3fb87e750d195e74be2918cefb599195b120ad6cd4a5ec4 SHA512 c97599b218eb32ef0c9761202cf2b616586876466626c7d249be71e4d519b417f5e85342e0cf682e2e6bc1f7b8af73863eb0afad5dfaecfce744eeed830f6956 diff --git a/dev-python/ansible-compat/ansible-compat-4.1.1.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.1.ebuild new file mode 100644 index 000000000000..76d0733e4c31 --- /dev/null +++ b/dev-python/ansible-compat/ansible-compat-4.1.1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Contains functions that facilitate working with various versions of Ansible" +HOMEPAGE=" + https://pypi.org/project/ansible-compat/ + https://github.com/ansible/ansible-compat/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~riscv" + +RDEPEND=" + >=app-admin/ansible-core-2.12[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}] + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-plus[${PYTHON_USEDEP}] + ) +" + +# All these tests attempt to connect to galaxy.ansible.com +EPYTEST_DESELECT=( + test/test_runtime.py::test_install_collection + test/test_runtime.py::test_install_collection_dest + test/test_runtime.py::test_prepare_environment_with_collections + test/test_runtime.py::test_prerun_reqs_v1 + test/test_runtime.py::test_prerun_reqs_v2 + test/test_runtime.py::test_require_collection_no_cache_dir + test/test_runtime.py::test_require_collection_wrong_version + test/test_runtime.py::test_require_collection + test/test_runtime.py::test_upgrade_collection + test/test_runtime_example.py::test_runtime +) + +distutils_enable_tests pytest diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index e4df2a3fc045..75cdd315c014 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,3 +1,4 @@ DIST boto3-1.26.133.gh.tar.gz 648114 BLAKE2B 97c71216d92baffb9e07f9c112590a1fc7828dc90b66364c9f344cb5f95aa927c80c56426c679e9bff8b3fa82d203d527d529cb337e786b471c1df120a9fb186 SHA512 66270dc31b85860320e5dbffc77d2f51e1d4e6d413624269171e3824020ead0cee842cea0e292748127c0584ced74f835cd46554240bd522787e77ad939dc69e DIST boto3-1.26.137.gh.tar.gz 650777 BLAKE2B e4a7d02ccefbda53b33558dc107457eaa1df0871bb2fc548b348246192cfdd6760bc43a6e6861622de6376244b80a94a387bbb827be2f5b749bccf6b8ff5af58 SHA512 de5d29a4139650f0527e93a9e223b7d41b285b6c263a5bc7ec9ebad1eee19373b1f2093c03414f7b575f8a7402734b4076cfaf0fa5be34ff54b55d8960e9c836 DIST boto3-1.26.142.gh.tar.gz 655602 BLAKE2B e9d5671308e71bb43a97953407f4aba5b78594ed39b26c3c992af9db8864e3c363ab874a66b5b015083c4a18fe7415bb1761137367783a70ff22564ada8a8842 SHA512 c2eabdb47898aa26fc8ba8a8ebfa43a86153188af1f1600bfa741bd3af1ce68a8692e461aecb5a29df94885e1c977b06c3cd009f1cec52a2e7a9dc853a2c3942 +DIST boto3-1.26.143.gh.tar.gz 656551 BLAKE2B 67ed6469df9ac6f8911d0d59d1f256db424e1302315163fac71b1da94be4b9bd25dfb99c97009523cba56af48eaf32276fba3088b703daf38a40724d8e715183 SHA512 ea982542cf7138368a9223049418859a176065b03ee3919895245c35667773206ce7587b101f7af72d30893c38d05afec28ca72a7d0968bcc209d24c118709d2 diff --git a/dev-python/boto3/boto3-1.26.143.ebuild b/dev-python/boto3/boto3-1.26.143.ebuild new file mode 100644 index 000000000000..03c610b184f7 --- /dev/null +++ b/dev-python/boto3/boto3-1.26.143.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2023 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} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/boto3" + inherit git-r3 + BOTOCORE_PV=${PV} +else + SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + + # botocore is x.(y+3).z + BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)" +fi + +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 35b8c735f973..5766c5121b1a 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,3 +1,4 @@ DIST botocore-1.29.133.gh.tar.gz 11484789 BLAKE2B ce1acc51ffada796e594090e7b4d73029df362459a562116ad9dabc56b926f7beec5644e5ce7d175e8901eac28420b57b758be266aa61582cac7e4b91b794e05 SHA512 62631be4f9bf07803e193a8a7ff3b04a806d6dc7668317765b853bba1f1c66cf49c8345f7640f829622c3c8ce96c775bf00bbfa943ff175a6c9a479a888e85db DIST botocore-1.29.137.gh.tar.gz 11508178 BLAKE2B 2f74fd2f3923672a4fcd501f1c5ba48cd09965ea0f70689bd6559a4c4a6fe8921f783ef86f28ac57893c8b1366d8fca2fc79f0216747e04142ed33880f07fe39 SHA512 b800a1b73170b5fcbbf1b17477bb8f04b19f5f250a68bbb3b993b0e058d8df870eddf932f79d94eaa3255b976ce136adbdd5b359757cd79f2cfe2a16b3cfa2f4 DIST botocore-1.29.142.gh.tar.gz 11528069 BLAKE2B 860a5ab68d26424702006b221e62e29cfe21ba93593be61e4ef7e89ab50c6afb4b305f2ef3b2d80fd428cf7791933e43b20e1d4934d330653290a7b2aa16f6c4 SHA512 f408175054095bdd3094dd789de333e4e669cee72fdbc5b03551fc006cbcda5cf69eaa6daa2eb3bf09b30524f50d4b7b334d7b18051e55eca12caa16529b41bf +DIST botocore-1.29.143.gh.tar.gz 11539133 BLAKE2B f1845154fe406cbc06fdbaa1bf8f48a98b40f267a59b86b9574955da9ad9d01c8eb573327ff1f1e68c06682ab2068328dc3bf8cf3cfe0df277a13afe51c70a50 SHA512 647301c2570f214493a934e0deb516a3b08b1bca34b71dff1a068c67427eaaeb371894f651cfb7152e23a31f91a63af3f25f47c198b5c6b65113eb648ee0b3d6 diff --git a/dev-python/botocore/botocore-1.29.143.ebuild b/dev-python/botocore/botocore-1.29.143.ebuild new file mode 100644 index 000000000000..509d06dedf97 --- /dev/null +++ b/dev-python/botocore/botocore-1.29.143.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 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} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/botocore" + inherit git-r3 +else + SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + # fails on unrelated warnings + tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME + tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME + # TODO + tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider + # urllib3-2 compatibility, mock relies on implementation details + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_no_response_from_server + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_returned + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_sends_307 + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_sends_connection_header + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_handles_expect_100_with_different_reason_phrase + tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_state_reset_on_connection_close + ) + + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest index c7462bd373d9..09f886ebb590 100644 --- a/dev-python/cattrs/Manifest +++ b/dev-python/cattrs/Manifest @@ -1 +1,2 @@ DIST cattrs-22.2.0.gh.tar.gz 117001 BLAKE2B 34601cf48c582da2d9aa8d741a08919b5f06043bc6ba6b072d8b0934e90e781349b1325ced478ca0b42b50db1f7fe2a6d3cd16ac29609efd72c9aa894debfe9e SHA512 d198864402f56d4e9403c61ee3d9d109c5eac3350908afa1e244dbe31e4bc986271fcb4c72bde9cdaa9ee865c6a8b81de68ec0d51490ed658b410714e1fc550c +DIST cattrs-23.1.1.gh.tar.gz 602294 BLAKE2B c0be7dc8979919c4d29f9bd51203d219b9d65bbaa271a38f4d1d6c705121a5c9747c3b8a29431de8ea6769baeae67323b8bd6f133f9fd6c80aa1f3bbf969b4d2 SHA512 8a048ce214ed1aa4b138164e3cd7e39fec84ee3d46f167dda402e3de0041fb0548b2e75051c63694a5baf59c78705823247e4204408f5d0b410a9aabdc68c7e3 diff --git a/dev-python/cattrs/cattrs-23.1.1.ebuild b/dev-python/cattrs/cattrs-23.1.1.ebuild new file mode 100644 index 000000000000..9b1d598a0a96 --- /dev/null +++ b/dev-python/cattrs/cattrs-23.1.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 + +DESCRIPTION="Composable complex class support for attrs and dataclasses" +HOMEPAGE=" + https://pypi.org/project/cattrs/ + https://github.com/python-attrs/cattrs/ +" +SRC_URI=" + https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/exceptiongroup[${PYTHON_USEDEP}] + ' 3.{9..10}) +" +BDEPEND=" + test? ( + >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}] + >=dev-python/immutables-0.18[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}] + >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}] + >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}] + >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -e 's:--benchmark.*::' \ + -e '/addopts/d' \ + -i pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + epytest tests +} diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest index dd999eb66dfb..b82e219a0df9 100644 --- a/dev-python/google-api-python-client/Manifest +++ b/dev-python/google-api-python-client/Manifest @@ -1,2 +1,3 @@ DIST google-api-python-client-2.86.0.tar.gz 10767816 BLAKE2B 532b86d49dfec724237a07c6d6c4dccbdf7a4f9d8c6a1c7f96548708c55e5851bca3e1f0f28da65edbde68a6d760498af8936be177ce5c0dda3e6809db218188 SHA512 2d1aea4a6735aeffbc4aba05affaa3c4389e2f9f121185d5a5d47e818e33ae3506bebf2748d7a14b374310531c7c3a34325524c5c48df3c882c6b2a4ce579e8d DIST google-api-python-client-2.87.0.tar.gz 10933794 BLAKE2B 702eef338d1b976219587a24b70adc513edd47bc03e7e17dd865424542d8ca61979073ea9d474c60e765f0cd4cfdd67ae2aac7f915b2be46a8c4cfc1bd4bd975 SHA512 55c8f90e4dbd74de6570f078341cb26b90d1a0ff7f20fb5ac2b94f8100ffdc12e49a9beeea5432d0c5f5cf0d0cb7834f8c2cb398be83b1c98305e5a07e2c81f6 +DIST google-api-python-client-2.88.0.tar.gz 10943608 BLAKE2B c82dd6af36d93d6fa4c0da31ec5a2d2371a9d960efb4f5a31dc63c268578234d12553f8604478e4bde5d43dcf51a738cd622f05aae0af9a405c9fc9bcde4b156 SHA512 059f49d16a6b55ca6106f779ac08aeb47a11af73022ecdac25817922207333540ea5cea4fe61dbbaea38ae0f07317144fbc0c9a5f05ba4eb8c03bbc661b94803 diff --git a/dev-python/google-api-python-client/google-api-python-client-2.88.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.88.0.ebuild new file mode 100644 index 000000000000..0c85e8ca1676 --- /dev/null +++ b/dev-python/google-api-python-client/google-api-python-client-2.88.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Google API Client for Python" +HOMEPAGE=" + https://github.com/googleapis/google-api-python-client/ + https://pypi.org/project/google-api-python-client/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + >=dev-python/httplib2-0.15[${PYTHON_USEDEP}] + <dev-python/httplib2-1[${PYTHON_USEDEP}] + >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}] + >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}] + >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}] + >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}] + <dev-python/uritemplate-5[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # require Internet access (and credentials) + tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive + tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object + ) + + epytest tests +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 14f60faf974f..1c19eef6a23f 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,3 +1,4 @@ DIST hypothesis-6.75.3.gh.tar.gz 9369491 BLAKE2B bae51e4f280a0773d4101b5b136ad994cb7eaca64a0a030bf3a9346d15a3caf7864bfc2f92bdff9eaabe83abc492b7e6cf31b19771470f6d680dbea9c83b31a4 SHA512 2e31f2f5483abf4c749dc3ef2758e51b62072e36f257777cecd71ea8f67a08987f5547bc9476dd2dbf8e9a6488fbe76d3d8ae83666bc2e80a2f26ea807cb15aa DIST hypothesis-6.75.5.gh.tar.gz 9370565 BLAKE2B e9ef05cfc24a0e5ada5ba863b4ce4c2d4884020cc8f3692c35f3f3d25b0a416e4a2c1b2061ea9bbd105a0f30264ca5d91264e99d6e65e79c909e577756803d78 SHA512 c94b5d40fda5e66a216aee5d8b40ca4df2ebf1549674ee81ad84f2456eb6f67348f468293b693708bb61b2999bc2c31d81b0fec277d39dfe256230320a4de0cb DIST hypothesis-6.75.6.gh.tar.gz 9370713 BLAKE2B 93996d6ff0c109c11123ad9b653502c44d51277760338c2575840d6257081bb19b0eedbf2d0feb15e9ebc9e6feacdbe79e070bfd31d35bb9c825bb4a2d44b7f5 SHA512 12396799a7f3fe661f5cb72ccf1a7299919d9f4b05a4075810803350380d217e30312d853ba72e49c28c4f1a08143cb76adc87465ba9cef7400e2dad9cc52001 +DIST hypothesis-6.75.7.gh.tar.gz 9371718 BLAKE2B 9b0c9f4589be2c81fdb79a1157fcf3815dd7f9c11e3c68e14319c10fdb7a534e90e3c1ae042889057bfdb97ae3ffcf9f0360d7fb1b17419309f31b190aa03d9e SHA512 ac4da9e837606f0d98361386e51496f21d9f53ceb0fdd9b3d14eb85456eaa3b4f7cbc7b29754b6b400093fd38b3d3c89ef74be6662f113e0eed87afbf0382ce1 diff --git a/dev-python/hypothesis/hypothesis-6.75.6.ebuild b/dev-python/hypothesis/hypothesis-6.75.6.ebuild index 14a4b222bd61..de3a26c2ee23 100644 --- a/dev-python/hypothesis/hypothesis-6.75.6.ebuild +++ b/dev-python/hypothesis/hypothesis-6.75.6.ebuild @@ -67,12 +67,10 @@ python_test() { ) fi if [[ ${EPYTHON} == python3.12 ]]; then - # cpython bug: https://github.com/python/cpython/issues/105042 EPYTEST_DESELECT+=( hypothesis-python/tests/cover/test_lookup.py hypothesis-python/tests/cover/test_type_lookup.py hypothesis-python/tests/cover/test_type_lookup_forward_ref.py - hypothesis-python/tests/quality/test_discovery_ability.py::test_one_of_flattens_filter_branches_{1..3} ) fi diff --git a/dev-python/hypothesis/hypothesis-6.75.7.ebuild b/dev-python/hypothesis/hypothesis-6.75.7.ebuild new file mode 100644 index 000000000000..de3a26c2ee23 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.75.7.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 multiprocessing optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/requests-toolbelt-0.10.1 + ) +" + +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() EPYTEST_IGNORE=() + if [[ ${EPYTHON} == pypy3 ]]; then + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + fi + if [[ ${EPYTHON} == python3.12 ]]; then + EPYTEST_DESELECT+=( + hypothesis-python/tests/cover/test_lookup.py + hypothesis-python/tests/cover/test_type_lookup.py + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py + ) + fi + + epytest -o filterwarnings= -n "$(makeopts_jobs)" \ + tests/cover tests/pytest tests/quality +} + +python_install() { + distutils-r1_python_install + if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/jwcrypto/Manifest b/dev-python/jwcrypto/Manifest index 83f1b925eaf8..012e71e37413 100644 --- a/dev-python/jwcrypto/Manifest +++ b/dev-python/jwcrypto/Manifest @@ -1 +1,2 @@ DIST jwcrypto-1.4.2.gh.tar.gz 94465 BLAKE2B 23b3a18694793cdbdd1875bd9b107ecab8248ac2c6cbf1bf142144633f7dc6efea91b693b808a4a6153b78c1117dbb2fe1f831f7f2558d2476e146961a501c17 SHA512 9967e626bc4a13a12ef09bbf3dada589c2c5374f4addff743c3ca9762c66659f59ca2e0f495cda6bc5821b6ed62aae95d478bf14de0acd6b2696bf0e1a9e7a49 +DIST jwcrypto-1.5.0.gh.tar.gz 95669 BLAKE2B c8a408e3bdd929a939562eeebe59b33eb422fdf3251b8572b362a08286975220810bf7b2d0d937ef4f20c76ff133b5246f810a3cb7fa7caf685ecd03729ba5e0 SHA512 92c8c735dffe3664e93ead9a5764139f188d349b78c45d09ea9ede68b271f19f4cd16418f9184df49f2f9def16864624edc3d08bda30fd73fbf3daa2b12157a4 diff --git a/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild b/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild new file mode 100644 index 000000000000..243f7d0e0ee8 --- /dev/null +++ b/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2023 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="Implements JWK,JWS,JWE specifications using python-cryptography" +HOMEPAGE=" + https://github.com/latchset/jwcrypto/ + https://pypi.org/project/jwcrypto/ +" +SRC_URI=" + https://github.com/latchset/jwcrypto/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/cryptography-3.4[${PYTHON_USEDEP}] + dev-python/deprecated[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs/source +distutils_enable_tests pytest + +python_prepare_all() { + # Do not install doc in non-standard paths + sed -e "/data_files/d" -i setup.py || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/pbr/files/pbr-5.11.1-importlib-suffixes.patch b/dev-python/pbr/files/pbr-5.11.1-importlib-suffixes.patch new file mode 100644 index 000000000000..27609131fc59 --- /dev/null +++ b/dev-python/pbr/files/pbr-5.11.1-importlib-suffixes.patch @@ -0,0 +1,41 @@ +Subject: [PATCH] Replace imp with importlib.machinery + +The imp was removed in Python 3.12 [1]. This commit replaces +get_suffixes() method call with _SUFFIXES array from imprtlib.machinery. + +[1] https://github.com/python/cpython/issues/98040 + +--- + +This is original patch submitted to Github mirror, it was later resubmitted to +upstream Gerrit, where they are taking care of Python2.7. We can stick with +this version of patch for now because we don't care about py2.7 anymore. + +Original-PR: https://github.com/openstack/pbr/pull/22 +Upstream-PR: https://review.opendev.org/c/openstack/pbr/+/884789 + +diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py +index c719d1e..068bab7 100644 +--- a/pbr/tests/test_packaging.py ++++ b/pbr/tests/test_packaging.py +@@ -40,7 +40,7 @@ + + import email + import email.errors +-import imp ++import importlib + import os + import re + import sysconfig +@@ -1217,7 +1217,7 @@ def get_soabi(): + # NOTE(sigmavirus24): PyPy only added support for the SOABI config var + # to sysconfig in 2015. That was well after 2.2.1 was published in the + # Ubuntu 14.04 archive. +- for suffix, _, _ in imp.get_suffixes(): ++ for suffix, _, _ in importlib.machinery._SUFFIXES: + if suffix.startswith('.pypy') and suffix.endswith('.so'): + soabi = suffix.split('.')[1] + break +-- +2.39.2 + diff --git a/dev-python/pbr/pbr-5.11.1.ebuild b/dev-python/pbr/pbr-5.11.1.ebuild index 13c68595745a..907180a62aa6 100644 --- a/dev-python/pbr/pbr-5.11.1.ebuild +++ b/dev-python/pbr/pbr-5.11.1.ebuild @@ -24,9 +24,14 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv RDEPEND=" >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}] " -# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and https://bugs.gentoo.org/show_bug.cgi?id=561038 -# docutils is needed for sphinx exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 -# stestr is run as external tool + +# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and +# https://bugs.gentoo.org/show_bug.cgi?id=561038 docutils is needed for sphinx +# exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 stestr is run as +# external tool. +# +# <dev-python/sphinx-7 is required because of removed build_sphinx hook in +# setup.py, see https://bugs.launchpad.net/pbr/+bug/2018453 BDEPEND=" test? ( $(python_gen_cond_dep ' @@ -34,7 +39,7 @@ BDEPEND=" >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] >=dev-python/six-1.12.0[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] + <dev-python/sphinx-7[${PYTHON_USEDEP}] >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}] >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] @@ -44,6 +49,10 @@ BDEPEND=" ) " +PATCHES=( + "${FILESDIR}/${P}-importlib-suffixes.patch" +) + distutils_enable_tests unittest python_prepare_all() { diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest index 12f5f7343ccd..f96324e015f4 100644 --- a/dev-python/phonenumbers/Manifest +++ b/dev-python/phonenumbers/Manifest @@ -1 +1,2 @@ DIST python-phonenumbers-8.13.11.gh.tar.gz 4910723 BLAKE2B 270ded8f0c009feb0ffe70bdcec089f400d1ea18ae24e3837b8f3a659657b82fb5912577eba22cb7c28a297dcbb55d402213c576857c514eb08c241af8bc1e4e SHA512 688b5440538cd6d636b645474dff51e4ba9a080708e4d3a9bdd5560701a9effbb26b9a669c632917101ea2e27a6f2ebe1f468fc0a881625ef33a4e30885ae30b +DIST python-phonenumbers-8.13.13.gh.tar.gz 4912623 BLAKE2B 7b030b15861150564dbc640d3ee40f8db360b79427d5ca6ebd33ff350cde2505c592455722463e94a609b4487a6908b9a5359059b83a3a4fe4212483bbf9f2fe SHA512 fe2e2aae730b5df6f1b150d45b6e3cb5225327b653243fece186d22b1f4685d796f91c3dc462d3c2239d976b249d4756590f72c8ff4d007826e46b86f0acc36e diff --git a/dev-python/phonenumbers/phonenumbers-8.13.13.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.13.ebuild new file mode 100644 index 000000000000..4ef52501be16 --- /dev/null +++ b/dev-python/phonenumbers/phonenumbers-8.13.13.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2023 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} ) + +inherit distutils-r1 + +MY_P=python-${P} +DESCRIPTION="Python port of Google's libphonenumber" +HOMEPAGE=" + https://github.com/daviddrysdale/python-phonenumbers/ + https://pypi.org/project/phonenumbers/ +" +SRC_URI=" + https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P}/python + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-python/protobuf-python[${PYTHON_USEDEP}] + ) +" + +DOCS=( ../README.md ) + +python_test() { + "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/plumbum/Manifest b/dev-python/plumbum/Manifest index 3c8591585662..5ddef9407894 100644 --- a/dev-python/plumbum/Manifest +++ b/dev-python/plumbum/Manifest @@ -1 +1,2 @@ DIST plumbum-1.8.1.tar.gz 316432 BLAKE2B 91288c5f793b9e3e7d1e1d3724f5cc16989d604b1236438fc71283fab5aa59bb34f1742fe2d79b7a9220e09a3622f5145769497765f3f9213dc70960af478fa0 SHA512 80031c07be3b68767556bba8246e964c51b16336d6105ad3d51d62f7c39287af6f928be713171c8c22cdd37145a0e7c3bd65d44f14bf8b1bc62483b648f3acff +DIST plumbum-1.8.2.tar.gz 317675 BLAKE2B d21a105d9919f70ad480d5de7ce157f2ae6c56cd248a2b70ad037c83a5e4b56bd8bdb3d9587860db383b04dd6528828426b47895c345f8bf7dc4931310be343d SHA512 636d10ea1c727cb24d4692537f3c0005077f86c3d9d2ae244f86ef5dd9621f8b51e0b5efffaa7acf66d6ba5552fddd641d4a1796c7fd760ac0a27d029f685c20 diff --git a/dev-python/plumbum/plumbum-1.8.2.ebuild b/dev-python/plumbum/plumbum-1.8.2.ebuild new file mode 100644 index 000000000000..07f1cdd249cc --- /dev/null +++ b/dev-python/plumbum/plumbum-1.8.2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="A library for shell script-like programs in python" +HOMEPAGE=" + https://plumbum.readthedocs.io/en/latest/ + https://github.com/tomerfiliba/plumbum/ + https://pypi.org/project/plumbum/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Need sshd running + tests/test_remote.py + tests/test_utils.py + # Windows specific + tests/test_putty.py + # Needs sudo without password + tests/test_sudo.py + # Wrong assumptions about env handling + tests/test_env.py::TestEnv::test_change_env + tests/test_env.py::TestEnv::test_dictlike + tests/test_local.py::TestLocalPath::test_iterdir +) + +src_prepare() { + sed -e '/addopts/d' -i pyproject.toml || die + distutils-r1_src_prepare +} + +pkg_postinst() { + optfeature "remote commands via ssh" dev-python/paramiko + optfeature "progress bars in jupyter" dev-python/ipywidgets + optfeature "colored output in jupyter" dev-python/ipython + optfeature "images on the command line" dev-python/pillow +} diff --git a/dev-python/priority/priority-2.0.0-r1.ebuild b/dev-python/priority/priority-2.0.0-r1.ebuild index ae42b9c61c28..6ff60234c68f 100644 --- a/dev-python/priority/priority-2.0.0-r1.ebuild +++ b/dev-python/priority/priority-2.0.0-r1.ebuild @@ -31,7 +31,6 @@ BDEPEND=" distutils_enable_tests pytest python_test() { - # https://github.com/python/cpython/issues/105042 if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then einfo "Skipping tests on ${EPYTHON} (xfail)" return diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest index 36452ff1da37..e7f6ce1cc8bf 100644 --- a/dev-python/pypy-exe-bin/Manifest +++ b/dev-python/pypy-exe-bin/Manifest @@ -14,3 +14,11 @@ DIST pypy-exe-7.3.12_rc1-1.ppc64le-musl.gpkg.tar 6604800 BLAKE2B 91ca6e456c6788d DIST pypy-exe-7.3.12_rc1-1.ppc64le.gpkg.tar 11038720 BLAKE2B cfea3f2abf4aee74df082e61d0cb235fde08900806d1dd730671a1364aff25e326ce675a483b3ddb05e3305ce74b8031fbdafcb4c5418da1d6ac236b17b98614 SHA512 a6194c321afffe5788e17b876d4f14de5d0686b61fad740ec2bae9b47d27052861742559d7bb8b530cfdc3a880f7291fc5af5768d49ce2c4a40b486585d0dca6 DIST pypy-exe-7.3.12_rc1-1.x86-musl.gpkg.tar 9748480 BLAKE2B c68992a784786ad6ee0a81891b209507c67ddb084716ba75f8aa55aee01243f144f252726643aa5f641e49fff93eb31ddb9cbab8e767df50ab05ecf0aa4e7e23 SHA512 7f56e4e199fa6893868af8f1c6616c2ab938c143df2b8647995c593532ab13e96d27bfa9bfa344d3967a70e849ca4e1ff5dfb2d8c447edd5c42b036d4afb2119 DIST pypy-exe-7.3.12_rc1-1.x86.gpkg.tar 9615360 BLAKE2B 466d9bb61c73c583ffccb79596db273fb3450f95fedc6b2b16309a1ca2a13b5ec4916a8015a74ca9fe9a6c98db14b06f125eb861cbdbc32531aaaaea925ba5fa SHA512 dbaddc9a52a4da886913993eade553bea94eae9ab818ecfd6cb12759edd24397d8fbe1b3d5d60dd6285d9b5a4b46444ab67ef85df6610f5061530f0771d8c88b +DIST pypy-exe-7.3.12_rc2-1.amd64-musl.gpkg.tar 12984320 BLAKE2B ea73f2b2f632b5df4f7eacc96ab6c438850b55466981ca2f3d4a39c7fcca784eec17c936d821fee2f83d7fc2962bb8cde4bd863dad37b293d9da20f24af0d6f6 SHA512 9b9ecca8e1de94977380ec6cdba42fa4839e61ec7818b3b2c27687534d15110c41c41e448a85d5e29c19277b9ffbee3c5dbf43d68447a78bb2d042fe8148618b +DIST pypy-exe-7.3.12_rc2-1.amd64.gpkg.tar 12963840 BLAKE2B b63d8788acd20c2b31f353bca4a3cc2b70bbdb6c72b580ef3a726cd42a47cec9884e46a23d4cc35332886745f3232908a88fa0114248ab0c564be1227098b342 SHA512 7cb65f2459e4b245f8d5c34fe5e74d66a8dcaba4e8b24984b4224d246912667516b994196114e5dc4289331d148f36acd298ac0aa6e347177f68f88a9882d8cb +DIST pypy-exe-7.3.12_rc2-1.arm64-musl.gpkg.tar 10885120 BLAKE2B 189566e720774ad9acd6e7c83a1e7e0188f2d17d615fd1370dc127aae9afa79a3e2ff554a1f07fff58c2e9c96aa49618f2e489883c99e16cf26971ba674ea7a1 SHA512 479558250c7bb34b0a0bfecca871b11fc4d0d79031acda5ac82d48258b117566e389b55da7fb14b9986ba41ca880543177b25690686cd24e61b5f8156f95564b +DIST pypy-exe-7.3.12_rc2-1.arm64.gpkg.tar 10895360 BLAKE2B b25f97f04abe581c10aa663ac7cd3e15369aab7f6e6a4cbc76a52c9f156cb8034b42795092420ca9de79bc4bd71aaa55ee9c9b72780e3e55e7ea8af797cc79dd SHA512 2b1908291d01addcec5efac9e98c322fef98733fb32d01c2255bf1192925da306ff8ba357bab27c8f68ca8440dae2ada1045cc545313d935500852cca25d62cc +DIST pypy-exe-7.3.12_rc2-1.ppc64le-musl.gpkg.tar 6594560 BLAKE2B 70571266b9da645ba948a66685686899442d0fd75ecb66295220b65afabef807a878df33090ce41f5e64340c11e72e8561b9f21f862a0ec48309dc14f18488b7 SHA512 b213eacc05bf2e113adc770b5f7d47f5aa3f646de1ef40742338f66192c7fde001b0e4b16e0fbb634bc74c550472ebbdd5aa0ebad2c8e48cc65cc78883d6d2fe +DIST pypy-exe-7.3.12_rc2-1.ppc64le.gpkg.tar 11069440 BLAKE2B 3e6dc47b3c07b2d66a19c34d255a8f716797ac2b66fb73875fd5bf8335b19baae43a1600f65cb263665b9498d34e53acfeb276344e505bf97122dd87f3c82c5c SHA512 eb668b12be1ab866919661f0126b0f76022f74bdc5f75d2762f0aca92487fd6669d78760c4bf243f1d1b4c4616f66f51d1139dad7efc27cfbdd8044ea87a226d +DIST pypy-exe-7.3.12_rc2-1.x86-musl.gpkg.tar 9758720 BLAKE2B 530be9dce21558783e933a5dafd70d928b19df6178c2dcf297e022183a2f2dc5e6eb13577974bffd41ea87b21a703776307d2f2970718740b74700ba9672c9c6 SHA512 c2737e1344d3360e940d4f253b7601ae71b06c27928ee359b9e65484a16be4a8d9770446480608237c42874cb87fc22d888eb4f43cdebc899f2f5aba56b2f872 +DIST pypy-exe-7.3.12_rc2-1.x86.gpkg.tar 9594880 BLAKE2B 8ad400c475f977e7f6655c99a8ff3160ce46475cfe27eb0354139a7b4ac5f01464a453fa47372b25d5249dd43336ead6b5688338f8c96015087543f7a0a285a9 SHA512 99d83ff66083ed6cc31a9587f37b3a6e8e25e8e40591875eb9ff4b5cbf1c4c4417bf6e8ffb7984a51665eed2a6a01171f7d4d93d911a1c0c352c5392872a7b57 diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.12_rc2.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..7e8642a993b5 --- /dev/null +++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.12_rc2.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="" + +# 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 d9b36d5418b0..e2cd0b09858f 100644 --- a/dev-python/pypy-exe/Manifest +++ b/dev-python/pypy-exe/Manifest @@ -1,4 +1,6 @@ DIST pypy2.7-gentoo-patches-7.3.11.tar.xz 5312 BLAKE2B 3692453a184a88d61fe1dd7aa815aa02a4bdf4b29defd2e98a354261784643f78799b979bb356c19311b40932cc7f8b8e050e10553755a846938951a87021bc9 SHA512 24308317d92b278f9f7d74327303ebba34628a2d8dd5798ae3d472d14fd0519a470b6f9c420da88e07251215342a1e4f5cf8d4230f9663119274d3194d3811a5 DIST pypy2.7-gentoo-patches-7.3.12rc1.tar.xz 5340 BLAKE2B 4631f3daa7002033af7b9a7026777053454bcb20ed03ad551a1df7efc32adef478e78d449d81dfad903c887cca53b9742edcc97e6cd1e368c3803f779fa6ee4d SHA512 b99723360d15e4411f7cf8ea75b6fd8de92acb3c123d2f3893bd3f2b820099a3ddb625e275e95fb858cb3fd5e4fe18dc653faf90509e7593b5088bcdf7c2092d +DIST pypy2.7-gentoo-patches-7.3.12rc2.tar.xz 5340 BLAKE2B 7b0028aa61cc9d0800f23cc9dc3f5e4dccc75cb56e55abc382f322d0eddac9ceeb6419f4aee201a12de006ab30585d5920705f96b5d09519e1c8982253e3472d SHA512 dd9ccbd66874d57e3111923b2171f134ae18ffc73d0b5ce3168cb0bea47048be6840c747f5f0da75d29b298935c873aa345b244b57e265ceafc2ac769f2f2e5c DIST pypy2.7-v7.3.11-src.tar.bz2 19850421 BLAKE2B ed8bd61e3857c37689f24a23d38d5043bd190ee0e6de5d7906284ea2eab5e7aeff5c994c22f97195f5a1ded2867725f74dc562b375c0165b6231eae69213c06e SHA512 31fd93fe3e761fd096ff52c2a0afa40f78e4df700deb911e221d1682b35e8374c9deac7ba19b474f7ca7a366d3ae9b36ebaf78e81c4ec8306431fd0873daea55 DIST pypy2.7-v7.3.12rc1-src.tar.bz2 19898483 BLAKE2B a0f618f69fc938ce59148cd98f03bcca09b89fd4f500132d5212212c391c703d64ea04681d5105b252e1efe41f001a8aa9692cfd3c37dfab4ff5af29b276dbfb SHA512 9faa36f27339a14dc5e7b326a0732ab8dc9c4401eabfe5787c14054a0d0961cc07c0d8e49dbaaaeb78a62ccf73e325b1d31731a138e3b24a6032f44550f6b346 +DIST pypy2.7-v7.3.12rc2-src.tar.bz2 19903233 BLAKE2B 3621951e3ec5d65318f31efedfc7f1ea8b1532594a311a832e1e6f9a27be2946e967c63a61cbb18808f7baa7235c757b58153352551d88ca09f69017fd0cb2b0 SHA512 e8845dcd98294a9d715cf962e1b600beb81a18b388617bac7cf8675d99364156ec278166b39d8bc0928f65df63336c8d6571387d95921f613660ec30849e69ce diff --git a/dev-python/pypy-exe/pypy-exe-7.3.12_rc2.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..37c1d0145b66 --- /dev/null +++ b/dev-python/pypy-exe/pypy-exe-7.3.12_rc2.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="" +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/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest new file mode 100644 index 000000000000..6671d9cacf77 --- /dev/null +++ b/dev-python/pypy3_10-exe-bin/Manifest @@ -0,0 +1,8 @@ +DIST pypy3_10-exe-7.3.12_rc2-1.amd64-musl.gpkg.tar 11919360 BLAKE2B b2218bde7a9b7d1eb72730ccd09ebd16b740fdea688b5faf43eead699bb9361892ad1c9d3ea619120bdce7a6cdf01ec23163bd59cf87fc9189fe845dd9a3fd3b SHA512 0003b1b5366a92ba16e55c78da52b0765f40133be51b9d1302b667da22ffcae7698ce23a59133ffbe43595cf6705549203ad1da6264a90b38ce5e3bdf88533a2 +DIST pypy3_10-exe-7.3.12_rc2-1.amd64.gpkg.tar 11919360 BLAKE2B 8d31c4ccc737e1c5f9e3317e3aa05a963d442c4927262c6ac5f0927ce589df73af54bbc1e7d256b6ca07247e541578fce252dc49e0bc5fdb0715412df90f84d0 SHA512 9d91e226122aa08e9a336ea699c6f793a964b1e0810e196958f17f04ccd30184649f0211afe846d3ad2649d867b82ee6ff9fda7ca4c7e243d1282582b267a870 +DIST pypy3_10-exe-7.3.12_rc2-1.arm64-musl.gpkg.tar 9932800 BLAKE2B 04b9eb19baa4c1754c7af8ebea2419ab98773b4aef71aaff458aef6d31c5d30f3c311cd485bb85bc2a1d08674f96086ff7cacdda1ccadc5bafd85e8a2e9309a3 SHA512 0e077cf79f7a6b411f4f571e47e70412dae54c6c4c0190ac176a19192dbb984b8a829718be64fb5ac86cb15aaf89d12f51f67abfbe8a14a399264483cab59fa4 +DIST pypy3_10-exe-7.3.12_rc2-1.arm64.gpkg.tar 9953280 BLAKE2B 5b0af71d66af6fd8f0f55cd885280fdd776398821726c5db58380a0dfc214fb711a631cab2d55c28eac4dfcaa5a0002b76b2e0ae2953affa33ebd459d2a24388 SHA512 5ad4ec2206ddb35a1c657533a4fcb7bd9e514e35a9d39d09828d854dc63588e752d7b40039462d662e6df8a945273408c9af895636301fd69131478c12a9e315 +DIST pypy3_10-exe-7.3.12_rc2-1.ppc64le-musl.gpkg.tar 6553600 BLAKE2B 22384bcf8a137bcbeaf7598acee7b837f0b44b2c975dd2d38dd2f307a9d8473e3b05921e810283264ef9fc582938ddfd40f580d571611ce4cc85ecdbb60c5dbe SHA512 43096af5b510c0468242b8596372ccd0baaf3d3cf41a2c68f829b281f7a0e8d7868dd1a8276f377879f8d688a8f0944e8d9f8146a16770671f8c19b0f5bd08b1 +DIST pypy3_10-exe-7.3.12_rc2-1.ppc64le.gpkg.tar 10240000 BLAKE2B 27f22ea3d1e635ee0ecc5b7a1fa17d9c6e52b8d49feaf18c2eac25998006f70d99d1831c8c253a4c6777e0683360fc5f95edbe67ae21f2cf000327398c8b4675 SHA512 c3895902458aeefb655a3feb02ea092027c09a97660f97d454626ddb79e0a4093e6e36b87c6ab57cff3eb24eb4fba26ee141ce9c0e34f1e0ce82e07c9ab84093 +DIST pypy3_10-exe-7.3.12_rc2-1.x86-musl.gpkg.tar 8898560 BLAKE2B b1388567bf84bf3c6be20568c89a4706c8d9a58b74fa8c67e557eaefc79ebf280cfaf9d488ca46f3eddb1249c4c6de33c7d5daadb7037407a804e69775241983 SHA512 6ff9f94202ab4be7a50f0c63fbd01c5062fa337ad5c39c723d88a24a87dc8bd54229e1a125b9026ecfd4ca0a13251127d8cf70c914f034b2f5480edb882b5de8 +DIST pypy3_10-exe-7.3.12_rc2-1.x86.gpkg.tar 8826880 BLAKE2B af377e52221fbf34fe175a3d76bb29b3bbb7d7de1c4747442ad16f0c7c92796321b2e0a1cda71902de406b72d3db27547baaffb0c0813b1f6a99abb22a76c37f SHA512 d7d0301f2a78af6d17238af1b3dffc3bfd3d2443698d45884a3b65be36cdd48836b8db58eda5996f36d2d58ad1dae4c0ccddf77f04c64d84eece5da6206de6a7 diff --git a/dev-python/pypy3_10-exe-bin/metadata.xml b/dev-python/pypy3_10-exe-bin/metadata.xml new file mode 100644 index 000000000000..853174b8f2ab --- /dev/null +++ b/dev-python/pypy3_10-exe-bin/metadata.xml @@ -0,0 +1,10 @@ +<?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> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.12_rc2.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..c20487422bbf --- /dev/null +++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.12_rc2.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 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="" + +# 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 new file mode 100644 index 000000000000..a5f10a112902 --- /dev/null +++ b/dev-python/pypy3_10-exe/Manifest @@ -0,0 +1,2 @@ +DIST pypy3.10-gentoo-patches-7.3.12rc2.tar.xz 3416 BLAKE2B 5aac048a8758aff3ea43de12da8b5bcffb5ca1a97d58b307d9badb9583376f0c2513d034ec394216b5d20ab5985a7f1142bd20f9affd5c48b8b86a5286194bad SHA512 3980fef808ac4d9530f9cc4f17ff70eff2612c31f7470c62a4ad83d727216c19cac62d6874d7187004ba83e1fbd349efebc303e0f74c3491baebaf8a630f6a89 +DIST pypy3.10-v7.3.12rc2-src.tar.bz2 23030434 BLAKE2B a94e427450350c239bd514a9747813337b1208edafeb6a05c18c0b7cd2075edd480d2081d605e62ec9b1ed227154396ed30bba05294db722a43de33c46e34893 SHA512 9e850d3ba16db7dc36069e50c3026d812f08763c5a92fc5e43fff0fcf54fad202c2a13b7101c49d52ee2fb89062fab335473334ccdd067d69ace6d9ecf7f92d2 diff --git a/dev-python/pypy3_10-exe/metadata.xml b/dev-python/pypy3_10-exe/metadata.xml new file mode 100644 index 000000000000..aa8b98fa69c4 --- /dev/null +++ b/dev-python/pypy3_10-exe/metadata.xml @@ -0,0 +1,15 @@ +<?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> + + <use> + <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint. + 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>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.12_rc2.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..8311381bd4ac --- /dev/null +++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.12_rc2.ebuild @@ -0,0 +1,127 @@ +# 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.10 +MY_P="pypy${PYVER}-v${PYPY_PV/_}" +PATCHSET="pypy${PYVER}-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="" +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/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 new file mode 100644 index 000000000000..a5f10a112902 --- /dev/null +++ b/dev-python/pypy3_10/Manifest @@ -0,0 +1,2 @@ +DIST pypy3.10-gentoo-patches-7.3.12rc2.tar.xz 3416 BLAKE2B 5aac048a8758aff3ea43de12da8b5bcffb5ca1a97d58b307d9badb9583376f0c2513d034ec394216b5d20ab5985a7f1142bd20f9affd5c48b8b86a5286194bad SHA512 3980fef808ac4d9530f9cc4f17ff70eff2612c31f7470c62a4ad83d727216c19cac62d6874d7187004ba83e1fbd349efebc303e0f74c3491baebaf8a630f6a89 +DIST pypy3.10-v7.3.12rc2-src.tar.bz2 23030434 BLAKE2B a94e427450350c239bd514a9747813337b1208edafeb6a05c18c0b7cd2075edd480d2081d605e62ec9b1ed227154396ed30bba05294db722a43de33c46e34893 SHA512 9e850d3ba16db7dc36069e50c3026d812f08763c5a92fc5e43fff0fcf54fad202c2a13b7101c49d52ee2fb89062fab335473334ccdd067d69ace6d9ecf7f92d2 diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml new file mode 100644 index 000000000000..6a14ca407288 --- /dev/null +++ b/dev-python/pypy3_10/metadata.xml @@ -0,0 +1,17 @@ +<?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> + + <use> + <flag name="ensurepip"> + Install the ensurepip module that uses bundled wheels + to bootstrap pip and setuptools (if disabled, it will + be only possible to use venv `--without-pip`) + </flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_10/pypy3_10-7.3.12_rc2.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..9442e56d476d --- /dev/null +++ b/dev-python/pypy3_10/pypy3_10-7.3.12_rc2.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils python-utils-r1 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="" +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 + + eapply_user +} + +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 + ) + 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 + + # Verify that CFFI module list is up-to-date + local expected_cksum=63d4659f + 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.[co]" -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 EPYTHON=pypy3 + 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..." + python_optimize "${ED}${dest}" + + # 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 new file mode 100644 index 000000000000..1e877888f58b --- /dev/null +++ b/dev-python/pypy3_9-exe-bin/Manifest @@ -0,0 +1,8 @@ +DIST pypy3_9-exe-7.3.12_rc2-1.amd64-musl.gpkg.tar 11765760 BLAKE2B 4fbae8b10e2460f3909bb4736046a120139800a70cb432de04f8b4d4bcfe5e6db0c747ad302d97918454f95675313d2c5754e85c9c1ebbb2413cd4b9e025ddf5 SHA512 82299f068a8e1a0d7772843d1269872e40db9939ccfab94c86f0a62dff203eaa9a281e1b0cfee1a8c030a7ee792bb917a3cabb23e9303e92d3fe43c0f924fb45 +DIST pypy3_9-exe-7.3.12_rc2-1.amd64.gpkg.tar 11765760 BLAKE2B f0ed332de083849ad8c58904f8cf49619a0deb93d8fb7988a7257160e0b1af03cc31e27fe40bd61ab36a67844488d4877a6831f8740a3a7047b845d1e90b6fe8 SHA512 fc2856979a7d00c274c24ca48bf91c3447aab36c8075b4ec40dfc1dc4e070188a7e66aefaa25875c97d2736a3b59591a2a8c7d28c309fcfb17ffad010469287b +DIST pypy3_9-exe-7.3.12_rc2-1.arm64-musl.gpkg.tar 9850880 BLAKE2B a69cbdb4a814e9bc6a1197ffcacd95d701314975ca7b12c6ed1767e741a65d623b937e958d3b05f95a5dd05ddf6fba43e32e99ac9cc1cf6f1656bd2c8217d677 SHA512 164a5094d02237a09f378afaa78ddce33056327819367c9200a6cf792788e6f4606aed07e0b65145e3dceb63597de83b8441e461f8a93595822de2d32a04cc00 +DIST pypy3_9-exe-7.3.12_rc2-1.arm64.gpkg.tar 9809920 BLAKE2B 336fc70fb07bb01e5f874cafa3167f81071a6dfe2c06ff3f17e32a07d8658342f4a7949567e50b7bfad3d6a145b356ea9c2a60fda838ba89613d3d57ff31f729 SHA512 81b8adcd567a4e9e9d217203c5699cc1e6ea3ffbb514163e54c72238d4e6f83becdf5a1bcd09b0b18f5bee34c7208d3afc4901d29eda63433c5e890f235bc6c3 +DIST pypy3_9-exe-7.3.12_rc2-1.ppc64le-musl.gpkg.tar 6440960 BLAKE2B 3746b592aa0d3ba85c87f78933c11338c829853c9392f48f5c203d04e56bb30adf9a06a1e2ad808d9c7d5c2c65c2f68c4526604aad42b8785449d737d3cb8dc0 SHA512 2c3871c562f4b2d7f77442272c920edb880fa94d77920de808e88addcf1a69b92897666ee1ed0eab009bc365953d31252e87dbc1180c9096267fab591335c062 +DIST pypy3_9-exe-7.3.12_rc2-1.ppc64le.gpkg.tar 10168320 BLAKE2B 412dac367dc4514da400ab31c4aaf3e308be3596dc227f5f53b85b9e5591c2075db038532773e20d2b403b9dd527c10dc5340d81a86060ccd32e01f0bfb3852d SHA512 f66a82860186972a156044a18f175d1da654b075cf7982463ff65c824ec97df26b3b226635d1d2052c2bfbeedba86b2028c3145fdeb7d4f37aa4a4eb3c90bf58 +DIST pypy3_9-exe-7.3.12_rc2-1.x86-musl.gpkg.tar 8796160 BLAKE2B e55bbe14558aa00349768077f79c7a53c881ce13a93497677786f681551686d1407688d83d6abaaf59bfd8c2a941c6fb20c540e77a50b4b728e59a6c27c11254 SHA512 88b959f303400b4a0a70db433a0d2b7e5fc7c67548ab6cc26272012aab3845707c1fd6aa84a1f942647f6cc4eb88dfd845d8b7761eb0792d914fbe031f81d1d1 +DIST pypy3_9-exe-7.3.12_rc2-1.x86.gpkg.tar 8704000 BLAKE2B 6ce103402b29c66fc5e033711538b9fe97d92b1ea68b7d668d7d7354435936fa7cb0254587f9b5cc2d10fe369a672f5c800efde2114f9e62a79727056f4ac713 SHA512 26d1444d548a2708eb7d9090d6759bfac1e51f456d5c09eaea38547169f51f74113c01bdce9032f0887c5e349079228e7c348c8e4be06aa2fa5a2f4af1b419db diff --git a/dev-python/pypy3_9-exe-bin/metadata.xml b/dev-python/pypy3_9-exe-bin/metadata.xml new file mode 100644 index 000000000000..853174b8f2ab --- /dev/null +++ b/dev-python/pypy3_9-exe-bin/metadata.xml @@ -0,0 +1,10 @@ +<?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> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.12_rc2.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..c448acdc63d8 --- /dev/null +++ b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.12_rc2.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 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="" + +# 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 new file mode 100644 index 000000000000..7982662b600c --- /dev/null +++ b/dev-python/pypy3_9-exe/Manifest @@ -0,0 +1,2 @@ +DIST pypy3.9-gentoo-patches-7.3.12rc2.tar.xz 7476 BLAKE2B d425ac68f555aeee07ca2b993341f5c7662d27f599200b1dbb3ad489a925b6934b6e95c39505c1dc899bde4b1e903822988ea98e6af883418d7b2b11ca8f42fb SHA512 c3fee32098544a13b7a14809357e7a8f060f0223eb50dd246981a304d1f273c8633b4dbca64ef2bb1a1f79fd1e7a48482d729f933c676768d11b7955f9f6c2d7 +DIST pypy3.9-v7.3.12rc2-src.tar.bz2 23585984 BLAKE2B 52fbdc403c7af9b2b96f50efe2256ad0f2b2fcf4622649f42606349994ac9bc4a9475b52dce58ee4cc36be06a845c009ac2097887e6d784f1712ed9ab0a0cf63 SHA512 5795081557e192b9b007eb0e324f2df5e520204d0c4fe9bb1118c99203584629b4c4da241d8b172e04654bc61c07d43d0b968232265f927bb425d76e7e9bc442 diff --git a/dev-python/pypy3_9-exe/metadata.xml b/dev-python/pypy3_9-exe/metadata.xml new file mode 100644 index 000000000000..aa8b98fa69c4 --- /dev/null +++ b/dev-python/pypy3_9-exe/metadata.xml @@ -0,0 +1,15 @@ +<?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> + + <use> + <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint. + 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>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.12_rc2.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..d5f0b7b0c1d5 --- /dev/null +++ b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.12_rc2.ebuild @@ -0,0 +1,127 @@ +# 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 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="" +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/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 new file mode 100644 index 000000000000..7982662b600c --- /dev/null +++ b/dev-python/pypy3_9/Manifest @@ -0,0 +1,2 @@ +DIST pypy3.9-gentoo-patches-7.3.12rc2.tar.xz 7476 BLAKE2B d425ac68f555aeee07ca2b993341f5c7662d27f599200b1dbb3ad489a925b6934b6e95c39505c1dc899bde4b1e903822988ea98e6af883418d7b2b11ca8f42fb SHA512 c3fee32098544a13b7a14809357e7a8f060f0223eb50dd246981a304d1f273c8633b4dbca64ef2bb1a1f79fd1e7a48482d729f933c676768d11b7955f9f6c2d7 +DIST pypy3.9-v7.3.12rc2-src.tar.bz2 23585984 BLAKE2B 52fbdc403c7af9b2b96f50efe2256ad0f2b2fcf4622649f42606349994ac9bc4a9475b52dce58ee4cc36be06a845c009ac2097887e6d784f1712ed9ab0a0cf63 SHA512 5795081557e192b9b007eb0e324f2df5e520204d0c4fe9bb1118c99203584629b4c4da241d8b172e04654bc61c07d43d0b968232265f927bb425d76e7e9bc442 diff --git a/dev-python/pypy3_9/metadata.xml b/dev-python/pypy3_9/metadata.xml new file mode 100644 index 000000000000..6a14ca407288 --- /dev/null +++ b/dev-python/pypy3_9/metadata.xml @@ -0,0 +1,17 @@ +<?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> + + <use> + <flag name="ensurepip"> + Install the ensurepip module that uses bundled wheels + to bootstrap pip and setuptools (if disabled, it will + be only possible to use venv `--without-pip`) + </flag> + </use> + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pypy3_9/pypy3_9-7.3.12_rc2.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.12_rc2.ebuild new file mode 100644 index 000000000000..90d3f4dc9027 --- /dev/null +++ b/dev-python/pypy3_9/pypy3_9-7.3.12_rc2.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils python-utils-r1 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="" +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 + + eapply_user +} + +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 + ) + 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 + + # Verify that CFFI module list is up-to-date + local expected_cksum=63d4659f + 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.[co]" -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 EPYTHON=pypy3 + 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..." + python_optimize "${ED}${dest}" + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-python/ruamel-yaml/Manifest b/dev-python/ruamel-yaml/Manifest index 61de375986a4..5998a842e753 100644 --- a/dev-python/ruamel-yaml/Manifest +++ b/dev-python/ruamel-yaml/Manifest @@ -4,3 +4,4 @@ DIST ruamel.yaml-0.17.23.tar.xz 185900 BLAKE2B ff283c979474f14e2f0231d64d0a609f2 DIST ruamel.yaml-0.17.24.tar.xz 186504 BLAKE2B d5bd5240c3ad68309ad9382dd076111f554848a71697ac98015e34449a98c101f37cef0fdead279501976cceb235c8b055675eb63aab4c8121dd30ae5740dd90 SHA512 32fe95c4927197af4f30bc68d26bff956520d69471f802b58be6a07a0c4b2ed45673cd7890a2f49dc2a13791a2dac2fa66a7e6137f5afe813b6d8d56704d0c16 DIST ruamel.yaml-0.17.26.tar.xz 186752 BLAKE2B ce3d914ac27df2d038a882535f3559b47051a1fb1206a3ab6cab7c2ee0ee9fcfb5fc0babfb3a3488e7d074798bcbdb24d67d2a37a00c9d9210e96f13bb5bcdbb SHA512 40a91002f904621632acaa73b5bd3095f933369d354a8e7579a5afe4c171ceefadb76d5ecbdd3ef6202833874ba19ed518ce5ac5c7dbf15b698dd07b95260d33 DIST ruamel.yaml-0.17.28.tar.xz 187800 BLAKE2B 24dbf1c3fc76ec2f6255a7771dfa3bae24bf97c7014bd3205dd4968d73bdd9c4fc9e3adf721dba89c50554d13dbdd528f5f67c99692ef15b361119330b35005e SHA512 313bd7e4cfa559f90e150cf5a522b5c690b680b38df24ea3b4320484012b6e4c841f94fd21ca33283dfc0a1d04c465d38d4b5d48f95d2f1f9b876dc371a74f35 +DIST ruamel.yaml-0.17.30.tar.xz 189936 BLAKE2B 9e662551527372b3a1654d8e5da8c1e0a22f432d6564a807fe89bee7f93e2878d47e6a97f50475643575e89eb03564beb86daa7295d14513ff09615d38441f3b SHA512 0e460fa05e69d99591ff4dd1b35ae3be4ba40f21bcf514f16256a56a346b570c7c41a56e1ccf7c1d3ff14beb53800a4f0752243aa20fc37df345509c293d351a diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.17.30.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.17.30.ebuild new file mode 100644 index 000000000000..68ab1d975c37 --- /dev/null +++ b/dev-python/ruamel-yaml/ruamel-yaml-0.17.30.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2023 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 + +MY_P="${P/-/.}" +DESCRIPTION="YAML parser/emitter that supports roundtrip comment preservation" +HOMEPAGE=" + https://pypi.org/project/ruamel.yaml/ + https://sourceforge.net/projects/ruamel-yaml/ +" +# PyPI tarballs do not include tests +SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz" +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}] + !dev-python/namespace-ruamel +" +BDEPEND=" + test? ( + dev-python/ruamel-std-pathlib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_compile() { + distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} + +python_test() { + local EPYTEST_DESELECT=() + [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( + _test/test_deprecation.py::test_collections_deprecation + ) + local EPYTEST_IGNORE=( + # Old PyYAML tests from lib/ require special set-up and are + # invoked indirectly via test_z_olddata, tell pytest itself + # to leave the subdir alone. + _test/lib/ + ) + + # this is needed to keep the tests working while + # dev-python/namespace-ruamel is still installed + distutils_write_namespace ruamel + epytest +} diff --git a/dev-python/sphinx/sphinx-6.2.1.ebuild b/dev-python/sphinx/sphinx-6.2.1.ebuild index d824bf1f9a9d..d120054ec910 100644 --- a/dev-python/sphinx/sphinx-6.2.1.ebuild +++ b/dev-python/sphinx/sphinx-6.2.1.ebuild @@ -103,6 +103,8 @@ python_test() { # TODO tests/test_ext_autodoc_autoclass.py::test_classes tests/test_ext_autodoc_autofunction.py::test_classes + tests/test_ext_math.py::test_imgmath_numfig_html + tests/test_ext_math.py::test_imgmath_png tests/test_ext_inheritance_diagram.py::test_import_classes # looks like a bug in lualatex "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]" diff --git a/dev-python/stdio-mgr/Manifest b/dev-python/stdio-mgr/Manifest index 59da72d82f9b..938131f9cd59 100644 --- a/dev-python/stdio-mgr/Manifest +++ b/dev-python/stdio-mgr/Manifest @@ -1 +1,2 @@ +DIST stdio-mgr-1.0.1.gh.tar.gz 8447 BLAKE2B 72038ea34177829d77ac239585775557b5a0a253879c027b2aad64045ec8bafbfdc250d94fe61cde96f06616f774edf42b384bfef7fbf69af442b0a9b703cf9a SHA512 2d18e5d65faa7a73373b56fdac3893768a65a36bed17f017b647e71431a6bff44ce1d39022f1dbbd31ddc9c0e704743a164f4b7610fb62d75aa34ecb53331366 DIST stdio-mgr-1.0.1.tar.gz 8447 BLAKE2B 72038ea34177829d77ac239585775557b5a0a253879c027b2aad64045ec8bafbfdc250d94fe61cde96f06616f774edf42b384bfef7fbf69af442b0a9b703cf9a SHA512 2d18e5d65faa7a73373b56fdac3893768a65a36bed17f017b647e71431a6bff44ce1d39022f1dbbd31ddc9c0e704743a164f4b7610fb62d75aa34ecb53331366 diff --git a/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild b/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild new file mode 100644 index 000000000000..fc3550548188 --- /dev/null +++ b/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2023 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} ) + +inherit distutils-r1 + +DESCRIPTION="Context manager for mocking/wrapping stdin/stdout/stderr" +HOMEPAGE=" + https://github.com/bskinn/stdio-mgr/ + https://pypi.org/project/stdio-mgr/ +" +SRC_URI=" + https://github.com/bskinn/stdio-mgr/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +SLOT="0" + +RDEPEND=" + >=dev-python/attrs-17.1[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest +# doc directory is not included in the release tarball for some reason +#distutils_enable_sphinx doc \ +# dev-python/sphinxcontrib-programoutput \ +# dev-python/sphinx-rtd-theme + +python_test() { + # skip the doctests + epytest tests +} diff --git a/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch b/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch new file mode 100644 index 000000000000..7d4451ca43b9 --- /dev/null +++ b/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch @@ -0,0 +1,35 @@ +Subject: [PATCH] Refactor failIf to assertFalse for Python 3.12 Compatibility + +This commit replaces deprecated failIf calls with assertFalse in the +test_resourced_test_case.py file. The failIf method was removed in +Python 3.12 [1-3]. + +[1] https://docs.python.org/3.12/whatsnew/3.12.html#removed +[2] https://github.com/python/cpython/issues/89325 +[3] https://github.com/python/cpython/pull/28268 + +Upstream-PR: https://github.com/testing-cabal/testresources/pull/15 + +diff --git a/testresources/tests/test_resourced_test_case.py b/testresources/tests/test_resourced_test_case.py +index 7d2cfba..3c8a1b3 100644 +--- a/testresources/tests/test_resourced_test_case.py ++++ b/testresources/tests/test_resourced_test_case.py +@@ -129,7 +129,7 @@ class TestResourcedTestCase(testtools.TestCase): + self.resourced_case.resources = [("foo", self.resource_manager)] + self.resourced_case.setUpResources() + self.resourced_case.tearDownResources() +- self.failIf(hasattr(self.resourced_case, "foo")) ++ self.assertFalse(hasattr(self.resourced_case, "foo")) + + def testTearDownResourcesStopsUsingResource(self): + # tearDownResources records that there is one less use of each +@@ -158,5 +158,5 @@ class TestResourcedTestCase(testtools.TestCase): + self.assertEqual(self.resourced_case.foo, self.resource) + self.assertEqual(self.resource_manager._uses, 1) + self.resourced_case.tearDown() +- self.failIf(hasattr(self.resourced_case, "foo")) ++ self.assertFalse(hasattr(self.resourced_case, "foo")) + self.assertEqual(self.resource_manager._uses, 0) +-- +2.39.2 + diff --git a/dev-python/testresources/testresources-2.0.1-r3.ebuild b/dev-python/testresources/testresources-2.0.1-r3.ebuild new file mode 100644 index 000000000000..b2651161275c --- /dev/null +++ b/dev-python/testresources/testresources-2.0.1-r3.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2023 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 pypi + +DESCRIPTION="A pyunit extension for managing expensive test resources" +HOMEPAGE=" + https://launchpad.net/testresources/ + https://github.com/testing-cabal/testresources/ + https://pypi.org/project/testresources/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/pbr[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pbr[${PYTHON_USEDEP}] + test? ( + dev-python/testtools[${PYTHON_USEDEP}] + dev-python/fixtures[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${P}-py312-tests.patch" +) + +distutils_enable_tests unittest diff --git a/dev-python/testtools/testtools-2.6.0-r1.ebuild b/dev-python/testtools/testtools-2.6.0-r1.ebuild new file mode 100644 index 000000000000..82fdeb5da783 --- /dev/null +++ b/dev-python/testtools/testtools-2.6.0-r1.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2023 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 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Extensions to the Python standard library unit testing framework" +HOMEPAGE=" + https://github.com/testing-cabal/testtools/ + https://pypi.org/project/testtools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/pbr-0.11[${PYTHON_USEDEP}] + >=dev-python/six-1.4.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}] + dev-python/testscenarios[${PYTHON_USEDEP}] + dev-python/testresources[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx doc + +src_prepare() { + # very fragile to formatting changes (broken on py3.10 & pypy3) + sed -i -e 's:test_syntax_error(:_&:' \ + testtools/tests/test_testresult.py || die + + distutils-r1_src_prepare +} + +python_test() { + "${PYTHON}" -m testtools.run testtools.tests.test_suite || + die "tests failed under ${EPYTHON}" +} diff --git a/dev-python/three-merge/Manifest b/dev-python/three-merge/Manifest index 6555f1532621..8e6d20b4332f 100644 --- a/dev-python/three-merge/Manifest +++ b/dev-python/three-merge/Manifest @@ -1 +1,2 @@ DIST three-merge-0.1.1-gh.tar.gz 7312 BLAKE2B 06aa9e88b258bdd418276b418da338625e60cc95872db0147fc4a1ede7d7b9c1a716d3c0662236d289a0bd583d405c33259ba6e26af0033be499f68e1298a38b SHA512 3219e7b5813942fac5317673fcb6b051cdf0efbbe6cb2ee7d0ce6eabeeddb9a2dc7c88677f732833192c6a864d2191bd21afb06b3e110ded8712a03bf6bfcdcc +DIST three-merge-0.1.1.gh.tar.gz 7312 BLAKE2B 06aa9e88b258bdd418276b418da338625e60cc95872db0147fc4a1ede7d7b9c1a716d3c0662236d289a0bd583d405c33259ba6e26af0033be499f68e1298a38b SHA512 3219e7b5813942fac5317673fcb6b051cdf0efbbe6cb2ee7d0ce6eabeeddb9a2dc7c88677f732833192c6a864d2191bd21afb06b3e110ded8712a03bf6bfcdcc diff --git a/dev-python/three-merge/three-merge-0.1.1-r1.ebuild b/dev-python/three-merge/three-merge-0.1.1-r1.ebuild index b7056e3733f8..6fae6610a289 100644 --- a/dev-python/three-merge/three-merge-0.1.1-r1.ebuild +++ b/dev-python/three-merge/three-merge-0.1.1-r1.ebuild @@ -9,19 +9,28 @@ PYTHON_COMPAT=( python3_{7,8,9,10,11} ) inherit distutils-r1 DESCRIPTION="Simple Python library to perform a 3-way merge between strings" -HOMEPAGE="https://github.com/spyder-ide/three-merge - https://pypi.org/project/three-merge/" -SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}-gh.tar.gz" +HOMEPAGE=" + https://github.com/spyder-ide/three-merge/ + https://pypi.org/project/three-merge/ +" +SRC_URI=" + https://github.com/spyder-ide/three-merge/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~x86" -RDEPEND="dev-python/diff-match-patch[${PYTHON_USEDEP}]" +RDEPEND=" + dev-python/diff-match-patch[${PYTHON_USEDEP}] +" -BDEPEND="test? ( - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] -)" +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" distutils_enable_tests pytest diff --git a/dev-python/tiny-proxy/Manifest b/dev-python/tiny-proxy/Manifest index 4d9159acc16f..3d5ac361927d 100644 --- a/dev-python/tiny-proxy/Manifest +++ b/dev-python/tiny-proxy/Manifest @@ -1 +1,2 @@ DIST tiny-proxy-0.1.1.gh.tar.gz 14940 BLAKE2B eba17082bf832127c36468db37d9214e45d236c9c1fa7e357e05269df8671f4a06992e03224147642221220aeb89d91479332038e09bf1aa22ce1f0c0316ff20 SHA512 aaf677d18058e6c7c1133398e03d7b0d8b9b4e500fc89174bb3dda1145eb0382492b227f892f672d7a558a30f1d4b92b20eef62922e0e6983f93fcd17850d825 +DIST tiny-proxy-0.2.0.gh.tar.gz 15017 BLAKE2B 46c98d7d4fff2af85464a7c280d212b9be4eb263b8ca643013166b6a81d8783b3078d1551fba0d40417a0cbab795564dbd457bfc037e6c2d40612eabb45fef01 SHA512 748de443ab337f159b1bce852de7f3f10ca32a5580f99bf1e3448c86f49cba26a6ed2855d06b91da7457b3185f99755efd65714a4db3804309cc931e16bdd8b5 diff --git a/dev-python/tiny-proxy/tiny-proxy-0.2.0.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.2.0.ebuild new file mode 100644 index 000000000000..a89b51cef692 --- /dev/null +++ b/dev-python/tiny-proxy/tiny-proxy-0.2.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 2022-2023 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 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~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 diff --git a/dev-python/tinycss/metadata.xml b/dev-python/tinycss/metadata.xml index ea8988e8af6a..853174b8f2ab 100644 --- a/dev-python/tinycss/metadata.xml +++ b/dev-python/tinycss/metadata.xml @@ -7,5 +7,4 @@ </maintainer> <origin>gentoo-staging</origin> - <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/tinycss/tinycss-0.4-r1.ebuild b/dev-python/tinycss/tinycss-0.4-r1.ebuild index 6141c9b91443..1adbb6197cc2 100644 --- a/dev-python/tinycss/tinycss-0.4-r1.ebuild +++ b/dev-python/tinycss/tinycss-0.4-r1.ebuild @@ -3,6 +3,7 @@ EAPI=8 +DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{7,8,9,10,11} ) @@ -22,6 +23,9 @@ KEYWORDS="amd64 x86" RDEPEND=" dev-python/lxml[${PYTHON_USEDEP}] " +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" DOCS=( CHANGES README.rst ) diff --git a/dev-python/txrequests/txrequests-0.9.6-r1.ebuild b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild index c974058dc5e5..7dfe77f9e87b 100644 --- a/dev-python/txrequests/txrequests-0.9.6-r1.ebuild +++ b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild @@ -9,7 +9,10 @@ PYTHON_COMPAT=( python3_{7,8,9,10,11} ) inherit distutils-r1 pypi DESCRIPTION="Asynchronous Python HTTP for Humans" -HOMEPAGE="https://github.com/tardyp/txrequests" +HOMEPAGE=" + https://github.com/tardyp/txrequests/ + https://pypi.org/project/txrequests/ +" LICENSE="Apache-2.0" SLOT="0" @@ -21,7 +24,11 @@ RDEPEND=" >=dev-python/requests-1.2.0[${PYTHON_USEDEP}] dev-python/twisted[${PYTHON_USEDEP}] " -BDEPEND="test? ( ${RDEPEND} )" +BDEPEND=" + test? ( + ${RDEPEND} + ) +" python_test() { "${EPYTHON}" -m twisted.trial txrequests || die "Tests failed with ${EPYTHON}" diff --git a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild index edca9963398b..a4c1864f1ddd 100644 --- a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild +++ b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild @@ -5,15 +5,18 @@ EAPI=8 DISTUTILS_USE_PEP517=poetry PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + inherit distutils-r1 DESCRIPTION="URL normalization for Python" HOMEPAGE=" https://github.com/niksite/url-normalize/ - https://pypi.org/project/url-normalize/" + https://pypi.org/project/url-normalize/ +" SRC_URI=" https://github.com/niksite/url-normalize/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz" + -> ${P}.gh.tar.gz +" LICENSE="MIT" SLOT="0" diff --git a/dev-python/uvicorn/uvicorn-0.22.0.ebuild b/dev-python/uvicorn/uvicorn-0.22.0.ebuild index 48a19a7a28c2..00ae6c087d3f 100644 --- a/dev-python/uvicorn/uvicorn-0.22.0.ebuild +++ b/dev-python/uvicorn/uvicorn-0.22.0.ebuild @@ -75,7 +75,6 @@ python_test() { ) fi - epytest } diff --git a/dev-python/validators/validators-0.20.0.ebuild b/dev-python/validators/validators-0.20.0.ebuild index 71214543c30e..d03a24debd3c 100644 --- a/dev-python/validators/validators-0.20.0.ebuild +++ b/dev-python/validators/validators-0.20.0.ebuild @@ -10,7 +10,7 @@ inherit distutils-r1 pypi DESCRIPTION="Python Data Validation for Humans" HOMEPAGE=" - https://github.com/kvesteri/validators/ + https://github.com/python-validators/validators/ https://pypi.org/project/validators/ " diff --git a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild index 9adfd38ae556..79cb6ed24044 100644 --- a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild +++ b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild @@ -5,6 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + inherit distutils-r1 pypi DESCRIPTION="Capture C-level stdout/stderr in Python" |
