diff options
Diffstat (limited to 'dev-python')
19 files changed, 603 insertions, 64 deletions
diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest index 153f011db24f..3ed6b868e960 100644 --- a/dev-python/apprise/Manifest +++ b/dev-python/apprise/Manifest @@ -1 +1,2 @@ DIST apprise-1.9.7.tar.gz 1937173 BLAKE2B 31935acf742aab2f2b1e7bc83563a62e37b879af73b9bfd21ac555e7ba8c2248616baa8125be95a5dce488fc9b286e3dc26b5883a70e788cd5669817225ff104 SHA512 8d87df66dde6fb66f515e5dbbfa38c0bf82605531f2f2c0d521822776e05796bedc5453e4cfb011da67c0f62ab1a8faa2d5563c8398c46c9d0a67d4351d61ba4 +DIST apprise-1.9.9.tar.gz 2032822 BLAKE2B b2ff39c65fab1f17d208aeb602f27dca12b7269e8a8b7c6f0fcf31711622a32db953eac8ff7ca2426933d2e282ea7a2da211818ebc11b9ed40a96918ec21d37d SHA512 486f02b6f2256944db2bcc0215e19e7a2502691725257824d746653e7ceca43affb40ca0781d64c29ff308eac6036b78295d0713a2888b20722ca3e79e47f8f6 diff --git a/dev-python/apprise/apprise-1.9.9.ebuild b/dev-python/apprise/apprise-1.9.9.ebuild new file mode 100644 index 000000000000..5b7de2265e2f --- /dev/null +++ b/dev-python/apprise/apprise-1.9.9.ebuild @@ -0,0 +1,43 @@ +# 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 pypi + +DESCRIPTION="Push Notifications that work with just about every platform" +HOMEPAGE=" + https://pypi.org/project/apprise/ + https://github.com/caronc/apprise/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv" +IUSE="+dbus mqtt" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/requests-oauthlib[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) + mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] ) +" +BDEPEND=" + dev-python/babel[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-mock ) +# xdist causes test failures +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fails if pygobject is installed + # https://github.com/caronc/apprise/issues/1383 + tests/test_plugin_glib.py::test_plugin_glib_send_raises_generic +) diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest index 6e07815dc6e9..6c8e2f452a85 100644 --- a/dev-python/clang/Manifest +++ b/dev-python/clang/Manifest @@ -16,3 +16,4 @@ DIST llvm-project-22.1.0.src.tar.xz.sig 119 BLAKE2B d3190d9dbacedf9de0c6b3d5c771 DIST llvm-project-22.1.1.src.tar.xz 167029452 BLAKE2B 5d02e03ed943904e8e45d5a522ee37720540b80f79f449bdc50ac87c1703d0129aa853384a63782eabf8f6d375e123709d73167f9f708bde4e0118d10837f2b0 SHA512 dddf09651c0e77caa83284788765016b023a9e239cfe35820bab7be64b68218e86bcf39bb07ee14dcddf7b0974b551344d2bff0e109cc9458b0394a3c940917c DIST llvm-project-22.1.1.src.tar.xz.sig 119 BLAKE2B 02dd014936c4bac983ad6822a3ca084ddc94beeb4f4ccc6afae0031c7c563b10f7b962ef5a1a3d573330725c590f7e3b2eef2c21100063e68e32a1015b733c3d SHA512 592d603d610e121e7466a342bbf6b95c9a5f689268fad778befbf9e5663b53717c50daab9db07288020e3dcc2ec2bf38d611761a9ff6c3ce10a4340cfc2593c7 DIST llvm-project-704c87bb948aff1bec718d56ad52b9b5d9c49cfb.tar.gz 264313048 BLAKE2B 68a42c37c44be743f1b584e97fbc9633cb2f679d8b2a733c31eb1f6805591a3b817e5c41dcc2d5a7bcf399e822fab3b020f8f2126918ef2e96f7a231b2b2a08f SHA512 dbcbc3b988c60e9a9cd3a03c339d53722f3a854ff05c53f88a9dad2c52db16453a34bd481ce90d063eae93428e438cf397bc5c60194e14ca9c65b0459c2a91d7 +DIST llvm-project-df9eb79970c012990e829d174d181d575d414efe.tar.gz 265149781 BLAKE2B ab7a87dad369685fc26a054c065dee6ef2754b6446d5a6e15ed7f5bb52d7d433b519cac0522063ba222600f6f40dc40f7bf27930c74031cc40fff5372308a097 SHA512 7c63bf1360902e6a55c7f4c15d08a716d54476875744e6f40ec51157de6c18bf75d8fdb921f26831017151e87649bd1a48041e007edd9a0afc5e9f9066bfd79d diff --git a/dev-python/clang/clang-23.0.0_pre20260321.ebuild b/dev-python/clang/clang-23.0.0_pre20260321.ebuild new file mode 100644 index 000000000000..bdbb6bbefa8b --- /dev/null +++ b/dev-python/clang/clang-23.0.0_pre20260321.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +inherit llvm.org python-r1 + +DESCRIPTION="Python bindings for llvm-core/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +DEPEND=" + >=llvm-core/clang-${PV}:* + !llvm-core/llvm:0[clang(-),python(-)] + !llvm-core/clang:0[python(-)] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + llvm-core/clang:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( clang/{bindings/python,include} ) +llvm.org_set_globals + +python_test() { + # tests rely on results from a specific clang version, so override + # the search path + local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir) + local -x CLANG_NO_DEFAULT_CONFIG=1 + "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" +} + +src_test() { + python_foreach_impl python_test +} + +src_install() { + python_foreach_impl python_domodule clang +} diff --git a/dev-python/cli-helpers/Manifest b/dev-python/cli-helpers/Manifest index 0fa62d8c2e4d..8861ece6d119 100644 --- a/dev-python/cli-helpers/Manifest +++ b/dev-python/cli-helpers/Manifest @@ -1,6 +1,7 @@ DIST cli_helpers-2.10.0.gh.tar.gz 37204 BLAKE2B 922e2c69d08ea9894ea2cc84a19779be8f0ce7f9365d4b0de287a9bb41c7cbea2515208bc979d8809863fd1e1b43c5984634eb14949da5b3000e5dd442385eb6 SHA512 2112a8617440157cf4c20149cbd983abd17a7f967b287eae90eb4569bf55e4154761ea88d3148ed176ee8e68ca2309b4401f1069962c87aff72a1e2d7e395492 DIST cli_helpers-2.10.1.gh.tar.gz 37265 BLAKE2B bcf54486730f7d69d87787b89bf76ef6e3d00bbfd5685610a27ced3b8f29723a8f0ce37b27a4c4b2a8cf8787d24a08a91a1a5a52a9c21f0903c64eced5e6f855 SHA512 521a9f586caf9f5221b4b13cfb481dd0d6648ef9c5f7cc13bd7f270ea29e065bcd0aa24b84ba58b73a05d462292f0e228c42024cdae21b8d72ad9308dbe8c3fc DIST cli_helpers-2.11.0.gh.tar.gz 37297 BLAKE2B de8f638594075dd832c553795c3b7ca64d70198a3854adc97c1404b0c3d0d1793bd9a8826fd17c3bd45e21f9ad8f135b61d399993ed4e2470eb7b4a54c22e5b9 SHA512 a7fdb6eb012ac5157a305f69ddf6a0110b945573da585b3152546b4832d97686a40f853b2101ef1cce752ebb3dc8b078ce26f3eb701c7963ad811ed28dca4f9e +DIST cli_helpers-2.12.0.gh.tar.gz 37755 BLAKE2B c356e306e255e7703e48419b7e4fe39862725c1cd9974c51f791b283ba333ffe5c7c6c14fa23b69f6526ef5b692118cfd7f866d6d02e8c53e93cc3da9e9ff02d SHA512 fc774d7ec102952f3bc07cf87214e01379890bb9ac132e20eaf18df13fffddf2b3c2be1e0889ba8b3e7781aea12aef345f21f6878500d64b285daad730eba1b3 DIST cli_helpers-2.7.0.gh.tar.gz 36537 BLAKE2B 843d88f5f1eac62b3d37a6d423ec9bce47daedc4b3ea1896d5e84c6dae76a4af687a6fbc01f29d8146cca6ac89f638d2eec0a5d439258369636c7008fac3d499 SHA512 ef9976a7cd4c7853edee598d188003d7f1e1d73d3ca0be2030f2af9db246d394d1ac961408b8e222d45e9dbabda622dbc194cd9fa7aeacf958cd9206428781f6 DIST cli_helpers-2.8.1.gh.tar.gz 36594 BLAKE2B c713c771a742f992ee5468de70d1d965672ae6b24ade26d397f1aa411040a5d6561d3ca807c8be509217cb0d46f14c10bece2b181798ba8dee1952fb3358886a SHA512 b5228702e7de009404004f0fcc002a8876ee962885dcfc4cd04c8863fba5c5eed802fffe411cf0136ba2bc391ec5e6870e450acb17e5aa91b0962b509f1a2963 DIST cli_helpers-2.9.0.gh.tar.gz 36958 BLAKE2B e9cbe7560846bd05a24a2da66ea309e8d29869bdd22b42d9130f42217b58500da022857d1f4ac6a9d069f7e918d353847632a134cc9c49e134c3d7d4c179e5c0 SHA512 aa022d28c295837976f4d9c3ec20ea12fa80ba7600e2e73e30895127e8d2697d28865778e96962a49f2060f06fe58e5f0147eb3747e103fd3a16a54aebde1a75 diff --git a/dev-python/cli-helpers/cli-helpers-2.12.0.ebuild b/dev-python/cli-helpers/cli-helpers-2.12.0.ebuild new file mode 100644 index 000000000000..6b0cce7a6e6f --- /dev/null +++ b/dev-python/cli-helpers/cli-helpers-2.12.0.ebuild @@ -0,0 +1,43 @@ +# 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 + +MY_P=cli_helpers-${PV} +DESCRIPTION="Python helpers for common CLI tasks" +HOMEPAGE=" + https://cli-helpers.rtfd.io/ + https://github.com/dbcli/cli_helpers/ + https://pypi.org/project/cli-helpers/ +" +SRC_URI=" + https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}] + >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}] + >=dev-python/tabulate-0.10.0[${PYTHON_USEDEP}] + dev-python/wcwidth[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:~=:>=:' setup.py || die +} diff --git a/dev-python/librt/librt-0.8.1.ebuild b/dev-python/librt/librt-0.8.1.ebuild index e5481a1c1dd2..528654953a6a 100644 --- a/dev-python/librt/librt-0.8.1.ebuild +++ b/dev-python/librt/librt-0.8.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT PSF-2.4" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" BDEPEND=" test? ( diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index 6e07815dc6e9..6c8e2f452a85 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -16,3 +16,4 @@ DIST llvm-project-22.1.0.src.tar.xz.sig 119 BLAKE2B d3190d9dbacedf9de0c6b3d5c771 DIST llvm-project-22.1.1.src.tar.xz 167029452 BLAKE2B 5d02e03ed943904e8e45d5a522ee37720540b80f79f449bdc50ac87c1703d0129aa853384a63782eabf8f6d375e123709d73167f9f708bde4e0118d10837f2b0 SHA512 dddf09651c0e77caa83284788765016b023a9e239cfe35820bab7be64b68218e86bcf39bb07ee14dcddf7b0974b551344d2bff0e109cc9458b0394a3c940917c DIST llvm-project-22.1.1.src.tar.xz.sig 119 BLAKE2B 02dd014936c4bac983ad6822a3ca084ddc94beeb4f4ccc6afae0031c7c563b10f7b962ef5a1a3d573330725c590f7e3b2eef2c21100063e68e32a1015b733c3d SHA512 592d603d610e121e7466a342bbf6b95c9a5f689268fad778befbf9e5663b53717c50daab9db07288020e3dcc2ec2bf38d611761a9ff6c3ce10a4340cfc2593c7 DIST llvm-project-704c87bb948aff1bec718d56ad52b9b5d9c49cfb.tar.gz 264313048 BLAKE2B 68a42c37c44be743f1b584e97fbc9633cb2f679d8b2a733c31eb1f6805591a3b817e5c41dcc2d5a7bcf399e822fab3b020f8f2126918ef2e96f7a231b2b2a08f SHA512 dbcbc3b988c60e9a9cd3a03c339d53722f3a854ff05c53f88a9dad2c52db16453a34bd481ce90d063eae93428e438cf397bc5c60194e14ca9c65b0459c2a91d7 +DIST llvm-project-df9eb79970c012990e829d174d181d575d414efe.tar.gz 265149781 BLAKE2B ab7a87dad369685fc26a054c065dee6ef2754b6446d5a6e15ed7f5bb52d7d433b519cac0522063ba222600f6f40dc40f7bf27930c74031cc40fff5372308a097 SHA512 7c63bf1360902e6a55c7f4c15d08a716d54476875744e6f40ec51157de6c18bf75d8fdb921f26831017151e87649bd1a48041e007edd9a0afc5e9f9066bfd79d diff --git a/dev-python/lit/lit-23.0.0_pre20260321.ebuild b/dev-python/lit/lit-23.0.0_pre20260321.ebuild new file mode 100644 index 000000000000..2cc4b6485aed --- /dev/null +++ b/dev-python/lit/lit-23.0.0_pre20260321.ebuild @@ -0,0 +1,45 @@ +# 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 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + llvm-core/llvm + ) +" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from llvm-core/llvm) + +src_prepare() { + # flaky test + # https://github.com/llvm/llvm-project/issues/72022 + rm tests/progress-bar.py || die + + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/mypy/files/mypy-1.19.1-update-pathspec.patch b/dev-python/mypy/files/mypy-1.19.1-update-pathspec.patch new file mode 100644 index 000000000000..43903435979d --- /dev/null +++ b/dev-python/mypy/files/mypy-1.19.1-update-pathspec.patch @@ -0,0 +1,92 @@ +From f28ac2046639c8661b44e41a66beee13c1c0b040 Mon Sep 17 00:00:00 2001 +From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> +Date: Tue, 6 Jan 2026 11:35:09 +0100 +Subject: [PATCH] Update pathspec to 1.0.0 + +--- + mypy-requirements.txt | 2 +- + mypy/modulefinder.py | 6 +++--- + pyproject.toml | 4 ++-- + test-requirements.txt | 4 ++-- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/mypy-requirements.txt b/mypy-requirements.txt +index 6984d9a5d070c..954bb5a6e46ef 100644 +--- a/mypy-requirements.txt ++++ b/mypy-requirements.txt +@@ -2,6 +2,6 @@ + # and the pins in setup.py + typing_extensions>=4.6.0 + mypy_extensions>=1.0.0 +-pathspec>=0.9.0 ++pathspec>=1.0.0 + tomli>=1.1.0; python_version<'3.11' + librt>=0.6.2; platform_python_implementation != 'PyPy' +diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py +index 469df963b9f54..4ec6665e6f165 100644 +--- a/mypy/modulefinder.py ++++ b/mypy/modulefinder.py +@@ -16,7 +16,7 @@ + from typing import Final, TypeAlias as _TypeAlias + + from pathspec import PathSpec +-from pathspec.patterns.gitwildmatch import GitWildMatchPatternError ++from pathspec.patterns.gitignore import GitIgnorePatternError + + from mypy import pyinfo + from mypy.errors import CompileError +@@ -736,8 +736,8 @@ def find_gitignores(dir: str) -> list[tuple[str, PathSpec]]: + with open(gitignore) as f: + lines = f.readlines() + try: +- return parent_gitignores + [(dir, PathSpec.from_lines("gitwildmatch", lines))] +- except GitWildMatchPatternError: ++ return parent_gitignores + [(dir, PathSpec.from_lines("gitignore", lines))] ++ except GitIgnorePatternError: + print(f"error: could not parse {gitignore}", file=sys.stderr) + return parent_gitignores + return parent_gitignores +diff --git a/pyproject.toml b/pyproject.toml +index 54d2263a03f63..c58d798be55a9 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -7,7 +7,7 @@ requires = [ + # the following is from mypy-requirements.txt/setup.py + "typing_extensions>=4.6.0", + "mypy_extensions>=1.0.0", +- "pathspec>=0.9.0", ++ "pathspec>=1.0.0", + "tomli>=1.1.0; python_version<'3.11'", + "librt>=0.6.2; platform_python_implementation != 'PyPy'", + # the following is from build-requirements.txt +@@ -51,7 +51,7 @@ dependencies = [ + # When changing this, also update build-system.requires and mypy-requirements.txt + "typing_extensions>=4.6.0", + "mypy_extensions>=1.0.0", +- "pathspec>=0.9.0", ++ "pathspec>=1.0.0", + "tomli>=1.1.0; python_version<'3.11'", + "librt>=0.6.2; platform_python_implementation != 'PyPy'", + ] +diff --git a/test-requirements.txt b/test-requirements.txt +index 883930c681a41..05f9163121c14 100644 +--- a/test-requirements.txt ++++ b/test-requirements.txt +@@ -22,7 +22,7 @@ identify==2.6.15 + # via pre-commit + iniconfig==2.1.0 + # via pytest +-librt==0.7.3 ; platform_python_implementation != 'PyPy' ++librt==0.7.3 ; platform_python_implementation != "PyPy" + # via -r mypy-requirements.txt + lxml==6.0.2 ; python_version < "3.15" + # via -r test-requirements.in +@@ -32,7 +32,7 @@ nodeenv==1.9.1 + # via pre-commit + packaging==25.0 + # via pytest +-pathspec==0.12.1 ++pathspec==1.0.0 + # via -r mypy-requirements.txt + platformdirs==4.5.0 + # via virtualenv diff --git a/dev-python/mypy/mypy-1.19.1-r1.ebuild b/dev-python/mypy/mypy-1.19.1-r1.ebuild new file mode 100644 index 000000000000..a924cdf01663 --- /dev/null +++ b/dev-python/mypy/mypy-1.19.1-r1.ebuild @@ -0,0 +1,126 @@ +# 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 +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Optional static typing for Python" +HOMEPAGE=" + https://www.mypy-lang.org/ + https://github.com/python/mypy/ + https://pypi.org/project/mypy/ +" +SRC_URI=" + https://github.com/python/mypy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="native-extensions" + +# stubgen collides with this package: https://bugs.gentoo.org/585594 +RDEPEND=" + !dev-util/stubgen + >=dev-python/librt-0.6.2[${PYTHON_USEDEP}] + >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-4[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RDEPEND} + dev-python/types-psutil[${PYTHON_USEDEP}] + dev-python/types-setuptools[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/attrs-18.0[${PYTHON_USEDEP}] + >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, +# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible +# test files (https://github.com/mypyc/mypyc/issues/1014) +export CCACHE_DISABLE=1 + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.0-no-werror.patch + "${FILESDIR}"/${PN}-1.19.1-update-pathspec.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1 + sed -i -e '/addopts/s:-nauto::' pyproject.toml || die +} + +python_compile() { + local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # the majority of them require Internet (via pip) + mypy/test/testpep561.py + # known broken with assertions enabled + # https://github.com/python/mypy/issues/16043 + mypyc/test/test_external.py::TestExternal::test_c_unit_test + mypyc/test/test_run.py::TestRun::run-classes.test::testDelException + mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing + # these assume that types-docutils are not installed + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable + # TODO + mypy/test/meta/test_parse_data.py + mypy/test/meta/test_update_data.py + ) + case ${EPYTHON} in + python3.1[234]) + EPYTEST_DESELECT+=( + # more assertions, sigh + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment + mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues + mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined + ) + ;; + esac + + # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests + # fail with high COLUMNS values + local -x COLUMNS=80 + + # The tests depend on having in-source compiled extensions if you want to + # test those compiled extensions. Various crucial test dependencies aren't + # installed. Even pyproject.toml is needed because that's where pytest args + # are in. Hack them into the build directory and delete them afterwards. + # See: https://github.com/python/mypy/issues/16143 + local -x MYPY_TEST_PREFIX="${S}" + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + cp -r "${S}"/{conftest.py,pyproject.toml} . || die + + local failed= + nonfatal epytest || failed=1 + + rm conftest.py pyproject.toml || die + + [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" +} diff --git a/dev-python/mypy/mypy-1.19.1-r2.ebuild b/dev-python/mypy/mypy-1.19.1-r2.ebuild new file mode 100644 index 000000000000..c0a9803b7724 --- /dev/null +++ b/dev-python/mypy/mypy-1.19.1-r2.ebuild @@ -0,0 +1,129 @@ +# 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 +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Optional static typing for Python" +HOMEPAGE=" + https://www.mypy-lang.org/ + https://github.com/python/mypy/ + https://pypi.org/project/mypy/ +" +SRC_URI=" + https://github.com/python/mypy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="native-extensions" + +# stubgen collides with this package: https://bugs.gentoo.org/585594 +RDEPEND=" + !dev-util/stubgen + >=dev-python/librt-0.6.2[${PYTHON_USEDEP}] + >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RDEPEND} + dev-python/types-psutil[${PYTHON_USEDEP}] + dev-python/types-setuptools[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/attrs-18.0[${PYTHON_USEDEP}] + >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, +# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible +# test files (https://github.com/mypyc/mypyc/issues/1014) +export CCACHE_DISABLE=1 + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.0-no-werror.patch + "${FILESDIR}"/${PN}-1.19.1-update-pathspec.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1 + sed -i -e '/addopts/s:-nauto::' pyproject.toml || die +} + +python_compile() { + local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # the majority of them require Internet (via pip) + mypy/test/testpep561.py + # known broken with assertions enabled + # https://github.com/python/mypy/issues/16043 + mypyc/test/test_external.py::TestExternal::test_c_unit_test + mypyc/test/test_run.py::TestRun::run-classes.test::testDelException + mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing + # these assume that types-docutils are not installed + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable + # TODO + mypy/test/meta/test_parse_data.py + mypy/test/meta/test_update_data.py + ) + case ${EPYTHON} in + python3.1[234]) + EPYTEST_DESELECT+=( + # more assertions, sigh + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment + mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues + mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined + ) + ;; + esac + + # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests + # fail with high COLUMNS values + local -x COLUMNS=80 + + # The tests depend on having in-source compiled extensions if you want to + # test those compiled extensions. Various crucial test dependencies aren't + # installed. Even pyproject.toml is needed because that's where pytest args + # are in. Hack them into the build directory and delete them afterwards. + # See: https://github.com/python/mypy/issues/16143 + local -x MYPY_TEST_PREFIX="${S}" + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + cp -r "${S}"/{conftest.py,pyproject.toml} . || die + + local failed= + nonfatal epytest || failed=1 + + rm conftest.py pyproject.toml || die + + [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" +} + +pkg_postinst() { + optfeature "dmypy status -v support for memory use" dev-python/psutil +} diff --git a/dev-python/pytest-cov/Manifest b/dev-python/pytest-cov/Manifest index d717fdc2c007..64295588aed8 100644 --- a/dev-python/pytest-cov/Manifest +++ b/dev-python/pytest-cov/Manifest @@ -1,3 +1,2 @@ -DIST pytest_cov-6.2.0.tar.gz 68872 BLAKE2B 2d1b011885db80497a3de6cda907b2d7e9ed6b4f5cdbe7da7e5d824ffc95c47d0603885deb227698c8536c77c98ceb8604c8bc00ac7a5aec73c867c6efad1a37 SHA512 11d4916b2a826981845b93944737813e2683a48e36cfe9c4a2a1b5a3f4009f8a3e87d1606636fdaf813dffc017bd5a81fd1769bbaca5ce360e1e89f51130c934 -DIST pytest_cov-6.3.0.tar.gz 70398 BLAKE2B 8082e94bf2430122f07dcf07c423f2cb4d4c41c1383baad36a6b89a1bb350f30dd8f53ad66efcb56f998d7e35d553fc0f1f41d47bf149cecca13b813100f8b2a SHA512 163b13aae0e335c7158614411f6ae2dc259b0c9de09e324ee909dc07992c2ee45b81e850bd13a0e00bf211af1a5262ef6cc2883c883b739a2be2e0efef5aee7c DIST pytest_cov-7.0.0.tar.gz 54328 BLAKE2B e4c3e01a2a7f09bbbf53889d984e835d40d50ed89616f43027ecdffc299a5f917f6cdcaf76b87053e687f39d5eca951d8bf3602d1cf1ac214017cf7074b5163b SHA512 6a3822209b139b06f175e20549f997c532d1c1d9bc79fa3fdff9dca8ea870a110cf75056ddfb68fc447018033bd223c0de492be9a8c756a02739b70d3f2772a7 +DIST pytest_cov-7.1.0.tar.gz 55592 BLAKE2B 9b0a81a8242e1a6204c971edb3d7693eef04dcbf88d0dbc382a314e9ea55918fd694db8bdb72a260e29adab1eb8c981e3d7a51fdea12f61f946f87fdcecc9ae7 SHA512 914e24466a4049b1ee712e5cda516e7bb004b2fdd00851e448eaec14110eaceba5a965728183dcf36f2a2b25bf45ea9b662b8aa89b999c15929c4cc992af11bb diff --git a/dev-python/pytest-cov/pytest-cov-6.2.0.ebuild b/dev-python/pytest-cov/pytest-cov-6.2.0.ebuild deleted file mode 100644 index 4e1bd2525271..000000000000 --- a/dev-python/pytest-cov/pytest-cov-6.2.0.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_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="pytest plugin for coverage reporting" -HOMEPAGE=" - https://github.com/pytest-dev/pytest-cov - https://pypi.org/project/pytest-cov/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND=" - >=dev-python/py-1.4.22[${PYTHON_USEDEP}] - >=dev-python/pytest-3.6[${PYTHON_USEDEP}] - >=dev-python/coverage-6.4.4-r1[${PYTHON_USEDEP}] -" -# NB: xdist is also used directly in the test suite -BDEPEND=" - test? ( - dev-python/fields[${PYTHON_USEDEP}] - >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx docs \ - dev-python/furo -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_test() { - # NB: disabling all plugins speeds tests up a lot - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local -x PYTEST_PLUGINS=pytest_cov.plugin,xdist.plugin,xdist.looponfail - - # https://github.com/pytest-dev/pytest-cov/issues/517 - local -x PYTHONPATH=$(python_get_sitedir):${PYTHONPATH} - local -x PYTHONUSERBASE=/usr - - local EPYTEST_DESELECT=( - # TODO - tests/test_pytest_cov.py::test_filterwarnings_error - ) - - epytest -} diff --git a/dev-python/pytest-cov/pytest-cov-6.3.0.ebuild b/dev-python/pytest-cov/pytest-cov-7.1.0.ebuild index 042bfacf7f15..3d4cdcd4da77 100644 --- a/dev-python/pytest-cov/pytest-cov-6.3.0.ebuild +++ b/dev-python/pytest-cov/pytest-cov-7.1.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=setuptools +DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi @@ -19,12 +19,13 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" + >=dev-python/coverage-7.10.6[${PYTHON_USEDEP}] >=dev-python/pluggy-1.2[${PYTHON_USEDEP}] - >=dev-python/pytest-6.2.5[${PYTHON_USEDEP}] - >=dev-python/coverage-6.4.4-r1[${PYTHON_USEDEP}] + >=dev-python/pytest-7[${PYTHON_USEDEP}] " # NB: xdist is also used directly in the test suite BDEPEND=" + dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}] test? ( dev-python/fields[${PYTHON_USEDEP}] >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}] @@ -38,6 +39,7 @@ distutils_enable_sphinx docs \ EPYTEST_PLUGIN_LOAD_VIA_ENV=1 EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 EPYTEST_XDIST=1 distutils_enable_tests pytest @@ -48,9 +50,21 @@ python_test() { local -x PYTHONUSERBASE=/usr local EPYTEST_DESELECT=( + # no celery in ::gentoo + tests/test_pytest_cov.py::test_celery # TODO tests/test_pytest_cov.py::test_filterwarnings_error ) + case ${EPYTHON} in + python3.14*) + EPYTEST_DESELECT+=( + # https://github.com/pytest-dev/pytest-cov/issues/719 + # (skipped previously) + tests/test_pytest_cov.py::test_contexts + ) + ;; + esac + epytest } diff --git a/dev-python/pytest-subprocess/Manifest b/dev-python/pytest-subprocess/Manifest index 3bf61bb49e68..998c5866a63c 100644 --- a/dev-python/pytest-subprocess/Manifest +++ b/dev-python/pytest-subprocess/Manifest @@ -1 +1,2 @@ DIST pytest-subprocess-1.5.3.gh.tar.gz 36830 BLAKE2B 5bd696971ebf97722e0d5712ec57e8642e32187d22b91630c38f0945fc2b1ae35697c22efa4a8104406306482a2231dbe063c4607ed4c616cc3a564bb4b141fd SHA512 639195fdc77ed27efcc7fd7557cadd4f631b81de640754a4b4bcfbc0a9cc6f13efa3b4c38a59a49b594b9cc84baf1cfa97cf1a19e9be7ab7888854cf0057d355 +DIST pytest-subprocess-1.5.4.gh.tar.gz 39954 BLAKE2B 55998187a3492dd418d394ed373b29238ff26a2a82e806cf0833adf5d1ef9a8003f2f1677f916528ff414faba5ef6f739740c999f2784538717aca8563a5ad90 SHA512 c1f4e7ca0c318a47caf74886f7352983e5bc90b8d29d206649beb570e32da1cd48c94f435aee2e802c1b66f79548b1b3846fe573a8b1df28a082b3369b1f664d diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild new file mode 100644 index 000000000000..e9dfe175fd3c --- /dev/null +++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.4.ebuild @@ -0,0 +1,46 @@ +# 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 + +DESCRIPTION="A plugin to fake subprocess for pytest" +HOMEPAGE=" + https://github.com/aklajnert/pytest-subprocess/ + https://pypi.org/project/pytest-subprocess/ +" +SRC_URI=" + https://github.com/aklajnert/pytest-subprocess/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/anyio[${PYTHON_USEDEP}] + >=dev-python/docutils-0.12[${PYTHON_USEDEP}] + >=dev-python/pygments-2.0[${PYTHON_USEDEP}] + >=dev-python/pytest-asyncio-0.15.1[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-{asyncio,rerunfailures} ) +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # broken in plain venv + # https://github.com/aklajnert/pytest-subprocess/issues/201 + 'tests/test_examples.py::test_documentation[README.rst]' +) diff --git a/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild b/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild index 8fcbf7a1d85a..7935c476c332 100644 --- a/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild +++ b/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~s390" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/dev-python/vcs-versioning/vcs-versioning-1.0.1.ebuild b/dev-python/vcs-versioning/vcs-versioning-1.0.1.ebuild index 75fe8c038266..680130210baf 100644 --- a/dev-python/vcs-versioning/vcs-versioning-1.0.1.ebuild +++ b/dev-python/vcs-versioning/vcs-versioning-1.0.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~s390" RDEPEND=" >=dev-python/packaging-20[${PYTHON_USEDEP}] |
