diff options
Diffstat (limited to 'dev-python')
78 files changed, 1608 insertions, 264 deletions
diff --git a/dev-python/aiohttp-cors/aiohttp-cors-0.8.1.ebuild b/dev-python/aiohttp-cors/aiohttp-cors-0.8.1.ebuild index ffefbad8000d..fd8becfa9270 100644 --- a/dev-python/aiohttp-cors/aiohttp-cors-0.8.1.ebuild +++ b/dev-python/aiohttp-cors/aiohttp-cors-0.8.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,14 +27,13 @@ RDEPEND=" " BDEPEND=" test? ( - dev-python/pytest-aiohttp[${PYTHON_USEDEP}] dev-python/selenium[${PYTHON_USEDEP}] ) " +EPYTEST_PLUGINS=( pytest-{aiohttp,asyncio} ) distutils_enable_tests pytest python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -o addopts= -p aiohttp -p asyncio --asyncio-mode=auto + epytest -o addopts= --asyncio-mode=auto } diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest index 529aaef4a178..6fe20a0b9143 100644 --- a/dev-python/astroid/Manifest +++ b/dev-python/astroid/Manifest @@ -1,3 +1,4 @@ -DIST astroid-4.0.4.gh.tar.gz 476682 BLAKE2B 513e70a4cf4791a3493bf43a1544d9eaf7dcda1c6b6602edba7314455507aff70d5f137d798243671848a9a9c070d39b6aea6442f3f15506959a4f066418b855 SHA512 37b7dffa92e7ca2e4a2039d9f0c4ff1235daa5e64d6bcaeffd9ed9240c5b24fd6c2f2508c4b20844f3be7bd5daaf98d5ed72f87b65c2288c40ffe7cb0446ddf3 +DIST astroid-4.0.4.tar.gz 406358 BLAKE2B ff220190bf03f879543b74bfe197b4d8511a7574901dfb1011c0a1063437f751e90726b08fdde6dd29159fa8af0da03fd019cd54b813c4599f19101468fcd348 SHA512 a37977af9c12cc816bcbbccd4930e7fb66d46000c51a4c7ed284d950b19bd821e3b6ed2fdf0a010472126ed75fe0dc9f0899e4d0542b0c763ec6cc94970cc99b +DIST astroid-4.0.4.tar.gz.provenance 9152 BLAKE2B 739a7f5d9326e7801b698f00e35455d0350accfd9217cc41085690afd036d9292e1ee100be4c20f8d639f2f9c718baff18f67b0039efaa0224a87595089e67b5 SHA512 4f760408e6ae3e4e2d38061c6ad862a0a52b7fd3524b99be53c0ed64fe96fc09443c3f112e22f2e9a5f6e2b3ca958c4e8d336732af66f64c5f425a30c95866db DIST astroid-4.1.2.tar.gz 414896 BLAKE2B 1888ca1d5f035fa2c4288e52392baefdb601aed629e260f8cfee21106a4ca74fbfb5fbe03da94aaa6cd7739b0324cfdf0c605814dbc8a56523bc0cbc9ac87a63 SHA512 92569b277033085c0a622f5a702daeda99a96d293c74ceb47ffec070408868508893d892eb3131b119b2339f8e5e6fc0d4b694065b68f7fded4857f03fc0b35d DIST astroid-4.1.2.tar.gz.provenance 9395 BLAKE2B 0a178a7e3e1392b71c0a6ea9f910821581801f79c89345cf9aa62dfe1ea5c5f18b026f003ad88796b518054f859fc6b82c564a7a8af6f44fccf8a7c00f5e68e3 SHA512 59de972e0f8754be6d218d1d3f04942e9ffc8aaf277cdb1564f11024baea7085cad98610cb297d9076ce50ab28136e3577863456cb0b5215ed07c345853c3df9 diff --git a/dev-python/astroid/astroid-4.0.4.ebuild b/dev-python/astroid/astroid-4.0.4.ebuild index b62d24b8fcc7..21fcba58b67e 100644 --- a/dev-python/astroid/astroid-4.0.4.ebuild +++ b/dev-python/astroid/astroid-4.0.4.ebuild @@ -4,21 +4,16 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pylint-dev/astroid PYTHON_COMPAT=( python3_{13..14} ) -inherit distutils-r1 +inherit distutils-r1 pypi -MY_P=${P/_/} DESCRIPTION="Abstract Syntax Tree for logilab packages" HOMEPAGE=" https://github.com/pylint-dev/astroid/ https://pypi.org/project/astroid/ " -SRC_URI=" - https://github.com/pylint-dev/astroid/archive/v${PV/_/}.tar.gz - -> ${P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} LICENSE="LGPL-2.1+" SLOT="0" @@ -31,9 +26,7 @@ BDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}] dev-python/python-dateutil[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/regex[${PYTHON_USEDEP}] - ' 'python*') + dev-python/regex[${PYTHON_USEDEP}] ) " @@ -72,5 +65,22 @@ python_test() { ) fi + case ${EPYTHON} in + python3.15) + EPYTEST_DESELECT+=( + tests/brain/test_brain.py::TypingBrain::test_typing_object_notsubscriptable_3 + tests/brain/test_dataclasses.py::test_kw_only_sentinel + tests/test_regrtest.py::test_regression_parse_deeply_nested_parentheses + ) + ;; + esac + + if ! has_version "dev-python/pkg-resources[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + # tests a package using pkg_resources + tests/test_manager.py::AstroidManagerTest::test_identify_old_namespace_package_protocol + ) + fi + epytest } diff --git a/dev-python/astroid/astroid-4.1.2.ebuild b/dev-python/astroid/astroid-4.1.2.ebuild index ad7d5e824ca6..21fcba58b67e 100644 --- a/dev-python/astroid/astroid-4.1.2.ebuild +++ b/dev-python/astroid/astroid-4.1.2.ebuild @@ -26,9 +26,7 @@ BDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}] dev-python/python-dateutil[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/regex[${PYTHON_USEDEP}] - ' 'python*') + dev-python/regex[${PYTHON_USEDEP}] ) " @@ -68,14 +66,16 @@ python_test() { fi case ${EPYTHON} in - pypy3.11) + python3.15) EPYTEST_DESELECT+=( - tests/brain/test_gi.py::GiBrainClassificationTest::test_gi_function_classification + tests/brain/test_brain.py::TypingBrain::test_typing_object_notsubscriptable_3 + tests/brain/test_dataclasses.py::test_kw_only_sentinel + tests/test_regrtest.py::test_regression_parse_deeply_nested_parentheses ) ;; esac - if has_version ">=dev-python/setuptools-82[${PYTHON_USEDEP}]"; then + if ! has_version "dev-python/pkg-resources[${PYTHON_USEDEP}]"; then EPYTEST_DESELECT+=( # tests a package using pkg_resources tests/test_manager.py::AstroidManagerTest::test_identify_old_namespace_package_protocol diff --git a/dev-python/asttokens/Manifest b/dev-python/asttokens/Manifest index 96bbe167ff29..4143dd9876fb 100644 --- a/dev-python/asttokens/Manifest +++ b/dev-python/asttokens/Manifest @@ -1 +1 @@ -DIST asttokens-3.0.1.gh.tar.gz 57176 BLAKE2B d46da589642008dd9ff2665e6df11f2b582dc768c698f3202651ff68c20cf49a7d4e08361cee9fa0f4fa1b6ad255408b8fca9443bc0664069c026fed3764acac SHA512 653a486f025243e4bf51ff2c23b9b61d3e565106ce2653bcffac484dbd8223d433be680d742a3148c6396482a12faa99236a32ea0e876983a8d24678c8d48740 +DIST asttokens-3.0.1.tar.gz 62308 BLAKE2B 8236fb39d75cec9a8e04b4e984f8e6f9c2a2086ec3b3e838fc502a128396e1ca3065776a932e01649c012e4d2880e8dd82d13624cebc71f4a00c7f9938683035 SHA512 e810758a65f194dfe824143f7dd83147153d7e2caf1e9b18db53a2f5ca54811e0593d51247938f27a202859a84077abfc482cbc8afb1f5a1fcfcb8e06662b771 diff --git a/dev-python/asttokens/asttokens-3.0.1.ebuild b/dev-python/asttokens/asttokens-3.0.1.ebuild index ab6825915458..60fd52317f0d 100644 --- a/dev-python/asttokens/asttokens-3.0.1.ebuild +++ b/dev-python/asttokens/asttokens-3.0.1.ebuild @@ -6,17 +6,13 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{13..14} ) -inherit distutils-r1 +inherit distutils-r1 pypi DESCRIPTION="Annotate Python AST trees with source text and token information" HOMEPAGE=" https://github.com/gristlabs/asttokens/ https://pypi.org/project/asttokens/ " -SRC_URI=" - https://github.com/gristlabs/asttokens/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" LICENSE="Apache-2.0" SLOT="0" @@ -31,5 +27,3 @@ BDEPEND=" EPYTEST_PLUGINS=() distutils_enable_tests pytest - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/audioread/audioread-3.0.1-r1.ebuild b/dev-python/audioread/audioread-3.0.1-r1.ebuild index 6d1e42b85f4d..02ce182cfca3 100644 --- a/dev-python/audioread/audioread-3.0.1-r1.ebuild +++ b/dev-python/audioread/audioread-3.0.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 pypi @@ -22,7 +22,7 @@ IUSE="ffmpeg gstreamer mad" RDEPEND=" $(python_gen_cond_dep ' dev-python/audioop-lts[${PYTHON_USEDEP}] - ' 3.13 3.14) + ' 3.13 3.14 3.15) ffmpeg? ( media-video/ffmpeg ) diff --git a/dev-python/autopep8/autopep8-2.3.2.ebuild b/dev-python/autopep8/autopep8-2.3.2.ebuild index 769def827484..1f151bd55d26 100644 --- a/dev-python/autopep8/autopep8-2.3.2.ebuild +++ b/dev-python/autopep8/autopep8-2.3.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,4 +23,5 @@ RDEPEND=" >=dev-python/pycodestyle-2.12.0[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/blessed/Manifest b/dev-python/blessed/Manifest index 59f98d06119c..045b37699a98 100644 --- a/dev-python/blessed/Manifest +++ b/dev-python/blessed/Manifest @@ -1,3 +1,4 @@ DIST blessed-1.44.0.tar.gz 14031337 BLAKE2B e8d2aa64dfedca67dbbdf236a577ab3c3f7b221dfedbf4db68189b775aa690fc1f74595f9f5b5762497f92c0cb1f968a37691b861be71276871d61498c6169e8 SHA512 07f6dbd15e315fe71bd97f795b4a5e739f10566ad14267d8bbcefe7085cdebb5c2cc1d285441e1ddc04831ef9caa09ac2e5dd9ca61222cda26081d56a2e2759a DIST blessed-1.45.0.tar.gz 14032801 BLAKE2B 65575ba3075fddf46068b9c6c8c476592d3d3d2e28ce6f62ed50d15dc10e7aa9e7c1a000c826a70a0384efaafbfd56fb8dddae39ad72498a2708870ac70fc2b5 SHA512 cb0731d4713a729c53d7e3d79ee03fc4e4ffc96e74f13fcb9b36ce9e365baf8ea05e450798c126647b59ee132e8be6322061a69dd6cd987349ce7e339b4961be DIST blessed-1.46.0.tar.gz 14034378 BLAKE2B cd2dd5581b25da1e2566b36b1fe8f110887e7c2f6ed8ec9ca810918343a4b4b4f34256758bbd7df8d984539a4cc4f12ad2d7e2c742590747db5e2d4a0fa34435 SHA512 fe4e3a70c81fbc06e0184482748584829d14cad29029f698edbf638225a9ad03b2a7d3b91cb10ccca0e55008d688d003ee01dad134b57914e39df23841e23baa +DIST blessed-1.47.0.tar.gz 14035743 BLAKE2B b6aeab48f2f1188598507c1ec11ff16837e9f49bc097f659e2fbee285bbb1acda59c058fabab4a9a390655821c2a9e9478056a76e1536b6370dede0ed31cef54 SHA512 887aa6ea815ab49b56b876d252f2cec8c2ddc266a8801e8d7b53e0f94c49ecc6a70e1c9f69d91d0aba02acf686c922c290aaa29b3f6c5e89f092bfcb570863d6 diff --git a/dev-python/blessed/blessed-1.47.0.ebuild b/dev-python/blessed/blessed-1.47.0.ebuild new file mode 100644 index 000000000000..34ab6f5e846a --- /dev/null +++ b/dev-python/blessed/blessed-1.47.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Library for making terminal apps using colors, keyboard input and positioning" +HOMEPAGE=" + https://github.com/jquast/blessed/ + https://pypi.org/project/blessed/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/jinxed-2.1[${PYTHON_USEDEP}] + >=dev-python/wcwidth-0.8.1[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs dev-python/sphinx-rtd-theme + +EPYTEST_PLUGINS=() +# tests are flaky with xdist +distutils_enable_tests pytest + +# README.rst is a symlink to docs/ +DOCS=() + +python_prepare_all() { + # Skip those extensions as they don't have a Gentoo package + # Remove calls to scripts that generate rst files because they + # are not present in the tarball + sed -e '/sphinxcontrib.manpage/d' -e '/sphinx_paramlinks/d' \ + -e '/^for script in/,/runpy.run_path/d' \ + -i docs/conf.py || die + distutils-r1_python_prepare_all +} + +python_test() { + local EPYTEST_DESELECT=( + # fragile to timing + tests/test_sixel.py::test_sixel_height_and_width_fallback_to_xtwinops + tests/test_sixel.py::test_fast_path_with_caches_populated + ) + + # COLORTERM must not be truecolor + # See https://github.com/jquast/blessed/issues/162 + local -x COLORTERM= + # Ignore coverage options + epytest --override-ini="addopts=" +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 98a6a8120bdf..4d365e6a14d1 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -5,3 +5,4 @@ DIST boto3-1.43.36.gh.tar.gz 1169288 BLAKE2B c316bf8bc804c7c7a70eed0b01a66d7cf8f DIST boto3-1.43.40.gh.tar.gz 1175361 BLAKE2B cb24a2dd76debf1b3b2d759d020b2cf17248db20044b06e0c191821170644f4762997a527b8e5c401305f5b0c725d1269d610c9cb1aa2bb776d894f70b09f3ac SHA512 eb7d0218051abddd74e544d8eaa4e83cdd2e9ef305d059c165c926ade12a795ae196eefbaa2b64176fe26a1bf20419d775670fccc4fda485c93197d10efcbcf1 DIST boto3-1.43.41.gh.tar.gz 1176299 BLAKE2B 25ddfdcf9b0e5fdb96ad5af8d78bef74d7e8ed41a506bfc13f257fb5dfd725c7fe40e5bead8f20b760c110cac72363161be1cf03ec64d8b3107b0251e32a6362 SHA512 11efe41cf581d7fd94c8f12a7456408a8965789bad044a7c79c44661dd109238c2ec9a6632537c3331c759150324de7280c3771ce506f44b26a7cce92e6c867f DIST boto3-1.43.42.gh.tar.gz 1177879 BLAKE2B 43471c8748c366198e5336548959a16f970750c7a6136296352731d6126334d5d11b2762a8115adfee4d4e2f1c1f3e53b2d35020a1868e6a3031e3d3024ae19e SHA512 e6054e484c26e0701aa63a41a09e22e9308e1470aba895fb82fd639d71057512d096083209648c99ee95b1c900a89f5ab639d826d1ef33fb5725be2a2bb9d24d +DIST boto3-1.43.44.gh.tar.gz 1179130 BLAKE2B f6bbeebb51b901d115d3e2127a656650a4ed4d8176bf7cd7b0937a1f1470ff1fc70fa2565383ac057c01064feddb5441dc5c191db5c0ec1804cedb03875e48ac SHA512 d8d1579d3e90e5905dce1cc9cdcd9801a2a597be33840fac18d55b7f95d3912a72f45d6950a4e9e3917ac8a0e113a50358205d8697a20a10b9061f758615c80d diff --git a/dev-python/boto3/boto3-1.43.44.ebuild b/dev-python/boto3/boto3-1.43.44.ebuild new file mode 100644 index 000000000000..93fbbe6dd59b --- /dev/null +++ b/dev-python/boto3/boto3-1.43.44.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +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() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index b9dca071e216..b4e700caddc8 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -5,3 +5,4 @@ DIST botocore-1.43.36.gh.tar.gz 16601718 BLAKE2B b4643995a2c173c9df865923d6912e2 DIST botocore-1.43.40.gh.tar.gz 16621912 BLAKE2B 87339ac693df7e8753b8a7463a93aea57f24005c48c6d5b0276307928704893f315e1b7c671d9a91340899bd8bff8846f7afa23eca4dbfaa03f54a3f07b2fa43 SHA512 49257c431950a63d34c137b2b3ed1bb642cfbdc98351dab2cb2dfdaae6f6e88ecb11c74d89d9ec52ad6b558e9d94fa6bc5da13c5a0e67ad441decf1df516e888 DIST botocore-1.43.41.gh.tar.gz 16629580 BLAKE2B d8e01dbfbf2e3e890b44b9197e1959500256a5863d63b2c04a675f0dfd6ede3a3a961998f5f4dea62d868b11189f52e708f22680a74f3bb716a598a0c53e0dc2 SHA512 672411cc3030b95a98d9e3b0110a276e81fe3b1f0762213ededa8da93dd486bd2d15a9aec3ae76b9c2fbcea118a6512e49ac15f11a7367ad781ab29fa1eb68e4 DIST botocore-1.43.42.gh.tar.gz 16663349 BLAKE2B b215c60797e01bb32523b075d1aa15f5ceab48791eb6271092583b206c4a59451b6cdc4a214c97b564010090688f2c8032766fcbb97b5380e32b1d41ba3cc962 SHA512 18d159d62999946ef957ece6f44e44108296efe933f25e3295b9f9a2be8b8891e740ddb8fbac21a9a2808777d3a71426b48977e85e45e53c30c116b64eced49c +DIST botocore-1.43.44.gh.tar.gz 16672858 BLAKE2B de2dc295be6016486eb2afece5708e5e7b5cbde68f89bc6d24de4f129406d029852c3864ec215a69a7c279c676f3624835ebbada59ccb048d4d27ab850242c8e SHA512 ed0a90b23ba6de8ea209e81fcfa8f230f94ac606d92f6832a4a0c3c318b8f470703dcdd89cf6c7437ea481dc6cb25120b4b7db143f3a0622b9b4f6df6fc6cecc diff --git a/dev-python/botocore/botocore-1.43.44.ebuild b/dev-python/botocore/botocore-1.43.44.ebuild new file mode 100644 index 000000000000..a3a161f78545 --- /dev/null +++ b/dev-python/botocore/botocore-1.43.44.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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" + +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_PLUGINS=() +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 + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/cairocffi/cairocffi-1.7.1-r1.ebuild b/dev-python/cairocffi/cairocffi-1.7.1-r1.ebuild index 1ac730c10e18..3ba95879bde6 100644 --- a/dev-python/cairocffi/cairocffi-1.7.1-r1.ebuild +++ b/dev-python/cairocffi/cairocffi-1.7.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 pypi virtualx @@ -25,15 +25,11 @@ DEPEND=" " RDEPEND=" ${DEPEND} - $(python_gen_cond_dep ' - >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] - ' 'python*') + >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] " BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] - ' 'python*') + >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] test? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pikepdf[${PYTHON_USEDEP}] diff --git a/dev-python/cleo/cleo-2.1.0.ebuild b/dev-python/cleo/cleo-2.1.0.ebuild index 5cf9b079b687..baa20cdfecb2 100644 --- a/dev-python/cleo/cleo-2.1.0.ebuild +++ b/dev-python/cleo/cleo-2.1.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -DISTUTILS_USE_PEP517=poetry +DISTUTILS_USE_PEP517=poetry-core PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 @@ -35,17 +35,3 @@ src_prepare() { sed -i -e '/rapidfuzz/s:\^:>=:' pyproject.toml || die distutils-r1_src_prepare } - -python_test() { - local EPYTEST_DESELECT=() - - case ${EPYTHON} in - pypy3*) - EPYTEST_DESELECT+=( - tests/ui/test_exception_trace.py::test_render_debug_better_error_message_recursion_error - ) - ;; - esac - - epytest -} diff --git a/dev-python/curtsies/curtsies-0.4.3.ebuild b/dev-python/curtsies/curtsies-0.4.3.ebuild index f40909b73407..810b83952d20 100644 --- a/dev-python/curtsies/curtsies-0.4.3.ebuild +++ b/dev-python/curtsies/curtsies-0.4.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,4 +28,5 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest index 377d21dc109a..fdff4cf06c5d 100644 --- a/dev-python/executing/Manifest +++ b/dev-python/executing/Manifest @@ -1 +1 @@ -DIST executing-2.2.1.gh.tar.gz 1135347 BLAKE2B 532d3b8a1801227436e7fd9460732c735b51b1e5841f43090ba56e91d9a5ba8c248bcafbc4ae9f1c6c49ee262d67748f7350364efa9830089f366e07a269bb65 SHA512 59d2ad7cf36279dd36df36355ad3252d32df21a4732fece8f1975be142604ee4646bee2a1fb52ff8ae4f3b155b34334dc92d5a05240cb5be169913e065d2fb23 +DIST executing-2.2.1.tar.gz 1129488 BLAKE2B 92060a941c3da32812475d1c3123d230a929e13042bd43c85494b4d72bee268c360475822aefda1059ce9144f77d1762390412ac61f435201531df30b718e1e6 SHA512 f5d00c47de7133c0d81b45982ec833bcf8ff80902695eadf563b276864c9844b1dd3865be12099a531fa6c872fd8cd2d72c7c6c7b2d601b8675d6758e6b179ae diff --git a/dev-python/executing/executing-2.2.1.ebuild b/dev-python/executing/executing-2.2.1.ebuild index d0433d40e95e..70cda9d3ec53 100644 --- a/dev-python/executing/executing-2.2.1.ebuild +++ b/dev-python/executing/executing-2.2.1.ebuild @@ -1,24 +1,19 @@ -# Copyright 2020-2025 Gentoo Authors +# Copyright 2020-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_TESTED=( python3_{13..14} ) -# pypy3.11: https://github.com/alexmojaki/executing/issues/92 PYTHON_COMPAT=( python3_{13..14} ) -inherit distutils-r1 optfeature +inherit distutils-r1 optfeature pypi DESCRIPTION="Get information about what a Python frame is currently doing" HOMEPAGE=" https://github.com/alexmojaki/executing/ https://pypi.org/project/executing/ " -SRC_URI=" - https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" LICENSE="MIT" SLOT="0" diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest index 91cf009a8922..a9b4ae6ef7e2 100644 --- a/dev-python/filelock/Manifest +++ b/dev-python/filelock/Manifest @@ -8,3 +8,5 @@ DIST filelock-3.29.5.tar.gz 68927 BLAKE2B 7f54bcaade7048e6cb41528752ede9b3978c27 DIST filelock-3.29.5.tar.gz.provenance 9914 BLAKE2B 5c6fc5c65a8af3abc7fb41db3c1b2e88bef64d9e855054dd78c65e0ae3638692585dd4ceccd2ba1e35f4b090eda47443fdd8510f0a5adc087fc3badfbacbfeb9 SHA512 fd223248bc0a61ef49313d1cb6e9c08cef5ff7ad39345da7b51a1b4ddf387ba09e8e3e7a08ad941bd7c96ac46d705c98704bc7f88adb81fd95e24aad0b46e698 DIST filelock-3.29.6.tar.gz 70301 BLAKE2B f789d28c298e00cd8ecbb6dbb86b146b26f4c917b6e0e19b67f58800eeb981e388886627809428e7d70a7d106dd21264daacb12488bff3ff4fa0c32cf9a18499 SHA512 08205a6c1b235e0e7588b2f7fa1c9f7f9d43dc2728d3abe17513d07e65f839ec55bc7b90935d4af5d33a4384667d3b70c7897f18d79967c2b7db961d14de908a DIST filelock-3.29.6.tar.gz.provenance 9714 BLAKE2B fb55c35105da0badc79f989c808fb1c38e3e69ceeac430454e13c9fdfc1140d2051eed26936286fdb9338304a1de682c553812fe47ffe826dbdf0067d9bb52de SHA512 afa45949c59ef3d5cfdbf64ff6710e20a16c2fbd492e623cd6f97972b3e7808b5d7269e227226028ec2762c6f34c9beaf33149fd78e31f4f4fc901fbcb9d91c1 +DIST filelock-3.29.7.tar.gz 71521 BLAKE2B c032a547c012ceeef83c8f4a561ecb0985e2444d92a6fb653af045565e2d887bd28adb71449ff5425280419f72456f5c93296bc1ed11e1027ae0ba6bcc54cfb8 SHA512 7ebe4add67d48f3ad2d084712e17034a503e4eaa690761aa9100b73425cb728a140eb44de7b739b4ba5bad952221eb09804866a619a20345d5e7e6fd2a70156b +DIST filelock-3.29.7.tar.gz.provenance 9855 BLAKE2B 785f4eade5c0848e0f993415cd97c96617414bc3481ce47b312f41309b1784cc7231494f030a41974359ced5ebb22e121e12f28fafc8b41dcbd8cfd4555f7406 SHA512 05879d7e37a8f5e7b60482d136cf7c4d70ebf30ca13aee763791d9f418d26669ddefb405f903814c762f8e13846882892883bfc2c2840e7bfae85c82ce806554 diff --git a/dev-python/filelock/filelock-3.29.7.ebuild b/dev-python/filelock/filelock-3.29.7.ebuild new file mode 100644 index 000000000000..1f38026c0588 --- /dev/null +++ b/dev-python/filelock/filelock-3.29.7.ebuild @@ -0,0 +1,31 @@ +# Copyright 2018-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/filelock +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A platform independent file lock for Python" +HOMEPAGE=" + https://github.com/tox-dev/filelock/ + https://pypi.org/project/filelock/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/virtualenv[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,mock,timeout} ) +EPYTEST_RERUNS=5 +distutils_enable_tests pytest diff --git a/dev-python/flask-caching/Manifest b/dev-python/flask-caching/Manifest index eb98ab6bc2f4..5becda124658 100644 --- a/dev-python/flask-caching/Manifest +++ b/dev-python/flask-caching/Manifest @@ -1,2 +1,2 @@ -DIST flask_caching-2.3.1.tar.gz 67560 BLAKE2B e4bd5121b4a43a81a359fb839c886e499028f4144c8a529a56ec8700db3b4819ddf59680131bc277d001ece976a9623f462be22f5aacd9668019e85e4d13d380 SHA512 ec591131746ee15f6e451b38af93194eeede1ff191b78042eafdf4fc9ab91eec6347372312cd9be8a92880679446af0c98be546b23845a12ef602e9593d48955 DIST flask_caching-2.4.0.tar.gz 153673 BLAKE2B 9bc1cf2e861148a06666ecb3a3e8d4e019d0bd31e64b86bd4917620c12753736233233bb40306076e8cc7b504df91b56f99b0a11aa4fd435d929c921fda12a21 SHA512 87b87591b55cfd805c6a4656d29667061bf86aaef575d6b412fc471b90ebb8caa47eda20902200e081df15f13fddb70316df12c58ed8db35abf9795bd7f8ec14 +DIST flask_caching-2.4.1.tar.gz 165380 BLAKE2B 58e1ef39a01b689ec65ffa54756e2cda5488975fd5adebc9724bb5c92741ffea9a5f55dc30bd0a51521f3d8aab73a9842d806f316e5e82d058314fa16efb477c SHA512 9f76d73e37765035a39abb37bf0bb1266167b68d153f56b207b2b7f4626e60a55fee44c18ba2c687cef255aa8251c807b9abfb35488ea3bd8bb10692378ae9d2 diff --git a/dev-python/flask-caching/flask-caching-2.3.1.ebuild b/dev-python/flask-caching/flask-caching-2.3.1.ebuild deleted file mode 100644 index 479827c18a12..000000000000 --- a/dev-python/flask-caching/flask-caching-2.3.1.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_PN=Flask-Caching -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Adds caching support to Flask applications" -HOMEPAGE=" - https://github.com/pallets-eco/flask-caching/ - https://pypi.org/project/Flask-Caching/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm64 x86" - -RDEPEND=" - >=dev-python/cachelib-0.9.0[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/asgiref[${PYTHON_USEDEP}] - dev-python/pylibmc[sasl(-),${PYTHON_USEDEP}] - dev-python/redis[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( pytest-{asyncio,xprocess} ) -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # broken with new redis - tests/test_backend_cache.py::TestRedisCache::test_generic_inc_dec -) - -src_prepare() { - distutils-r1_src_prepare - - # fix check for obsolete package name - sed -i -e '/pytest_xprocess/d' tests/conftest.py || die -} diff --git a/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild b/dev-python/flask-caching/flask-caching-2.4.1.ebuild index 479827c18a12..23450d1e1b0b 100644 --- a/dev-python/flask-caching/flask-caching-2.3.1-r1.ebuild +++ b/dev-python/flask-caching/flask-caching-2.4.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=setuptools +DISTUTILS_USE_PEP517=flit-core PYPI_PN=Flask-Caching PYTHON_COMPAT=( python3_{13..14} ) @@ -17,11 +17,11 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="~amd64 ~arm64 ~x86" RDEPEND=" >=dev-python/cachelib-0.9.0[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] + >=dev-python/flask-2.0[${PYTHON_USEDEP}] " BDEPEND=" test? ( @@ -38,10 +38,3 @@ EPYTEST_DESELECT=( # broken with new redis tests/test_backend_cache.py::TestRedisCache::test_generic_inc_dec ) - -src_prepare() { - distutils-r1_src_prepare - - # fix check for obsolete package name - sed -i -e '/pytest_xprocess/d' tests/conftest.py || die -} diff --git a/dev-python/fritzconnection/files/fritzconnection-1.15.1-pytest-9.patch b/dev-python/fritzconnection/files/fritzconnection-1.15.1-pytest-9.patch new file mode 100644 index 000000000000..104efc759506 --- /dev/null +++ b/dev-python/fritzconnection/files/fritzconnection-1.15.1-pytest-9.patch @@ -0,0 +1,44 @@ +From 19a0a03f1fc42b6a12118a4e431e67100a2e0489 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Wed, 8 Jul 2026 11:08:02 +0200 +Subject: [PATCH] Fix duplicate test id for pytest-9 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Running the test suite using pytest-9 yields the following error: + +``` +______________________________________ ERROR collecting fritzconnection/tests/test_core_utils.py ______________________________________ +Duplicate parametrization IDs detected, but strict_parametrization_ids is set. + +Test name: fritzconnection/tests/test_core_utils.py::test_get_boolean_from_string +Parameters: value, expected_result +Parameter sets: ['true', True], ['false', False], ['wahr', None], ['falsch', None], ['None', None], [42, None], ['', None], [None, None] +IDs: true-True, false-False, wahr-None, falsch-None, None-None, 42-None, -None, None-None +Duplicates: None-None + +You can fix this problem using `@pytest.mark.parametrize(..., ids=...)` or `pytest.param(..., id=...)`. +``` + +This is because both `"None"` and `None` resolve to the same identifier. +Override the identifier for the latter to fix the test suite. + +Signed-off-by: Michał Górny <mgorny@gentoo.org> +--- + fritzconnection/tests/test_core_utils.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fritzconnection/tests/test_core_utils.py b/fritzconnection/tests/test_core_utils.py +index 657a022f..180926d5 100644 +--- a/fritzconnection/tests/test_core_utils.py ++++ b/fritzconnection/tests/test_core_utils.py +@@ -66,7 +66,7 @@ def test_boolean_from_string_typeerror(value): + ("None", None), + (42, None), + ("", None), +- (None, None), ++ pytest.param(None, None, id="(None)-None"), + ] + ) + def test_get_boolean_from_string(value, expected_result): diff --git a/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild b/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild index aad17f4d0b4b..1de6b2175b7c 100644 --- a/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild +++ b/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild @@ -39,6 +39,11 @@ RDEPEND=" EPYTEST_PLUGINS=( pytest-mock ) distutils_enable_tests pytest +PATCHES=( + # https://github.com/kbr/fritzconnection/pull/269 + "${FILESDIR}/${P}-pytest-9.patch" +) + python_test() { local EPYTEST_DESELECT=( # flaky (relies on time.sleep(0.01) magically being sufficient) diff --git a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild index 7427a2736a38..f74ac7f0c810 100644 --- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild +++ b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/genshi/files/genshi-0.7.11-py315.patch b/dev-python/genshi/files/genshi-0.7.11-py315.patch new file mode 100644 index 000000000000..71ddbbb7aaee --- /dev/null +++ b/dev-python/genshi/files/genshi-0.7.11-py315.patch @@ -0,0 +1,120 @@ +From 0bcd1eeefaa58d49441ad1d82d0852c049154811 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Krier?= <ced@b2ck.com> +Date: Mon, 12 May 2025 00:28:42 +0200 +Subject: [PATCH 1/4] Fix deprecation warning when creating AST node without + required fields + +Python 3.13 added the warning which will become an error in Python 3.15 +(see https://github.com/python/cpython/pull/105880) +--- + genshi/template/astutil.py | 16 +++++++++++++++- + genshi/template/eval.py | 11 +++++------ + pytest.ini | 3 +++ + 3 files changed, 23 insertions(+), 7 deletions(-) + +diff --git a/genshi/template/astutil.py b/genshi/template/astutil.py +index c841aeb..b53b573 100644 +--- a/genshi/template/astutil.py ++++ b/genshi/template/astutil.py +@@ -802,7 +802,7 @@ def visit(self, node): + return visitor(node) + + def _clone(self, node): +- clone = node.__class__() ++ clone = construct_ast_class(node.__class__) + for name in getattr(clone, '_attributes', ()): + try: + setattr(clone, name, getattr(node, name)) +@@ -887,3 +887,17 @@ def _clone(self, node): + visit_Index = _clone + + del _clone ++ ++ ++def construct_ast_class(cls): ++ kwargs = {} ++ for name, typ in cls.__annotations__.items(): ++ if typ is str: ++ kwargs[name] = 'foo' ++ elif typ is int: ++ kwargs[name] = 42 ++ elif typ is object: ++ kwargs[name] = b'foo' ++ elif isinstance(typ, type) and issubclass(typ, _ast.AST): ++ kwargs[name] = construct_ast_class(typ) ++ return cls(**kwargs) +diff --git a/genshi/template/eval.py b/genshi/template/eval.py +index 82bddf3..4197597 100644 +--- a/genshi/template/eval.py ++++ b/genshi/template/eval.py +@@ -18,7 +18,8 @@ + + from genshi.compat import builtins, exec_, string_types, text_type + from genshi.core import Markup +-from genshi.template.astutil import ASTTransformer, ASTCodeGenerator, parse ++from genshi.template.astutil import ( ++ ASTTransformer, ASTCodeGenerator, parse, construct_ast_class) + from genshi.template.base import TemplateRuntimeError + from genshi.util import flatten + +@@ -59,11 +60,9 @@ def __init__(self, source, filename=None, lineno=-1, lookup='strict', + 'Expected string or AST node, but got %r' % source + self.source = '?' + if self.mode == 'eval': +- node = _ast.Expression() +- node.body = source ++ node = _ast.Expression(body=source) + else: +- node = _ast.Module() +- node.body = [source] ++ node = _ast.Module(body=[source]) + + self.ast = node + self.code = _compile(node, self.source, mode=self.mode, +@@ -454,7 +453,7 @@ def _compile(node, source=None, mode='eval', filename=None, lineno=-1, + + + def _new(class_, *args, **kwargs): +- ret = class_() ++ ret = construct_ast_class(class_) + for attr, value in zip(ret._fields, args): + if attr in kwargs: + raise ValueError('Field set both in args and kwargs') + +From 09fd95760e231d4f487c7378b11215e5c5d184c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Krier?= <ced@b2ck.com> +Date: Mon, 12 May 2025 00:49:35 +0200 +Subject: [PATCH 3/4] Use ast Node annotations to construct if available + +--- + genshi/template/astutil.py | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/genshi/template/astutil.py b/genshi/template/astutil.py +index b53b573..510d3a8 100644 +--- a/genshi/template/astutil.py ++++ b/genshi/template/astutil.py +@@ -891,13 +891,14 @@ def _clone(self, node): + + def construct_ast_class(cls): + kwargs = {} +- for name, typ in cls.__annotations__.items(): +- if typ is str: +- kwargs[name] = 'foo' +- elif typ is int: +- kwargs[name] = 42 +- elif typ is object: +- kwargs[name] = b'foo' +- elif isinstance(typ, type) and issubclass(typ, _ast.AST): +- kwargs[name] = construct_ast_class(typ) ++ if hasattr(cls, '__annotations__'): ++ for name, typ in cls.__annotations__.items(): ++ if typ is str: ++ kwargs[name] = 'foo' ++ elif typ is int: ++ kwargs[name] = 42 ++ elif typ is object: ++ kwargs[name] = b'foo' ++ elif isinstance(typ, type) and issubclass(typ, _ast.AST): ++ kwargs[name] = construct_ast_class(typ) + return cls(**kwargs) diff --git a/dev-python/genshi/genshi-0.7.11-r1.ebuild b/dev-python/genshi/genshi-0.7.11-r1.ebuild new file mode 100644 index 000000000000..e596af7cdbc0 --- /dev/null +++ b/dev-python/genshi/genshi-0.7.11-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python toolkit for stream-based generation of output for the web" +HOMEPAGE=" + https://genshi.edgewall.org/ + https://github.com/edgewall/genshi/ + https://pypi.org/project/Genshi/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +PATCHES=( + # https://github.com/edgewall/genshi/pull/93 + "${FILESDIR}/${P}-py315.patch" +) + +python_test() { + "${EPYTHON}" -m unittest -v genshi.tests.suite || die +} + +python_install_all() { + if use doc; then + dodoc doc/*.txt + fi + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + distutils-r1_python_install_all +} diff --git a/dev-python/grpcio-status/Manifest b/dev-python/grpcio-status/Manifest index c760c481a09e..755dcbe14d9c 100644 --- a/dev-python/grpcio-status/Manifest +++ b/dev-python/grpcio-status/Manifest @@ -2,3 +2,4 @@ DIST grpc-1.80.0.gh.tar.gz 15772645 BLAKE2B 48f3acc5c3268f651dc865ce3095c306ad3f DIST grpc-1.81.0.gh.tar.gz 15840050 BLAKE2B 01defbe7386b8f7752b4abe9b3081fc09801a0d4cbccc083ac45dea63b3d32a6c4c7b87b57de9a33f7d82d3bc7ee173e0e291742a8b09aaf3a70bfef033c2473 SHA512 38966090a498392b727ea7d8149b59fbcb2fe630a8cada1a78d57e54359d125ca9b5e6d528efcdff05392f01c8418f25798fe823c900d480a3b768943c17a621 DIST grpc-1.81.1.gh.tar.gz 15840192 BLAKE2B 900ca16869e1295428054c2bb4c4363ec855878faef2705cdd81249d46596958c25983dbbd87358d942caae6d5910a781d45da71f8e2a4b714affba02aba0dd5 SHA512 2fcc219bf91de49607ed1f74243c2d43c0fb0def4944e48fbd4b382033d648f0e0b8551426993d04db49b9cae8d8b9efe20a817f6985ed3c72f086bf8ea2e26e DIST grpc-1.82.0.gh.tar.gz 16053357 BLAKE2B 334e965c30b9d055c6a16020624cdc68e1d503c23c5c6ddec784478c19e8b6e4c5eaa6c77df3008fd93c79d37f90bdba3b4db5b2f1f17b90f9276a2e62a07165 SHA512 8fe04eab34a2dbf1be198366f9d82d99b2fdb46bec78385e97041d0fa03dc635374b8600eb522b0b022ebe9f32263a9d4d202849581b896555395561c2735fdc +DIST grpc-1.82.1.gh.tar.gz 16053195 BLAKE2B ae8495a950eab7b6d0b202deda766532de36c5ba37130d58d4790d5eabb65e3dff2615b33ec473df8c7056fb252ee98689b93064d1734ad7c1f3375cd3ad2801 SHA512 f776f2c329247292cad3649e0bdee75ba37360eb2ee13b1f8750b2a3a2cfd63a0a51295dc71cc9ca0d9477a4a882c4ecaf3ee6f23322926c126146bace0c94a6 diff --git a/dev-python/grpcio-status/grpcio-status-1.82.1.ebuild b/dev-python/grpcio-status/grpcio-status-1.82.1.ebuild new file mode 100644 index 000000000000..daa9f2d13263 --- /dev/null +++ b/dev-python/grpcio-status/grpcio-status-1.82.1.ebuild @@ -0,0 +1,46 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=grpc-${PV} +DESCRIPTION="Reference package for GRPC Python status proto mapping" +HOMEPAGE=" + https://grpc.io/ + https://github.com/grpc/grpc/ + https://pypi.org/project/grpcio-status/ +" +SRC_URI=" + https://github.com/grpc/grpc/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P}/src/python/grpcio_status + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/grpcio-${PV}[${PYTHON_USEDEP}] + >=dev-python/googleapis-common-protos-1.5.5[${PYTHON_USEDEP}] + <dev-python/protobuf-8[${PYTHON_USEDEP}] + >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/coverage[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + cd "${WORKDIR}/${MY_P}/src/python/grpcio_tests" || die + epytest tests{,_aio}/status +} diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest index b56d70d47b44..8fc5cee64c96 100644 --- a/dev-python/grpcio/Manifest +++ b/dev-python/grpcio/Manifest @@ -2,11 +2,14 @@ DIST grpc-1.80.0.gh.tar.gz 15772645 BLAKE2B 48f3acc5c3268f651dc865ce3095c306ad3f DIST grpc-1.81.0.gh.tar.gz 15840050 BLAKE2B 01defbe7386b8f7752b4abe9b3081fc09801a0d4cbccc083ac45dea63b3d32a6c4c7b87b57de9a33f7d82d3bc7ee173e0e291742a8b09aaf3a70bfef033c2473 SHA512 38966090a498392b727ea7d8149b59fbcb2fe630a8cada1a78d57e54359d125ca9b5e6d528efcdff05392f01c8418f25798fe823c900d480a3b768943c17a621 DIST grpc-1.81.1.gh.tar.gz 15840192 BLAKE2B 900ca16869e1295428054c2bb4c4363ec855878faef2705cdd81249d46596958c25983dbbd87358d942caae6d5910a781d45da71f8e2a4b714affba02aba0dd5 SHA512 2fcc219bf91de49607ed1f74243c2d43c0fb0def4944e48fbd4b382033d648f0e0b8551426993d04db49b9cae8d8b9efe20a817f6985ed3c72f086bf8ea2e26e DIST grpc-1.82.0.gh.tar.gz 16053357 BLAKE2B 334e965c30b9d055c6a16020624cdc68e1d503c23c5c6ddec784478c19e8b6e4c5eaa6c77df3008fd93c79d37f90bdba3b4db5b2f1f17b90f9276a2e62a07165 SHA512 8fe04eab34a2dbf1be198366f9d82d99b2fdb46bec78385e97041d0fa03dc635374b8600eb522b0b022ebe9f32263a9d4d202849581b896555395561c2735fdc +DIST grpc-1.82.1.gh.tar.gz 16053195 BLAKE2B ae8495a950eab7b6d0b202deda766532de36c5ba37130d58d4790d5eabb65e3dff2615b33ec473df8c7056fb252ee98689b93064d1734ad7c1f3375cd3ad2801 SHA512 f776f2c329247292cad3649e0bdee75ba37360eb2ee13b1f8750b2a3a2cfd63a0a51295dc71cc9ca0d9477a4a882c4ecaf3ee6f23322926c126146bace0c94a6 DIST grpcio-1.80.0.tar.gz 12978905 BLAKE2B 2583bbdfcb05aaced115b4a4ab7d26b95efbe35bf7c2bd7989d9791d50553e05ba3e6323ce8b52c78459b34b5daeb1566ffd1e2b17c14208a13e4a06f0a2a6d5 SHA512 04ef676d6847f3d2820998c07d9f80585c105dc43e3f754b517566e86a92af94328ecdecba0b772e0abe2a53eb49102a12db93099b50d5bee576ac69cb928db5 DIST grpcio-1.81.0.tar.gz 13032272 BLAKE2B 55ecfd288602cbdc44b11b9ac4afb90b79d8feae773bfd5bb7df1057e4af9b5657d6151b71f8e73e028c92e07f7e105859b8814e781ca3afdf05e4b7eca699b3 SHA512 f57e7c370455028b91574804c511181919c6de23e4213ef35d798c310734f41ab30eabbef00b183cbc2085e22b05b9616109eff8c49443c03932a5b6f8339502 DIST grpcio-1.81.1.tar.gz 13026582 BLAKE2B 8aa2754b7232a211c23852da22e7aa1c73ed630a2ccfceaf99ad80b23ed5845aeacdb87ec34d748357c6573b436bee38bed148c65d54cc438f3badeeb977435d SHA512 7b34b02a5ea487ef98fb6c1017ddc0127f292f54968d71c08ff5cbf9efa016c49a562f67165564d1a6ff219f24be1b2a6a525f12c251699893c8772d226baa41 DIST grpcio-1.82.0.tar.gz 13184479 BLAKE2B 057a039b768a6a686ab67e8d4d6c49de54b2bd329ddd7c785cdf1718ebeb815eb63e4ae622927fd55224077fadf1bcbbf4ab69d9a189f5f1c85721c56b53e4ec SHA512 a9dd795501e0f49db3db79fc00341d0c0b974b0150dad376ec6e162c2c8f022fa8fb94a11bdbbd4a0e6123b15480afe09d403312952f8f2b47026946c5e1b8b6 +DIST grpcio-1.82.1.tar.gz 13187300 BLAKE2B 3e53868afd2e06460b613a40c3913c92feb154e145b8bd42e6cf6c9d098047e9895151e37dca0a999f58f618ae7b149aaa6ec3d28ea426569061d867753817fc SHA512 ebd36dc0028a1e40ce27f2ffcf2ba7a280c84a4e8d854b8c44753b52e2cdcf24b7d9188acf5456bc090ea7d68afc158d0b694cf12f1f550722c1f2a8eb18e560 DIST grpcio_tools-1.80.0.tar.gz 6133212 BLAKE2B 9bf051314482ff946aa6edd4f8b517dec63c1188914d76a2b4d130b68408ee5ec3ec3b5a2075b7ec2257e92ee9dbad37c18c425a2b947b81640f67cadd284df6 SHA512 7d9e17cee024af6731a8b75da6de0c26b554f2c50d75acfefc7708545935af4ab8f60fe0e16550c4c2943eb6c3414c49c38dc1a71df948c87c6c743ee72fff68 DIST grpcio_tools-1.81.0.tar.gz 6235718 BLAKE2B 08cd6c49329349fbfa9e26efe4b3894095801319e41bafda9907f98ae823bf5f4de17db6f02780c31aef9a781d2b0463c88825dae073e5d0617b346c1c39dbca SHA512 0925b13fa8b00483d124ef6c2b6e3ebe6e4116a11fe5c306d158edd9a2f5d4743257bcd2ae04c1f29dd1e562e44f1e76c0d1168a07e4fd2f87ae31066ab2555b DIST grpcio_tools-1.81.1.tar.gz 6236155 BLAKE2B e95db929827c7f465473e0640d2fd53df1d9e6f6ee80f1f3b49709e496f678d248c78c37e90b6f96cd2348fb903bd6e8047b3490353f1c436fe0e0781a26069c SHA512 ca68845b4beef98cd83d4dbdb9d12449ee9289dcf81ca4723617a35a1c576bc937fbbcac12ab0e304d2b7f49993a8a8fbcb00b7021ea141a71196c2a93fb8cdf DIST grpcio_tools-1.82.0.tar.gz 6399122 BLAKE2B a5a8cf5a3e78bbe25718f4b679462f3851124ac7c69e8b635999fec19e904e2f03b7d1ae9c9b177087c1f25eab24abdad26c285d53470a7c9cca4b220b514ccb SHA512 6a3acadbb12b27b4bc9a22cdf2bd1accf36fd96eda862e8c4d2b7915be409d77d770dcd36a7bf0a7ea279f2b56a917923d45988425f361cbef2a90cc95246426 +DIST grpcio_tools-1.82.1.tar.gz 6399590 BLAKE2B 4a731b32ddfce566c2405c33736b7dbcf66ef5a63e49b45673996d3fd46d948286a777cea1114f8e3cb1b8583bdea737470dfe8dd406c9737d970bee285dfd67 SHA512 bfc8b9353530b5d8b3eef2fdbc4d442ec6219d0d393c272ef0ed1309041bead71472c920a0e735f5801fb40e094a6ec0176daf8bc9ad93bd8dbd22030806fee4 diff --git a/dev-python/grpcio/grpcio-1.82.1.ebuild b/dev-python/grpcio/grpcio-1.82.1.ebuild new file mode 100644 index 000000000000..6e9fb2ecc763 --- /dev/null +++ b/dev-python/grpcio/grpcio-1.82.1.ebuild @@ -0,0 +1,137 @@ +# Copyright 2024-2026 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_{13..14} ) + +inherit distutils-r1 flag-o-matic multiprocessing pypi + +MY_P=grpc-${PV} +DESCRIPTION="HTTP/2-based RPC framework" +HOMEPAGE=" + https://grpc.io/ + https://github.com/grpc/grpc/ + https://pypi.org/project/grpcio/ +" +# Tests need other packages from the source tree, so use a GitHub +# archive. sdist provides bundled library sources (git submodules). +SRC_URI+=" + test? ( + https://github.com/grpc/grpc/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz + $(pypi_sdist_url grpcio_tools) + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +DEPEND=" + dev-libs/openssl:= + net-dns/c-ares:= + virtual/zlib:= +" +RDEPEND=" + ${DEPEND} + >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] +" +# TODO: try to remove coverage dep +BDEPEND=" + >=dev-python/cython-3.1.1[${PYTHON_USEDEP}] + test? ( + dev-python/coverage[${PYTHON_USEDEP}] + >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +# signal handling tests hang often +EPYTEST_RERUNS=5 +: ${EPYTEST_TIMEOUT=15} +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die +} + +src_configure() { + # -Werror=odr -Werror=lto-type-mismatch + # https://bugs.gentoo.org/856775 + # https://github.com/grpc/grpc/issues/36158 + filter-lto + + export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)" + # system abseil-cpp crashes with USE=-debug, sigh + # https://bugs.gentoo.org/942021 + #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 + export GRPC_PYTHON_BUILD_SYSTEM_CARES=1 + export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 + # re2 needs to be built against the same abseil-cpp version + #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1 + export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + export GRPC_PYTHON_BUILD_WITH_CYTHON=1 + + # copied from setup.py, except for removed -std= that does not apply + # to C code and causes warnings + export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" + # required by abseil-cpp + append-cxxflags -std=c++17 + # silence a lot of harmless noise from bad quality code + append-cxxflags -Wno-attributes +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback + # not a test + tests/unit/_compression_test.py::test_compression + tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled + # expects grpcio-admin + tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules + # TODO + tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl + tests/unit/_cython/_channel_test.py::ChannelTest::test_multiple_channels_lonely_connectivity + tests/unit/_cython/_channel_test.py::ChannelTest::test_single_channel_lonely_connectivity + ) + local EPYTEST_IGNORE=( + # not a test + tests/unit/test_common.py + # requires oauth2client + tests/unit/beta/_implementations_test.py + ) + + cp -a "${BUILD_DIR}"/{install,test} || die + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + # grpcio proper builds against system libs + # grpcio_tools supports bundled libs only, and requires different + # flags + unset GRPC_PYTHON_CFLAGS + cd "${WORKDIR}/grpcio_tools-${PV}" || die + distutils_pep517_install "${BUILD_DIR}"/test + + cd "${WORKDIR}/${MY_P}" || die + local protodir=src/proto/grpc/testing + local testdir=src/python/grpcio_tests + "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \ + "${protodir}"/{empty,messages}.proto || die + "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \ + "${protodir}"/test.proto || die + + cd "${testdir}" || die + "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \ + tests/testing/proto/{requests,services}.proto || die + "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \ + tests/testing/proto/services.proto || die + + # TODO: aio tests are failing randomly, so we're skipping them entirely + epytest tests{_py3_only,}/unit +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index fcce77a26469..c080f16d0df7 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -2,6 +2,7 @@ DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a DIST hypothesis-6.155.7.gh.tar.gz 9606080 BLAKE2B aa57b12df421b8194564b85f09307add06c35b98ad923e3c1704ad5cdc5581c47e56e4bf0cf77048306395884a11b6b1b0131f94381250e2203b80c1f3fb6962 SHA512 2c4042084b918c249183b311b3037711043b3c43f685712a51b0751cbb781b065150db949f48ecf2e0ed7fcc9a530c395063252d868d893cfb36cd10af3e31f0 DIST hypothesis-6.156.1.gh.tar.gz 9610367 BLAKE2B ffffd235f9f8cadbf42b7a65e7b0abf54312836ca5ce7846dcfd27154ee045646741232529feed3d5e608614a8e05bb02faa754b50193503966f3aeac4352751 SHA512 b887084a5ceee0a5c6dac196b7aa311176314aa284566c2b14a6349e5c00207626610df590de7b02efdbbd579b4f177e30115cc3732854828dd75f419beb42eb DIST hypothesis-6.156.2.gh.tar.gz 9610596 BLAKE2B 53cebfefd0a794f19c9a5dbbe52170c959175dd1093b2bfa51448021d450a73e2d05cb5fa9236403d4e62e8790fe12b66b37c2487eed83b3797bbd4d42dc0be4 SHA512 fad5d16a132abe6789d1fae2a8942ad30580e74660258500091a9d4ad524ad5c2ed40a5ce184707cb62e4c6e98848c68e8c3c5cb3cc4891049d65e2f1ec49d14 +DIST hypothesis-6.156.4.gh.tar.gz 9611219 BLAKE2B 57ce8d8577cb2889773523adb6b62c5d5e6fe104609676722e5af2c0c84ad74edba74d3144070ac5a1ef62243e3a95eea80adc71cda1ac9da724854351e001a9 SHA512 2f8199dd9d0156182f74e67ee7ccafc326ec4fbc0e2838a70ba453406f485826e5cb4e57f3601cfa2da19f40c8de5161e752fc4d7d6dd8c8538d09d68e8da011 DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 diff --git a/dev-python/hypothesis/hypothesis-6.156.2.ebuild b/dev-python/hypothesis/hypothesis-6.156.2.ebuild index 06239ea8ebd0..368c11f2197e 100644 --- a/dev-python/hypothesis/hypothesis-6.156.2.ebuild +++ b/dev-python/hypothesis/hypothesis-6.156.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin -CLI_COMPAT=( python3_{12..14} ) +CLI_COMPAT=( python3_{12..15} ) PYTHON_COMPAT=( python3_{13..14} ) PYTHON_REQ_USE="threads(+),sqlite" diff --git a/dev-python/hypothesis/hypothesis-6.156.4.ebuild b/dev-python/hypothesis/hypothesis-6.156.4.ebuild new file mode 100644 index 000000000000..368c11f2197e --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.156.4.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +CLI_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+),sqlite" + +RUST_MIN_VER="1.83.0" +CRATES=" + heck@0.5.0 + libc@0.2.186 + once_cell@1.21.4 + portable-atomic@1.13.1 + proc-macro2@1.0.106 + pyo3-build-config@0.29.0 + pyo3-ffi@0.29.0 + pyo3-macros-backend@0.29.0 + pyo3-macros@0.29.0 + pyo3@0.29.0 + quote@1.0.45 + syn@2.0.117 + target-lexicon@0.13.5 + unicode-ident@1.0.24 +" + +inherit cargo distutils-r1 optfeature + +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/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${P}/hypothesis" + +LICENSE="MPL-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions Unicode-3.0 + || ( Apache-2.0 MIT ) +" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*" + +python_test() { + # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/ + local EPYTEST_DESELECT=( + # broken somehow (xdist?) + 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]' + ) + local EPYTEST_IGNORE=( + # require syrupy + tests/cover/test_custom_reprs.py + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]' + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest -o filterwarnings= tests/{cover,pytest,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/inline-snapshot/inline-snapshot-0.34.2.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.34.2.ebuild index 2271ce4c1de9..9d857e4361b1 100644 --- a/dev-python/inline-snapshot/inline-snapshot-0.34.2.ebuild +++ b/dev-python/inline-snapshot/inline-snapshot-0.34.2.ebuild @@ -34,9 +34,7 @@ BDEPEND=" >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}] >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}] dev-python/isort[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/mypy[${PYTHON_USEDEP}] - ' 'python*') + dev-python/mypy[${PYTHON_USEDEP}] >=dev-python/pydantic-2[${PYTHON_USEDEP}] ) " @@ -58,6 +56,15 @@ python_test() { 'tests/test_docs.py::test_docs[testing.md]' ) + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + # deprecation warnings + tests/test_config.py::test_config_env + ) + ;; + esac + local -x PYTHONPATH=${S}/src epytest } diff --git a/dev-python/ipython-genutils/ipython-genutils-0.2.0-r4.ebuild b/dev-python/ipython-genutils/ipython-genutils-0.2.0-r4.ebuild index b57f1317bdb2..316a5ff839d3 100644 --- a/dev-python/ipython-genutils/ipython-genutils-0.2.0-r4.ebuild +++ b/dev-python/ipython-genutils/ipython-genutils-0.2.0-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,4 +28,5 @@ PATCHES=( "${FILESDIR}/${P}-remove-nose.patch" ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild b/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild index ceb1496c60eb..bb51571a1eff 100644 --- a/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild +++ b/dev-python/ipython-pygments-lexers/ipython-pygments-lexers-1.1.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYPI_VERIFY_REPO=https://github.com/ipython/ipython-pygments-lexers PYTHON_COMPAT=( python3_{13..14} ) diff --git a/dev-python/joserfc/Manifest b/dev-python/joserfc/Manifest index 8b949a28e065..e61c3922b663 100644 --- a/dev-python/joserfc/Manifest +++ b/dev-python/joserfc/Manifest @@ -4,3 +4,5 @@ DIST joserfc-1.7.1.tar.gz 233181 BLAKE2B fe8873119516cfb9ecc935cbd8e957dd56bf2f7 DIST joserfc-1.7.1.tar.gz.provenance 9298 BLAKE2B 9de763008965bf5aecb213fbd2593bd1a2f39324d529e92e735827f3d4c23e38e484d9cb7fb435a244cef3e6777f09ff830cbc3ee3e2a4b8aa50be1cd37515f8 SHA512 345d5fe176d3ef06329682338acebd59cf6132534f13c37f7fa3e726737a8d2a3d7d91f57cd3b661c13aedaba4a8fc2c6b418f13ff5e45c743c81e912adcbedf DIST joserfc-1.7.2.tar.gz 233183 BLAKE2B e0d8d154e3f5fc9c5c16a2386bcf009ff9ab8cdfa6cde5e2c7d5451c70d600b80bc20f0ffcce91f475d12365bef9a51714f806a245a332a35e579c5618f529a1 SHA512 2756f18701da3eef59a5faa0873143760246a3eb30be383cebdcfce974ab4bb02e11005a8595bc2eb8d0a4d23ce99a7cfaf241f6fc5c4492cb92232cc8d38e4a DIST joserfc-1.7.2.tar.gz.provenance 9580 BLAKE2B fbd59110224cb790ef621b65b9c8b4b8d0932c38c6dc6c4af16f5420939d23d2e559a8ea42757b677a2630457f53cb0f072e28e5db3dd630b891a9cff2c02d76 SHA512 c11faa3d60af8e880c3ba21d2eed9236c35da9d291cae766cf54008229adab406cc86b1bade98bb1e2e8b0513eaf24d46fcad1a13c34a3c984ac1590f621ef0e +DIST joserfc-1.7.3.tar.gz 233821 BLAKE2B c6afe5b619d715499e30ef272e38f39f8759ee87c3d3b311d275f921c4507127df83e5443ff5cc1b5c05611f98295abc400e017831d8204afec0aa8b128f7263 SHA512 b9dac9ab01627f9eb9792a61e70dc52d49067195dbfb92bc7ad9b3ee0442a0f289f299243a849944ef0c719004b108b48f6b63fa640930fd7284a322bd644fe4 +DIST joserfc-1.7.3.tar.gz.provenance 9674 BLAKE2B 4e27a04949a587b2f51cba311d2fd13e9f4197c6ef20dd9c0b9d1f90d1273398cab936610da93bef2edce4448207e5ce9d8cfcdbafd4a124cace53207a79ece5 SHA512 14ba1ece51df56d88db11652ab7bece8da2ef52d78b356d9d60003f86b3f8dee2a3cf9e69204c70b068c771f080ee5907ada1a8e6fa0ff52a8346065a68858d1 diff --git a/dev-python/joserfc/joserfc-1.7.3.ebuild b/dev-python/joserfc/joserfc-1.7.3.ebuild new file mode 100644 index 000000000000..ba9e54ba3793 --- /dev/null +++ b/dev-python/joserfc/joserfc-1.7.3.ebuild @@ -0,0 +1,32 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/authlib/joserfc +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python library for JOSE RFCs: JWS, JWE, JWK, JWA, JWT" +HOMEPAGE=" + https://github.com/authlib/joserfc/ + https://pypi.org/project/joserfc/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/cryptography-45.0.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pycryptodome[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/libcst/libcst-1.8.6.ebuild b/dev-python/libcst/libcst-1.8.6.ebuild index 29dc3c88680f..e80e56e8d151 100644 --- a/dev-python/libcst/libcst-1.8.6.ebuild +++ b/dev-python/libcst/libcst-1.8.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 2024-2025 Gentoo Authors +# Copyright 2024-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -142,6 +142,8 @@ distutils_enable_tests pytest QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*" +export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + src_unpack() { pypi_src_unpack cargo_src_unpack @@ -170,15 +172,6 @@ python_test() { libcst/codegen/tests/test_codegen_clean.py ) - case ${EPYTHON} in - pypy3*) - EPYTEST_DESELECT+=( - # https://github.com/Instagram/LibCST/issues/1278 - libcst/codemod/commands/tests/test_rename_typing_generic_aliases.py::TestRenameCommand::test_rename_typing_generic_alias - ) - ;; - esac - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die # fixtures ln -s "${S}/native" . || die diff --git a/dev-python/libevdev/libevdev-0.13.1.ebuild b/dev-python/libevdev/libevdev-0.13.1.ebuild index 3799a9575957..42c0e9bc5d96 100644 --- a/dev-python/libevdev/libevdev-0.13.1.ebuild +++ b/dev-python/libevdev/libevdev-0.13.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2025 Gentoo Authors +# Copyright 2020-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest index 2fb0c9e89935..a158e718861f 100644 --- a/dev-python/librt/Manifest +++ b/dev-python/librt/Manifest @@ -2,3 +2,5 @@ DIST librt-0.11.0.tar.gz 200139 BLAKE2B b7e80bfddad285f75337341bb39b3efedc2904a7 DIST librt-0.11.0.tar.gz.provenance 9607 BLAKE2B 1f7f54262eed9212b80eed64ff8b412cc5aead788c8c0745ba375b050f50062ca6f7305298e040b1b0f0d09b56e57d6dd209e1b1468b7c3a0ef5a90fa8cde335 SHA512 3c5d9d0edfadb06db252d313e793d41026c2c0982af34038cea647a4e7bce9ff2fc31857982811d46d191149b97d1d1fe39909573567033b7ed85fdad612d236 DIST librt-0.12.0.tar.gz 203841 BLAKE2B ecffe50e4d5bb0ecc6e3b040dd22a4229a2ba38b25f92cf5aa8347bb31bbfc2d8230dacc3856830df55e682ee4942e16e2fdf16784c7f226a7461346bc666801 SHA512 c97d222420c445240af08549fa8e27ef68f2144e81e43a5ab1e1423e0c85500257d5d6d0ecef7ecb530a435e6cb584efc43a30f31d2a0483a16593ebfae16c4e DIST librt-0.12.0.tar.gz.provenance 9823 BLAKE2B 4285b4401f1b2c47cfb412ad0c9ec35445e215f979fa998cfc1ff86788e22a9da4d5a2107f684064377cdee291f4bbbd8022771de4c949a7481966df7748e23f SHA512 e4a36d16fb9378e499426e74fac3b2cf18af2f8b95aac1bb6182a49b40783d9534095369d2bb827238947c44034334c53a0058de345966df77cccacd1471019d +DIST librt-0.13.0.tar.gz 211402 BLAKE2B 765dad1880048eee8884b87623f664f8b641f418dbb5c3a4e9906cae9f1f0827d67259016e7391b311c1bc6213dbdce8d9f8b3d377a0118210873a2492f1fc62 SHA512 c86e17b5a06193b7e937b0a496adbecb0a76c2ccc0d58a833050e5d47c748f0677356befdc315e90b81e015e83c0418d2e5782c3061e64acfd061f6f80d91e97 +DIST librt-0.13.0.tar.gz.provenance 9729 BLAKE2B b6e38cf63e41464b44a0ec3b1264c95d43e4870becbaf0cfd9340e67572f52c2ab326a93dc772b06865dfe2097a9ccdc58f6ddf0a846df2d2f56cbbf1ef721e9 SHA512 51132f126419e1d690390ddc44583eb82de0475a47a86b6af09ea643c63d4028be7ad35f92b55e7d43e9daa8d302b032c7c1d2529a59329166df3f8bf118305f diff --git a/dev-python/librt/librt-0.13.0.ebuild b/dev-python/librt/librt-0.13.0.ebuild new file mode 100644 index 000000000000..458c72634e70 --- /dev/null +++ b/dev-python/librt/librt-0.13.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/mypyc/librt +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Mypyc runtime library" +HOMEPAGE=" + https://github.com/mypyc/librt/ + https://pypi.org/project/librt/ +" + +LICENSE="MIT PSF-2.4" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/mypy-extensions[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + # setuptools is broken for C extensions, bug #907718, bug #967476 etc. + distutils-r1_python_compile -j1 +} + +python_test() { + rm -rf librt || die + epytest smoke_tests.py +} diff --git a/dev-python/proto-plus/Manifest b/dev-python/proto-plus/Manifest index c17e423a2738..b4f625c2b9bc 100644 --- a/dev-python/proto-plus/Manifest +++ b/dev-python/proto-plus/Manifest @@ -1,2 +1,4 @@ DIST proto_plus-1.28.0.tar.gz 57221 BLAKE2B c904fdc0478eee98310252d26e0217faf3f2e3588d1ce5f592c5f8c0d98d4cd34906b31507a945e1fbe77fffd4df6bd8af76a46ef7c2533bc873af286ca598e7 SHA512 e56bb69c43d90426cf2335138979b4559b8b58759f1e66e4d214f5ae66b7a786681b8366ff8a8a4bae45c1b4c1f5c3e9a07969670cf016a093aa4a59389d8db8 DIST proto_plus-1.28.0.tar.gz.provenance 5943 BLAKE2B ffc00e46cbb90a0b07874a5f302aa96e1cb17ce7370bae61a394bcb923c91818e9af8faceb13a61ec7f76b60a6993144c19f3057b30236159a69cfe5a800473d SHA512 092644eb83d402c5fdd02cbdc16219d8692e87332b258c508de1ed5d84ed88e34bfe08b583119918210e7e86ea19930df1723e35acc3c88d4628ed11fde50fc3 +DIST proto_plus-1.28.1.tar.gz 57166 BLAKE2B 5ce823fdb73de37f4c4b7f5ca420b35c11bdb27fc033e512b1991f5f4362f64ee08606bd7fd4027b1c84d81a9e8911bd134810dc0e1e37bd3619f2cbe7fa5200 SHA512 00c73282f9e709d179cd10ee2a1df56ed411f882c8b19834063e99a41950fabe1d15e607a67fb8f1dd327ae6b780a515cdb691dca025b73596d3d0d879a2e805 +DIST proto_plus-1.28.1.tar.gz.provenance 6103 BLAKE2B abd7daef98b5eb0e28aed60562d7a6410e838c6ff47a6161d88c0b2f1736c809d89f196895e11360caa459a04cbcdc4ec716f4634f7b26e1222dc9bc5e9d879a SHA512 9692010467656ba1bef390c9a993de473c0add3cfe202090cd1e9981bd75126b87c3cf753eb9a29bda770c73baa04e1363d7cbbd883a5393871141eb575c0174 diff --git a/dev-python/proto-plus/proto-plus-1.28.1.ebuild b/dev-python/proto-plus/proto-plus-1.28.1.ebuild new file mode 100644 index 000000000000..65f147944d45 --- /dev/null +++ b/dev-python/proto-plus/proto-plus-1.28.1.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Beautiful, Pythonic protocol buffers" +HOMEPAGE=" + https://github.com/googleapis/proto-plus-python/ + https://pypi.org/project/proto-plus/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + <dev-python/protobuf-8[${PYTHON_USEDEP}] + >=dev-python/protobuf-3.19.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/pyacoustid/Manifest b/dev-python/pyacoustid/Manifest index cdf5c75e2712..5fe2486a5a46 100644 --- a/dev-python/pyacoustid/Manifest +++ b/dev-python/pyacoustid/Manifest @@ -1,4 +1,3 @@ -DIST pyacoustid-1.3.0.tar.gz 17369 BLAKE2B 93f949943d792b4c1f4b2b99ae37821c1ffa5c7a2bbeda7aed276e6ad4f9ad35e5fc4c6e590667bee552710eec483cf2a16f58a7f34a1f02c94b4cb84ec45cf4 SHA512 3b38e580b2deda30df683fe749b338929be0ca23fb3ff462a5df9b98f140db4bde682d74254e7f3a157e394e824ecb6929171392b5e6c9bd92ca05fb6f71ed0a DIST pyacoustid-1.3.1.tar.gz 16424 BLAKE2B 6db721d8e43e8d8bab6b41485abc721cef89ce023f4d0ea899e363c33ef3ab1f4623957c42589f2fb08c70e478bee9b7c6fbef09a61f92f227f2d5727ae7dec1 SHA512 a924c431e5a03be091573ebc5c189be3b4e69cc7a6009e247b7750289be2304206aead779e383faab3a12e4ce71405a2436304e0151434def0a78f66f2ac2eaa DIST pyacoustid-1.3.1.tar.gz.provenance 9518 BLAKE2B 8419c483d53147623dc19ef52b8bbf76570ccf287f7140b26d731d4e3ea01c9dcb5bb86259fb076fb3a426d8cd224558480bc985c8a1634faa3e5ed8c38bc8cc SHA512 64fc74bf4f1888c232eb480a690cc6e6b6d225d788576b9d559487458fcc738ba0ec08139ccc4ec9e0b17beb0edf9e1e3095b312128dae87869574911d8278d5 DIST pyacoustid-test.mp3 4507187 BLAKE2B 54494d9f23481f9d1ee77b136ac3e1790e9fb78c782159ad1793dbebf18f694e13f6413a8259bae84c789f73ea8241e590dbd7e30ccb7377b2afa946335da19b SHA512 faa582640e759322d4bd58d85f4aa7d3ef88fd90aa3c67c1390ba6d4c3213278c11fb60c8d6c87a25e82dffcc54986caa4f0e463acfbcd90993166577e5226d8 diff --git a/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild b/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild deleted file mode 100644 index f3ed316fd90c..000000000000 --- a/dev-python/pyacoustid/pyacoustid-1.3.0-r1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# 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_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python bindings for Chromaprint and the AcoustID web service" -HOMEPAGE=" - https://github.com/beetbox/pyacoustid/ - https://pypi.org/project/pyacoustid/ -" -SRC_URI+=" - test? ( - https://s3.wasabisys.com/blocsonic/releases/maxblocs/bsmx0198/01-Follow_192kb.mp3 - -> ${PN}-test.mp3 - ) -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~x86" -IUSE="examples test" -# Tests fail with network-sandbox, since they need to connect to acoustid.org -PROPERTIES="test_network" -RESTRICT="test" - -RDEPEND=" - dev-python/audioread[${PYTHON_USEDEP},ffmpeg] - dev-python/requests[${PYTHON_USEDEP}] - media-libs/chromaprint -" - -python_test() { - # Working test will print the top metadata match from Acoustid's database. - "${EPYTHON}" aidmatch.py "${DISTDIR}/${PN}-test.mp3" || - die "Test failed with ${EPYTHON}" -} - -src_install() { - distutils-r1_src_install - - if use examples ; then - docinto examples - dodoc aidmatch.py fpcalc.py - docompress -x /usr/share/doc/${PF}/examples/ - fi -} diff --git a/dev-python/pyasn1/Manifest b/dev-python/pyasn1/Manifest index c852abae2dc2..67d8ff3fce23 100644 --- a/dev-python/pyasn1/Manifest +++ b/dev-python/pyasn1/Manifest @@ -1 +1,2 @@ DIST pyasn1-0.6.3.tar.gz 148685 BLAKE2B 4c93301960d200473f79463faa2423566ea04d0413bc735d3ea0fff87897b059271cf90a9e59185f9c2808c18bb49d1be7f1591dd3723e892db15b49f70b17ad SHA512 c58962b3f11f486da3e73c09dbe2aff7500879b29c4a7be4295878e4edbcaaa2680d608720ad5af86a2457de7da50471ab7a9e925f717db5c467553fc552e6d6 +DIST pyasn1-0.6.4.tar.gz 151262 BLAKE2B 3d71ddfa7904b3542017c1c3ce4099cc4a2ef6dc9783eda4d390e5ac21400a5cb01cd97e70bbbe2f396e6a8f75e1c30aa3265a97050b10a24a1855e9d7703703 SHA512 ce04b28d42d41fc8fa20608b773bf6691b46427f73f3fc3fb1a81c06996133bd77dcb2b4f6ba8213e27222d4203adc90adf64eeb7096ec82bc7df6e2f307657d diff --git a/dev-python/pyasn1/pyasn1-0.6.4.ebuild b/dev-python/pyasn1/pyasn1-0.6.4.ebuild new file mode 100644 index 000000000000..a277ccd0f5d3 --- /dev/null +++ b/dev-python/pyasn1/pyasn1-0.6.4.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="ASN.1 library for Python" +HOMEPAGE=" + https://pypi.org/project/pyasn1/ + https://github.com/pyasn1/pyasn1/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +distutils_enable_tests unittest +distutils_enable_sphinx "docs/source" diff --git a/dev-python/pydantic/pydantic-2.13.4.ebuild b/dev-python/pydantic/pydantic-2.13.4.ebuild index 5cde6e6147f8..3bdf5c3d1f46 100644 --- a/dev-python/pydantic/pydantic-2.13.4.ebuild +++ b/dev-python/pydantic/pydantic-2.13.4.ebuild @@ -152,9 +152,7 @@ BDEPEND=" >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] dev-util/maturin[${PYTHON_USEDEP}] test? ( - $(python_gen_cond_dep ' - dev-python/cloudpickle[${PYTHON_USEDEP}] - ' 'python3*') + dev-python/cloudpickle[${PYTHON_USEDEP}] dev-python/dirty-equals[${PYTHON_USEDEP}] >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] @@ -203,6 +201,12 @@ python_test() { # == pydantic == # -Werror, sigh tests/test_types_typeddict.py::test_readonly_qualifier_warning + # random regressions? + tests/test_deprecated_fields.py::test_computed_field_deprecated + tests/test_deprecated_fields.py::test_deprecated_field_forward_annotation + tests/test_deprecated_fields.py::test_deprecated_fields + tests/test_deprecated_fields.py::test_deprecated_fields_deprecated_class + tests/test_deprecated_fields.py::test_deprecated_with_boolean # == pydantic-core == # TODO: recursion till segfault @@ -222,10 +226,17 @@ python_test() { ) fi + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + tests/test_types.py::test_base64url_invalid + ) + ;; + esac + cd "${PYDANTIC_CORE_S}" || die rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3* ]] && cargo_src_test + cargo_src_test epytest -o xfail_strict=False -o addopts= cd - 2>/dev/null || die diff --git a/dev-python/pypresence/Manifest b/dev-python/pypresence/Manifest index 1745968d748b..d693ad61ea52 100644 --- a/dev-python/pypresence/Manifest +++ b/dev-python/pypresence/Manifest @@ -1 +1,2 @@ DIST pypresence-4.6.1.gh.tar.gz 217869 BLAKE2B 04673899211c651b7cff674378a37af1e21675576184afb96f2abdd6426d404fed0e25008eb1da5d32f4dbf7ea2aed57852afee1d37ee05eda3ab57ace6da6ae SHA512 df7dc6e9ed8426c0305149a842a618231f8242e57c6942568b8e8c0bb39398abf313134de2f1e57a07ce6c126cff2d2e6259a54d95a55274220356ddc1700a16 +DIST pypresence-4.6.2.gh.tar.gz 225981 BLAKE2B 994a1628b2bca4474f82ba3911c028ca1fdf05eca9eaed7ebdfa38e53c432c3ece240369479ca138ddb51dd35ada710c37f76ed77969740dc822c3d17cd3361c SHA512 c85ee99ab1f1fde844d34cb1b726800a5169018d666aa472736f14a2c87691a6bd346acc8b03d1ac6f77d7e0e99662a5a7af5460d8524fd59d51fb998d0df80f diff --git a/dev-python/pypresence/pypresence-4.6.2.ebuild b/dev-python/pypresence/pypresence-4.6.2.ebuild new file mode 100644 index 000000000000..c1f31b129300 --- /dev/null +++ b/dev-python/pypresence/pypresence-4.6.2.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Complete Discord IPC and Rich Presence wrapper library in Python" +HOMEPAGE="https://github.com/qwertyquerty/pypresence" +SRC_URI=" + https://github.com/qwertyquerty/pypresence/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +distutils_enable_sphinx docs/sphinx dev-python/alabaster +EPYTEST_PLUGINS=( pytest-{asyncio,mock} ) +distutils_enable_tests pytest diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest index f06ad72e18ba..1c110323b349 100644 --- a/dev-python/pyproject-fmt/Manifest +++ b/dev-python/pyproject-fmt/Manifest @@ -8,8 +8,11 @@ DIST pyproject_fmt-2.25.0.tar.gz 292640 BLAKE2B a6d65982bd0591966a09218b74032e7d DIST pyproject_fmt-2.25.0.tar.gz.provenance 9829 BLAKE2B f6632a9b29fa43159badefe9a16355bc22b09b0a17bdb08fcc41ae89d3ff62cc5d2e79b5b4e996c794d863535b3cebf909e7cbc6abde8bcc28f1f09ee55b0bec SHA512 bb6e171ce072c8eb1a92127993e284a45414a54639a7f88478d6f0b09efa8db02fd93e2ddd9ee3e986567c26512de8ee2517f4770cd3ee0b72f09ae6bde10dc3 DIST pyproject_fmt-2.25.1.tar.gz 290943 BLAKE2B 02390a55ca82ea869429302298aa9831bc3c9c1078fdb8abf05ddfc4607a8ee1847e9b71fdeeef93028e5f68d2aa5d55f86be183a694596e0590dcf8edaea8f7 SHA512 b12d3e2ce29ac6a0a94b54d20008f873a9306fcb2442a27cb0c8bbe369a676b3c6279c4ba738650da24087e2c61ed6edbba49b8d74f4e4698893dc4ac0dc4a67 DIST pyproject_fmt-2.25.1.tar.gz.provenance 10064 BLAKE2B b9446853d04e357be741bf3e45464ab44c93b7da5bbf297b32c7175a683d8e9efceb2db9532fedcdc5221214027edc0bba1decc24ee3fee00a5d6d69bcfe7fbc SHA512 8410f5c4a6c9d88b7a1eaa17fbacc308deac3a6970f6d9868a7176ea2c279ebcde8d4e560c5f88d66466b02bf5179552890b9dee5c3c6bce26638ae7f3c18186 +DIST pyproject_fmt-2.25.2.tar.gz 292446 BLAKE2B 3f848f1a26f7517ca6369c84b77b33a02ec0508b9b42e065087b4240957992f9eb59c4eb55e22ec38ab9f87bfb8d189bc3b54899ee1466905cd5391e0fbef72c SHA512 a7197ece8f82aac64f5cd27108e8b011b3a2961bff7db2d697dea43aa57d792f445992bc9ab7e6c2458592ac7b77d635e17f6709ffc9d646050ed1109ec3d9ef +DIST pyproject_fmt-2.25.2.tar.gz.provenance 10115 BLAKE2B 30ec10573cd5209bb8eb31a4bc6d8c8be03824c3abc2aefb4ac4bb0476ea6e1313ca1048b36af19a597fdb0cd9b49c6549d2659c97a58f5f75da95bd6f2f8b91 SHA512 45acded1727fe88f7da280e95bdeba92b925ba9fdaa4a74d50ce869ecbe1ef16352e50056e4891cd4eb662dd666a41d78d8006940585d39296de2ce313e9aa1c DIST tombi-0d64bd3bd8a5ddcaafdfc7b114e3b73ada0b325b.gh.tar.gz 10564681 BLAKE2B 1cc4e307d89ae978c8022aed63ad7a7c08e71f810e42743589a6bf44499051250102ca3a60aa2cea65292dfd187240da96f6fb963511b6d4c06559c20bbc67a3 SHA512 e398e14c9b092f2378dfa848c697ea5cb0af705bcb801f288d2ca98b8c0d4aa3abf7a71f2f5a10a4a6a77e1e8d1f7089a0359b2a3ec9b226a19bbb40f0aa0a14 DIST tombi-362cafbd685311cb659ec0a422ebecc1eb332952.gh.tar.gz 10612816 BLAKE2B 8c1ada6d32c3b400110303243dc8f2070a395254a52f57cb4dff9bf788c43bf0491950cc563b2e9e19645a6fe785fbbafc61684446889e3d9b2a18f025d91b3e SHA512 e54f04e5bab4fcba6fa5562746c61a63f94954d5d46781277a9e83645182916c9131e4d09429e12e2dca7369947d68cb13d0cafea10cfbddecac85419f3f6031 +DIST tombi-564e4a391ae1dee08fd70936b9af6672d6eee4bc.gh.tar.gz 10614930 BLAKE2B 7557c4dcf2922d76cf79032f0eaee6da7a3507dfb6b1de1508e0b7d705dcbad5dd98da3d7db2d139f8e27f8a4c3bed3c84fe23db8434698047a8a6949e4bb9fd SHA512 07f100ed8634828971cc5bd97011a8d0b14fb44b1a4a076c1b7e532622778f4312c46a90db42eca451a3e74d275d27c1920d3db9dab5f9bc5be4b91392ca36be DIST tombi-d5056f9743d7e3f194158e125b90d7294aa59ad7.gh.tar.gz 10475854 BLAKE2B 6a629d533e576930e8e988662e3d350137d32ce9b517578f4ee5f20437b75d31300568adf4a4fae2e9fc7a033af1031d4fbcaafa51656a3af2b8a7e03365495e SHA512 74aa91819f15420207850951d0d6b41d61dadf3bdb38406299ae1126bb9ae597a7eb9b69a4485165bf465eb10384b67c73b0e231ce22e1910bc2db448c4eb626 DIST tombi-e9213370947e9d7ab6dd98c1cf17533bbbcc797f.gh.tar.gz 10608653 BLAKE2B 7fd8a27bec2e0c5ab357f2c56ca50c848d71e02da3faca9b0650541b35b177ce7b669d294c20add3dac2ba70e5ced46046d5c2de14df81fcee418fccaaa47344 SHA512 a84ca3f676b95d11c121df08382e3bc6ca2e31c0c867ff3027c5564219f637abda34bcc00d563d777280e1b4522354e83b6bb4b0412b067e9ce57272a4e34d15 DIST toml-fmt-pyproject-fmt-2.21.1-crates.tar.xz 18661404 BLAKE2B cb19d8ebbb7d4fb43494a89a910bc844862bbbc6f677dff27fceca27a74cc573d42f009cf2e0d979f286b7efe80bb72e88072b20da3afdc98b023b6740ccdba6 SHA512 1699771da1ee01a593d963b8d945038c8d2abdadaf40203a56504ec6a9dfbca896b1aa77a63c98ed77bed779fe3dfe365fab219eced7c3b7b222876be0a68170 @@ -17,3 +20,4 @@ DIST toml-fmt-pyproject-fmt-2.21.2-crates.tar.xz 18776904 BLAKE2B ae748ae98a2769 DIST toml-fmt-pyproject-fmt-2.24.1-crates.tar.xz 18725980 BLAKE2B 75f6c4a07b14fc60cd3b7a00e902c2b37fe79ea3d03172e7271300d5ea5bd0bf9b7727c4af7e47e82d28424f677235a6e9c1d22ad3314210be93170d9f36ff76 SHA512 88da1827c097f712489276c48fbf10e4c61ef92b877cd8eb7f34eeb1e289ce0362661d3b01bf34c23c1f4cc67e23b05462773407eba7d17814c96d7885f23bd9 DIST toml-fmt-pyproject-fmt-2.25.0-crates.tar.xz 18742060 BLAKE2B 5cc45568d2981e1804e8800b6d7da203eee70f022b86dff671580e91be90b6627bac38d58f3ba50d138dbe6a905b6a21b324c3fc6114b7a0de11fb6078dd4ef2 SHA512 27986f6f647b3e50d0de5ce3acd7b3b089db896b5560f15b9d7d11c98e4a9b9d5adea566034e533de177fd9e2c08f46f760f9bf73d39910dd2d0ddf85c526832 DIST toml-fmt-pyproject-fmt-2.25.1-crates.tar.xz 18742060 BLAKE2B 5cc45568d2981e1804e8800b6d7da203eee70f022b86dff671580e91be90b6627bac38d58f3ba50d138dbe6a905b6a21b324c3fc6114b7a0de11fb6078dd4ef2 SHA512 27986f6f647b3e50d0de5ce3acd7b3b089db896b5560f15b9d7d11c98e4a9b9d5adea566034e533de177fd9e2c08f46f760f9bf73d39910dd2d0ddf85c526832 +DIST toml-fmt-pyproject-fmt-2.25.2-crates.tar.xz 17995820 BLAKE2B d48463bdd984382dc42ad2ae7f16d4b164db32fce22495dc83d923b102cdbc8044679f3d2327a8a5b133cb0618b33afa028674282d152d3644f74932282ef194 SHA512 f376c2ba6c994685a020f0c90037de85642141afdac053967393b3f0ee69e737b4e9177681620c470000e3316a9dd0733fdaf41f21835eff593c80ac409c1d69 diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.25.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.25.2.ebuild new file mode 100644 index 000000000000..b1e48dc119a4 --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.25.2.ebuild @@ -0,0 +1,113 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +DISTUTILS_UPSTREAM_PEP517=standalone +PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt +PYTHON_COMPAT=( python3_{13..14} ) + +RUST_MIN_VER="1.87.0" +CRATES=" +" + +declare -A GIT_CRATES=( + [tombi-accessor]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-accessor' + [tombi-ast-editor]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-ast-editor' + [tombi-ast]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-ast' + [tombi-cache]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-cache' + [tombi-comment-directive-serde]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-comment-directive-serde' + [tombi-comment-directive-store]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-comment-directive-store' + [tombi-comment-directive]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-comment-directive' + [tombi-config]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-config' + [tombi-date-time]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-date-time' + [tombi-diagnostic]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-diagnostic' + [tombi-document-tree]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-document-tree' + [tombi-document]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-document' + [tombi-formatter]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-formatter' + [tombi-future]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-future' + [tombi-hashmap]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-hashmap' + [tombi-json-lexer]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-json-lexer' + [tombi-json-syntax]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-json-syntax' + [tombi-json-value]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-json-value' + [tombi-json]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-json' + [tombi-lexer]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-lexer' + [tombi-parser]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-parser' + [tombi-regex]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-regex' + [tombi-rg-tree]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-rg-tree' + [tombi-schema-store]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-schema-store' + [tombi-severity-level]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-severity-level' + [tombi-syntax]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-syntax' + [tombi-text]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-text' + [tombi-toml-text]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-toml-text' + [tombi-toml-version]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-toml-version' + [tombi-uri]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-uri' + [tombi-validator]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-validator' + [tombi-version-sort]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-version-sort' + [tombi-x-keyword]='https://github.com/tombi-toml/tombi;564e4a391ae1dee08fd70936b9af6672d6eee4bc;tombi-%commit%/crates/tombi-x-keyword' +) + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/toml-fmt/ + https://pypi.org/project/pyproject-fmt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} + https://github.com/gentoo-crate-dist/toml-fmt/releases/download/pyproject-fmt%2F${PV}/toml-fmt-${P}-crates.tar.xz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND=" + dev-python/toml-fmt-common[${PYTHON_USEDEP}] +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + test? ( + dev-python/tox + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" + +src_unpack() { + pypi_src_unpack + cargo_src_unpack +} + +src_prepare() { + distutils-r1_src_prepare + sed -i -e '/strip/d' pyproject.toml || die +} + +python_test() { + local EPYTEST_DESELECT=( + # something about ANSI codes, no clue + pyproject-fmt/tests/test_main.py::test_main[format-absolute-no_check-in_place] + pyproject-fmt/tests/test_main.py::test_main[format-cwd-no_check-in_place] + ) + + epytest pyproject-fmt +} + +python_test_all() { + # default features cause linking errors because they make pyo3 + # wrongly assume it's compiling a Python extension + # https://github.com/tox-dev/toml-fmt/issues/23 + cargo_src_test --no-default-features +} diff --git a/dev-python/python-discovery/Manifest b/dev-python/python-discovery/Manifest index bb2a83057c62..23169d9407ee 100644 --- a/dev-python/python-discovery/Manifest +++ b/dev-python/python-discovery/Manifest @@ -4,3 +4,5 @@ DIST python_discovery-1.4.2.tar.gz 70277 BLAKE2B 9155da6b7112f271165488493328029 DIST python_discovery-1.4.2.tar.gz.provenance 9899 BLAKE2B 3e1e4c628614146f6f34b5de2412947c5bd6cdde0c314e05478cff6f4ade95ff4f4bdf9737252cf0666ee422f7183e98b6e422bfb17ef508165c77b57cf8e934 SHA512 08f15ca855e980ae309ad28b3a5c58240371b814ac10cb3fb4ba74f55b823e30425f1421e7cb2d06f65b8ee84977575b4b08d3cf22d776f0358042c20afc497d DIST python_discovery-1.4.3.tar.gz 70438 BLAKE2B a34205591ab69895c7384f458899083880547109d5496ab0eeb3f5a6782b50d9765f64c621e698406d79db4efbdf08993ac32148c694f5986c280bff4579501e SHA512 c3b706bfd67ff9fd63dfc29ac6a51564620dfdfa883055879d273362c4fab496717336cef043ddb033cb0c13ad76e57e49ca5b5888530e06dd663ad1987ec9a5 DIST python_discovery-1.4.3.tar.gz.provenance 10130 BLAKE2B cb327f65e5746d3d03c99107ba07b6653372dcaaf0267fb5eb73af277cda5c788ccd4d7fc97f7c93f63581f2cb779e986f33ec8089830dface5a8eb19dc9c73a SHA512 a44613ccbad06b6b6f23e074cfa284e61ad8086a82bf49c8669dfe0db241893fb534a0731f987a82c09a48d8369655b28a1bb3323087d910cf8052c604099e5c +DIST python_discovery-1.4.4.tar.gz 72212 BLAKE2B e272217c9b5975aceb21d368b0b5486ebd216602906dc061ccdb9f56d94d9a24cf018182655ef0ec06bb0d3c4240c255d8bb44dc9afee6510a25902980b8f14e SHA512 508d2c4d29272b66ef8ccf1a0b35f1c5967ea5848a92eade610e13d58e8927cb12f6c7049e6b035f8319d12541a997117fac10d2cfd10047f4ee76ccfa7b5680 +DIST python_discovery-1.4.4.tar.gz.provenance 9887 BLAKE2B e52e59f1064d2e9763d2db64c501950a42625db2bd77f225843a71ce0eb676aa33a9727503bc1e95c73e79d37ddfceb30ff3a0e7db0c342d0f4623efa4253f33 SHA512 c02e940e81bfcde654cbf2aa273d91c1d50ef312c25c35a13c979025156ad9963b969f09bbe0854953f3bd326ae51ddc6ad6a3dbcdbaf781db1241e2010ab89f diff --git a/dev-python/python-discovery/python-discovery-1.4.4.ebuild b/dev-python/python-discovery/python-discovery-1.4.4.ebuild new file mode 100644 index 000000000000..1413a5bdb586 --- /dev/null +++ b/dev-python/python-discovery/python-discovery-1.4.4.ebuild @@ -0,0 +1,57 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/python-discovery +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python interpreter discovery" +HOMEPAGE=" + https://github.com/tox-dev/python-discovery/ + https://pypi.org/project/python-discovery/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/filelock-3.15.4[${PYTHON_USEDEP}] + <dev-python/platformdirs-5[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.3.6[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/setuptools-75.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + case ${EPYTHON} in + python3.*t) + EPYTEST_DESELECT+=( + # TODO + tests/test_py_info_extra.py::test_satisfies_path_not_abs_basename_match + ) + ;; + python3.15) + EPYTEST_DESELECT+=( + # TODO + tests/test_discovery.py::test_predicate_with_fallback_specs + ) + ;; + esac + + epytest +} diff --git a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild index 515694a30f3f..0556799b768b 100644 --- a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild +++ b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild @@ -29,10 +29,10 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { local -x TZ=UTC - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest -o addopts= } diff --git a/dev-python/rarfile/Manifest b/dev-python/rarfile/Manifest index a583dacc249e..1b02f4dcfa35 100644 --- a/dev-python/rarfile/Manifest +++ b/dev-python/rarfile/Manifest @@ -1 +1,2 @@ DIST rarfile-4.2.tar.gz 153476 BLAKE2B ddaf85bf0edeb7203a6d1007c118facd53dc5c310ed110f087ec990532f576d601075b4a2455657dc5730ed3668f6494e4fd3132efeb95a821162dbda91caf23 SHA512 fed3943a6d201d4832ee5377069ea400e58394590dd5022cdd7b6f6944c9bf1b6c26387aa0db4c56d5d82f6d10d0cecd2e438e224287cdbdb3314770848c14d8 +DIST rarfile-4.3.tar.gz 154855 BLAKE2B c6f286fd04d97559f04f4bb5a2a69400152a7f2dcc0097698e4b87eb79c202cd7263b240ae208d600c9eb16ea53df554a92f203e77e5b968346957d95dbbe504 SHA512 9bf8e878a7e1182bdad1d9551a1d6d0503f4396159e4dd154f808a33300d52acfa51f93c202a861553c094166a26cd637982cb7ab42a37a4f51c57031be67baa diff --git a/dev-python/rarfile/rarfile-4.3.ebuild b/dev-python/rarfile/rarfile-4.3.ebuild new file mode 100644 index 000000000000..ff480dea0783 --- /dev/null +++ b/dev-python/rarfile/rarfile-4.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Module for RAR archive reading" +HOMEPAGE=" + https://github.com/markokr/rarfile/ + https://pypi.org/project/rarfile/ +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="+compressed test" +REQUIRED_USE="test? ( compressed )" + +RDEPEND=" + compressed? ( app-arch/unrar ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/scripttest/Manifest b/dev-python/scripttest/Manifest index db5ce83425a7..1185a333f912 100644 --- a/dev-python/scripttest/Manifest +++ b/dev-python/scripttest/Manifest @@ -1 +1,2 @@ DIST scripttest-2.0.post1.tar.gz 16203 BLAKE2B b2d84351ff6cb9de087e846157b0d5589735dace47b21087d6f9f1fd5b3e93a0351d6b5bc63224dd88de1ebb8d824866ed594344b4b93a024026a180dfd6ce24 SHA512 0d0c6248c29bd735c4c1832faca16d6f7d42fd9bb432700a0dcc56ff08d6a77ec9add99914006a1b7a9b57c1fa5f252195f419ad952ccc0fcb2a7267fdf10954 +DIST scripttest-3.0.tar.gz 15813 BLAKE2B 08e9cf4ff9632a14eab903dad7dc1487e1c6c4d756336f5aa2026171f9f2b9c41564a221a99d27cb31be3d7e3392ac4e16115c5b03e8e28aa3b2f0fbc7a65829 SHA512 fed87e1131008b80cb50aafe18e28211156a3f87162ca5c35c7bcaeefd57d1d2b95a8457215b56c861a6aee6b53ad128e090297a29de633427bb7f4d873746f0 diff --git a/dev-python/scripttest/scripttest-3.0.ebuild b/dev-python/scripttest/scripttest-3.0.ebuild new file mode 100644 index 000000000000..72d4cc46aaad --- /dev/null +++ b/dev-python/scripttest/scripttest-3.0.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Helper to test command-line scripts" +HOMEPAGE=" + https://pypi.org/project/scripttest/ + https://github.com/pypa/scripttest/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/sigstore/sigstore-4.4.0-r1.ebuild b/dev-python/sigstore/sigstore-4.4.0-r1.ebuild new file mode 100644 index 000000000000..e223993e6f95 --- /dev/null +++ b/dev-python/sigstore/sigstore-4.4.0-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=sigstore-python-${PV} +DESCRIPTION="A tool for signing Python package distributions" +HOMEPAGE=" + https://github.com/sigstore/sigstore-python/ + https://pypi.org/project/sigstore/ +" +# no tests in sdist, as of 3.3.0 +SRC_URI=" + https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +RDEPEND=" + >=dev-python/cryptography-42[${PYTHON_USEDEP}] + >=dev-python/id-1.1.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}] + >=dev-python/pydantic-2[${PYTHON_USEDEP}] + >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=dev-python/rfc3161-client-1.0.3[${PYTHON_USEDEP}] + >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}] + >=dev-python/rich-13[${PYTHON_USEDEP}] + ~dev-python/sigstore-models-0.0.6[${PYTHON_USEDEP}] + ~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}] + >=dev-python/tuf-6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pretend[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -r -i -e 's:~=:>=:' -e 's:, ?< ?[0-9.]*::' pyproject.toml || die +} + +python_test() { + epytest test/unit --skip-online +} diff --git a/dev-python/sphobjinv/Manifest b/dev-python/sphobjinv/Manifest index f33c9654273b..95e58170c7de 100644 --- a/dev-python/sphobjinv/Manifest +++ b/dev-python/sphobjinv/Manifest @@ -1,2 +1 @@ -DIST sphobjinv-2.3.1.3.gh.tar.gz 1347156 BLAKE2B a6e44b61c3458b1288bd7d5f4c5b9e55821ea299ef4cfee75e42bd3a37919f2c031f5063b16aa22fc9c508057aef49f836948b8da4c49b67ee5396f1234fbab5 SHA512 bfb02f212cc3099ec694b9983d2dce2f38f2e9385821e3ffc077ea6a559844c0c92362effa4da6026cf778a925fc3d5c4ca6ad8d4dc0ccabd3bc64e79dded934 DIST sphobjinv-2.4.gh.tar.gz 1344715 BLAKE2B 3c96a8e0f6b38d4bb76e3bb073b28bd1106dff1807b49850b0aad5db51ddde2a6a071923d34b79625da9511900fe848f8b9962e3e427784b40a40de353191fbe SHA512 6b756ecca9ed8f8435dce073a6e1c76400fde586472d7fb14230f11fde9d2613890a1cebb9c3fed27085a27ee947573c51769e726278cb8268c82dd6e2abeeac diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild deleted file mode 100644 index da45891d9591..000000000000 --- a/dev-python/sphobjinv/sphobjinv-2.3.1.3.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool" -HOMEPAGE=" - https://github.com/bskinn/sphobjinv/ - https://pypi.org/project/sphobjinv/ -" -SRC_URI=" - https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND=" - >=dev-python/attrs-19.2[${PYTHON_USEDEP}] - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/fuzzywuzzy[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/dictdiffer[${PYTHON_USEDEP}] - >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( pytest-{check,rerunfailures,timeout} ) -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # Internet - README.rst::README.rst - tests/test_readme.py::test_readme_shell_cmds -) - -src_prepare() { - sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die - - # remove bundled deps - rm -r src/sphobjinv/_vendored || die - sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die - - distutils-r1_src_prepare -} diff --git a/dev-python/syrupy/Manifest b/dev-python/syrupy/Manifest index e3df894783c0..5fbde6a9b9f7 100644 --- a/dev-python/syrupy/Manifest +++ b/dev-python/syrupy/Manifest @@ -1,2 +1,4 @@ DIST syrupy-5.4.0.tar.gz 87881 BLAKE2B c2dabe23553234f39553ad83c00263467d1f508c1d70be5ad5c16bf72a16468111092eea9d1f6bdeb47f385d64c6a652afdde9a0c8a1a2f3c890db003d77b215 SHA512 153a979b9ab28b8823e15e8b7b058b0b768984c9e11ba3e06b35b7fbccc580191278c45d59be6e89b236a0f6133815c6c9baeef8456e2a1421cc589392d1c22c DIST syrupy-5.4.0.tar.gz.provenance 9934 BLAKE2B 399bc3b67ff9cfc197a9ef576f5cd2d33f0deb5a702604906566156f848fe943b4f2712b5290975bf6a874d7880dd8fa2aac7b9a97824f69ec2a229bba7fea39 SHA512 0cf10057cca9807e7e961f662bf855f8c1ba819f7e5ee0cd5e6fe71284a314e3e93af5596f61ac4cca545d378005e40547c2fa2d6f74899b61748171c689c553 +DIST syrupy-5.5.2.tar.gz 91632 BLAKE2B c720cc6f627990ce0d47eae421ec178ee7e771bd2bb41daf869138714616c17d8f62b488868c0b60ed6316a335242338312def2f278827d6417a0880d22157ae SHA512 4308a47cab9ccb96a365e4215a5531d5b65fa3e35562bcc6af54259e9e1281e2faa9b953591d3688a2ff926d67547a7968ce91ce6f06247e536dc47e3b49d254 +DIST syrupy-5.5.2.tar.gz.provenance 9887 BLAKE2B feb7ec2c0896b3e7104a8af740f291ab0930ae961636ff1d78c19b58cb90df8d95e62903383a85f0e47bf7f9b96be275ab8247c789bf8cf61baa71958de92873 SHA512 c9f63d13f774fbb077f1cd997ff538ff213ef12dd741345f419bbdb9ba78d93b03100862a7345135d7d89333e2480856c28ae6a8a732e86e8dbbc6d7a5199961 diff --git a/dev-python/syrupy/syrupy-5.5.2.ebuild b/dev-python/syrupy/syrupy-5.5.2.ebuild new file mode 100644 index 000000000000..bc97490612ce --- /dev/null +++ b/dev-python/syrupy/syrupy-5.5.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/syrupy-project/syrupy +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="The sweeter pytest snapshot plugin" +HOMEPAGE=" + https://github.com/syrupy-project/syrupy/ + https://pypi.org/project/syrupy/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/pytest-8.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/pydantic-2.13.4[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +# pytest-xdist used inside tests +EPYTEST_PLUGINS=( "${PN}" hypothesis pytest-xdist ) +distutils_enable_tests pytest + +python_test() { + epytest -o xfail_strict=False +} diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest index ac827121b4fc..5ffa8e5d29f5 100644 --- a/dev-python/testfixtures/Manifest +++ b/dev-python/testfixtures/Manifest @@ -6,3 +6,5 @@ DIST testfixtures-12.1.0.tar.gz 187591 BLAKE2B 2c5b60fb2cb31fbd3679de4c1160bc8fe DIST testfixtures-12.1.0.tar.gz.provenance 9772 BLAKE2B 673e6124e037b607ff044460ed6021696c88f66fce8b89632db1401b061f74df3c03b6ab9a7d6a6ebcfe47761ec3dc26031924717da1bdd101f0a6d1ce8ab995 SHA512 173f91eb6cfdad05ff54536e86ef50ac8af3bdb467fb9d230c65e6732f5ee0fe7d1923a6ca5fd2f29fc2beb5dbd602be9c81b0d5cbda9b04b08dae78f6632392 DIST testfixtures-12.2.0.tar.gz 189430 BLAKE2B bbc7444365324021dc52b39d3842be83deab6aa70e5bd4a91c46762851a962d9f7baaff564c72861320f3e2ead149293e3ee2f5023ac8f4efe3d7f5e03c95a4f SHA512 006d2bda1ad3b67e877d9b55faca2fdd6ad27db31105039e3eda7c9782b8ec30ef13050df54fbf923cdc5d838f9660df84952bf5c492fb0d07d5ddb1a463ecae DIST testfixtures-12.2.0.tar.gz.provenance 9819 BLAKE2B 7dc6b3e35459e0ff9cc21b81a22ccb1243e075440c34d54c741af09e6a18c50e8919733505af3dbdfb05bd560dfb4bb62f5f53343513a55b6282495ddf133046 SHA512 75ffb869b87ff1ee7308a206e328f2d089a0f57155bfe9b86455b2282b2aaa11924e676e1a06ff7399240fe1f52af3cc7d10d597e583d1ebdb102261fa0f7a66 +DIST testfixtures-12.3.0.tar.gz 201458 BLAKE2B 837003cf7468d5752f806b8e90b8126267965dfd2fe0525fd6d1f9d2e04146c4a6da3c3314e38ea4e44eb40db9b08334e56cd95bcc0ff0ef50598e5d6a5b8f27 SHA512 a774513a178bb54ec091d0290ddcd5ba4af61ee3f8a47c52298907e0fafa6e1c9a64404e3d0c1d3ac119117c59cd43e87bd76a116ba1bb378fd304d0e2c444f0 +DIST testfixtures-12.3.0.tar.gz.provenance 10058 BLAKE2B 9048d747926e374199d9597ee18620f2baa93024ad97db7a77429954a8597be1edde735d1843056cff0d4ae00b0e4c157ee7faae57e1d822486953dc0005d6ff SHA512 0d6ea9321fa30935b69ac5e4b9f088dd054aee5852033385d3de16e9458ab035990264398ed741ae52b03311b6af5fcf50cb6b19072379a6fa08f2f3e7ac031b diff --git a/dev-python/testfixtures/testfixtures-12.3.0.ebuild b/dev-python/testfixtures/testfixtures-12.3.0.ebuild new file mode 100644 index 000000000000..7700b0d4d5dd --- /dev/null +++ b/dev-python/testfixtures/testfixtures-12.3.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/simplistix/testfixtures +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests" +HOMEPAGE=" + https://pypi.org/project/testfixtures/ + https://github.com/simplistix/testfixtures/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}] + ' 3.12) +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + dev-python/django[${PYTHON_USEDEP}] + >=dev-python/sybil-6[${PYTHON_USEDEP}] + >=dev-python/twisted-18[${PYTHON_USEDEP}] + sys-libs/timezone-data + ) +" + +EPYTEST_PLUGINS=( pytest-django ) +distutils_enable_tests pytest + +python_test() { + local -x PYTHONPATH="." + local -x DJANGO_SETTINGS_MODULE=tests.test_django.settings + + local EPYTEST_DESELECT=( + # TODO + tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing + tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present + # need polars + docs/pydantic.rst::line:48,column:1 + docs/pydantic.rst::line:69,column:1 + docs/pydantic.rst::line:83,column:1 + ) + local EPYTEST_IGNORE=() + if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/test_twisted.py + ) + fi + + epytest +} diff --git a/dev-python/textx/Manifest b/dev-python/textx/Manifest index 373758100fab..529d8e821222 100644 --- a/dev-python/textx/Manifest +++ b/dev-python/textx/Manifest @@ -1 +1,2 @@ DIST textX-4.3.0.gh.tar.gz 2228585 BLAKE2B 5693a3304d16c45d5048999fffb3a4954ca7102b79e23f4c8186bcca5a7629931db61ca666be6cb022da05e8299a756656f7aa58e0ef0ac72a5c00a605bbf2dc SHA512 602ffed8be2b333eb9cb53d4af4e03dfdac615d5491d3c146a90d7fcada1109f0384af5f98f99656f6d8c6ca1022e1f8d7d735cfaa30690509b88f7075317031 +DIST textX-4.4.0.gh.tar.gz 2255070 BLAKE2B f043f578d224b42afff882b00f95398e93ef1557ae0ee00582fcb762a1f58cb0c4ea3c670b7cf903dc7969606b136d25591a09cf7724dba3090abbc3141b3957 SHA512 c454e0937ffb20c3eed72fc3a5839b8da094ff4c804b53d6bd0e05f4a513ef82e9846734a4259599664c44771a13a95cb11040bec52d0962a8edc7a43675f6a7 diff --git a/dev-python/textx/textx-4.4.0.ebuild b/dev-python/textx/textx-4.4.0.ebuild new file mode 100644 index 000000000000..2e36d32d2acb --- /dev/null +++ b/dev-python/textx/textx-4.4.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=textX-${PV} +DESCRIPTION="Meta-language for DSL implementation inspired by Xtext" +HOMEPAGE=" + https://pypi.org/project/textX/ + https://github.com/textX/textX/ +" +SRC_URI=" + https://github.com/textX/textX/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/arpeggio-2.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/html5lib[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + cp -a "${BUILD_DIR}"/{install,test} || die + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + # Update the shebang + sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \ + -i "${BUILD_DIR}"/test/usr/bin/textx || die + + # Install necessary plugins + local plugins=( + tests/functional/subcommands/example_project + tests/functional/registration/projects/* + ) + local p + for p in "${plugins[@]}"; do + pushd "${p}" >/dev/null || die + distutils_pep517_install "${BUILD_DIR}"/test + popd >/dev/null || die + done + + epytest tests/functional +} diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest index 4e0046065007..be9c9f889f70 100644 --- a/dev-python/tox/Manifest +++ b/dev-python/tox/Manifest @@ -4,3 +4,5 @@ DIST tox-4.56.1.tar.gz 283155 BLAKE2B 069d9d91af3d667a4eb52cea7b7aa74fde60504d58 DIST tox-4.56.1.tar.gz.provenance 9765 BLAKE2B 82bb31e94025f83f587457cb6215b7177c82172d86f2e6513dd3e5042eda921fb532ee6f88e2adf8cb29ee53af0d1de31986d3590ed9b9f906390e72e85cead1 SHA512 7d9a39c7a78e7947a15caec9528fda34ccb9e8652d3d5b62e66d302c9e00179d2f90ccf8de44253373133cb48e4d2516abf618f71f9f60e89a8a26ce7cb179ee DIST tox-4.56.2.tar.gz 286251 BLAKE2B 58e113d275668ec0347906853e36e94f3c669c8ddf95ca2dd075dea562325c141fcd7c4916316aa8fc43aa2451a0b1d02f22d43f03a479300d4627b92cf1bb07 SHA512 a858ce0290a61cbccd7f8d2e01e06f4dfcd8b6e3a535190b3f801c3f89f059af9d4703b2493fc5230956e4d4c31c45f6e66eb545d3cedbf7fc7334fb49909867 DIST tox-4.56.2.tar.gz.provenance 9483 BLAKE2B 31c724242ab15c1748c61358e0b65e43e4e9e9bcc17160357182370515b3ebe35e5606cde416c5978f4ac7298d0a21857344d3b268d38d10ec1df973533a344a SHA512 e9daa8018cabcee693c754905ffb706e23c2045821d240a992cc7ba0dd7169f7329c12e86912e2aa5f2746037742d50d21ed22448d3b77ca5c914e4b048542e1 +DIST tox-4.56.4.tar.gz 286611 BLAKE2B 63beb6fe64ff88316e637369aa4cfd1eca1dd994211de03807ccee82f76ddd7aee1948f754d3d81c6f02e7cae69b508697f5a0566f1dff5ad0effce8d7b1c22b SHA512 64a6ccfe98420a12888b0fe51763814c205f4d46e8cb91ef8658bec05a178dc3fb52632437e16f50966b454b2aeacebef31247d12920f517acaecbd5edc17c7d +DIST tox-4.56.4.tar.gz.provenance 9871 BLAKE2B 77a570490a72a56e20e17caa0d1bc3a1564cd97c7e98b9a5394da507546b70b5c300f3a374760ed597516308ec7ab335257369ca7eaf34aeecef3ca89ffa100a SHA512 93518399a30f7e70397368801e32b8881b848d7c50256b4b240c80d75e5ad026bd3ab1ce8405496da624b3b382ef0ebc3b8f7c0eec026ea426dc73f8884c5025 diff --git a/dev-python/tox/tox-4.56.4.ebuild b/dev-python/tox/tox-4.56.4.ebuild new file mode 100644 index 000000000000..23fd6cf278e6 --- /dev/null +++ b/dev-python/tox/tox-4.56.4.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/tox +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="virtualenv-based automation of test activities" +HOMEPAGE=" + https://tox.readthedocs.io/ + https://github.com/tox-dev/tox/ + https://pypi.org/project/tox/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND=" + dev-python/cachetools[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + dev-python/pyproject-api[${PYTHON_USEDEP}] + dev-python/python-discovery[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/argcomplete[${PYTHON_USEDEP}] + dev-python/build[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{mock,rerunfailures,timeout,xdist} time-machine ) +# upstream timeouts are quite short +: ${EPYTEST_TIMEOUT:=180} +# xdist seems to mess up state between successive implementation runs +distutils_enable_tests pytest + +src_prepare() { + # upstream lower bounds are meaningless + sed -i -e 's:>=[0-9.]*::' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + # devpi_process is not packaged, and has lots of dependencies + cat > "${T}"/devpi_process.py <<-EOF || die + def IndexServer(*args, **kwargs): raise NotImplementedError() + EOF + + local -x PYTHONPATH=${T}:${PYTHONPATH} + local EPYTEST_DESELECT=( + # Internet + tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external + tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz + tests/tox_env/python/virtual_env/package/test_package_pyproject.py::test_pyproject_installpkg_pep517_envs + # require tombi + tests/session/cmd/test_schema.py::test_schema_tombi_lint + ) + local EPYTEST_IGNORE=( + # requires devpi* + tests/test_provision.py + ) + + epytest -o addopts= +} diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest index 344d8086f4d2..0540695c6ff8 100644 --- a/dev-python/uvicorn/Manifest +++ b/dev-python/uvicorn/Manifest @@ -4,3 +4,5 @@ DIST uvicorn-0.50.0.tar.gz 93257 BLAKE2B bc666cbdb981a35aa94bd1faf9636c7c0dae5a8 DIST uvicorn-0.50.0.tar.gz.provenance 9741 BLAKE2B 2521229c05cf3b8fc31e208a12a27f767dd7d348c8fed1ae6452928859883ceb354448aab8d5709230c5e9c667a4cf2674e8a88f3ae9ade2f8dda8bccca80ca6 SHA512 8713deb05751d3897dc0b00965cc72e1c2c3ceef39c02b71ae43bbe6ecfe7ad88682114ef7be050d085cc984b7ff7781a30f31a4c132be58db4d90590ed00a9b DIST uvicorn-0.50.2.tar.gz 93716 BLAKE2B db4840c3fe19daa5e63aba7e4c9d328fa0e840d96c4e74580ec1e3f6a7b9346c1ed91ed6d9a4cb594ebb771c21099b4f81657cf9797c2c7f78f8742e03f58e30 SHA512 f3504ced038d6e5521a6f4c266b4ca87d6bb49c21bf3b5f9f32097fc75c81c6a755b1d6b11835590bc58dc9e0d5030f7df2041cf993f629ac93303010b272680 DIST uvicorn-0.50.2.tar.gz.provenance 9690 BLAKE2B d34f5564c33341c1f781eb1e4c2349de39091ccf095596ab939613b74be45b816196c095c7d0d97da37439bccdc928ec2a9739aaefda75dcb643da8a21c1c552 SHA512 70281746bc4c67dbc19b001a516c5708dc2ee8d6ae9abbc1a9f4c09966a1d2cf7ff8f9e576ea3d2b767b6a193caa2be09abd26b6ec8f50287fa53b51bc81dabc +DIST uvicorn-0.51.0.tar.gz 94412 BLAKE2B 80334c8fbde6624072a2b13391d80493affe6aebcb95e79652f8bb32804924046c452355e3ba889e7e852ecdcc86fee1877346303cb75ce54f9905ee0cce4955 SHA512 f88e95fbe3ca145b5ae2cb841d7aeb3d42ee8dbdfdade3f84db88416a5eb78444c22f04c8f95d26afb72b1a71968b2ffe8b0dd0a461765008ee5507d4ab4e242 +DIST uvicorn-0.51.0.tar.gz.provenance 9737 BLAKE2B 2ec83d01d615cecd97da8478ac37bae91759e01f9b37c73be204a4c0f08d00710e7eda005f6161191dd6466845a058bf5030fb999f9ea3a3d4a2aba3ce86a9ef SHA512 2acd44c85fde7059e1f857544cd611c12d2b243e870a2875767ddd07f794b42243c93fdbeadf1f5d2a867558ea397dcd8ef7e98a942c4f11ea802a9d1ef2b58b diff --git a/dev-python/uvicorn/uvicorn-0.51.0.ebuild b/dev-python/uvicorn/uvicorn-0.51.0.ebuild new file mode 100644 index 000000000000..177e8e69f7c1 --- /dev/null +++ b/dev-python/uvicorn/uvicorn-0.51.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/Kludex/uvicorn +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Lightning-fast ASGI server implementation" +HOMEPAGE=" + https://uvicorn.dev/ + https://github.com/Kludex/uvicorn/ + https://pypi.org/project/uvicorn/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test-rust" + +RDEPEND=" + >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}] + >=dev-python/click-7.0[${PYTHON_USEDEP}] + >=dev-python/h11-0.8[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/a2wsgi[${PYTHON_USEDEP}] + >=dev-python/httptools-0.8.0[${PYTHON_USEDEP}] + >=dev-python/httpx-0.28[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + >=dev-python/websockets-13.0[${PYTHON_USEDEP}] + dev-python/wsproto[${PYTHON_USEDEP}] + test-rust? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + >=dev-python/watchfiles-0.20[${PYTHON_USEDEP}] + ) + ) +" + +EPYTEST_PLUGINS=( anyio pytest-mock ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # too long path for unix socket + tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers + # TODO + 'tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools]' + 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1]' + 'tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1]' + # tests broken with non-ancient dev-python/websockets + tests/protocols/test_websocket.py::test_fragmented_message_exceeding_max_size + tests/protocols/test_websocket.py::test_fragmented_message_reassembly +) + +EPYTEST_IGNORE=( + tests/benchmarks +) + +pkg_postinst() { + optfeature "auto reload on file changes" dev-python/watchfiles +} diff --git a/dev-python/versioningit/versioningit-3.3.0.ebuild b/dev-python/versioningit/versioningit-3.3.0.ebuild index 6060b4d8009c..e7291b1f1e22 100644 --- a/dev-python/versioningit/versioningit-3.3.0.ebuild +++ b/dev-python/versioningit/versioningit-3.3.0.ebuild @@ -1,10 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_FULLY_TESTED=( pypy3_11 python3_{11..13} ) PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 pypi @@ -25,9 +24,7 @@ RDEPEND=" " BDEPEND=" test? ( - $(python_gen_cond_dep ' - dev-python/pydantic[${PYTHON_USEDEP}] - ' "${PYTHON_FULLY_TESTED[@]}") + dev-python/pydantic[${PYTHON_USEDEP}] ) " @@ -40,7 +37,7 @@ python_test() { test/test_end2end.py ) - if ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then + if ! has_version "dev-python/pydantic[${PYTHON_USEDEP}]"; then EPYTEST_IGNORE+=( # Needs pydantic test/test_methods/test_hg.py diff --git a/dev-python/websocket-client/websocket-client-1.9.0.ebuild b/dev-python/websocket-client/websocket-client-1.9.0.ebuild index aff44f6cfd1e..9421595981e0 100644 --- a/dev-python/websocket-client/websocket-client-1.9.0.ebuild +++ b/dev-python/websocket-client/websocket-client-1.9.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 |
