diff options
Diffstat (limited to 'dev-python')
43 files changed, 1405 insertions, 9 deletions
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest index 66bffb23bdd8..4fe44f1a2a82 100644 --- a/dev-python/bitarray/Manifest +++ b/dev-python/bitarray/Manifest @@ -1,2 +1,3 @@ DIST bitarray-3.0.0.tar.gz 126627 BLAKE2B c00d45f2ac165c8bd801932cadf2437b1665f7acf2aea821f976c9550a188443d43b6ace08d3af8db2c27331dd090e51174f96b92aa8ebcf3eb5210d52b5d336 SHA512 36ff7305e66bb766888de7598d6596315caeb34acfb6dcc56130b9ddefea15b31e90eabb8b65ce676bbec08c38e8cd39784edfa8b50f53c3f7a6b7f23795fa85 DIST bitarray-3.1.0.tar.gz 127114 BLAKE2B 1f2f764ef4072eb4c13c91e3c737cb53f849951f5b8d81cf3d7a41d81e28651b65110a446f9bb413cb433a17f43f6f579e38b24e002bc7c5906ef250f75de94e SHA512 2a1b267f4ead5e0d8daa502d6bda9462922d66cb129589814e90f710c807c6b23a118afd3676fa9834f8f9bac1cbf8a9c4340bdf6457fc1503ce712ace7584fa +DIST bitarray-3.1.1.tar.gz 135976 BLAKE2B b27949162c185e2b5631bd4758d6b7c070cc9ffcf9aa22dd343c29eb9e40b97e591f957b7e4882aadd805d84b7ac7c08ffa020431869aa180b2d6f6414abc1bc SHA512 dc34dff5c10c8eb5b0693a680a999c9ecd9d7ea0680404a6f97094fc450c96f5c4a16c49e4c5f4a5fea54ba46b6a49794d0a48c6ab7b0422f1a9b356d71c514c diff --git a/dev-python/bitarray/bitarray-3.1.1.ebuild b/dev-python/bitarray/bitarray-3.1.1.ebuild new file mode 100644 index 000000000000..aea47d8e463c --- /dev/null +++ b/dev-python/bitarray/bitarray-3.1.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Efficient arrays of booleans -- C extension" +HOMEPAGE=" + https://github.com/ilanschnell/bitarray/ + https://pypi.org/project/bitarray/ +" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +python_test() { + "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/blosc/blosc-1.11.2.ebuild b/dev-python/blosc/blosc-1.11.2.ebuild index b72e83bbde13..c6e37d95cc53 100644 --- a/dev-python/blosc/blosc-1.11.2.ebuild +++ b/dev-python/blosc/blosc-1.11.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index d983ead24dea..338d814624e9 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -4,3 +4,4 @@ DIST boto3-1.37.4.gh.tar.gz 908620 BLAKE2B ed63365ccd6da9b97715e4110be2b562285a1 DIST boto3-1.37.5.gh.tar.gz 909313 BLAKE2B d31bd1ed08c60f351012a8b3711e43f7e4fb7a8fa76067b6b8026ad4d39ba4edf068a8246815271fa01264db8e9d76e6c08ea973e17676b8adfb79516e52de3f SHA512 f1d18b153b060599d3570bdc068be636dbd59e764d62120c678d6265878bfd9e0334885fa0b578207a6c83d02735161c919ab6d60f0a381245943f26d5d33b68 DIST boto3-1.37.6.gh.tar.gz 910085 BLAKE2B de054f37bcf8d4cb01febbb7f874bb0fdfd3d812cfd103c4f8df14c6d74238c22ad37a604d638913021643421319ea4840beb028d663750b9fe543f535c610b1 SHA512 3b7b3e494b3be986a0f43ca6229cc2638821e7215533a118571c1d941a9790ed568e389e117807eceae8f8be2d202ea28341aec62af51fe4fb698c25bbdff147 DIST boto3-1.37.7.gh.tar.gz 910852 BLAKE2B d32da4acee41352d282340b23615c4ddf3039337c7e3e4796ec8f70dcd86c37475f18567a12948cf761086f2ecc79b9eb7c55aa49c14540c36adc217cb77947d SHA512 474bdda6028a555343edc3f9a5ac657ae0b9441cc94f4956f7246f6da97c3ecb6f9bce7381c61e8b46869e38f102b7895615eb1582f7ecfeb1959a95b24da027 +DIST boto3-1.37.8.gh.tar.gz 911511 BLAKE2B 76c5789f8ff6f214a26e3c5cda143f20c6a7b4c293b6992c73e351d7da3e814f138ca7c8f45501eae7d41a62f56e28f00c7d90336a3210bdf5580e0aff62282d SHA512 ee0d5d9256d8fbe846c6992df9d64bdeacfbf0bb30ad08b5e1cd79ba6349bb917812dff88b3b0fb2883b23455a882e01a3c4029511947cf675d261329fa73eb5 diff --git a/dev-python/boto3/boto3-1.37.8.ebuild b/dev-python/boto3/boto3-1.37.8.ebuild new file mode 100644 index 000000000000..dfe05b3d9a81 --- /dev/null +++ b/dev-python/boto3/boto3-1.37.8.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}] +" + +EPYTEST_XDIST=1 +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() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index f829fadfb025..751a6ad270a8 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -4,3 +4,4 @@ DIST botocore-1.37.4.gh.tar.gz 14291786 BLAKE2B ab55a62f2291e623e61a0ec671224181 DIST botocore-1.37.5.gh.tar.gz 14298752 BLAKE2B 99aade487be0277f66f0df5c4631e36c3972c4b14e7579bebd643044d9d2fb5264764053d5f0cd63b1d72d97c801e2ec185a07b8cea4551eed4978830ba791d6 SHA512 b7fbc9861aefe159ac0023d17fd72d9b2483b219244689a68c8f821debd8ba9420d85b296ef7a0a3ed881f286497722e78e78a43084efd5ddd48650d0d8433f0 DIST botocore-1.37.6.gh.tar.gz 14320730 BLAKE2B 04d3c9efe73b815740550da2e3a447b52abd43e73e97b6186aaeb0433da75141fab145f2a10b59902ff50da7040297af93f4217329e4a4bb424681d7c55e5e2f SHA512 7435609ef6de25d470d2f7dca1f8e06adad10ad534eebe0c780982a715dec038e7b7ed1cdac4ff0d9beac46e22d304ffd7a3ae4bbf13f74299de1215f9458bf7 DIST botocore-1.37.7.gh.tar.gz 14341717 BLAKE2B c22abfbbedbbe1861d3eea6c341312390a731347e3be4df2116144e1a2d7a7e527dad360feeedcf59375e93f8055eff5d1eb1a87ace1961c34f5acc030dd317c SHA512 9773d6e47d38d5a4eea7a5e790ed5f9c6af48c973d5987508bb48da2646a3f51733041678133b1f506810b492142cf2d261101f3ec5a16c095ccce661eb2fba7 +DIST botocore-1.37.8.gh.tar.gz 14344380 BLAKE2B 4024bdd2469b2a75a86888a536d5fe9e93b1be8abb05b7af3eb0bfe76348bfe904c22bb0c19d6960495a191070aa3b22459f7b16b52302554b9036138b2ec6a9 SHA512 96c44877f1d7d0a2bba94f0a5fe3b293f3ffa9c6cab5add9873d486b4c51010ddbf8d3d86fb13e6c1791a183edddea6f3fa383f2716b7148e209cb1db31f875d diff --git a/dev-python/botocore/botocore-1.37.8.ebuild b/dev-python/botocore/botocore-1.37.8.ebuild new file mode 100644 index 000000000000..df85ee0d220c --- /dev/null +++ b/dev-python/botocore/botocore-1.37.8.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +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 + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest index d3171f714342..db0a35899766 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -1,9 +1,15 @@ DIST Django-4.2.19.checksum.txt 2583 BLAKE2B 11d61858872f6dda4c15c3dacf9550703c7110e144f7d65e97d80e2fc98a8e0b6b607386ed46330cf302a69d96c629f887fea18a2a8cda0e5d2f492c6becbdfe SHA512 10ce3dde081db5e56b8570a1030553eaf6da7f3eeb54897713d11aebdad5e802ae40175222b5c8e322ced3bfb27cb7e0abf17d6f8363b4e62f273d6c4c962a63 DIST Django-4.2.19.tar.gz 10426865 BLAKE2B 3bfe496d3b446f51eb99dfc62845785ff51e94c5b8b064e8a126e106fdc7589c5532b16b526bceb2377955cbcfb5b67233c76263588220d171797a9762f86333 SHA512 4bc7a12d502809f9b65f26d2b0f7f5fab76f37bf5d15f6887ee160e0cf8bb29089f478d280f31bf889e4204f103602069103ab74f058e8721bffb121a7fa27ad +DIST Django-4.2.20.checksum.txt 2417 BLAKE2B ac01acf1c7fdba50e81012563d7d5f6d16ada10454f2d871a57f42600a5715081351e22f3f6f0043e66171b7d97bdd5e9d70cf279e94d48eb6ea6570f2b04634 SHA512 da0424c583b128337a5f52f9154b3e9e1437189b4e1e9ad7ad5b056380356d8a2ab61bf52d008253c51d63011160dd715817414ed063bac889196137ea8261d1 +DIST Django-4.2.20.tar.gz 10432686 BLAKE2B df53df6f8439cae50c2e568d20b4c46e2ae12d61ea826580b28a9678ae890ad8eade5bcc813dbb6355126aa8760acbaabffe4a6fd386bedb8fef171d1a09fabd SHA512 6f960772cb95d6cb92ffc29ccec8d53d4f65c371359d350a63653c259288de4047302748008be04b9f4945627e9ef6d52dffa32455acbe26441f49872d73eeec DIST Django-5.0.12.checksum.txt 2583 BLAKE2B ac931c1dd0c6be628a8dabb591708e48f3746016e2a77f86e069920445c2ae385c3cdd3fe143773c3d4767f857d24e8526eb29c4da0f2fcf39370067673273e0 SHA512 3faff6cf0ed08ecfe022ebc2de7ffef1dbf7bc73d97410ebba209e620cf0ecb715b1940907dd12179c048f1fee070ededc2584e6b958878bd570961277b8d582 DIST Django-5.0.12.tar.gz 10636389 BLAKE2B d314e2f990023edc9de9f66ec970f16c0749c3a9f16450a7c4f3cf4cdea6a8e978ff62b9214c8876193a44f213d0e8084095c7218650724d9091cce91e0b5f02 SHA512 f7772660d609b8b44244719e7a4e678698d0153a65193ccfee49b323eb428c69c0f77d193b560be0df42025aa770987986a82b0f5ed9659c90e07617271c49d5 +DIST Django-5.0.13.checksum.txt 2417 BLAKE2B af989fee87791a29b6b5e0f37bbbc509c71b429c6b9fa4e3994a77db39aba118a1ab2da872864e8fe302ed0c923a19441996187ed45c9f0c9b56a40d0107624a SHA512 e395c2677e2a844e59979cc88b232be92f0c2459879c8bf391a166cdd04b6e501b07b3741817bf2cebfdd83b157d5b7b346a4a3ba88fe1787cb402abfcdfc1c6 +DIST Django-5.0.13.tar.gz 10643726 BLAKE2B 53dbf4e395cda2ed776a281805ad26ab40c15930497cceee85c92dccc50ee0c3d8d6e24fbe3ac48034de271955beae1412f912bd3cc21f196273df806f4c4168 SHA512 6fd976497941715dda659a093d38312d8aeceec7dc71308247845230fee00cd917c7559c3085d0a5c70e577bd89589254b26d6bdcbd728084446602f725ab696 DIST Django-5.1.6.checksum.txt 2573 BLAKE2B b35b22fee8d313510463e77c4b3a6d9154847554f5a33c48e656f7d88e1c71067b8493817e43cc168e9df2fdcab42ce4c35a5c61ff2c45d141025e79c807ce93 SHA512 e1df89d9dc9ad131d8caf12cb84065e55e78249e292aace955e1c6195f46b4ab94ac80d0a3ec23e9f62c7568439ba062f75fb1bbdb7b3fc555238ae512de991d DIST Django-5.1.6.tar.gz 10700620 BLAKE2B 8d362c686c68cb34eb356b237205b8b18e5bb75ebe7080a4be2f665dcff9fcd8f25775ba16ef70cd755a5a100c16751f35374eb76c39562ea098f5424223188f SHA512 a76a8e523aa90d62ed0fa003bc9117900644d93c62e78bd879b709c107bb18d3e9a5b4fbd475a213398d99f9b9052a31a54cef9c5861a923b66d639c037cc177 +DIST Django-5.1.7.checksum.txt 2407 BLAKE2B 8ed1a118ab754dfbe9978c28771c9a4925f27038407288d536289021b1c798d643f043c01f41e914216548deb222eac1cead1975bf5bc484982b09534918b91d SHA512 46f6b85df08fda9e91d225b02ccf10919fac6e7ff16151a53840c90bdb85b351dc627996f8f16a827d7f3dc01f24bbd94378e8ce8f09700783ea9bde1519a911 +DIST Django-5.1.7.tar.gz 10716510 BLAKE2B 0ed9a8e75715ab60da23e57b83931dd9a06360723439df6e2dd9690ad25ed688a13a1c3ebe35426325d612a0f6cded076dd3efb3a56f5f9e717854abacc36a11 SHA512 8c0d2d79eab1c60f4a50c94e5f584f0ed70835a8b3ac64f4c5c0397fc186cf8e9188926ad08545323a139976efc207c8429faa7f0b5948b21cef98482124980a DIST Django-5.2b1.checksum.txt 2411 BLAKE2B ed45a877cfb217909b59351bc9b51e8b4d757b3bb812da4597056f79ff86d9d453dad815e4c5932b6b159e51ca696d982ae4cd8bdd78d53f0b9a058643b5e0d2 SHA512 f0a306a337fe54a6e8ab88a8196c5a9da8af0d03c825034f4141ca1e95cbf9092a30c6a346590e9a4b44c4a299178ecbbaacc86d81c58b7d14dc8eb9743f0343 DIST Django-5.2b1.tar.gz 10816962 BLAKE2B 8308cecd8870f9ca3ac96aab370d5f9eba4d4a9c580a19f7214a9bf504eee5c2388f46164a33113126364ffdf1e5f13cf9f30c73c49fb5c6eefe255aed4a30c2 SHA512 212b92758ab32fa29d4a60517a09ee7068fbbc4f8893a4473797641d104fa3c21b20b4dea6ec64471b07991da7d3749226f169ac7fee76651896b4518f016180 DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B 2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce SHA512 9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d diff --git a/dev-python/django/django-4.2.20.ebuild b/dev-python/django/django-4.2.20.ebuild new file mode 100644 index 000000000000..7fbf18e72be8 --- /dev/null +++ b/dev-python/django/django-4.2.20.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz + https://dev.gentoo.org/~mgorny/dist/python/django-4.2.17-pypy3.patch.xz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" +S="${WORKDIR}/${P^}" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/selenium[${PYTHON_USEDEP}] + dev-python/tblib[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + "${WORKDIR}"/django-4.2.17-pypy3.patch + # https://code.djangoproject.com/ticket/35661 + "${FILESDIR}"/django-5.1-more-pypy3.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P^}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/django/django-5.0.13.ebuild b/dev-python/django/django-5.0.13.ebuild new file mode 100644 index 000000000000..03e171156e83 --- /dev/null +++ b/dev-python/django/django-5.0.13.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz + https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" +S="${WORKDIR}/${P^}" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + "${WORKDIR}"/django-5.0-pypy3.patch + # https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876 + "${FILESDIR}"/django-5.0.6-py313.patch + # https://code.djangoproject.com/ticket/35661 + "${FILESDIR}"/django-5.1-more-pypy3.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P^}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/django/django-5.1.7.ebuild b/dev-python/django/django-5.1.7.ebuild new file mode 100644 index 000000000000..967994101b9e --- /dev/null +++ b/dev-python/django/django-5.1.7.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" +S="${WORKDIR}/${P^}" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P^}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion ${PN}-admin + bashcomp_alias ${PN}-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild index f9fa74d27945..502c151ae210 100644 --- a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild +++ b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,10 @@ PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 pypi DESCRIPTION="Sphinx Themes for Flask related projects and Flask itself" -HOMEPAGE="https://github.com/pallets/flask-sphinx-themes https://pypi.org/project/Flask-Sphinx-Themes/" +HOMEPAGE=" + https://github.com/pallets/flask-sphinx-themes/ + https://pypi.org/project/Flask-Sphinx-Themes/ +" LICENSE="BSD" SLOT="0" diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest index 1b80eb2f5e57..fafda1f041f3 100644 --- a/dev-python/googleapis-common-protos/Manifest +++ b/dev-python/googleapis-common-protos/Manifest @@ -1,2 +1,3 @@ DIST googleapis_common_protos-1.67.0.tar.gz 57344 BLAKE2B eb3d4f373321e3ff09e0220ba0619e3d8fc2bfe0d3da65fe1b575ad8e2fd69b4c781da2f336a7a9060e64eb55405af16f982dad0661cbb12d53a4e4996e69c02 SHA512 268b73eab64214c1293acd7ff5980bd88c1871b3ed2b45ac418f84ef7ad933030c6387ad0b72b9aef4ba17827f5c787dfdbb22eb65ead5ef4fecfaa86e78b377 DIST googleapis_common_protos-1.68.0.tar.gz 57367 BLAKE2B 65888384edbe6b246fe8c6e17f13e3cbd8079f042914ead9c5315ab80889d72ce619e42089c5aa2aed528a38f99953d73be0ec5daf04aea5f2221d2bf09a2e1b SHA512 a602ca0d2daef9c265eb4654adeb698ce66fa26db707650d09c7da3474e263b995431a89d0908c70a9d356f0bdcccd1d6b7b5f51f05ae2c98f58b8a41f782d35 +DIST googleapis_common_protos-1.69.1.tar.gz 144514 BLAKE2B 0e3a57a916202d7831e41081c5af759ba3976c2db349ad7def08bb9c9e085850182a5fc5e5d969498129f01c4275d7817e66015de29f9bbc96c8495402cb1ba7 SHA512 5f11d230e0d5503e32aee5832481a1ff3241a987911b0e3ca44c083f9e53eca916f9b07a9d02743fbe7508da478c1b87743c1c18c0afa0f92fb8f81481ddc385 diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.1.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.1.ebuild new file mode 100644 index 000000000000..2bb7823662dd --- /dev/null +++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python classes generated from the common protos in the googleapis repository" +HOMEPAGE=" + https://github.com/googleapis/python-api-common-protos/ + https://pypi.org/project/googleapis-common-protos/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + <dev-python/protobuf-6[${PYTHON_USEDEP}] + >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +python_compile() { + distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index c7f4d17ccab2..02c5b2dcbc51 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -6,3 +6,4 @@ DIST hypothesis-6.127.3.gh.tar.gz 9517446 BLAKE2B 3ac2f05b8e740830b7b2edff470c59 DIST hypothesis-6.127.4.gh.tar.gz 9517536 BLAKE2B a57a4eeae5f82d56723deae5af61ce663d14c3598f58213c1c671b8e3439d981333af9d28e41bf88102e292891df02a962a92215bf92ff9475f866d828343317 SHA512 88f4ee4b544b8075e37f3c56f07c02bb8a0aa9f5ceee23009e542f5e61852a5054fca8733c9634b2ae3ace823bb8515c840971e2d22deaad9a0e4d98a0b78fec DIST hypothesis-6.127.6.gh.tar.gz 9517645 BLAKE2B 4b66bc36d1289609e6cffd50f4ba3a0144cf9bd87b38c477512c8affccef6d448aed6c4f8e0584e153d9f996ffc13faf278b9f9a7047ed93e10783c7c9a7461c SHA512 63bcaa7d23e577ab0609fd55ef896153349b99a9b312551b47c884e3ac170aa133f61257ff8322bbe9506e3218a0366b1125552875f853250ea240e7a6f28da3 DIST hypothesis-6.127.7.gh.tar.gz 9517820 BLAKE2B aa70f3f8e6da17f1b1f7cd04691f6424515fdd99003bc9b1ca4b223c805c1b7dfdeae6d1cea9f187e79713aab5a3ac99951efa9b05778c90da461ac5a67689d8 SHA512 36eae9f4ca67ebe8dd52ed60f740c963055906c5ae5857c13b57a11fa47d42bf2158ac13aadf08555206e81f34419701facd9fad81d31c78cd1407538b37d963 +DIST hypothesis-6.127.9.gh.tar.gz 9519367 BLAKE2B 721494bf5f594811486436f839e9d2bec879e504b9243bd2767c4a7fb5554cd5b6dfbceeb666890edbae51eadbdb0f107af91ee2894fbdba458e7d0ea0d636d3 SHA512 ccd74f251f9eea7e1537483b5792998a1be7a676149a8fe2ed42ed58c64aad0d0bd0bb7fa482c18d1b9a1d875f172b6486a872d57161a3e44717ec1a0e1b9556 diff --git a/dev-python/hypothesis/hypothesis-6.127.9.ebuild b/dev-python/hypothesis/hypothesis-6.127.9.ebuild new file mode 100644 index 000000000000..08befcf116e3 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.127.9.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.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/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=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,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + # TODO + 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]' + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${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/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild b/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild index 2c916b09c350..e6ad173ec3e5 100644 --- a/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild +++ b/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/ioctl-opt/Manifest b/dev-python/ioctl-opt/Manifest new file mode 100644 index 000000000000..854366a4c590 --- /dev/null +++ b/dev-python/ioctl-opt/Manifest @@ -0,0 +1 @@ +DIST ioctl-opt-1.3.gh.tar.gz 9871 BLAKE2B 8db372a27ee8bd0c97a9af2844a11a54d322ed71670962c322de998ef4deae9c7091bd1e3bb728252ff8790c938eef364698f8d4b2bf376d70b36435124ea453 SHA512 db0ea9c94449f8c3ba3233dbb9aef7c6aba71b07a03870586d31a8a19d739dfa4f26754314f2fd7d9ddf84e644057b0b14f7e4b9571138a11ee9abda391bf513 diff --git a/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild b/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild new file mode 100644 index 000000000000..723f43da7623 --- /dev/null +++ b/dev-python/ioctl-opt/ioctl-opt-1.3.ebuild @@ -0,0 +1,19 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +MY_PN="python-${PN}" +DESCRIPTION="Linux's ioctl.h for Python" +HOMEPAGE="https://github.com/vpelletier/python-ioctl-opt" +SRC_URI="https://github.com/vpelletier/${MY_PN}-opt/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" diff --git a/dev-python/ioctl-opt/metadata.xml b/dev-python/ioctl-opt/metadata.xml new file mode 100644 index 000000000000..1b8db8b4c1d6 --- /dev/null +++ b/dev-python/ioctl-opt/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>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/ldap3/ldap3-2.9.1.ebuild b/dev-python/ldap3/ldap3-2.9.1.ebuild index f7f3ffb07468..c8f96e1a3fd5 100644 --- a/dev-python/ldap3/ldap3-2.9.1.ebuild +++ b/dev-python/ldap3/ldap3-2.9.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild b/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild index 014f729bd1f1..3f5696f2fae1 100644 --- a/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild +++ b/dev-python/myst-parser/myst-parser-4.0.1-r1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/path-and-address/Manifest b/dev-python/path-and-address/Manifest index 9c4b7467aba0..6575cbe5a3a2 100644 --- a/dev-python/path-and-address/Manifest +++ b/dev-python/path-and-address/Manifest @@ -1 +1,2 @@ +DIST path-and-address-2.0.1.gh.tar.gz 5130 BLAKE2B 98e39d9c359d0abc2659085d187f3d1854eb6329df095a51bc40b1d878049d15e16dea7d10e01110bc8b150f01e593f3a855e3a692db50b62f7092122e17223d SHA512 917b8ccc6656f0b69ecf1afdc7242cb023ae8dc9da64786dd649b90179d425db653e1b8f882b6ca83275f3b8ac510a303367f5ec72aa23f90e7b6f3cf7f13b8e DIST path-and-address-2.0.1.zip 6503 BLAKE2B 146e73b5b54ea536f8b94da8ebbb923441564cf2137a55f3938552493b6fffe28c4e90c908a3fef2acb55e76f320519c7f59c0b2c99f144ebb29ca90d32e590a SHA512 11b2352389662412451e1e9f3e2997e81d36acbef7ad18c50328b9e9bb395f2f5fc8bca988ef14a7d9b76f5213cbfa17bb82df0e00f6989671181b104e4f1406 diff --git a/dev-python/path-and-address/path-and-address-2.0.1-r2.ebuild b/dev-python/path-and-address/path-and-address-2.0.1-r2.ebuild new file mode 100644 index 000000000000..c94e91b8a745 --- /dev/null +++ b/dev-python/path-and-address/path-and-address-2.0.1-r2.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Functions for server CLI applications used by humans" +HOMEPAGE="https://github.com/joeyespo/path-and-address" +SRC_URI=" + https://github.com/joeyespo/path-and-address/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +distutils_enable_tests pytest diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest index 25b4f4f38046..e93b2aac8980 100644 --- a/dev-python/pycurl/Manifest +++ b/dev-python/pycurl/Manifest @@ -1,2 +1,3 @@ DIST pycurl-7.45.3.tar.gz 236470 BLAKE2B 690e49f92f569352e26d95a0fa58508c4e96c845c7e3ae1169b8bc55036902f64859987880565217df56a57031dc2775e3c6979b4cfdf8a8c9a94c67ae94cb79 SHA512 12a55070602a1fd22b160ad582a4001bdd28531d2b2ccd365ff0136bc13dd23af80b19488bdbbc60a902a3a362b64383b9ae6acce6ed328c74dcffc8a6a3f4ad DIST pycurl-7.45.4.tar.gz 238427 BLAKE2B dac2b950fd53156511f358d51fc5b5b690cd56880a5e47becef6bc61060f68a7948c2cd80cfdb919378addf7af5a0e45caf8fc375355ec0287bd112f5b531a9b SHA512 bf4012f8a97bde5864e31ddfe310c8de52dc304215ff054658c944337bb3f6dc248c051d92f0ee90d1701ab057b12068c5632bacdadb94677595c8a522c3a1db +DIST pycurl-7.45.5.tar.gz 239351 BLAKE2B 6246a17e4a2e5546e0ec6a4557165a3d4b8f211945bdc0cd57170bdc1782d5fdded8e5cf52a9b1d56f3cb7182b13bfe1882147f6439bbe601d7411c190fb1f8e SHA512 ca42570c0c92c4e6e8a4a41158bc5db771dedee65e1f3b18410d69d2e4bda5859109b60b3d593dd2afaf3b2398003fa4dcc2fbe2621571457b0aded4aae262c6 diff --git a/dev-python/pycurl/pycurl-7.45.5.ebuild b/dev-python/pycurl/pycurl-7.45.5.ebuild new file mode 100644 index 000000000000..65e870cd7d96 --- /dev/null +++ b/dev-python/pycurl/pycurl-7.45.5.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi toolchain-funcs + +DESCRIPTION="Python bindings for curl/libcurl" +HOMEPAGE=" + http://pycurl.io/ + https://github.com/pycurl/pycurl/ + https://pypi.org/project/pycurl/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl" + +# Depend on a curl with curl_ssl_* USE flags. +# libcurl must not be using an ssl backend we do not support. +# If the libcurl ssl backend changes pycurl should be recompiled. +# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl +# does not need to initialize gcrypt threading and we do not need to +# explicitly link to libgcrypt. +DEPEND=" + >=net-misc/curl-7.25.0-r1:=[ssl=] + ssl? ( + net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)] + curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= ) + curl_ssl_openssl? ( dev-libs/openssl:= ) + ) +" + +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2] + ) +" + +: ${EPYTEST_TIMEOUT:=120} +distutils_enable_tests pytest + +python_prepare_all() { + # docs installed into the wrong directory + sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die + + distutils-r1_python_prepare_all +} + +python_configure_all() { + # Override faulty detection in setup.py, bug #510974. + export PYCURL_SSL_LIBRARY=${CURL_SSL} +} + +src_test() { + emake -C tests/fake-curl/libcurl CC="$(tc-getCC)" + + distutils-r1_src_test +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_DESELECT=( + # refcounting tests are unreliable + tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting + tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting + tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting + ) + + epytest -p flaky tests +} + +python_install_all() { + local HTML_DOCS=( doc/. ) + use examples && dodoc -r examples + distutils-r1_python_install_all +} diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest index f68ba16e2c86..b83f723507bf 100644 --- a/dev-python/pydantic-core/Manifest +++ b/dev-python/pydantic-core/Manifest @@ -51,6 +51,7 @@ DIST pydantic_core-2.27.2.tar.gz 413443 BLAKE2B 2755ba694b17894ff89704203c275315 DIST pydantic_core-2.29.0.tar.gz 417255 BLAKE2B 0803d8fa6bc731b8c58184228abf015ab6608ffdf351cd6bb8bf78ed2da0b2af14899a2c4ed4a29132a1ba2c2a67bdb3519e13ea857ef6a8a1576d7661c8f03a SHA512 a41ada88f70b04362edc3e95fe34c71814291f5eec4260193fa6be69f219ae52cd60ffc55dae9c7b43c75afc107a114e400c4a3fc697520e57ed39c0b8794560 DIST pydantic_core-2.30.0.tar.gz 422812 BLAKE2B 26c7a79d71856f914e93790d9cb87c311e7561ae2226f9489e25ca10c139ad1e9516b5f799c79189dc43d314c033278e6c14fbafe64cf78d59bbec4132fdca5a SHA512 c548ea36cfc001ad66ba7aec2468681b1189f69629a1f8c28799df0ff4948dffa60cc7cef416a36056322631a2921ebfa6ed72b5bbb4eaffff54161a2b968b32 DIST pydantic_core-2.31.0.tar.gz 424589 BLAKE2B 0c632cfa597f8a6ed2bcb2921231ba94527f3b891584e7ea1c2446a920e80425fe0cb612374ae1204f842d4d6e1e7dad76d20fba1edac513cce6615a470dcfa4 SHA512 373f378b6cdc6dc95e94a3096974b71055a3fd499f5c2fcd463e64802233f61389ba4a7e1572e1dc9af93a14efe7ab8c99af886e527e810dba5ec4461e2c14f4 +DIST pydantic_core-2.31.1.tar.gz 424824 BLAKE2B faba4f22988c4b094abf7c878c8c0e99cd78e7ee5350c8bec0324dbac2fa0a4c9e2373f16048e1d763d3ed570dc3a57a0cdd2b38462a5cca1625b4723e56d828 SHA512 2a08b12e6d06f9d78ab696b3fe248885240eeec955fbca85cc50a2d5fdce7a87a755c0b6d4bd16c51bc9d8695a4d92ef6e908c1ec9049c4876f93cf308aa5b6f DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44 DIST pyo3-0.23.4.crate 1087676 BLAKE2B 2c7d3530460ff687e8f60dcff0fb01465b2a4642043ebdfc927fc3824b9fbce9c4b304250808a85405d21df12d17a1d1ada7bdf8f3563710692f22223e2732f1 SHA512 0015aa75163ad0ec026d185e15c26f59aaad0eb3cc3044b146e5d703bb375fcd838df2044febbd52e6e129dfba81c8249329fc3e4805695274dac7a69eee0651 DIST pyo3-0.23.5.crate 1088533 BLAKE2B 2efae0a42c1d33e25c5871e3f61a3cea9890d278a20e2777307752b544ab3a634059bba896a1df0df4eadd0ae3c2e63b6d637aecd6699b31fac4107e3a43a387 SHA512 efd3a86dd70c199304463c0ae18dbdf4d9176d1af13b664bdd05a1e218cffda3f29f06d868d0d852d51c3e85b7e07c39617206b3feddc913b3b622f3fcf59d5f diff --git a/dev-python/pydantic-core/pydantic-core-2.31.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.31.1.ebuild new file mode 100644 index 000000000000..996bae4d5536 --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.31.1.ebuild @@ -0,0 +1,178 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitvec@1.0.1 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.1 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.2.15 + hashbrown@0.14.5 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@1.0.3 + idna_adapter@1.2.0 + indexmap@2.2.6 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.8.2 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + libc@0.2.155 + litemap@0.7.3 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.23.5 + pyo3-ffi@0.23.5 + pyo3-macros-backend@0.23.5 + pyo3-macros@0.23.5 + pyo3@0.23.5 + python3-dll-a@0.2.13 + quote@1.0.36 + radium@0.7.0 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.1 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.218 + serde_derive@1.0.218 + serde_json@1.0.138 + smallvec@1.14.0 + speedate@0.15.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.14 + tinystr@0.7.6 + unicode-ident@1.0.12 + unindent@0.2.3 + url@2.5.4 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.15.1 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic-core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # different repr() in exception + # https://github.com/pypy/pypy/issues/5220 + tests/validators/test_arguments.py::test_error_display + tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper + tests/validators/test_string.py::test_invalid_regex + tests/validators/test_string.py::test_backtracking_regex_rust_unsupported + tests/validators/test_union.py::test_empty_choices + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3* ]] && cargo_src_test + epytest -p pytest_mock -p timeout -o xfail_strict=False -o addopts= +} diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index fc99c1b3c37f..cf2f5c12bc62 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -1,2 +1,3 @@ DIST pydantic-2.10.6.tar.gz 761681 BLAKE2B 1ddb057cd40f50d09dc870aae937bc4d5d41529601c26b84bbd5223d75adca43e14e779ef40ef88dbeab3dc66ae960b662a3244ffa38bf8718d6f9d50b966aed SHA512 69c5cdfb9047875497cf2ac0107f0aaa8d1d91a354d514277e913cc13081e1a76f72a154b50339c95240c82d2a262f4b8dcf71c1e5762449bd344054dba449ce DIST pydantic-2.11.0a2.tar.gz 768863 BLAKE2B 2da69490f8dc711e3835a902789cce9fac9a6eba5d827bd8efa7ea8498a5661dd31a17734408d693d78a0b0588170302c76905228aa05dd771a62f581862971c SHA512 9ad26a85c659b5b5d76c1ff7b9267c641deb91b5f3f4c6f65e1ef4035dc73599e300c03b76770ec958847f89040e38bdad87f4119c585d159e95920805c826b7 +DIST pydantic-2.11.0b1.tar.gz 774826 BLAKE2B 047f4075760fa679b8e183c5450c3cd423d17672372b9c306a7e1e3e8fc4ce087c781aa905924659ca6be0cfdba6614ce04028c8715156b6fa297c323d68cef3 SHA512 0eda99f3a296a3dee7db0bd65918a97780fdb19850b6138405fb2ed320fb4efb7d484b2c1a2fa1b3199684c49917f30c6bd7abb60d594d7e760fdcf2eda7f9c7 diff --git a/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild b/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild new file mode 100644 index 000000000000..7217bc87ffad --- /dev/null +++ b/dev-python/pydantic/pydantic-2.11.0_beta1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] + ~dev-python/pydantic-core-2.31.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/cloudpickle[${PYTHON_USEDEP}] + ' 'python3*' pypy3) + dev-python/dirty-equals[${PYTHON_USEDEP}] + >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] + >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/benchmark/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # -Werror, sigh + tests/test_types_typeddict.py::test_readonly_qualifier_warning + ) + local EPYTEST_IGNORE=( + # require pytest-examples + tests/test_docs.py + # benchmarks + tests/benchmarks + ) + + if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/test_pickle.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} diff --git a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild index 10642e263961..a7aa1a450ccc 100644 --- a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild +++ b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2019-2024 Gentoo Authors +# Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pygraphviz/pygraphviz-1.14.ebuild b/dev-python/pygraphviz/pygraphviz-1.14.ebuild index 608059367a9c..5e558b3b77b8 100644 --- a/dev-python/pygraphviz/pygraphviz-1.14.ebuild +++ b/dev-python/pygraphviz/pygraphviz-1.14.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~x86-linux ~ppc-macos ~x64-macos" # Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary. DEPEND=" diff --git a/dev-python/scikit-build/files/scikit-build-0.18.1-setuptools-75.patch b/dev-python/scikit-build/files/scikit-build-0.18.1-setuptools-75.patch new file mode 100644 index 000000000000..033b98fd2c58 --- /dev/null +++ b/dev-python/scikit-build/files/scikit-build-0.18.1-setuptools-75.patch @@ -0,0 +1,42 @@ +From 3992485c67331097553ec8f54233c4c295943f70 Mon Sep 17 00:00:00 2001 +From: Henry Schreiner <henryschreineriii@gmail.com> +Date: Mon, 30 Sep 2024 13:12:38 -0400 +Subject: [PATCH 1/4] fix(types): Update for newer setuptools + +Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> +--- + skbuild/setuptools_wrap.py | 2 +- + tests/__init__.py | 6 +++++- + 3 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/skbuild/setuptools_wrap.py b/skbuild/setuptools_wrap.py +index 8e59631b..f6c60cd5 100644 +--- a/skbuild/setuptools_wrap.py ++++ b/skbuild/setuptools_wrap.py +@@ -250,7 +250,7 @@ def _parse_setuptools_arguments( + + return ( + display_only, +- dist.help_commands, # type: ignore[attr-defined] ++ bool(dist.help_commands), + dist.commands, + dist.hide_listing, # type: ignore[attr-defined] + dist.force_cmake, # type: ignore[attr-defined] +diff --git a/tests/__init__.py b/tests/__init__.py +index 4f3c9543..e3942246 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -215,7 +215,11 @@ def execute_setup_py(project_dir, setup_args, disable_languages_test=False): + """ + + # See https://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree +- distutils.dir_util._path_created.clear() # type: ignore[attr-defined] ++ to_clear = getattr( ++ distutils.dir_util, "SkipRepeatAbsolutePaths", getattr(distutils.dir_util, "_path_created", None) ++ ) ++ assert to_clear, "Must have one of the two supported clearing mechanisms" ++ to_clear.clear() + + # Clear _PYTHON_HOST_PLATFORM to ensure value sets in skbuild.setuptools_wrap.setup() does not + # influence other tests. + diff --git a/dev-python/scikit-build/scikit-build-0.18.1.ebuild b/dev-python/scikit-build/scikit-build-0.18.1.ebuild index 185d5356d0c3..874c4731f8d7 100644 --- a/dev-python/scikit-build/scikit-build-0.18.1.ebuild +++ b/dev-python/scikit-build/scikit-build-0.18.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -48,6 +48,11 @@ distutils_enable_sphinx docs \ distutils_enable_tests pytest src_prepare() { + local PATCHES=( + # https://github.com/scikit-build/scikit-build/pull/1120 + "${FILESDIR}/${P}-setuptools-75.patch" + ) + # not packaged sed -i -e '/cmakedomain/d' docs/conf.py || die distutils-r1_src_prepare diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest index e3b147e5a0ca..2b1afd3ed486 100644 --- a/dev-python/types-gdb/Manifest +++ b/dev-python/types-gdb/Manifest @@ -1 +1,2 @@ DIST types_gdb-15.0.0.20241204.tar.gz 19947 BLAKE2B e4b9e90f49dd2100f95be6d8cf323869581e46054b3130c1b4465b66cb7e58380de37af40751d06a581a5690aa96c11a0e4b7187c7bda5b9acb823c5572f2525 SHA512 f7acc0bad022244d95a45a6bbf428e893f7cd8e5e88ea34459bb209a7e36c6a34bac78a5824d9df39a0f6f8e0360285e478ed3d3c894bffa76d52c9bbc3b2b56 +DIST types_gdb-15.0.0.20250306.tar.gz 20140 BLAKE2B e2cd08a1696c8bff596aec8d1aa12a4edbeb14b7ba26790fc9b4d913804c882ecf5a364ff2b66e4e31f5a4146493e6b9cf452436c0de495f90b9ffec096729b9 SHA512 f68a4249ac63a1e5658c8d4c88ed74af13465cf3772163b96609520f0424b8b4603df14f299d7241601e1b266b80b3012ebb78c7e05e1daedbe1abba0fcfec1f diff --git a/dev-python/types-gdb/types-gdb-15.0.0.20250306.ebuild b/dev-python/types-gdb/types-gdb-15.0.0.20250306.ebuild new file mode 100644 index 000000000000..e4968cc85273 --- /dev/null +++ b/dev-python/types-gdb/types-gdb-15.0.0.20250306.ebuild @@ -0,0 +1,16 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for gdb" +HOMEPAGE="https://pypi.org/project/types-gdb/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" diff --git a/dev-python/typing-inspection/Manifest b/dev-python/typing-inspection/Manifest new file mode 100644 index 000000000000..4f5384f9ac4c --- /dev/null +++ b/dev-python/typing-inspection/Manifest @@ -0,0 +1 @@ +DIST typing_inspection-0.4.0.tar.gz 76222 BLAKE2B 08e509950b6d71d5036d91293c6773467f0d7a09ea21a54692341eb980aee6f91b364039070bc49680f4b201fa6bc8d8211d889f9fafdc2341762559354e4e0d SHA512 95e725e7db7609406f8a63dda46ac7559adf13ef5d63e44a43966977163ff69825df465fb741d288e63ee01240dc3fe8b1314b0cd5030f2d5b08d24a739b7b02 diff --git a/dev-python/typing-inspection/metadata.xml b/dev-python/typing-inspection/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/typing-inspection/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> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild b/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild new file mode 100644 index 000000000000..e4e0133e924e --- /dev/null +++ b/dev-python/typing-inspection/typing-inspection-0.4.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Runtime typing introspection tools" +HOMEPAGE=" + https://github.com/pydantic/typing-inspection/ + https://pypi.org/project/typing-inspection/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 65dc964c9244..2f2dba48860f 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -9,3 +9,4 @@ DIST uv-0.6.3-crates.tar.xz 54109600 BLAKE2B d73c4b4794626abd044f5f5487f59e58905 DIST uv-0.6.3.gh.tar.gz 3759959 BLAKE2B de5309ab9093193bf1e845089a96408dabfb1af26bc634ac6b5f00aca9a94a709d3a36577642cef8a99a6e38c7ed81df45cf9e803f2508cef9c3efda28e56ecd SHA512 a168528a5af666f2d69e2f8606b8d68e8009dee5b604af83bf9273192e9c07778078a0e8e79f14432e851b62a1af72759a06b85a891ed93f5369daffa01c4807 DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c19a8bc4d156b5cdcf8d6af3922ea52279e2351085fd2142806f6692383535dec1d8354c5197d3ed032f768c552dbc SHA512 0f13d3e6e77397ef2db40122736fe4d990003388dc2f2f782b9aea317fb30f30cbb35b1d800b252e84f239fd570208df55f281432e91e546b5edcf82b9a2b68e DIST uv-0.6.4.gh.tar.gz 3767634 BLAKE2B 935155f7833c47c149c13c6ebf72e17f54ac27917fe38a2d7fb41637dba2fcd331e1faeb33e3def02194214e1962129b283ec491eb76877011793b629d9d11c7 SHA512 7583da2b68229fe8fbbe5a25e66efbd25feeb6c98c88cb38f5b0b6b891ce71397e63b0ae64c6c845c27c903af77079a2825719dfadaa4201536d8941885a7fc4 +DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5 diff --git a/dev-python/uv/uv-0.6.5.ebuild b/dev-python/uv/uv-0.6.5.ebuild new file mode 100644 index 000000000000..69a626093131 --- /dev/null +++ b/dev-python/uv/uv-0.6.5.ebuild @@ -0,0 +1,170 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.83.0" + +inherit cargo check-reqs + +CRATE_PV=0.6.4 +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest index f1291f9d453a..4104522c2386 100644 --- a/dev-python/virtualenv/Manifest +++ b/dev-python/virtualenv/Manifest @@ -1 +1,2 @@ DIST virtualenv-20.29.2.tar.gz 4320272 BLAKE2B 3a00c2be2a511968020df74eb5da6ee03cafb3942ac70b23ce598840d2c21db57ba190dac0d30fade915e379fca98db1c53a0c4dbafec457e817957bb736cde4 SHA512 9c455e38fcf1eb2e8ca053df35c86c04dae6c32a55e5ba057de1f1713f5f2a8ad0fa597e4409409646d6d3b3f020058f9955a2888756ac3e6af91e37efcf8c91 +DIST virtualenv-20.29.3.tar.gz 4320280 BLAKE2B bad2bc608ba563f455a8855a90730df7ebe8d7ec2661e01dc38b20c65b5e85491d745246ed2ef17da82a57228da3608496f911947b96ec664ec45e0b5e382248 SHA512 2b6d9f7a1da1b5f6603293396e668c6f32f909233f3278b5ab5e515da6a1b97902924bd419863e2577c26d7b0a89ec638520744c7852ca8da286f0364de4ec2b diff --git a/dev-python/virtualenv/virtualenv-20.29.3.ebuild b/dev-python/virtualenv/virtualenv-20.29.3.ebuild new file mode 100644 index 000000000000..9b7191c668ac --- /dev/null +++ b/dev-python/virtualenv/virtualenv-20.29.3.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="Virtual Python Environment builder" +HOMEPAGE=" + https://virtualenv.pypa.io/en/stable/ + https://pypi.org/project/virtualenv/ + https://github.com/pypa/virtualenv/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}] + >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}] + + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel +" +# coverage is used somehow magically in virtualenv, maybe it actually +# tests something useful +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + >=dev-python/pip-22.2.1[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/setuptools-67.8[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' 'python3*') + $(python_gen_cond_dep ' + >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}] + ' pypy3) + ) +" + +EPYTEST_TIMEOUT=180 +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + # use wheels from ensurepip bundle + "${FILESDIR}/${PN}-20.26.3-ensurepip.patch" + ) + + distutils-r1_src_prepare + + # workaround test failures due to warnings from setuptools-scm, sigh + echo '[tool.setuptools_scm]' >> pyproject.toml || die + + # remove useless pins + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die + + # remove bundled wheels + rm src/virtualenv/seed/wheels/embed/*.whl || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping testing on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data + # tests for old wheels with py3.7 support + tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke + tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support + # broken by different wheel versions in ensurepip + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none + tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output + # hangs on a busy system, sigh + tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe + ) + case ${EPYTHON} in + python3.1[23]) + EPYTEST_DESELECT+=( + tests/unit/create/via_global_ref/test_build_c_ext.py + ) + ;& + python3.11) + EPYTEST_DESELECT+=( + # TODO + tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + local plugins=( -p flaky -p pytest_mock ) + if [[ ${EPYTHON} == pypy3 ]]; then + plugins+=( -p freezer ) + else + plugins+=( -p time_machine ) + fi + epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} + +src_install() { + distutils-r1_src_install + + # remove bundled wheels, we're using ensurepip bundle instead + find "${ED}" -name '*.whl' -delete || die +} |
