diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-05-09 09:38:04 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-05-09 09:38:04 +0000 |
| commit | 11c57b2987e06bf35a84672a4e560212fc363804 (patch) | |
| tree | e1860cb34d71b1ed7fedeb81e996044324acf10c /dev-python | |
| parent | 49d6eff372ef65c2d900b06355a7169f8c771c6a (diff) | |
| download | baldeagleos-repo-11c57b2987e06bf35a84672a4e560212fc363804.tar.gz baldeagleos-repo-11c57b2987e06bf35a84672a4e560212fc363804.tar.xz baldeagleos-repo-11c57b2987e06bf35a84672a4e560212fc363804.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
81 files changed, 1181 insertions, 107 deletions
diff --git a/dev-python/aiohttp/aiohttp-3.13.5.ebuild b/dev-python/aiohttp/aiohttp-3.13.5.ebuild index f7a0d56f8072..30bbc17ba1b9 100644 --- a/dev-python/aiohttp/aiohttp-3.13.5.ebuild +++ b/dev-python/aiohttp/aiohttp-3.13.5.ebuild @@ -138,6 +138,10 @@ python_test() { tests/test_client_functional.py::test_invalid_idna # broken by irrelevant deprecation warnings tests/test_circular_imports.py::test_no_warnings + # https://github.com/aio-libs/aiohttp/issues/11400#issuecomment-4168569526 + # https://github.com/python/cpython/issues/145599 + # https://github.com/python/cpython/pull/145600 + tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal ) case ${EPYTHON} in diff --git a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild index 12d339c70cf8..24296d79a7bb 100644 --- a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild +++ b/dev-python/appdirs/appdirs-1.4.4-r3.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/asyncssh/Manifest b/dev-python/asyncssh/Manifest index da183430afab..f2fb47fba037 100644 --- a/dev-python/asyncssh/Manifest +++ b/dev-python/asyncssh/Manifest @@ -1 +1,2 @@ DIST asyncssh-2.22.0.tar.gz 540523 BLAKE2B 250253711d7a4bfda448f63888f6665d7af8ffc27c1da7389dbd996b64c028d3c0b5a0baa3f5d6e04294857cf5a8ff6b3d4a6d5c5e3a46094ddfde7f59ac4205 SHA512 30340dbfa0db60071458ce51f24d972760b3284ed7bc10613546eddb39cb191076e02c0f1405d9f2f74bed8d5102f182d5e7e8264ad0c46b10e536cd80819da6 +DIST asyncssh-2.23.0.tar.gz 542154 BLAKE2B 8754476a48209e37841594373b4cf9be2f8adab529200893bf79a7fb8d7b25925a32627a0bdbd0314f2a15d2513668565a750aacfeae0c1032674b0186321769 SHA512 473404e08a4f77a35ce7cd5722d046f0e6b06f87a77a44050b1abfa0a971360c9775d9ec44493de1a4b4ad4bc729d59ffb2bdf6e17390620ad9e121317c2ca2a diff --git a/dev-python/asyncssh/asyncssh-2.23.0.ebuild b/dev-python/asyncssh/asyncssh-2.23.0.ebuild new file mode 100644 index 000000000000..319f7649de45 --- /dev/null +++ b/dev-python/asyncssh/asyncssh-2.23.0.ebuild @@ -0,0 +1,50 @@ +# 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_{10..14} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Asynchronous SSHv2 client and server library" +HOMEPAGE=" + https://github.com/ronf/asyncssh/ + https://pypi.org/project/asyncssh/ +" + +LICENSE="|| ( EPL-2.0 GPL-2+ )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + virtual/openssh + >=dev-python/cryptography-39.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/aiofiles[${PYTHON_USEDEP}] + >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}] + >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}] + >=dev-python/ifaddr-0.2.0[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}] + amd64? ( + >=dev-python/fido2-2[${PYTHON_USEDEP}] + ) + ) +" + +EPYTEST_PLUGINS=() +# xdist: fails on serializing 'type' +distutils_enable_tests pytest +distutils_enable_sphinx docs + +pkg_postinst() { + optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3" + optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-2" + optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0" + optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl" + optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0" +} diff --git a/dev-python/distlib/distlib-0.4.0-r1.ebuild b/dev-python/distlib/distlib-0.4.0-r1.ebuild new file mode 100644 index 000000000000..85b064aea2cb --- /dev/null +++ b/dev-python/distlib/distlib-0.4.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level components of distutils2/packaging" +HOMEPAGE=" + https://pypi.org/project/distlib/ + https://github.com/pypa/distlib/ +" +SRC_URI=" + https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +# pypiserver is called as external executable +BDEPEND=" + test? ( + dev-python/pypiserver + ) +" + +src_prepare() { + local PATCHES=( + # use system pypiserver instead of bundled one + "${FILESDIR}/distlib-0.3.9-system-pypiserver.patch" + # https://github.com/pypa/distlib/commit/6286442857de9f734686d08f0e59ca8048ee357a + "${FILESDIR}/${P}-py314-test.patch" + # https://github.com/pypa/distlib/pull/256 + "${FILESDIR}/${P}-py315.patch" + ) + + # make sure it's not used + rm tests/pypi-server-standalone.py || die + + distutils-r1_src_prepare +} + +python_test() { + local -x SKIP_ONLINE=1 + local -x PYTHONHASHSEED=0 + + # disable system-site-packages -- distlib has no deps, and is very + # fragile to packages actually installed on the system + sed -i -e '/system-site-packages/s:true:false:' \ + "${BUILD_DIR}/install${EPREFIX}/usr/pyvenv.cfg" || die + + "${EPYTHON}" tests/test_all.py -v -x || + die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/distlib/files/distlib-0.4.0-py315.patch b/dev-python/distlib/files/distlib-0.4.0-py315.patch new file mode 100644 index 000000000000..4a27f0203705 --- /dev/null +++ b/dev-python/distlib/files/distlib-0.4.0-py315.patch @@ -0,0 +1,51 @@ +From 53a497ae37b3220662ac177e9477e9551e4e37b0 Mon Sep 17 00:00:00 2001 +From: Victor Stinner <vstinner@python.org> +Date: Wed, 14 Jan 2026 14:32:40 +0100 +Subject: [PATCH] Update cache_from_source() for Python 3.15 + +The debug_override parameter of cache_from_source() is deprecated in +Python 3.14. The function docstring says: + + The debug_override parameter is deprecated. If debug_override + is not None, a True value is the same as setting 'optimization' + to the empty string while a False value is equivalent to setting + 'optimization' to '1'. + +The parameter has been removed in Python 3.15. + +Fixes #255 +--- + distlib/util.py | 6 +++++- + tests/test_util.py | 2 +- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/distlib/util.py b/distlib/util.py +index 0d5bd7a..b700384 100644 +--- a/distlib/util.py ++++ b/distlib/util.py +@@ -589,7 +589,11 @@ def ensure_dir(self, path): + self.dirs_created.add(path) + + def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): +- dpath = cache_from_source(path, not optimize) ++ if not optimize: ++ optimization = '' ++ else: ++ optimization = '1' ++ dpath = cache_from_source(path, optimization=optimization) + logger.info('Byte-compiling %s to %s', path, dpath) + if not self.dry_run: + if force or self.newer(path, dpath): +diff --git a/tests/test_util.py b/tests/test_util.py +index d8694a9..d4bb572 100644 +--- a/tests/test_util.py ++++ b/tests/test_util.py +@@ -652,7 +652,7 @@ def test_is_writable(self): + + def test_byte_compile(self): + path = os.path.join(self.workdir, 'hello.py') +- dpath = cache_from_source(path, True) ++ dpath = cache_from_source(path, optimization='') + self.fileop.write_text_file(path, 'print("Hello, world!")', 'utf-8') + self.fileop.byte_compile(path, optimize=False) + self.assertTrue(os.path.exists(dpath)) diff --git a/dev-python/execnet/execnet-2.1.2.ebuild b/dev-python/execnet/execnet-2.1.2.ebuild index e09cfa4d8ca7..3219b4ba39bc 100644 --- a/dev-python/execnet/execnet-2.1.2.ebuild +++ b/dev-python/execnet/execnet-2.1.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 @@ -32,7 +32,7 @@ python_test() { local EPYTEST_DESELECT=() case ${EPYTHON} in - python3.1[34]t) + python3*t) EPYTEST_DESELECT+=( # https://github.com/pytest-dev/execnet/issues/306 testing/test_channel.py::TestChannelBasicBehaviour::test_channel_callback_remote_freed diff --git a/dev-python/gpep517/gpep517-19.ebuild b/dev-python/gpep517/gpep517-19.ebuild index b0267ec46f0c..7a2ccf10e6a6 100644 --- a/dev-python/gpep517/gpep517-19.ebuild +++ b/dev-python/gpep517/gpep517-19.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep diff --git a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-25.1.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-25.1.0.ebuild index 0e3d84b7360b..0c1a177d3fc1 100644 --- a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-25.1.0.ebuild +++ b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-25.1.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,6 +26,7 @@ RDEPEND=" dev-python/hatchling[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest EPYTEST_DESELECT=( diff --git a/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild index b608ad91d493..f2c2276735cb 100644 --- a/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild +++ b/dev-python/hatch-vcs/hatch-vcs-0.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -31,4 +31,5 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/hypothesis-gentoo/hypothesis-gentoo-4.ebuild b/dev-python/hypothesis-gentoo/hypothesis-gentoo-4.ebuild index b08de883681d..82bffee4dc42 100644 --- a/dev-python/hypothesis-gentoo/hypothesis-gentoo-4.ebuild +++ b/dev-python/hypothesis-gentoo/hypothesis-gentoo-4.ebuild @@ -1,4 +1,4 @@ -# Copyright 2025 Gentoo Authors +# Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/hypothesis/hypothesis-6.151.14.ebuild b/dev-python/hypothesis/hypothesis-6.151.14.ebuild index e2dc047d3cc6..78143f7a693b 100644 --- a/dev-python/hypothesis/hypothesis-6.151.14.ebuild +++ b/dev-python/hypothesis/hypothesis-6.151.14.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools CLI_COMPAT=( python3_{11..13} ) -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_14 python3_{13,14}t ) PYTHON_REQ_USE="threads(+),sqlite" inherit distutils-r1 optfeature diff --git a/dev-python/hypothesis/hypothesis-6.151.9.ebuild b/dev-python/hypothesis/hypothesis-6.151.9.ebuild index a15a2de8782c..73b48352d737 100644 --- a/dev-python/hypothesis/hypothesis-6.151.9.ebuild +++ b/dev-python/hypothesis/hypothesis-6.151.9.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools CLI_COMPAT=( python3_{11..13} ) -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_14 python3_{13,14}t ) PYTHON_REQ_USE="threads(+),sqlite" inherit distutils-r1 optfeature diff --git a/dev-python/hypothesis/hypothesis-6.152.4.ebuild b/dev-python/hypothesis/hypothesis-6.152.4.ebuild index 6c33ed8b598f..2c65b19aa496 100644 --- a/dev-python/hypothesis/hypothesis-6.152.4.ebuild +++ b/dev-python/hypothesis/hypothesis-6.152.4.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools CLI_COMPAT=( python3_{11..13} ) -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_{14..15} python3_{13..15}t ) PYTHON_REQ_USE="threads(+),sqlite" inherit distutils-r1 optfeature @@ -68,6 +68,15 @@ python_test() { tests/cover/test_custom_reprs.py ) + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis-python/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + ) + ;; + esac + local -x HYPOTHESIS_NO_PLUGINS=1 epytest -o filterwarnings= tests/{cover,pytest,quality} } diff --git a/dev-python/iniconfig/iniconfig-2.3.0.ebuild b/dev-python/iniconfig/iniconfig-2.3.0.ebuild index c6600da1ed4a..8d7d453b64fe 100644 --- a/dev-python/iniconfig/iniconfig-2.3.0.ebuild +++ b/dev-python/iniconfig/iniconfig-2.3.0.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/inline-snapshot/inline-snapshot-0.32.7.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.32.7.ebuild index 0967f87cbd6d..3b5a33685adf 100644 --- a/dev-python/inline-snapshot/inline-snapshot-0.32.7.ebuild +++ b/dev-python/inline-snapshot/inline-snapshot-0.32.7.ebuild @@ -37,14 +37,11 @@ BDEPEND=" dev-python/mypy[${PYTHON_USEDEP}] ' 'python*') >=dev-python/pydantic-2[${PYTHON_USEDEP}] - >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}] - >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}] - >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] ) " EPYTEST_PLUGIN_LOAD_VIA_ENV=1 -EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} ) +EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,xdist} ) EPYTEST_XDIST=1 distutils_enable_tests pytest diff --git a/dev-python/installer/installer-0.7.0.ebuild b/dev-python/installer/installer-0.7.0.ebuild index d87f0967b2ea..a461ee0e73dd 100644 --- a/dev-python/installer/installer-0.7.0.ebuild +++ b/dev-python/installer/installer-0.7.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -27,6 +27,7 @@ BDEPEND=" app-arch/unzip " +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_compile() { diff --git a/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild index c7fd46a03bc9..439f30fc07fb 100644 --- a/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild +++ b/dev-python/jaraco-classes/jaraco-classes-3.4.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 @@ -24,4 +24,5 @@ BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild index 5540988be5ec..39fe6081897c 100644 --- a/dev-python/jaraco-collections/jaraco-collections-5.2.1.ebuild +++ b/dev-python/jaraco-collections/jaraco-collections-5.2.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 @@ -23,6 +23,7 @@ RDEPEND=" dev-python/jaraco-text[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest src_configure() { @@ -35,8 +36,3 @@ src_configure() { -e '/^dynamic =/d' \ pyproject.toml || die } - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/jq/jq-1.11.0.ebuild b/dev-python/jq/jq-1.11.0.ebuild index d138f0ab9cb8..70fe07f30af9 100644 --- a/dev-python/jq/jq-1.11.0.ebuild +++ b/dev-python/jq/jq-1.11.0.ebuild @@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 ~x86" # Minimum versions of jq + onigurama are from setup.py's bundled versions DEPEND=" diff --git a/dev-python/linuxdoc/linuxdoc-20240924.ebuild b/dev-python/linuxdoc/linuxdoc-20240924.ebuild index fb516ad9980a..881e0fc568ce 100644 --- a/dev-python/linuxdoc/linuxdoc-20240924.ebuild +++ b/dev-python/linuxdoc/linuxdoc-20240924.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( pypy3_11 python3_13t python3_14t python3_{11..14} ) inherit distutils-r1 pypi diff --git a/dev-python/linuxdoc/linuxdoc-99999999.ebuild b/dev-python/linuxdoc/linuxdoc-99999999.ebuild index 282a614487ea..f9abcc3a81b6 100644 --- a/dev-python/linuxdoc/linuxdoc-99999999.ebuild +++ b/dev-python/linuxdoc/linuxdoc-99999999.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_COMPAT=( pypy3_11 python3_13t python3_14t python3_{11..14} ) inherit distutils-r1 diff --git a/dev-python/matplotlib-inline/Manifest b/dev-python/matplotlib-inline/Manifest index a191446bb65c..1cf6ba92389d 100644 --- a/dev-python/matplotlib-inline/Manifest +++ b/dev-python/matplotlib-inline/Manifest @@ -1 +1,2 @@ DIST matplotlib-inline-0.2.1.gh.tar.gz 107440 BLAKE2B 283a9262dec0f95c7d0cd54be00cac3546277c9988a0400d0357d2ac245cfa319ff146df5f8efdcc03607c726a530ca05c83f82a8effbc003186c7d5461adfbc SHA512 5a85e5a8b5821201681508942bccc9a150bfc70e579f933c6155fa2f0fdb6c04c16ff238cc3de15b8ca5b96b907e6ba087671fe58f2822754a313d2efb54d80f +DIST matplotlib-inline-0.2.2.gh.tar.gz 107569 BLAKE2B 46d8eea653ec5878aaec9247ba1c6321dba2d5a6d7de90a7200bd32c1ca5456008bbd4161305d8c874fbad5dfb17c3f4c98caa381901008801d1006464e61f61 SHA512 d7d356c0827a3264f12312d3e174aeb1ba566e10cdae8d30b0b28d77c32ef6b4ec4b2f507af36c0eb3e201c9b44141eb18f93b602ce423ecbe063f455b7900ff diff --git a/dev-python/matplotlib-inline/matplotlib-inline-0.2.2.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.2.2.ebuild new file mode 100644 index 000000000000..2302f79c6f2a --- /dev/null +++ b/dev-python/matplotlib-inline/matplotlib-inline-0.2.2.ebuild @@ -0,0 +1,45 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Inline Matplotlib backend for Jupyter" +HOMEPAGE=" + https://github.com/ipython/matplotlib-inline/ + https://pypi.org/project/matplotlib-inline/ +" +SRC_URI=" + https://github.com/ipython/matplotlib-inline/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +# Although in theory we could depend on matplotlib, upstream does not. +# This is because the sole purpose of the package is to be loaded by +# ipython (also not a dependency!) as a response to interactive use of +# the "%matplotlib" magic. +# +# In order to be seamless and straightforward, this backend is always +# installed and just requires users using matplotlib, to install +# matplotlib before importing and using it. +RDEPEND=" + dev-python/traitlets[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/nbdime[${PYTHON_USEDEP}] + dev-python/notebook[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( nbval ) +distutils_enable_tests pytest diff --git a/dev-python/moto/moto-5.1.22-r1.ebuild b/dev-python/moto/moto-5.1.22-r1.ebuild index 6a8412e111be..2979d6f91703 100644 --- a/dev-python/moto/moto-5.1.22-r1.ebuild +++ b/dev-python/moto/moto-5.1.22-r1.ebuild @@ -102,6 +102,5 @@ python_test() { local -x TZ=UTC local -x AWS_DEFAULT_REGION=us-east-1 - # -o timeout_func_only=true: bad interaction with pytest-rerunfailures and pytest-timeout leads to a permanent hang otherwise - epytest -m 'not network and not requires_docker' -o timeout_func_only=true + epytest -m 'not network and not requires_docker' } diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest index a0056b587289..5ea0fc82c462 100644 --- a/dev-python/narwhals/Manifest +++ b/dev-python/narwhals/Manifest @@ -1,4 +1,4 @@ -DIST narwhals-2.19.0.tar.gz 623698 BLAKE2B 631e321059b4df803ac491e15554af9804cc85f372cf49e192f3455772fd9b80dec1a30c89f8d85580d8a6a4a5b7fb743deda25deb9198425fb3f903a77e7b82 SHA512 3427a945b7a4daa4c43dc5c448a5bab8d1bc342d48cc43520b099178dfa66b6e24b4510aa9e931f467adb488573467b3f1164665464be1850c2f14924da85de1 -DIST narwhals-2.19.0.tar.gz.provenance 9847 BLAKE2B 061cfe1f59ced294fcea9bfcf2e3bf5066e0ae8106a5bf1d3cb4c04ba5a106ad261b5d2b20df7593d96c5bc5506f3ebef3663c7f9ccfd3be5574f2f45be98209 SHA512 10cd0d409e57b4480902f63079cad5380dc0a50d560e2ab26b0a31fd345c00a8070893469c12e04abf37a877abe8cdf38b222c01b056ab9a81b28c5bffe7e4c6 DIST narwhals-2.20.0.tar.gz 627848 BLAKE2B a625e703ed20d9b38f86705b384e2f4c7e79a762e3331c68193d89c4c065ebba58e06922bd9c363cf03175605ddaf21b1204daea164ebf351cccf6941913c04b SHA512 cb48b03e2540aa04e55cbf4a8862b7d0d3376b4aab81f0b7c252097d1774188f2699a1e45f1fa7ad57f6f2a16d9b83569f7ea7f6238e159e537e68e531bed2a5 DIST narwhals-2.20.0.tar.gz.provenance 9765 BLAKE2B 5e37b3fd16d6be34b8c31a2abf662b4e0ecfdf9477e53cdba2216200a1122641a0df7bfcf8acb111bddb31663caab2374e6240bcfd192074a9331cadb0b793ee SHA512 e3885f58c61d7d041b300857db0ae279aaa02afe14187e1a831b8e0c5f8a8317b6719370b36a9c4e6a9ee2bd169ff9fa9212a45e381b5b1b26386a534f595ebd +DIST narwhals-2.21.0.tar.gz 633083 BLAKE2B cbcecf22c193eacc7de6ab8975df4a635a5082656653d041bf39cecfbfbba51cc93901bb3a886d77bb97ce8df5355e7d4c23222fb123798e3e9b5358f2f159e2 SHA512 2ff8cb94ff3c7a37a036e369f858cc8e9f61f5f540660c92d3fa55ac3d3dbe310c97d723976305346cce9352c2cc31a61a6cb8cfaa797a9e663873a2301d5a94 +DIST narwhals-2.21.0.tar.gz.provenance 9706 BLAKE2B 06980c59d823ceb4a640eda267a046053f6f3721bf454e6aad651d82c4d8e7324c344ff5ae939fc54a4272163dfec0009e1afd5dd2a964636c96b92bb43f0fbb SHA512 27c813fe0052d2a93266be6795b143106cb66e1625aea906675a087f5226572396ba9d5e700435c22df876e1b1ab2762dfddf60a7979e93946dbec709ee52fc7 diff --git a/dev-python/narwhals/narwhals-2.19.0.ebuild b/dev-python/narwhals/narwhals-2.21.0.ebuild index 9ed6257443fa..01d018288706 100644 --- a/dev-python/narwhals/narwhals-2.19.0.ebuild +++ b/dev-python/narwhals/narwhals-2.21.0.ebuild @@ -37,7 +37,7 @@ python_test() { 'tests/modern_polars/unpivot_test.py::test_unpivot[pyarrow]' # fragile to parallel merges that can cause non-atomic .dist-info # changes - tests/system_info_test.py::test_get_sys_info + tests/system_info_test.py::test_get_deps_info ) epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow" diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest index 4336888ff76c..824bc37b2c6a 100644 --- a/dev-python/pbs-installer/Manifest +++ b/dev-python/pbs-installer/Manifest @@ -4,3 +4,5 @@ DIST pbs_installer-2026.4.7.tar.gz 71866 BLAKE2B 0617ec42b1f42a8f66a7b47de10ec29 DIST pbs_installer-2026.4.7.tar.gz.provenance 9693 BLAKE2B 522a8e6fbfd26ab0f0d868ed1b81dfe78b8d1b12ba35ae4ad2d5ec155f0610db94d55beba051c9460513f76405b6d9a610f68073eb288ed70fb4bf1b256397b1 SHA512 a865874430b405ffa0a9a3f1947eee0c830641626abad740c278e6c27961c0457c2d59923653330285dcd41d3cdc6af7ff85173173dbce3865ae789d11c7e413 DIST pbs_installer-2026.5.4.tar.gz 71861 BLAKE2B 6dfaf5a4f09a5d304a72b11677c01d957cc841387295deee3649869c15b66910c76da530716923a2df38565c38a91a5bbab2445a6e27821e25d265c8bd438a1a SHA512 aeb6f43049e85158973740f6620c47ab70f7cf87e1376a01f772bcdae55f8c2f7e4eb374ee8579fe214b1ac7cc529e7c7d64d6fa88d1be661b0777a060376ac7 DIST pbs_installer-2026.5.4.tar.gz.provenance 9834 BLAKE2B 12aec6b380928f5f576a4179733cd5b534bbae7db6024b27b2457a29e3b3806d57de85ec7691936cdc08e889f140527c19472abdb25c60d8e5e14aac4642578d SHA512 9b5cdc743fb74179b49f3f0f8d236361b63a46d65512a909b7b85093207f61fee591607f4cf86c3eaf54201cdfdb4a74346bf89440d54b9b9172b42e291f53e0 +DIST pbs_installer-2026.5.8.tar.gz 71877 BLAKE2B b85346c84c7e2b8859c44a13e844f015feb6f77938c853aa2f31f6572e23bddc8f4fcff2c0a21c814f20517953ed0f273bd5f6cb2ce1bcca0eb20bad8c78e674 SHA512 e3c3fad7358af454c08e31132a74d77afcbb3400e71c31d87440b194e21f00ebb7c663732329e3f5cad224c99d46a84c6958451379c2f0751afe1b372328be0d +DIST pbs_installer-2026.5.8.tar.gz.provenance 9611 BLAKE2B e5191bb1aaf8f1d3cb427ebe6e27186eeac4392db5cdf4bfefdea45361ac490e198e3a30e8f66c42d2be6d317aba4ec477e5c6cebc4cd5d8889b9358cc37eb98 SHA512 d8e146b3939996443e87d1f9ee0814863c9d0274f5390868245bebdc7ac9f379d7fcbd69c6e6a9e65be68b3dc105b05263eae14745b5ad44fb9c23efd6d60fe8 diff --git a/dev-python/pbs-installer/pbs-installer-2026.5.8.ebuild b/dev-python/pbs-installer/pbs-installer-2026.5.8.ebuild new file mode 100644 index 000000000000..557165ae6a2a --- /dev/null +++ b/dev-python/pbs-installer/pbs-installer-2026.5.8.ebuild @@ -0,0 +1,33 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYPI_VERIFY_REPO=https://github.com/frostming/pbs-installer +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Installer for Python Build Standalone" +HOMEPAGE=" + https://pypi.org/project/pbs-installer/ + https://github.com/frostming/pbs-installer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# httpx is needed to download builds +# zstandard is needed to install them +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.11 3.12 3.13) + <dev-python/httpx-1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests import-check diff --git a/dev-python/pexpect/pexpect-4.9.0.ebuild b/dev-python/pexpect/pexpect-4.9.0.ebuild index dbf660f4efdc..56b92b054a88 100644 --- a/dev-python/pexpect/pexpect-4.9.0.ebuild +++ b/dev-python/pexpect/pexpect-4.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 @@ -25,10 +25,22 @@ RDEPEND=" >=dev-python/ptyprocess-0.5[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest distutils_enable_sphinx doc \ dev-python/sphinxcontrib-github-alt +EPYTEST_DESELECT=( + # flaky test on weaker arches + tests/test_performance.py + # requires zsh installed, not worth it + tests/test_replwrap.py::REPLWrapTestCase::test_zsh + # flaky + tests/test_env.py::TestCaseEnv::test_spawn_uses_env + # flaky & hangy + tests/test_socket.py::ExpectTestCase::test_interrupt +) + PATCHES=( # https://github.com/pexpect/pexpect/pull/794 "${FILESDIR}/${P}-py313.patch" @@ -44,22 +56,6 @@ src_test() { distutils-r1_src_test } -python_test() { - local EPYTEST_DESELECT=( - # flaky test on weaker arches - tests/test_performance.py - # requires zsh installed, not worth it - tests/test_replwrap.py::REPLWrapTestCase::test_zsh - # flaky - tests/test_env.py::TestCaseEnv::test_spawn_uses_env - # flaky & hangy - tests/test_socket.py::ExpectTestCase::test_interrupt - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} - python_install_all() { if use examples; then dodoc -r examples diff --git a/dev-python/portend/portend-3.2.1.ebuild b/dev-python/portend/portend-3.2.1.ebuild index f972a973154e..5e3eafb4ed09 100644 --- a/dev-python/portend/portend-3.2.1.ebuild +++ b/dev-python/portend/portend-3.2.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 @@ -25,4 +25,5 @@ BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/pretend/pretend-1.0.9-r2.ebuild b/dev-python/pretend/pretend-1.0.9-r2.ebuild index d1af2fe42856..6c479de23370 100644 --- a/dev-python/pretend/pretend-1.0.9-r2.ebuild +++ b/dev-python/pretend/pretend-1.0.9-r2.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 @@ -22,4 +22,5 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/propcache/Manifest b/dev-python/propcache/Manifest index 98fc49660729..d89c3bdcea5d 100644 --- a/dev-python/propcache/Manifest +++ b/dev-python/propcache/Manifest @@ -1,2 +1,4 @@ DIST propcache-0.4.1.tar.gz 46442 BLAKE2B ff554a2dfd9c4944ab5b16c516510eb33b78b09729d271487bd85994f5c7695b7bcb274becdcab601b771b4c75267dd0dde1acaf4afdac9683bd3ee4ff225af2 SHA512 10342a0e64107eea991fe163901e02537304225fca4a0e9c62d1f5dd0077e3eac6a892e6cd2dffe943d52ba121fb603e2150e1aa63deb0cd5003083310a07070 DIST propcache-0.4.1.tar.gz.provenance 9198 BLAKE2B 34cab350c955c33d662d59d40adb265ea28a46a03b701768801733891aefdf84af0acfbc779a7f10775f039512502f606031314757d250eef0bfbe746300cedc SHA512 d38429d3ec212d826ab38e05961f16c8a19190089e6411be08b85e1758daf91ad27d270b83e6c597e5161717c2da1c091c2be8bd4391c90ee7a8cffa56ef99d9 +DIST propcache-0.5.2.tar.gz 50208 BLAKE2B 53b0a36724277bbe1b08e4fe9b6bf7b32933fbb52b5c4fa3477b3fba1d021875f9311cb4abc020989a40c3482707b0e9e3b40669b9d219334b10b0303dfbfbe9 SHA512 7d720b55a54a3dc35a13c27c8b2821e5dc8ccabae1c004c4049df6a4d914c7f5247cac4efb8a6e0cc95cb9cf62119c27febfeaaaa900343f19ee8c8cef92e15f +DIST propcache-0.5.2.tar.gz.provenance 9321 BLAKE2B 4a48da3e3c88f767ef481373c560fc6d0895987422a43a4a9cd09d27a70c254d2b05fe19876c03f72d094770965992d1df0d8b066cbb9cd15f3eb4ee867dfc33 SHA512 ef3796ac1f4b65bfec89d1d9944870dfdead6f932671eb0725d6bf0ba1e19a8a8d50dd9e1b73c02d97b64d19af314e782dfda52a131c9851bb506f4a2a3cd08e diff --git a/dev-python/propcache/propcache-0.5.2.ebuild b/dev-python/propcache/propcache-0.5.2.ebuild new file mode 100644 index 000000000000..1ecb0a219ccb --- /dev/null +++ b/dev-python/propcache/propcache-0.5.2.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=standalone +PYPI_VERIFY_REPO=https://github.com/aio-libs/propcache +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Accelerated property cache" +HOMEPAGE=" + https://github.com/aio-libs/propcache/ + https://pypi.org/project/propcache/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + dev-python/expandvars[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + local -x PROPCACHE_NO_EXTENSIONS=0 + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + PROPCACHE_NO_EXTENSIONS=1 + fi + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + tests/test_benchmarks.py + ) + + local opts=() + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + opts+=( --no-c-extensions ) + fi + + rm -rf propcache || die + epytest -o addopts= "${opts[@]}" +} diff --git a/dev-python/psutil/psutil-7.2.2.ebuild b/dev-python/psutil/psutil-7.2.2.ebuild index 6eef6d832e72..c2d9e7db1b97 100644 --- a/dev-python/psutil/psutil-7.2.2.ebuild +++ b/dev-python/psutil/psutil-7.2.2.ebuild @@ -19,7 +19,7 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -EPYTEST_PLUGINS=( pytest-subtests ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { @@ -84,6 +84,14 @@ python_test() { tests/test_memleaks.py ) + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + tests/test_process.py::TestProcess::test_rlimit_infinity_value + ) + ;; + esac + # Since we are running in an environment a bit similar to CI, # let's skip the tests that are disabled for CI local -x TRAVIS=1 diff --git a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild index 80789bc3263a..876288ea562b 100644 --- a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild +++ b/dev-python/ptyprocess/ptyprocess-0.7.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/pydantic-settings/Manifest b/dev-python/pydantic-settings/Manifest index 87c3671558fe..99498f44cf80 100644 --- a/dev-python/pydantic-settings/Manifest +++ b/dev-python/pydantic-settings/Manifest @@ -1,4 +1,4 @@ -DIST pydantic_settings-2.13.1.tar.gz 223826 BLAKE2B 0b58da3891e6ba63f7be5a18340293ea1d0fe0e112f880e992e1dab90018adb32b9334b2d8ce8f861be6780bf4657b3c7352fc822c9e8ae97766d8cde08ed455 SHA512 bf800b27afd3cfdd14e3cbc65573274f6bcdfd261f3398097c73473ca49abe3f8f53fbaf01acbac844dc9a86b3c44f27e0d0ec6e6f207cec2c9f2cd22debb986 -DIST pydantic_settings-2.13.1.tar.gz.provenance 9329 BLAKE2B 26ace0f7f5ff172f0cab598a91223e2fef4240424ecae97ad02e184bf53aa72b90da6e89e0ed2381335d59f13750758c0bdff90f6e09f1229ef76c97d330ac8a SHA512 9983cff4dbc7e65824713db8823aa8945adca233415c27d0a2604007060b049aab0ffd588d0cdd56e1fa89ce1284d451e5b62064d6187c72f18583f58cbadd28 DIST pydantic_settings-2.14.0.tar.gz 235709 BLAKE2B e0b0941560b8a009c3ca03465a2ba4fad6d6d88214c3a40da59fb996bc2ee36dfa7273e47724e17c4f7887e17d412b6c8f6ec42c3e09e7a382f4407b2c3061c4 SHA512 b50b741ea75956f9e4b3ea3cd25451c046264c62212b21334482f2e583679899660588b3b56a5f89e099e12d4bcb3802ef943ec077518f819e8336cb00c1a0e6 DIST pydantic_settings-2.14.0.tar.gz.provenance 9337 BLAKE2B 5005c40f98ee24f8d5a9d39f039afa8f8d581391d8d5620d5ace5508fe89a296ce07651e3807e4c89dd41c3bee1b6207543e48f87ea1395bbfc338872e4e0f5f SHA512 c2cce764319e7b9e7280f66cd5ed9bf10b6f156d43bdb19acdfda845593d7b7030be6c543cdf0ca6eddb83605f3a3e69aef6a04568ee8b850895815bc0c3ba03 +DIST pydantic_settings-2.14.1.tar.gz 235551 BLAKE2B eed48ff5483d76e3c8f222b1c4fe725279ca5cbaf1ac65d5c933d82655c85cd7bd0c0b685341795613bcf5cad143f2bb982c6e21e1c0b073cc329014eeebb575 SHA512 ee1608700cafe614b12aa871a9dfe22af65f63c722e543d7a02760c532f7938a65e73a81ab7ce2a20f58fbf3d7ebaa8858e2145836786dd860c22dd03b0e56e6 +DIST pydantic_settings-2.14.1.tar.gz.provenance 9513 BLAKE2B 2851804cf2cdb9e2b3a26708e126da501a6ca89cc121b6ce921a0e192b7b5ef41abafa076300fb154ca2de48f85a0354fa598e230767433bc56587975233dbeb SHA512 bc2c7eff25e5404136b955a7c34b29b3725537e10939bf61ed2d1d85f1ed6c88ab342981e1796247895573e63efa7a2761822f12b3ee60999d6ccfc3dc7740d7 diff --git a/dev-python/pydantic-settings/pydantic-settings-2.13.1.ebuild b/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild index 0dd19242deb6..9bdd7bc86b59 100644 --- a/dev-python/pydantic-settings/pydantic-settings-2.13.1.ebuild +++ b/dev-python/pydantic-settings/pydantic-settings-2.14.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" RDEPEND=" >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}] diff --git a/dev-python/pygithub/pygithub-2.9.1.ebuild b/dev-python/pygithub/pygithub-2.9.1.ebuild index 425e63103753..4844e8f6cbd5 100644 --- a/dev-python/pygithub/pygithub-2.9.1.ebuild +++ b/dev-python/pygithub/pygithub-2.9.1.ebuild @@ -34,6 +34,6 @@ BDEPEND=" ) " -EPYTEST_PLUGINS=( pytest-subtests ) +EPYTEST_PLUGINS=() EPYTEST_XDIST=1 distutils_enable_tests pytest diff --git a/dev-python/pygments/pygments-2.19.2.ebuild b/dev-python/pygments/pygments-2.19.2.ebuild index e9aece22d4a6..f18e61a73bf8 100644 --- a/dev-python/pygments/pygments-2.19.2.ebuild +++ b/dev-python/pygments/pygments-2.19.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 @@ -40,6 +40,7 @@ EPYTEST_DESELECT=( tests/test_html_formatter.py::test_ctags ) +EPYTEST_PLUGINS=() EPYTEST_XDIST=1 distutils_enable_tests pytest diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild index 5c1a04720fd2..6bfcc0548604 100644 --- a/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild +++ b/dev-python/pyproject-hooks/pyproject-hooks-1.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,6 +25,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest EPYTEST_DESELECT=( diff --git a/dev-python/pytesseract/pytesseract-0.3.13.ebuild b/dev-python/pytesseract/pytesseract-0.3.13.ebuild index 46c0b1f59a7b..590b9d923749 100644 --- a/dev-python/pytesseract/pytesseract-0.3.13.ebuild +++ b/dev-python/pytesseract/pytesseract-0.3.13.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm64 x86" +KEYWORDS="amd64 arm64 x86" RDEPEND=" dev-python/pillow[${PYTHON_USEDEP}] diff --git a/dev-python/pytest-freezer/pytest-freezer-0.4.9.ebuild b/dev-python/pytest-freezer/pytest-freezer-0.4.9.ebuild index 6451e8f251b9..e11eb8cfab82 100644 --- a/dev-python/pytest-freezer/pytest-freezer-0.4.9.ebuild +++ b/dev-python/pytest-freezer/pytest-freezer-0.4.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,4 +23,6 @@ RDEPEND=" >=dev-python/pytest-3.6[${PYTHON_USEDEP}] " +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) distutils_enable_tests pytest diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild index 4b9bb05551c9..fcc7fc3567d8 100644 --- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.1.ebuild +++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-16.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 diff --git a/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.2.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.2.ebuild index 9fe540a48660..572c7919fc61 100644 --- a/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.2.ebuild +++ b/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -35,7 +35,7 @@ BDEPEND=" " EPYTEST_PLUGIN_LOAD_VIA_ENV=1 -EPYTEST_PLUGINS=( "${PN}" pyfakefs pytest-subtests ) +EPYTEST_PLUGINS=( "${PN}" pyfakefs ) distutils_enable_tests pytest export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild index 12486cc6f34d..dffa07b95e32 100644 --- a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild +++ b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild @@ -37,7 +37,7 @@ PATCHES=( "${FILESDIR}/pytest-system-statistics-1.0.2-loader.patch" ) -EPYTEST_PLUGINS=( "${PN}" pytest-subtests ) +EPYTEST_PLUGINS=( "${PN}" ) EPYTEST_PLUGIN_LOAD_VIA_ENV=1 distutils_enable_tests pytest diff --git a/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild index 522dbf08b075..c6c59c7f2ebf 100644 --- a/dev-python/pytest-timeout/pytest-timeout-2.4.0.ebuild +++ b/dev-python/pytest-timeout/pytest-timeout-2.4.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 @@ -31,15 +31,14 @@ BDEPEND=" ) " +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) EPYTEST_XDIST=1 distutils_enable_tests pytest python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local -x PYTEST_PLUGINS=pytest_timeout - if has_version "dev-python/pytest-cov[${PYTHON_USEDEP}]"; then - PYTEST_PLUGINS+=,pytest_cov.plugin + local EPYTEST_PLUGINS=( "${EPYTEST_PLUGINS[@]}" pytest-cov ) else EPYTEST_DESELECT+=( test_pytest_timeout.py::test_cov diff --git a/dev-python/pytest-xdist/files/pytest-xdist-3.8.0-pytest-9.patch b/dev-python/pytest-xdist/files/pytest-xdist-3.8.0-pytest-9.patch new file mode 100644 index 000000000000..c39a004664bb --- /dev/null +++ b/dev-python/pytest-xdist/files/pytest-xdist-3.8.0-pytest-9.patch @@ -0,0 +1,64 @@ +From 0c984478f39d7a01aa24c061f2581bdfd071cb6a Mon Sep 17 00:00:00 2001 +From: Bruno Oliveira <bruno@soliv.dev> +Date: Sun, 2 Nov 2025 10:18:21 -0300 +Subject: [PATCH] Adapt test to also worth with pytest-main + +--- + testing/test_newhooks.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/testing/test_newhooks.py b/testing/test_newhooks.py +index e3a8ac6f..9091ed31 100644 +--- a/testing/test_newhooks.py ++++ b/testing/test_newhooks.py +@@ -115,7 +115,7 @@ def pytest_handlecrashitem(crashitem, report, sched): + res.stdout.fnmatch_lines_random(["*HOOK: pytest_handlecrashitem"]) + res.stdout.fnmatch_lines( + [ +- "FAILED test_handlecrashitem_one.py::test_b", +- "FAILED test_handlecrashitem_one.py::test_b", ++ "FAILED test_handlecrashitem_one.py::test_b*", ++ "FAILED test_handlecrashitem_one.py::test_b*", + ] + ) +From 44f4bea2652e06e7cd5d4a063aa2673b5ef701ee Mon Sep 17 00:00:00 2001 +From: Bruno Oliveira <nicoddemus@gmail.com> +Date: Tue, 11 Nov 2025 08:00:23 -0300 +Subject: [PATCH] Fix CI for pytest 9.0+ (#1272) + +--- + testing/test_remote.py | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/testing/test_remote.py b/testing/test_remote.py +index 909f7ca2..ae82e2b7 100644 +--- a/testing/test_remote.py ++++ b/testing/test_remote.py +@@ -378,6 +378,11 @@ def test_mainargv(request): + + + def test_remote_usage_prog(pytester: pytest.Pytester) -> None: ++ if pytest.version_tuple[:2] >= (9, 0): ++ get_optparser_expr = "get_config_parser.optparser" ++ else: ++ get_optparser_expr = "get_config_parser._getparser()" ++ + pytester.makeconftest( + """ + import pytest +@@ -394,12 +399,12 @@ def pytest_configure(config): + """ + ) + pytester.makepyfile( +- """ ++ f""" + import sys + + def test(get_config_parser, request): +- get_config_parser._getparser().error("my_usage_error") +- """ ++ {get_optparser_expr}.error("my_usage_error") ++ """ + ) + + result = pytester.runpytest_subprocess("-n1") diff --git a/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild index 8b224d8fe0ba..7eaef3c4501c 100644 --- a/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild +++ b/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild @@ -32,12 +32,16 @@ BDEPEND=" ) " -EPYTEST_PLUGINS=() +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) distutils_enable_tests pytest -python_test() { - # force loading necessary plugins in subprocesses - local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail +PATCHES=( + # https://github.com/pytest-dev/pytest-xdist/commit/0c984478f39d7a01aa24c061f2581bdfd071cb6a + # https://github.com/pytest-dev/pytest-xdist/commit/44f4bea2652e06e7cd5d4a063aa2673b5ef701ee + "${FILESDIR}/${P}-pytest-9.patch" +) +python_test() { epytest -o tmp_path_retention_count=1 } diff --git a/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild b/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild index 8b68fe27115c..aaa9a5a2bbde 100644 --- a/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild +++ b/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild @@ -1,11 +1,11 @@ -# 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=setuptools PYPI_NO_NORMALIZE=1 -PYTHON_FULLY_TESTED=( python3_{10..13} pypy3 ) +PYTHON_FULLY_TESTED=( python3_{11..14} python3_{13..14}t ) PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" ) inherit distutils-r1 pypi @@ -40,6 +40,7 @@ PATCHES=( "${FILESDIR}/python-dateutil-2.9.0-no-pytest-cov.patch" ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_prepare_all() { @@ -57,6 +58,5 @@ python_test() { ) fi - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest } diff --git a/dev-python/python-discovery/python-discovery-1.3.0.ebuild b/dev-python/python-discovery/python-discovery-1.3.0.ebuild index b487b66b0704..7bf748143147 100644 --- a/dev-python/python-discovery/python-discovery-1.3.0.ebuild +++ b/dev-python/python-discovery/python-discovery-1.3.0.ebuild @@ -45,6 +45,12 @@ python_test() { 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-tests/Manifest b/dev-python/python-tests/Manifest index 048e88db6d9b..e2effc321343 100644 --- a/dev-python/python-tests/Manifest +++ b/dev-python/python-tests/Manifest @@ -20,6 +20,8 @@ DIST Python-3.14.4.tar.xz 23855332 BLAKE2B cb96ace0b3a0316ffc8f2fca1e9b67dc8df7d DIST Python-3.14.4.tar.xz.sigstore 5219 BLAKE2B 5d4e076139082e525c2758a64ca2cc4c05c69e601ffc9c402d5a041f8b867ee5f37264ded3bfa014cc979ccd3c573c208d2321ac5a3be93b906116bd0d8a5c37 SHA512 ec41d0d25fa3cd87cf62adcbe6b9e575cecc49f947a64ca997aa792ed22d93ef1bbc4dc2848e365dfb43b6c447dcf47417f9c68a5881d0ede8750fece9f97a87 DIST Python-3.14.5rc1.tar.xz 23894408 BLAKE2B 7b894cc9fbc6df9255ad04aed506cc7751a8f59295a1d491e150731b34b2197802f3d12cc51c6412247c5a23c051f3f90ce69b969e0bc0a74cffb11e62de58e9 SHA512 67ede84d59046e3b413643449a7eced8cefcd908238b8a34d2ac38507d967201695c62c22464f1bfd51669daf306995262279c7bbfc5a25998ed867a3d743b38 DIST Python-3.14.5rc1.tar.xz.sigstore 5363 BLAKE2B ad8ed1f9076ce67c33b290cdb6e24846de1642ce2deece0ec42d8adca67e7b403a53f7d64064c8c9d6d7ce05f8f1a62f5069a2cc85721160902b98cfebd254f9 SHA512 26a9129b8df1d5b83f6d81bdc49c78a5f45542ff9e56a3ecfc5b9480b5a0e0ee44b2fd3d1dd7775458c9076b4b27d891f149f3b24304f2456b5a0c5615e6ea12 +DIST Python-3.15.0b1.tar.xz 35178032 BLAKE2B 1bbfdeb373fa3a26b9d957084edc9bfb7f81ae579cd9bf9fba1a43a3bf409a2e01512c56c642eb47b6e1a3c0fe44f182d72a15498b90a75d424b6325d0fd97a1 SHA512 ce486f903aa8690f1725565c3fdc0034a983a60952a96a950fa7c89ab899a71cabed4a9252c497e0474f206f83ff02e2793cf975c345825324b85bced750c270 +DIST Python-3.15.0b1.tar.xz.sigstore 5411 BLAKE2B a1697c5239559c6871d3299c3dfa77edf0319ee03be12f6b3bd0b424e05a81b19249a98a316e5e6f8d403b04392ba69910ab8cef4ed86cf0d4a92fe04501a651 SHA512 72a4e1cfd48ba7ead6d5896d1441cf8c0991549beb28bc546534c4e1296495c9874dc7941239f8f5ed833b038bd66437868fd121c89a123d62cad157b744a4c2 DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158 DIST python-gentoo-patches-3.11.14.tar.xz 15968 BLAKE2B 5bd091046feee03afd59a87b72c44b3a0874b23f89eb98020cc057f5651d31857721eb095bd056dae8bef85220dbe5aff2900cf8411dceb14e8775a4a2f09a93 SHA512 760df16f98c1a91164b43c13eb36073c74169321569791125fdad8682419b818736fe02e40c1aa1232a11081b1007c923a8fd2afd002eb4fdff0800da92d03e2 DIST python-gentoo-patches-3.11.15.tar.xz 15988 BLAKE2B 16e98450749ebd1c617acbb9aba380fff50a8f7dba19f3f99edd3bd387c1a5d61d78cbf493cf003dfe03d2be59374ad89077b39fe203059bbbb881ae02a72ea5 SHA512 b705c72a585e315eb3ba69ffbf2a80836f0fc894fa8ae2c22768e6aa8ac2a23aada5def3d2635193793f58e3da81f0f10281c47bd8e129e1fd2c9167d292265b @@ -37,3 +39,4 @@ DIST python-gentoo-patches-3.14.3.tar.xz 8012 BLAKE2B a8106360a6c77e0e19ecdf55e9 DIST python-gentoo-patches-3.14.4.tar.xz 8012 BLAKE2B 07928ae9e2c057b75edabe287e0201a9aa35ddcfbb1b35c3729c25ccea707c343214ed82e0ad5df65a0994c0e263f7f50e8dd95ebdaae37210c14e1cc1f2d492 SHA512 8c8cf86842f42fa8634c0faee2c1e6dd51c621ae42d48300b0ab185d90653ad58e30c967a6b455e237303aa52d139a2980b948f8613725884d6aa0df016e07d8 DIST python-gentoo-patches-3.14.4_p1.tar.xz 9016 BLAKE2B 39bee4db44684a087b3bf6793a22d1655c2a90fabb56ea0421ded013cf53e66ac83cb3016d469f06c5d7cab7b8d22138bc4c1e01843a174299e1af0f88e5818c SHA512 a299212bd3d4a70c83a1efe1ec155f7b13829aa10aecf638de0889cf7b8ebe5227d3f14a1d51dac18fa4ae19b1060639490e61f2c1f52deadd40065c07b317f2 DIST python-gentoo-patches-3.14.5rc1.tar.xz 8436 BLAKE2B 527156383cba6288df15a0bb0718960ba2a30428a2367d014a11b22e598c63d2c912480e37b064233e05590d1112b6c3c4ac1fa9db392ac11a98b8ec54847d30 SHA512 8adb64ca0bc1c653fb04a71bd6b40415ae3ca4761edf578199c5cc1d1da392b239ca07af395114970467c8233027c5eefb4b869bcab4379d5a7310a286aaec53 +DIST python-gentoo-patches-3.15.0b1.tar.xz 3420 BLAKE2B 266ada600b587ff430a21c38d7585fcdb2d320a4160dd8e93dac3a6517faa685eadda9a9b14b271c6380a78112c83f39fc30bbbece10bfc7e6cde2eba61103fa SHA512 9f42700e03051fbadf3b9e6f7163077ab6b8c1f406e5bfc99560b590dbbabe72e5b38cd8c16b21aec75c4e760af549bffef6d76e65f390d61cd8840894949565 diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild new file mode 100644 index 000000000000..55db1d00e5bf --- /dev/null +++ b/dev-python/python-tests/python-tests-0.3.15.0_beta1.ebuild @@ -0,0 +1,75 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +VERIFY_SIG_METHOD=sigstore + +inherit python-r1 verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 2-3)t +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +if [[ ${PV} != *_* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-0.3.15.9999.ebuild b/dev-python/python-tests/python-tests-0.3.15.9999.ebuild new file mode 100644 index 000000000000..5d2768f19454 --- /dev/null +++ b/dev-python/python-tests/python-tests-0.3.15.9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) + +inherit git-r3 python-r1 + +PYVER="$(ver_cut 2-3)t" +PATCHSET="python-gentoo-patches-3.15.0b1" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz +" +EGIT_REPO_URI="https://github.com/python/cpython.git" +EGIT_BRANCH=${PYVER%t} +S="${WORKDIR}/${P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +src_unpack() { + git-r3_src_unpack + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild new file mode 100644 index 000000000000..7d88acdb6a4d --- /dev/null +++ b/dev-python/python-tests/python-tests-3.15.0_beta1.ebuild @@ -0,0 +1,74 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +VERIFY_SIG_METHOD=sigstore + +inherit python-r1 verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +if [[ ${PV} != *_* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-3.15.9999.ebuild b/dev-python/python-tests/python-tests-3.15.9999.ebuild new file mode 100644 index 000000000000..287a601c13c7 --- /dev/null +++ b/dev-python/python-tests/python-tests-3.15.9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) + +inherit git-r3 python-r1 + +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.15.0b1" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz +" +EGIT_REPO_URI="https://github.com/python/cpython.git" +EGIT_BRANCH=${PYVER} +S="${WORKDIR}/${P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +src_unpack() { + git-r3_src_unpack + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/referencing/referencing-0.37.0.ebuild b/dev-python/referencing/referencing-0.37.0.ebuild index c1e2b7ccf0b5..0d848153cbe4 100644 --- a/dev-python/referencing/referencing-0.37.0.ebuild +++ b/dev-python/referencing/referencing-0.37.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,5 +33,5 @@ BDEPEND=" ) " -EPYTEST_PLUGINS=( pytest-subtests ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/six/six-1.17.0.ebuild b/dev-python/six/six-1.17.0.ebuild index 2c16c5a5c31a..77f47b86da81 100644 --- a/dev-python/six/six-1.17.0.ebuild +++ b/dev-python/six/six-1.17.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 @@ -19,23 +19,11 @@ SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" distutils_enable_sphinx documentation --no-autodoc +EPYTEST_PLUGINS=() distutils_enable_tests pytest -python_test() { - local EPYTEST_DESELECT=( - # requires USE=gdb on CPython, no point in forcing the dep - # also missing on PyPy - 'test_six.py::test_move_items[dbm_ndbm]' - ) - - case ${EPYTHON} in - python3.13*) - EPYTEST_DESELECT+=( - 'test_six.py::test_move_items[tkinter_tix]' - ) - ;; - esac - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} +EPYTEST_DESELECT=( + # requires USE=gdb on CPython, no point in forcing the dep + # also missing on PyPy + 'test_six.py::test_move_items[dbm_ndbm]' +) diff --git a/dev-python/snakeoil/snakeoil-0.11.0.ebuild b/dev-python/snakeoil/snakeoil-0.11.0.ebuild index dad929bf6304..9ddefe4f03c2 100644 --- a/dev-python/snakeoil/snakeoil-0.11.0.ebuild +++ b/dev-python/snakeoil/snakeoil-0.11.0.ebuild @@ -28,5 +28,5 @@ HOMEPAGE=" LICENSE="BSD BSD-2 MIT" SLOT="0" -EPYTEST_PLUGINS=( pytest-subtests ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/snakeoil/snakeoil-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild index 8274fd09946a..5d158b8d6ff9 100644 --- a/dev-python/snakeoil/snakeoil-9999.ebuild +++ b/dev-python/snakeoil/snakeoil-9999.ebuild @@ -28,5 +28,5 @@ HOMEPAGE=" LICENSE="BSD BSD-2 MIT" SLOT="0" -EPYTEST_PLUGINS=( pytest-subtests ) +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild index c2dc8839ab69..f18de8fb3226 100644 --- a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild +++ b/dev-python/sortedcontainers/sortedcontainers-2.4.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 @@ -25,8 +25,20 @@ LICENSE="Apache-2.0" 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 python_test() { + local EPYTEST_DESELECT=() + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + # changes in pprint(). yes, seriously. + tests/sortedcollection.py::tests.sortedcollection.SortedCollection + ) + ;; + esac + epytest --ignore docs/conf.py } diff --git a/dev-python/test/test-0.ebuild b/dev-python/test/test-0.ebuild index d22498627c72..c3d6ebd47418 100644 --- a/dev-python/test/test-0.ebuild +++ b/dev-python/test/test-0.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 @@ -45,4 +45,10 @@ RDEPEND=" $(python_gen_cond_dep ' dev-python/python-tests:3.14t ' python3_14t) + $(python_gen_cond_dep ' + dev-python/python-tests:3.15 + ' python3_15) + $(python_gen_cond_dep ' + dev-python/python-tests:3.15t + ' python3_15t) " diff --git a/dev-python/testpath/testpath-0.6.0.ebuild b/dev-python/testpath/testpath-0.6.0.ebuild index 5b576cc0a83f..dd58885f2c89 100644 --- a/dev-python/testpath/testpath-0.6.0.ebuild +++ b/dev-python/testpath/testpath-0.6.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 @@ -23,5 +23,6 @@ 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 distutils_enable_sphinx doc diff --git a/dev-python/tomli-w/tomli-w-1.2.0.ebuild b/dev-python/tomli-w/tomli-w-1.2.0.ebuild index 1247c6fe971e..e2f3dd3d0c8f 100644 --- a/dev-python/tomli-w/tomli-w-1.2.0.ebuild +++ b/dev-python/tomli-w/tomli-w-1.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,6 +28,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest index 59c2670c4dfa..6ad31d7bf615 100644 --- a/dev-python/types-docutils/Manifest +++ b/dev-python/types-docutils/Manifest @@ -2,3 +2,4 @@ DIST types_docutils-0.22.3.20260223.tar.gz 57230 BLAKE2B 0de823a10d6b77e78911375 DIST types_docutils-0.22.3.20260316.tar.gz 57263 BLAKE2B 492f000970dcc60ca9893956e750812682de458f40b070b03cbe79ae4c48cdb46c318b59085192ba23a60e1e80e0c3141c10a23b78a0ab7ab0adb649f074c7ff SHA512 25c96cd05b6fa64c7ba97cd7f3a321b0ebdb80b22cc3efde92bf57dd5210f52fe0b6f97028a7cb1a37cb73d55a9a3ba7e8fa409958d954984affb3e2d02d45da DIST types_docutils-0.22.3.20260322.tar.gz 57311 BLAKE2B 441f184bc0ef3b262eccedb6b1e9aca6ec2c99e529cdde3807f636ad18d9f35093233a9d065da8f76e23765fc8c6ceae679b7a01182b273ea790f0fb44bb2a6b SHA512 73616d36516b97df70e84430edf6589d9179ed6dee3dc2aca9acc9c782782580e2b41a71657625393a07191cb5b4acd6536f35062626617c4ee15d07f748437b DIST types_docutils-0.22.3.20260408.tar.gz 57383 BLAKE2B 83a4923113df46e9e34dabd0c96ed9d890d76281cc8f19623d4c4ddce0059649b859bac063258de79a07cddf2c8873d82ae9b5e780a8fcbc687327c145705795 SHA512 006e13a701e06c86f41ae1e7da147a016e6f5262a0928bbb602b72b34a7a528ebb5e38713499a3f173ff0000ead60f3b5791b865e046980b62f94fc96159bfd9 +DIST types_docutils-0.22.3.20260508.tar.gz 57431 BLAKE2B 57e177b3456f67aa15064931c546a59c9adf1f768a2f06af0e94a89cae54c1056c91b3128766dd823e79cb123d5af1a4aae2030bf72f147f1415881a55e27c24 SHA512 1134279db54637bdc38a18d22898745ced91edc62b117e402f5b8f7a32d912dd84aeedb189727de7f558c72cb7aae299815d79b09768e068d7129a0fd23a094d diff --git a/dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild b/dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild new file mode 100644 index 000000000000..a83282aaa882 --- /dev/null +++ b/dev-python/types-docutils/types-docutils-0.22.3.20260508.ebuild @@ -0,0 +1,16 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for docutils" +HOMEPAGE="https://pypi.org/project/types-docutils/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest index 403420ea94d3..598846103baf 100644 --- a/dev-python/types-gdb/Manifest +++ b/dev-python/types-gdb/Manifest @@ -1,2 +1,3 @@ DIST types_gdb-16.3.0.20260203.tar.gz 25569 BLAKE2B da5f1e81f508f8383ab00a4581083d3c6e6e056380f9ab13308b732b3a597074d47fc7a359ee52756135cdfd00ca429d89366824b09b1c755002df12f3573513 SHA512 bd8665f5ce2ec975f9a59b5646332fec68e846614b9e4f84aafb60f6c84772448b847f7610e0d787a3b07904093d5983b5c8b5fe4da30d5dfc135c3eddf9044c DIST types_gdb-16.3.0.20260408.tar.gz 25606 BLAKE2B 6e2699b4d5a3e901d2267903cf0c9a85a64696b27eded54dd7f8f3852945b8e20f2bdbcf5a8e5b171e8fd2a574a8ae0522ad3d5b5a6dbdb4b2e94d741d4d0c6c SHA512 28e2f9cdfb796baac931a51a50824bf95c388d210ca3f02bd9ab47432f2d6a7f3ad413754d568dc7e74c7c8a566d17958293ee9a8df6f07a8602bf52a74ddd4f +DIST types_gdb-16.3.0.20260508.tar.gz 25611 BLAKE2B 80a83065f83483202203d3983c645a86bab44b1b078f8e2612de04ff23f56869c07f1030aa6708d0ba48fbb3da75669c3bf9b5b222bcd7815b3781ebaa2ac647 SHA512 8102b8660b24eb17000ef3806288532b4c46fb78b7779a12dad161a9105ea45b90edf80664dc8a23a647eb40fa8d823aa74cb62264dd9c90969614a7ec54785e diff --git a/dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild b/dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild new file mode 100644 index 000000000000..fbf77e18e21e --- /dev/null +++ b/dev-python/types-gdb/types-gdb-16.3.0.20260508.ebuild @@ -0,0 +1,16 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for gdb" +HOMEPAGE="https://pypi.org/project/types-gdb/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest index 5b0db9d7d35d..ab4a587f7c6d 100644 --- a/dev-python/types-psutil/Manifest +++ b/dev-python/types-psutil/Manifest @@ -1 +1,2 @@ DIST types_psutil-7.2.2.20260408.tar.gz 26556 BLAKE2B 9348e17cc616c3f6dc8e5de62bda803f97d6648585aa7d0156ee583a6d95197383fc0886f011c28b366005915ad43791524457f981bf566ef89f916e51e17c6c SHA512 969b6424777e01c6a7ec9d15f6cd0455cec21295c8494f5ba37581149e11679bd0d1cf8b266484e24443cc872d711787207a1961c7303afc31dd66fd15d6708e +DIST types_psutil-7.2.2.20260508.tar.gz 26575 BLAKE2B 8d31e14a16e6c701543c0bc71a2966a765a4dc8746e6513375fa1b9ea19b795629aa86c38f09d1fa21e29477f0e6f2bc3792e91d706da1e6a5b44f82d7d499f8 SHA512 4de979a1228bed858f0ef5e87229a5630b29d232f286948edff2e0fe2033aeaf3f7b26b298b86ffda51380f9883d4f0bcdaebc247956e3f2db8f3b3013d74627 diff --git a/dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild b/dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild new file mode 100644 index 000000000000..2ecb6de47a46 --- /dev/null +++ b/dev-python/types-psutil/types-psutil-7.2.2.20260508.ebuild @@ -0,0 +1,20 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for psutil" +HOMEPAGE="https://pypi.org/project/types-psutil/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}] +" diff --git a/dev-python/types-python-dateutil/Manifest b/dev-python/types-python-dateutil/Manifest index 14dd89a8db9b..743e747d347e 100644 --- a/dev-python/types-python-dateutil/Manifest +++ b/dev-python/types-python-dateutil/Manifest @@ -1,2 +1,2 @@ -DIST types_python_dateutil-2.9.0.20260402.tar.gz 16941 BLAKE2B 8f5bcd0b848915ced25bb31cf19d4387234030122de5011c0fff6df1ba31b77082afb43341a11362d32be095f0a01b8144c380867f2a04341a4a1746feece70b SHA512 856eed7a6b1dfb5d655ca6a0521f48275c4560888028c42327e956993350617ed9d11751d70c0239b6a331c557b6c91f743d5dc02b9e5fe256f64973536c588a DIST types_python_dateutil-2.9.0.20260408.tar.gz 16981 BLAKE2B 370257483cc71a80d03aff060d13bfd7f25272c315f84b69e2f4fcedeba169852001a4218658b0713a6639678aad411a2df52f48e14d64570e122fd1854de3d8 SHA512 4b4ca3ed3f06490340e9e945ff3abfa1569387ab68af1d180c5ef3a766e46fa6e607865577cf9a6290e48b4b533b4b8d55df6e06850cd631c877444664db241f +DIST types_python_dateutil-2.9.0.20260508.tar.gz 17033 BLAKE2B a46afbb5e7889e389b5b3a6af75696245cf35b1dd2db97437edc0a51fc5fb2077fde65be7ab8a403e94cbca8440fc2c0f7723bc1b12aeb9fe9de63217125f264 SHA512 45716b6ab87712b358b878f834f8f01c719c4785038911e6c8112ab69c1a02e3783bff0a55eb878d5349feb6f772fcefb0152d47fb6393b3aeea024ab5e60597 diff --git a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260402.ebuild b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260508.ebuild index 9ee72fee1d13..9ee72fee1d13 100644 --- a/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260402.ebuild +++ b/dev-python/types-python-dateutil/types-python-dateutil-2.9.0.20260508.ebuild diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest index d9bace1dec2a..58d2a791674d 100644 --- a/dev-python/types-setuptools/Manifest +++ b/dev-python/types-setuptools/Manifest @@ -1 +1,2 @@ DIST types_setuptools-82.0.0.20260408.tar.gz 44861 BLAKE2B 962c26fe06a7c3e679820357cd754d2b86e0a6f23c8d73aa53f70f14c971b4c2adce4f1996f42a364d8a803c517d7ac9f64d925e2226a57580adae5170363f90 SHA512 13fa510d928db23f5a651e566862e3f27e5ff5182b48ba5fbc606363ef7221839baa29989530db046571ced6924733fed4f3a01f3f4961d1fe38fc952fa84d4d +DIST types_setuptools-82.0.0.20260508.tar.gz 44919 BLAKE2B d650e3d58d09dbac12f91d6f72eda28f6b7b0b9811d3b30b1d7f452fb89af77ee2b67f2c36dfe7cef4dc79a4fa703dff6d380af63b4be8d8edf47e94085a2e8a SHA512 933c50dcd1db4fd0915af5d204421171118138afd2201481341733d6b816083b2da2f5af7f3e17ff6630a79673384701dc826d8a83fda95eaa534ff94470f75a diff --git a/dev-python/types-setuptools/types-setuptools-82.0.0.20260508.ebuild b/dev-python/types-setuptools/types-setuptools-82.0.0.20260508.ebuild new file mode 100644 index 000000000000..6eb6ca6acfff --- /dev/null +++ b/dev-python/types-setuptools/types-setuptools-82.0.0.20260508.ebuild @@ -0,0 +1,20 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for setuptools" +HOMEPAGE="https://pypi.org/project/types-setuptools/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + >=dev-python/setuptools-82.0.1[${PYTHON_USEDEP}] +" diff --git a/dev-python/typing-extensions/files/typing-extensions-4.15.0-py314-test.patch b/dev-python/typing-extensions/files/typing-extensions-4.15.0-py314-test.patch new file mode 100644 index 000000000000..a17dc9615766 --- /dev/null +++ b/dev-python/typing-extensions/files/typing-extensions-4.15.0-py314-test.patch @@ -0,0 +1,28 @@ +From aa81d37f98c3322d535a7d0c8dd093870f0fb5ef Mon Sep 17 00:00:00 2001 +From: Jelle Zijlstra <jelle.zijlstra@gmail.com> +Date: Thu, 18 Sep 2025 21:03:16 -0700 +Subject: [PATCH] fix test on 3.14 + +--- + src/test_typing_extensions.py | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/test_typing_extensions.py b/src/test_typing_extensions.py +index 27f4059c..f07e1eb0 100644 +--- a/src/test_typing_extensions.py ++++ b/src/test_typing_extensions.py +@@ -4508,8 +4508,12 @@ def _make_td(future, class_name, annos, base, extra_names=None): + child = _make_td( + child_future, "Child", {"child": "int"}, "Base", {"Base": base} + ) +- base_anno = typing.ForwardRef("int", module="builtins") if base_future else int +- child_anno = typing.ForwardRef("int", module="builtins") if child_future else int ++ if sys.version_info >= (3, 14): ++ base_anno = typing.ForwardRef("int", module="builtins", owner=base) if base_future else int ++ child_anno = typing.ForwardRef("int", module="builtins", owner=child) if child_future else int ++ else: ++ base_anno = typing.ForwardRef("int", module="builtins") if base_future else int ++ child_anno = typing.ForwardRef("int", module="builtins") if child_future else int + self.assertEqual(base.__annotations__, {'base': base_anno}) + self.assertEqual( + child.__annotations__, {'child': child_anno, 'base': base_anno} diff --git a/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild index 77aefda0260d..1b950558c798 100644 --- a/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild +++ b/dev-python/typing-extensions/typing-extensions-4.15.0.ebuild @@ -28,9 +28,40 @@ BDEPEND=" ) " -distutils_enable_tests unittest +# TODO: switch back to unittests once we don't need deselects +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/python/typing_extensions/pull/683 + "${FILESDIR}/${P}-py314-test.patch" +) python_test() { + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + src/test_typing_extensions.py::NamedTupleTests::test_same_as_typing_NamedTuple + ) + ;; + python3.15*) + EPYTEST_DESELECT+=( + src/test_typing_extensions.py::AllTests::test_alias_names_still_exist + src/test_typing_extensions.py::AllTests::test_all_names_in___all__ + src/test_typing_extensions.py::AllTests::test_typing_extensions_includes_standard + src/test_typing_extensions.py::GetTypeHintTests::test_annotation_and_optional_default + src/test_typing_extensions.py::NoExtraItemsTests::test_constructor + src/test_typing_extensions.py::NoExtraItemsTests::test_repr + src/test_typing_extensions.py::TestSentinels::test_sentinel_deprecated + src/test_typing_extensions.py::TestSentinels::test_sentinel_deprecated_explicit_repr + src/test_typing_extensions.py::TypeAliasTypeTests::test_cannot_set_attributes + src/test_typing_extensions.py::TypeVarTupleTests::test_repr + src/test_typing_extensions.py::UnpackTests::test_repr + ) + ;; + esac + cd src || die - eunittest + epytest } diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index e3fbe826c8ca..b414f8957586 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -1,6 +1,7 @@ DIST uv_build-0.11.1.tar.gz 381246 BLAKE2B 57bd4e5366899c745294e967b9c632ff12587faf5d016cf5dab90c722fa61ff999ec0d95274c88372b27f5ff4878ffe6a9a476bfea62ca4eccb1796666a09599 SHA512 7d1421bfd46635e7e927be951eaf4f5044dc6dceec99178a2c0204b6bafd54648f98107d9ac68ebf0685132c3a34fdbfb6a6b684455caa9acd9b4bb9cb9dfcab DIST uv_build-0.11.10.tar.gz 376745 BLAKE2B 8447c14db66981f9188336dc1d8b7918784f2cfbdd2ddeed3d66f5cdc7a1d521f49082c68d5c48d5fbee87b8f4bdc39cb259353f99d63f6e77d2eed02c292e7c SHA512 ab1e10e9c23bfd90ef12a274695076a2e9756da3b13b062a9f4ab073fc8789a2faee3a8b87af1abeb071de84f245a26ebf896b31825b753acdd32ba74df6f1d0 DIST uv_build-0.11.11.tar.gz 376722 BLAKE2B 58e62e3366961b489f1f6e1e8c83d0b770879660d9d3b0c6266dce46c5da8e9887408b09f0f59fd3fecda30adf887012df6390f386fb22843c0bb66e3c813a97 SHA512 ed612caee074c756c8ab242e3e0bf64e76dfddfefa383c3587b675b07e61621504ccaea653733c27ef2dd9b8bef1aa6d21ba1b9b39102d49c9ec3e9d7d13e758 +DIST uv_build-0.11.12.tar.gz 377487 BLAKE2B f9d4c1b53f9c4ff2209f2b96a581f01f0a363fa02c6724e3d4f1d10ac3dd8447eb15d2aaac2a2fafe3d8a3fe20bf37a0b65c2e24f771d7f163a09f34a0151d51 SHA512 99747e605f984fb8b9b8d9b68a987cf20f49cec24cb57f795ef393268246366befb390398ca8d447f1178b8ad307376a2dbb62d083b8e987c0d2d5ab8116a6b3 DIST uv_build-0.11.2.tar.gz 381227 BLAKE2B a0989816b2c4f224fe78d88a0dbee2f87b6426d0cb67299ae7f5caec644bf11ba0a3503919103d5c2a747cf696f2e7447a618a8b11156ffad9c308eeb3fb1e7b SHA512 66ce17d053002eb3c7fe82bf0c0e9953770dbc5b75822fa6bacdddd3092b5899d5416cd669e633a58b644e6fb6ceb6a8ff940878d7874c08b5d23b02564f2ba3 DIST uv_build-0.11.3.tar.gz 382592 BLAKE2B c212ba9dbd57d588f229a6972a20824cb1439c1770d677a7754a2ccad598a0b9235edbd4c6e178bae99c04c2a31a104a6213335e2c8e005728b25500c1b3a729 SHA512 3ed531b2ac111a8446336861eb80e90d5e7aa595cc65de7e83c79f94f4b2a0183028e3738ed30169b00430ef380574701fd1beffd120bc2cf7510d3bcb28bf11 DIST uv_build-0.11.5.tar.gz 360294 BLAKE2B 5e913cc609b40bbc906e574a16d1cecec8fa59517ef3dac392ebe81e7d377ca20346ddb09b4292377cbbc506cce95e5c4df284d80b5f26907de6539999bc52d3 SHA512 731cdd7a17ba40d20add0ef9928c688016b4f19b5378a7cb71a3d02aca09a4585a1bd6b6304ef4c1b5745fe3edb5ee36a1a49b563946dd29d1e210fd5946d1de diff --git a/dev-python/uv-build/uv-build-0.11.12.ebuild b/dev-python/uv-build/uv-build-0.11.12.ebuild new file mode 100644 index 000000000000..2ab229426f84 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.11.12.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index e5a888b0682d..53e01ca146a6 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -4,6 +4,8 @@ DIST uv-0.11.10-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c3647 DIST uv-0.11.10.gh.tar.gz 5252516 BLAKE2B 81502332be0bc84c89714a61c4befef787f5191bb0aa56f6fe7aec08d3f5df7ee0df44bace6c1bfdd34b7b2dd65a42f621888b240688495526bdcea86fd5879f SHA512 d969396c1cf0793a4589aa8c9c47b100d3e1ca8bdd55bd95f3bdbd1164c67f58678c06190f35e22248d173f6ddc2b24cbae8c5888f44dd2cc6a1a7e1f0eeea16 DIST uv-0.11.11-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c36474b4bbfd91387b29a498f5cdc1529b3d52d0bbd2249e1ec4163914f63b4c139f68762396ed61e3480e5a813089277d59 SHA512 dbde92b55820f8b507f2c87d35917cf9e43da9add81046c2715a8e542e2d88d5916d90e7c07e9d1dc8331ca7b098e38cc5bcbac0ef66ceb81c5a68d9146bb35b DIST uv-0.11.11.gh.tar.gz 5253331 BLAKE2B 4a866f3838bd60630e3ff47ea8e6c754fd986aa242bc9c355f071bed321385d9ef6049a7663777027d49b9fbd80cf0793b2ab0271500d7305873574332b5a48e SHA512 f9129868fb8d343d63e4080deb0e71e71fdb5c71e2ea4f17d05d0f0c20338daf86f521895e8bd69795ffad36ddc94e8cf5ee8fbbb4eb5fdc0692524b21eef9c6 +DIST uv-0.11.12-crates.tar.xz 46797580 BLAKE2B 69c193a4d0d8b81b7ee504ad4439c36474b4bbfd91387b29a498f5cdc1529b3d52d0bbd2249e1ec4163914f63b4c139f68762396ed61e3480e5a813089277d59 SHA512 dbde92b55820f8b507f2c87d35917cf9e43da9add81046c2715a8e542e2d88d5916d90e7c07e9d1dc8331ca7b098e38cc5bcbac0ef66ceb81c5a68d9146bb35b +DIST uv-0.11.12.gh.tar.gz 5259600 BLAKE2B bf43a4b38e37a45d73820e3d445ac38a56314cefcdc0a734cad5b93200ce9e4b689c8aa3125eb34d8aa150ff4b2b94b786dd518a49aacf6d6ce655f66e9506f9 SHA512 a23c95152f0515645174b85ed8887fe29e3e56d457aaad7992cfe5a59b95e527348ebd7e0ce9d23cf589f20849326a876ae61ed9b10324a48b8021077cd264fe DIST uv-0.11.2-crates.tar.xz 46998940 BLAKE2B d3447d8f11e14a01abb7531249a3c5806e9de8bc981897863d2018efc498ab0d01291b400a522030a73ae98e5b80e1451203f060c1925e044c8eb7c323b37014 SHA512 768bf9ee90e4728d853255bdb5eb68ba61ddb49f389e4264feeb2a5efae92b18be1ac403f64d37c073f7c4455113b365bd4b298293623abd598a0795b0909adf DIST uv-0.11.2.gh.tar.gz 5135705 BLAKE2B abcedb5bbf0ef2c6585580818a7b11046a1555559254c2255a929050a61d3906fe176007ca8d39d0b4a2fc8582ce70376a73b7b6c4856af796056099750ecea1 SHA512 5db8253e1403a21a82c172429f8a2ee336d19a7b1e640942bd8b6a523defa8308f60b035c8ffae40d1de9292a598a5619f36debf5bf7bb3663b1f630e311cfd4 DIST uv-0.11.3-crates.tar.xz 46981748 BLAKE2B be42ea0a2997d23ddbd1e2772c4ad1e7a2ab8866624fa3e8eee31638e65293a5241ae0a3b3c2cecab64250b8e166f548c041145ed840a91e8c90d4d1d79ffcb8 SHA512 99686a97e1f630c396b6e7b282e85b37642b3fefb05233ec0276f4fc8fc297738c600c2348c5f15c5744242dfe121412f0bf2d4339f59b254b02ab9f4612d614 diff --git a/dev-python/uv/uv-0.11.12.ebuild b/dev-python/uv/uv-0.11.12.ebuild new file mode 100644 index 000000000000..030c2e92591f --- /dev/null +++ b/dev-python/uv/uv-0.11.12.ebuild @@ -0,0 +1,164 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.93.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB BZIP2 +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF + + # uv is now forcing bundled liblzma, sigh + sed -i -e '/xz/s:"static"::' Cargo.toml || die +} + +src_configure() { + local myfeatures=( + test-git + test-pypi + test-python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild b/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild index cc70e45c32ea..df59fa873dcd 100644 --- a/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild +++ b/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,6 +28,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest python_test() { |
