diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-12 07:00:13 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-12 07:00:13 +0000 |
| commit | eb4946f2b11f28f62389754fd8a9ae346f5d5af6 (patch) | |
| tree | e8ed6f62eaa293e9ba13b69c27e9bfa36e95b95f /dev-python | |
| parent | 0175b1322595fb641282477da1302ac249c58a26 (diff) | |
| download | baldeagleos-repo-eb4946f2b11f28f62389754fd8a9ae346f5d5af6.tar.gz baldeagleos-repo-eb4946f2b11f28f62389754fd8a9ae346f5d5af6.tar.xz baldeagleos-repo-eb4946f2b11f28f62389754fd8a9ae346f5d5af6.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
42 files changed, 909 insertions, 41 deletions
diff --git a/dev-python/adblock/adblock-0.6.0-r1.ebuild b/dev-python/adblock/adblock-0.6.0-r1.ebuild index e14bf9f83ead..e6ca84282459 100644 --- a/dev-python/adblock/adblock-0.6.0-r1.ebuild +++ b/dev-python/adblock/adblock-0.6.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -71,7 +71,7 @@ CRATES=" " DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit cargo distutils-r1 DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust" diff --git a/dev-python/babelfish/babelfish-9999.ebuild b/dev-python/babelfish/babelfish-9999.ebuild deleted file mode 100644 index 152ce20901c0..000000000000 --- a/dev-python/babelfish/babelfish-9999.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 git-r3 - -DESCRIPTION="Python library to work with countries and languages" -HOMEPAGE=" - https://github.com/Diaoul/babelfish/ - https://pypi.org/project/babelfish/ -" -EGIT_REPO_URI="https://github.com/Diaoul/babelfish.git" - -LICENSE="BSD" -SLOT="0" - -distutils_enable_tests pytest diff --git a/dev-python/cffi/cffi-1.17.1.ebuild b/dev-python/cffi/cffi-1.17.1.ebuild index 579a1136bf21..b0724e385a48 100644 --- a/dev-python/cffi/cffi-1.17.1.ebuild +++ b/dev-python/cffi/cffi-1.17.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -8,7 +8,7 @@ DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools # DO NOT ADD pypy to PYTHON_COMPAT # pypy bundles a modified version of cffi. Use python_gen_cond_dep instead. -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 toolchain-funcs pypi diff --git a/dev-python/django-allauth/Manifest b/dev-python/django-allauth/Manifest index b4c705778ae0..4c6521b54f63 100644 --- a/dev-python/django-allauth/Manifest +++ b/dev-python/django-allauth/Manifest @@ -1,2 +1,2 @@ -DIST django-allauth-65.6.0.gh.tar.gz 1393137 BLAKE2B bd05d4181f3f8cadd02d475a23000b76bd934d986c29cf8e65e7e2ee23acb808a69f1e1848e75a4f92ba0aebae8298b61cc362037082d41060aa024e435d25f5 SHA512 e4276c72d4d5b1ae8892046eaa662a74822ad6e48f2d7c1ebcfc426c529948c785dc23779ef6d15bd9911b9c6cd3bd41ef291b25b816944851d3a52eb38d828d DIST django-allauth-65.7.0.gh.tar.gz 1394096 BLAKE2B 0b6a0dbb8ea534f9ff27188a39a4d2a5bffd8897df1a3a69bd8c2ef9328f2fb04a8b8c288d99b0573be36e7e445609fdc6fb69e508be79ff97996b92ede5ac17 SHA512 7c1b4dadd72017b173b898e50c4c1d3365ef433facdd8b92281d158b594c51b63a406a41b0669c93daf22b65a9a7903946f179c1f56010051186aa54d338163e +DIST django-allauth-65.8.0.gh.tar.gz 1416160 BLAKE2B b3cbc949513185ac35e7a0018920b318c5216cad6cb1ddd385444b4502329548c129e0b2974dd3e07fc35497c13c788523e18841aa2e68ed8c04060e213fe7f1 SHA512 0c5cdf126fe9eda940058582c838cbe4de5d85d76bdb16399d0d5fc76b21df082ddc0aebc9f53cb59186e5434bb32b4978b18d7bd043f4fe61f49635fc0ed1aa diff --git a/dev-python/django-allauth/django-allauth-65.6.0.ebuild b/dev-python/django-allauth/django-allauth-65.8.0.ebuild index 107063d2408a..107063d2408a 100644 --- a/dev-python/django-allauth/django-allauth-65.6.0.ebuild +++ b/dev-python/django-allauth/django-allauth-65.8.0.ebuild diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest index b098fc2be6c5..b19bc31cfbf5 100644 --- a/dev-python/elementpath/Manifest +++ b/dev-python/elementpath/Manifest @@ -1,2 +1,3 @@ DIST elementpath-4.8.0.tar.gz 358528 BLAKE2B 95fae0de70c310b68a9ddd8843926abdbddcaa5d54e5e3d7bd3dcba104321ba421d8ef2ab4c16a1d5db3973232d8999e10249c3e8871af42c4b3690f1306396a SHA512 2ff23d7d0dfedc02cb8cb4d8f8151e4b4a4976cbf8ba2fc41f67e1d89778efab20b09ba6fed116f9a10a64dcde3c185e7ee6ffc696e750d37d5bac0695d37396 DIST elementpath-5.0.0.tar.gz 361913 BLAKE2B 5fa969b66dba6d2ed9f8b385c21866c0f852b8c697b869d1ec8f7334c7d1895bafb18f2e9f84ae8e492e08f4fac737d672dc2bc0dbdce70f2471bd7dc9cc5f7e SHA512 16011451a32f24ac3c104896d4b23fe569835cf40df87bcb9254239a32ec094f3faa1889a39b26e4a48774185201156e8c3b38a09f180e979911b5b637c3a760 +DIST elementpath-5.0.1.tar.gz 363233 BLAKE2B 16b8a5179f3ec5a1037395bbf63e39169616186f7e004c41bad449bccaa487f8f8c8c257fd18a70cb7d92720c4baed4a4cf79b723ec0c19dca619f7b846400dd SHA512 a7ba1d6e5cc22244660f0ac57d8644e8222fcc234cb24377cb2cad233e7d8abd5f0616f544eb70e5fa24e7a35dcecb2ea434b5b1d5ddc9f9fad9777125bd906a diff --git a/dev-python/elementpath/elementpath-5.0.1.ebuild b/dev-python/elementpath/elementpath-5.0.1.ebuild new file mode 100644 index 000000000000..74ce4278ffde --- /dev/null +++ b/dev-python/elementpath/elementpath-5.0.1.ebuild @@ -0,0 +1,33 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml" +HOMEPAGE=" + https://github.com/sissaschool/elementpath/ + https://pypi.org/project/elementpath/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + test? ( + dev-python/lxml[${PYTHON_USEDEP}] + >=dev-python/xmlschema-4.0.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # fails for some reason, more fit for upstream testing anyway + tests/test_typing.py +) diff --git a/dev-python/fullmoon/fullmoon-1.0.2.ebuild b/dev-python/fullmoon/fullmoon-1.0.2.ebuild index 0f5650468da5..f7c66908bb98 100644 --- a/dev-python/fullmoon/fullmoon-1.0.2.ebuild +++ b/dev-python/fullmoon/fullmoon-1.0.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 pypi DESCRIPTION="Determine full moon occurences" diff --git a/dev-python/gherkin-official/gherkin-official-32.1.1.ebuild b/dev-python/gherkin-official/gherkin-official-32.1.1.ebuild index 0dee292386e2..1a767a76b2ae 100644 --- a/dev-python/gherkin-official/gherkin-official-32.1.1.ebuild +++ b/dev-python/gherkin-official/gherkin-official-32.1.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 DESCRIPTION="Gherkin parser/compiler for Python" diff --git a/dev-python/lark/files/lark-1.2.2-py314.patch b/dev-python/lark/files/lark-1.2.2-py314.patch new file mode 100644 index 000000000000..aade3ae30229 --- /dev/null +++ b/dev-python/lark/files/lark-1.2.2-py314.patch @@ -0,0 +1,38 @@ +https://github.com/lark-parser/lark/issues/1480 +https://github.com/lark-parser/lark/pull/1483 + +From 4809ce89ca005b71f6db930c4aabf6496a502795 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com> +Date: Wed, 6 Nov 2024 16:47:11 +0100 +Subject: [PATCH] Wrap functools.partial in staticmethod() to add compatibility + with Python 3.14 + +Fixes: #1480 +--- + tests/test_trees.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tests/test_trees.py b/tests/test_trees.py +index 1f69869e..07687ac0 100644 +--- a/tests/test_trees.py ++++ b/tests/test_trees.py +@@ -254,7 +254,7 @@ def ab_method(self, a, b): + ab_partialmethod = partialmethod(ab_for_partialmethod, 1) + set_union = set(["a"]).union + static_add = staticmethod(add) +- partial_reduce_mul = partial(reduce, mul) ++ partial_reduce_mul = staticmethod(partial(reduce, mul)) + + custom_callable = CustomCallable() + +@@ -355,8 +355,8 @@ def test(prefix, s, postfix): + + @v_args(inline=True) + class T(Transformer): +- a = functools.partial(test, "@", postfix="!") +- b = functools.partial(lambda s: s + "!") ++ a = staticmethod(functools.partial(test, "@", postfix="!")) ++ b = staticmethod(functools.partial(lambda s: s + "!")) + + res = T().transform(tree) + assert res.children == ["@TEST1!", "test2!"] diff --git a/dev-python/lark/lark-1.2.2.ebuild b/dev-python/lark/lark-1.2.2.ebuild index 469af8d10e69..ed8430b1143c 100644 --- a/dev-python/lark/lark-1.2.2.ebuild +++ b/dev-python/lark/lark-1.2.2.ebuild @@ -28,6 +28,11 @@ BDEPEND=" ) " +PATCHES=( + # https://github.com/lark-parser/lark/pull/1483 + "${FILESDIR}"/${P}-py314.patch +) + distutils_enable_tests pytest python_test() { diff --git a/dev-python/libarchive-c/libarchive-c-5.2.ebuild b/dev-python/libarchive-c/libarchive-c-5.2.ebuild index 0e83ad26f8cd..6db6ee05c0a4 100644 --- a/dev-python/libarchive-c/libarchive-c-5.2.ebuild +++ b/dev-python/libarchive-c/libarchive-c-5.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 diff --git a/dev-python/multidict/multidict-6.4.3.ebuild b/dev-python/multidict/multidict-6.4.3.ebuild index d36789b94915..1041d0b99acd 100644 --- a/dev-python/multidict/multidict-6.4.3.ebuild +++ b/dev-python/multidict/multidict-6.4.3.ebuild @@ -24,11 +24,6 @@ SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="+native-extensions" -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}] - ' 3.10) -" BDEPEND=" test? ( dev-python/objgraph[${PYTHON_USEDEP}] diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest index 11913728f5c8..91f8cb6516e4 100644 --- a/dev-python/nuitka/Manifest +++ b/dev-python/nuitka/Manifest @@ -1,2 +1,3 @@ DIST Nuitka-2.7.1.tar.gz 3882402 BLAKE2B 0772125d02af375ae6fc2ee03451dcd781cbe51b388f28cd02809394487edba8d50f18f72a71cfc169017dc141b1c4cdf31a159a93f114dd5d53ccbc6a69a32f SHA512 0ac4fa937120d82186fc233eb37b8707c553fab0c0e51cd2249961efe60d5b5eb0fbe2569ca608e89a15acdc2107102cc62b84719eb22aa63d23a90ce8c575c4 +DIST Nuitka-2.7.2.tar.gz 3883274 BLAKE2B 6f7d35bbe85aee77419a4ebcd28bcc255220c33e091f0c8a7474330551fea476ae1fe3a42f33432aa335b40e7ebb252bad185b7cac2df4ddf7c5cf0c59259adf SHA512 c66d6afe8b05b9d74c1d66b394196a005913d7d3fb0ad0efe8ec9a4256e671cf19ffff19b56c2597cca8ef8e61e484c697a3181590b7c8589b56af3cbbee5944 DIST Nuitka-2.7.tar.gz 3885354 BLAKE2B 71fb24778148b384193e63846f1c01c1725688be25ea700c1a7810dbc4248ea6417d7227ac38862ce68d848b3ce097cee220435958ae8688b21076f77eefb240 SHA512 cc2a1bc8c6a47e60f1e527316f522d34d5e89019660e44e84736d91cc80a00babf95cebfc682374e82adf1b7c1a0536c6505a74d9903ecbbc85442575841710c diff --git a/dev-python/nuitka/nuitka-2.7.2.ebuild b/dev-python/nuitka/nuitka-2.7.2.ebuild new file mode 100644 index 000000000000..c97d7f3c6ae8 --- /dev/null +++ b/dev-python/nuitka/nuitka-2.7.2.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 flag-o-matic optfeature pypi + +DESCRIPTION="Python to native compiler" +HOMEPAGE=" + https://nuitka.net/ + https://github.com/Nuitka/Nuitka/ + https://pypi.org/project/Nuitka/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-build/scons[${PYTHON_USEDEP}] + >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}] + >=dev-python/zstandard-0.15[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +distutils-r1_src_prepare() { + # remove vendored version of SCons that is Python2 only + # this should be removed when upstream removes support for Python2 + rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die + eapply_user +} + +python_install() { + distutils-r1_python_install + doman doc/nuitka.1 doc/nuitka-run.1 +} + +python_test() { + append-ldflags -Wl,--no-warn-search-mismatch + ./tests/basics/run_all.py search || die +} + +pkg_postinst() { + optfeature "support for stand-alone executables" dev-util/patchelf +} diff --git a/dev-python/parse-type/parse-type-0.6.4.ebuild b/dev-python/parse-type/parse-type-0.6.4.ebuild index da2a23b911a5..b3be110dc449 100644 --- a/dev-python/parse-type/parse-type-0.6.4.ebuild +++ b/dev-python/parse-type/parse-type-0.6.4.ebuild @@ -1,10 +1,10 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 pypi DESCRIPTION="Extension to the parse module" diff --git a/dev-python/pillow/files/pillow-11.2.1-py314.patch b/dev-python/pillow/files/pillow-11.2.1-py314.patch new file mode 100644 index 000000000000..b9fe40d47046 --- /dev/null +++ b/dev-python/pillow/files/pillow-11.2.1-py314.patch @@ -0,0 +1,49 @@ +https://github.com/python-pillow/Pillow/pull/8948 +https://github.com/python-pillow/Pillow/commit/3c71559804e661a5f727e2007a5be51f26d9af27 + +From c7193f74fc5ce1a0fe1742a0845165024be45ef5 Mon Sep 17 00:00:00 2001 +From: Andrew Murray <radarhere@users.noreply.github.com> +Date: Thu, 8 May 2025 20:10:34 +1000 +Subject: [PATCH 1/3] Updated error message + +--- + Tests/test_image_resample.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Tests/test_image_resample.py b/Tests/test_image_resample.py +index ce6209c0da4..73b25ed51b2 100644 +--- a/Tests/test_image_resample.py ++++ b/Tests/test_image_resample.py +@@ -462,7 +462,7 @@ def test_wrong_arguments(self, resample: Image.Resampling) -> None: + im.resize((32, 32), resample, (20, 20, 20, 100)) + im.resize((32, 32), resample, (20, 20, 100, 20)) + +- with pytest.raises(TypeError, match="must be sequence of length 4"): ++ with pytest.raises(TypeError, match="must be (sequence|tuple) of length 4"): + im.resize((32, 32), resample, (im.width, im.height)) # type: ignore[arg-type] + + with pytest.raises(ValueError, match="can't be negative"): + +From 215069af5ddec6f4d3b92b8bc7554a10e2efb669 Mon Sep 17 00:00:00 2001 +From: Andrew Murray <radarhere@users.noreply.github.com> +Date: Thu, 8 May 2025 22:13:13 +1000 +Subject: [PATCH 3/3] Added support for Python 3.14 + +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 5ecd6b8160a..5d41e27d981 100644 +--- a/setup.py ++++ b/setup.py +@@ -46,7 +46,7 @@ def get_version() -> str: + ZLIB_ROOT = None + FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ + +-if sys.platform == "win32" and sys.version_info >= (3, 14): ++if sys.platform == "win32" and sys.version_info >= (3, 15): + import atexit + + atexit.register( + diff --git a/dev-python/pillow/pillow-11.2.1.ebuild b/dev-python/pillow/pillow-11.2.1.ebuild index da3acbbff932..e7a87802abd5 100644 --- a/dev-python/pillow/pillow-11.2.1.ebuild +++ b/dev-python/pillow/pillow-11.2.1.ebuild @@ -81,6 +81,8 @@ src_prepare() { local PATCHES=( # https://github.com/python-pillow/pillow/pull/7634 "${FILESDIR}/${PN}-10.2.0-cross.patch" + # https://github.com/python-pillow/Pillow/pull/8948 + "${FILESDIR}/${PN}-11.2.1-py314.patch" ) distutils-r1_src_prepare diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 53c1f61689fd..f0bc0ed331c0 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -1,3 +1,4 @@ DIST psycopg-3.2.6.gh.tar.gz 558574 BLAKE2B a994f6fb3ee85c42371b848d0947858897a9a1f7256486aa964c8c7634b198b9229a53626c526cb85218a8468308dd9e7e605c1fc1058a08c7fb7183aed83b8d SHA512 99472813c9b6542611b15f0dd52d418a7e3f01cf0447a9a58c1d4135249fb526ca25f7569cc5d7d8a2a99184dccca52f485ee9cc9514e6ada1ebd526f8d62305 DIST psycopg-3.2.7.gh.tar.gz 562235 BLAKE2B 26f661b9072e2db610ee237dc4a794636ba44a17de3248f018787ed46c34b8087115a91bf2fd06c817c15ba1e2d3da93120f6fd23fcc164d90154928e7d2f1cc SHA512 76f7e8a515b6a7925811a5451eea2fa827b7ba52976faff0dd67c79e8354e83969176a504c1b34993c8a81f0b5ee9cdaf2461acbfc6a047884d47480b08dfc77 +DIST psycopg-3.2.8.gh.tar.gz 564688 BLAKE2B 846845d05e4646cc900e4797babaf3cb941094d295b83d5c57aada071eed9a0367e36d8fbd4f43cc7a3f1f84ccc2a4a277fede244177abe53191baaea5603c28 SHA512 b705eca31d1ca63cb44e1e029a7bacb3dfa8de8639dd9e99bda4ed86bfa8f02d08e01ec716fa51fbad04ccb16683f3c3db10ee82fcb0804f09b67e3fe2a9118c DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 diff --git a/dev-python/psycopg/psycopg-3.2.8.ebuild b/dev-python/psycopg/psycopg-3.2.8.ebuild new file mode 100644 index 000000000000..93518ee84ce8 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.2.8.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="PostgreSQL database adapter for Python" +HOMEPAGE=" + https://www.psycopg.org/psycopg3/ + https://github.com/psycopg/psycopg/ + https://pypi.org/project/psycopg/ +" +SRC_URI=" + https://github.com/psycopg/psycopg/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" + +DEPEND=" + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/anyio-4.0[${PYTHON_USEDEP}] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_compile() { + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi + cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die + + initdb -D "${T}"/pgsql || die + # TODO: random port + pg_ctl -w -D "${T}"/pgsql start \ + -o "-h '' -k '${T}'" || die + createdb -h "${T}" test || die + + local -x PSYCOPG_TEST_DSN="host=${T} dbname=test" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests for the psycopg_pool package + tests/pool + # some broken mypy magic + tests/test_module.py::test_version + tests/test_module.py::test_version_c + tests/test_typing.py + tests/crdb/test_typing.py + # TODO, relying on undefined ordering in Python? + tests/test_dns_srv.py::test_srv + ) + + case ${ARCH} in + arm|x86) + EPYTEST_DESELECT+=( + # TODO + tests/types/test_numpy.py::test_classes_identities + ) + ;; + esac + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + impls+=( c ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -p anyio -k "not leak" \ + -m "not timing and not slow and not flakey" + done +} diff --git a/dev-python/pygments/pygments-2.19.1.ebuild b/dev-python/pygments/pygments-2.19.1.ebuild index 75c01ab49409..0aa196b19267 100644 --- a/dev-python/pygments/pygments-2.19.1.ebuild +++ b/dev-python/pygments/pygments-2.19.1.ebuild @@ -40,6 +40,18 @@ EPYTEST_DESELECT=( EPYTEST_XDIST=1 distutils_enable_tests pytest +python_test() { + if [[ ${EPYTHON} == python3.14* ]] ; then + EPYTEST_IGNORE+=( + # https://github.com/python/cpython/issues/133653 + # https://github.com/python/cpython/pull/133813 + tests/test_cmdline.py + ) + fi + + epytest +} + src_install() { distutils-r1_src_install newbashcomp external/pygments.bashcomp pygmentize diff --git a/dev-python/pylsqpack/Manifest b/dev-python/pylsqpack/Manifest index 25577cb2adc8..62e28b515605 100644 --- a/dev-python/pylsqpack/Manifest +++ b/dev-python/pylsqpack/Manifest @@ -1,2 +1,3 @@ DIST pylsqpack-0.3.19.tar.gz 660771 BLAKE2B b4b8ded7022eadf581270465446a6e0df2d241d18cacdc4fcfd725c865c02f17b5af5cbfd8eba65217ef9db1f24babe06faebc16c6cce68042d452dce03ffb1f SHA512 7ed2c24dcacb099d00100c33ae4ede3bf19488d17920267cfe934eb069f3fc3d3a62b275c2a9d3a23ece42f1c09df6cf736cea47b798959a2a09d27dd8eda97d DIST pylsqpack-0.3.20.tar.gz 676273 BLAKE2B ee031fdc56f8193b9f0b13c806f88d76d1e1bc2c8d6b1a5530a9630c07912251e9f9010d958c1f7a5c86aca895533768ead907573723544d0a662482051d131a SHA512 42cb9276ba4a2ffdbd1dd96813c4ab27881c2fe35616fa32e760d2341c71f1065db4959bde1a444df61ca85399870b9a736ed16e8a2768c96edee2df11bdb063 +DIST pylsqpack-0.3.22.tar.gz 676356 BLAKE2B 1ad8283b00273f4a60a3edd7d125d3b9a3efc61deff209f709908ad16ed68c658158247443e643ef38b53e118076e23d651134dc91974bd79fa94d7d1496d328 SHA512 16b6abee85c9d2b02b50d9edd047018439cfb64e65ee0c065f070ddd673235fef99795c31a7fe8fe48b242071c20cbdf0ba5d76d59838cec593e57c3a99ee01e diff --git a/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild b/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild new file mode 100644 index 000000000000..d23897dbc387 --- /dev/null +++ b/dev-python/pylsqpack/pylsqpack-0.3.22.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python wrapper for the ls-qpack QPACK library" +HOMEPAGE=" + https://github.com/aiortc/pylsqpack/ + https://pypi.org/project/pylsqpack/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +distutils_enable_tests pytest + +DEPEND=" + dev-libs/ls-qpack:= +" +RDEPEND=" + ${DEPEND} +" + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-0.3.20-unbundle.patch" + ) + + distutils-r1_src_prepare + rm -r vendor || die +} diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest index e5452f5b4e70..f10751f56670 100644 --- a/dev-python/pypdf/Manifest +++ b/dev-python/pypdf/Manifest @@ -1,2 +1,3 @@ DIST pypdf-5.4.0.gh.tar.gz 8046505 BLAKE2B 8816362edd28d0c0dc0ed2abbec56f0adfdf9377fe3770f494cf1dc301a2636a4ca579c86a6fa8ee65532965f347cc2b8c08df074131f7373d1ef6f9ab5125e6 SHA512 530853e2839164c3159c5d6b466ddd95859af2ed5473d7d1c1fbf8350d2860685439565cc50bf093fa4c662a04775660fd3e6e70f5fd134fcb9cdea93c88eac2 +DIST pypdf-5.5.0.gh.tar.gz 8057519 BLAKE2B 4088f1332e7f34d796db899e500729ccabc427e4bbd3fb1d7dd75d3883c546cc2b5facb95e6e54bd9f62367e1fc2a0e208d97bf6e3abc3f3ff2d64a5fe8435b0 SHA512 7e0592395ea673429fadf8308f26209408e1a4931d2544a4497e02e2b222635eb97dd11f0696021e776d0c481d0febd2f9186e0812f70f248e657d4aa1bfc0e7 DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3 diff --git a/dev-python/pypdf/pypdf-5.5.0.ebuild b/dev-python/pypdf/pypdf-5.5.0.ebuild new file mode 100644 index 000000000000..2bb6f986c245 --- /dev/null +++ b/dev-python/pypdf/pypdf-5.5.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753 +DESCRIPTION="Python library to work with PDF files" +HOMEPAGE=" + https://pypi.org/project/pypdf/ + https://github.com/py-pdf/pypdf/ +" +SRC_URI=" + https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + test? ( + https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz + -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz + ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +BDEPEND=" + test? ( + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_unpack() { + default + if use test; then + mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die + fi +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -m "not enable_socket" +} diff --git a/dev-python/pytest-regressions/pytest-regressions-2.7.0.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.7.0.ebuild index 707eead5bf11..50134c4144a3 100644 --- a/dev-python/pytest-regressions/pytest-regressions-2.7.0.ebuild +++ b/dev-python/pytest-regressions/pytest-regressions-2.7.0.ebuild @@ -57,5 +57,12 @@ python_test() { ) fi + if [[ ${EPYTHON} == python3.14* ]] ; then + EPYTEST_DESELECT+=( + # Sensitive to warnings + tests/test_data_regression.py::test_regen_all + ) + fi + epytest } diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest index 02343cc92769..bd4bcecb366e 100644 --- a/dev-python/python-engineio/Manifest +++ b/dev-python/python-engineio/Manifest @@ -1 +1,2 @@ DIST python-engineio-4.12.0.gh.tar.gz 319601 BLAKE2B 3da3382dd568f74ed5a0362b36641cd9cbe60fd0370e4e4172455251250ad6470662e1bfdb1903eb7b2dd934cbb895994e407ab8487a80a9dd2f629c87a55f89 SHA512 4d4996183b837b656566bc94f17f8bed7551a18d46985cb83aca44f040a1c9031ad48abac8f33ec63826cff506bb015826a4c080d3d42d47ee684d67948d0708 +DIST python-engineio-4.12.1.gh.tar.gz 319719 BLAKE2B 830fbd7f707aa8929ecd0c945d4d642b0780d812fb5033c0a2e632389cfba6ce0b1f186efef6358187eaf5d0cdec849ceeed9811c5b151f5d071be8d8c48a1df SHA512 025a85412c2fa706b3b660885f75b44d61dfdc9ad214346dd0fb7e739b7984488ba43140fc8836abf2b2339e5d9b5975bfc7ca26b8676522992a4bcb2c4439b6 diff --git a/dev-python/python-engineio/python-engineio-4.12.1.ebuild b/dev-python/python-engineio/python-engineio-4.12.1.ebuild new file mode 100644 index 000000000000..af34606f1566 --- /dev/null +++ b/dev-python/python-engineio/python-engineio-4.12.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Python implementation of the Engine.IO realtime server" +HOMEPAGE=" + https://python-engineio.readthedocs.io/ + https://github.com/miguelgrinberg/python-engineio/ + https://pypi.org/project/python-engineio/" +SRC_URI=" + https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}] + dev-python/websocket-client[${PYTHON_USEDEP}] +" +# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug +BDEPEND=" + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/tornado[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest +distutils_enable_sphinx docs \ + dev-python/alabaster + +python_test() { + local EPYTEST_IGNORE=( + # eventlet is masked for removal + tests/common/test_async_eventlet.py + ) + + local EPYTEST_DESELECT=( + # also eventlet + tests/common/test_server.py::TestServer::test_async_mode_eventlet + tests/common/test_server.py::TestServer::test_connect + tests/common/test_server.py::TestServer::test_service_task_started + tests/common/test_server.py::TestServer::test_upgrades + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio +} diff --git a/dev-python/python-tlsh/python-tlsh-4.8.2-r1.ebuild b/dev-python/python-tlsh/python-tlsh-4.8.2-r1.ebuild index 5cef11a1f636..2d5ddd716d94 100644 --- a/dev-python/python-tlsh/python-tlsh-4.8.2-r1.ebuild +++ b/dev-python/python-tlsh/python-tlsh-4.8.2-r1.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 diff --git a/dev-python/regex/regex-2024.11.6.ebuild b/dev-python/regex/regex-2024.11.6.ebuild index 13ac2526d34b..c620c5aaf5ed 100644 --- a/dev-python/regex/regex-2024.11.6.ebuild +++ b/dev-python/regex/regex-2024.11.6.ebuild @@ -7,7 +7,7 @@ DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools # pypy isn't supported upstream because of its UTF8 representation for strings # See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187. -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 pypi diff --git a/dev-python/rencode/files/rencode-1.0.6-cython-3.1.0.patch b/dev-python/rencode/files/rencode-1.0.6-cython-3.1.0.patch new file mode 100644 index 000000000000..f77b9174dcf6 --- /dev/null +++ b/dev-python/rencode/files/rencode-1.0.6-cython-3.1.0.patch @@ -0,0 +1,26 @@ +From db3ad169c16e00e39ebc72dc2938828f24299d56 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sun, 11 May 2025 22:17:27 +0200 +Subject: [PATCH] rencode/rencode.pyx: Fix compilation for Cython 3.1.0 + +https://github.com/aresch/rencode/issues/31 +--- + rencode/rencode.pyx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rencode/rencode.pyx b/rencode/rencode.pyx +index 3db1180..494919b 100644 +--- a/rencode/rencode.pyx ++++ b/rencode/rencode.pyx +@@ -275,7 +275,7 @@ cdef object MIN_SIGNED_LONGLONG = -MAX_SIGNED_LONGLONG + + cdef encode(char **buf, unsigned int *pos, data): + t = type(data) +- if t == int or t == long: ++ if t == int: + if -128 <= data < 128: + encode_char(buf, pos, data) + elif -32768 <= data < 32768: +-- +2.49.0 + diff --git a/dev-python/rencode/rencode-1.0.6-r4.ebuild b/dev-python/rencode/rencode-1.0.6-r4.ebuild new file mode 100644 index 000000000000..5186ca79d9c4 --- /dev/null +++ b/dev-python/rencode/rencode-1.0.6-r4.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="similar to bencode from the BitTorrent project" +HOMEPAGE=" + https://github.com/aresch/rencode/ + https://pypi.org/project/rencode/ +" +SRC_URI=" + https://github.com/aresch/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/aresch/rencode/commit/16e61e1ff4294bddb7c881536d3d454355c78969 + "${FILESDIR}/${P}-drop-wheel-dependency.patch" + # bug #812437 + "${FILESDIR}/${P}-fix-CVE-2021-40839.patch" + # bug #955434 + "${FILESDIR}"/${P}-cython-3.1.0.patch +) + +python_test() { + rm -rf rencode || die + epytest +} diff --git a/dev-python/rich/files/rich-14.0.0-py314.patch b/dev-python/rich/files/rich-14.0.0-py314.patch new file mode 100644 index 000000000000..4684f2b469e4 --- /dev/null +++ b/dev-python/rich/files/rich-14.0.0-py314.patch @@ -0,0 +1,84 @@ +https://github.com/Textualize/rich/pull/3622 + +From 91bbeac3ec8b87790865be974260d44adc8def61 Mon Sep 17 00:00:00 2001 +From: Karolina Surma <ksurma@redhat.com> +Date: Tue, 28 Jan 2025 10:03:26 +0100 +Subject: [PATCH] Skip tests which are expected to fail with Python 3.14 + +--- + tests/test_inspect.py | 9 +++++++++ + tests/test_pretty.py | 5 +++++ + 2 files changed, 14 insertions(+) + +diff --git a/tests/test_inspect.py b/tests/test_inspect.py +index 130e8df12..fd1d26e2c 100644 +--- a/tests/test_inspect.py ++++ b/tests/test_inspect.py +@@ -43,6 +43,11 @@ + reason="rendered differently on py3.13", + ) + ++skip_py314 = pytest.mark.skipif( ++ sys.version_info.minor == 14 and sys.version_info.major == 3, ++ reason="rendered differently on py3.14", ++) ++ + skip_pypy3 = pytest.mark.skipif( + hasattr(sys, "pypy_version_info"), + reason="rendered differently on pypy3", +@@ -139,6 +144,7 @@ def test_inspect_empty_dict(): + assert render({}).startswith(expected) + + ++@skip_py314 + @skip_py313 + @skip_py312 + @skip_py311 +@@ -219,6 +225,7 @@ def test_inspect_integer_with_value(): + @skip_py311 + @skip_py312 + @skip_py313 ++@skip_py314 + def test_inspect_integer_with_methods_python38_and_python39(): + expected = ( + "╭──────────────── <class 'int'> ─────────────────╮\n" +@@ -257,6 +264,7 @@ def test_inspect_integer_with_methods_python38_and_python39(): + @skip_py311 + @skip_py312 + @skip_py313 ++@skip_py314 + def test_inspect_integer_with_methods_python310only(): + expected = ( + "╭──────────────── <class 'int'> ─────────────────╮\n" +@@ -299,6 +307,7 @@ def test_inspect_integer_with_methods_python310only(): + @skip_py310 + @skip_py312 + @skip_py313 ++@skip_py314 + def test_inspect_integer_with_methods_python311(): + # to_bytes and from_bytes methods on int had minor signature change - + # they now, as of 3.11, have default values for all of their parameters +diff --git a/tests/test_pretty.py b/tests/test_pretty.py +index 90be42f87..29331d9d5 100644 +--- a/tests/test_pretty.py ++++ b/tests/test_pretty.py +@@ -38,6 +38,10 @@ + sys.version_info.minor == 13 and sys.version_info.major == 3, + reason="rendered differently on py3.13", + ) ++skip_py314 = pytest.mark.skipif( ++ sys.version_info.minor == 14 and sys.version_info.major == 3, ++ reason="rendered differently on py3.14", ++) + + + def test_install() -> None: +@@ -639,6 +643,7 @@ class Nada: + @skip_py311 + @skip_py312 + @skip_py313 ++@skip_py314 + def test_attrs_broken() -> None: + @attr.define + class Foo: + diff --git a/dev-python/rich/rich-14.0.0.ebuild b/dev-python/rich/rich-14.0.0.ebuild index 27a6cedb99af..b5290f5d4e26 100644 --- a/dev-python/rich/rich-14.0.0.ebuild +++ b/dev-python/rich/rich-14.0.0.ebuild @@ -26,9 +26,6 @@ RDEPEND=" dev-python/colorama[${PYTHON_USEDEP}] >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}] >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}] - ' 3.10) " BDEPEND=" test? ( @@ -36,6 +33,11 @@ BDEPEND=" ) " +PATCHES=( + # https://github.com/Textualize/rich/pull/3622 + "${FILESDIR}"/${PN}-14.0.0-py314.patch +) + distutils_enable_tests pytest python_test() { @@ -62,6 +64,11 @@ python_test() { tests/test_inspect.py::test_inspect_integer_with_methods_python311 ) ;; + python3.14*) + EPYTEST_DESELECT+=( + # Span vs Style + tests/test_text.py::test_assemble_meta + ) esac local -x COLUMNS=80 diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest index 83fb33c2beb1..a9145e0be00d 100644 --- a/dev-python/rq/Manifest +++ b/dev-python/rq/Manifest @@ -1 +1,2 @@ DIST rq-2.3.2.tar.gz 649216 BLAKE2B 8fca0c9008717353b99d7fba502554cd85378e69bef3f5b78acfdc168ecfc95f1644e3ae30a6ace7958a9ad8cc982b155a606b1ae745fabd0caecd1ae353d374 SHA512 b218a6ed7129cab4c148712d2f7ac889ba09d635684c7176ec196338316a2d8bb675a375a93c7ddf672b6834d08ac59106bbc83222efe1d76e677075cd3bab51 +DIST rq-2.3.3.tar.gz 649348 BLAKE2B cf69810289c32e1d363617aecc9ef45ed5b85bb47938b51ceb0e7ae61c186de2b84eea82ac96ca9ece80118de1b77eb8cd4a879ea7fd73e5606e49b68b547cee SHA512 974bbb952c36cbc538ef5cd6a1a426de79f359da431165724d9aed0beeefc9b1d6abd664ca7641997ee0b5d153d760cf631ee6dabfbd06f9a414bbc79867853c diff --git a/dev-python/rq/rq-2.3.3.ebuild b/dev-python/rq/rq-2.3.3.ebuild new file mode 100644 index 000000000000..3003d2989434 --- /dev/null +++ b/dev-python/rq/rq-2.3.3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Simple, lightweight library for creating and processing background jobs" +HOMEPAGE=" + https://python-rq.org/ + https://github.com/rq/rq/ + https://pypi.org/project/rq/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/click-5.0[${PYTHON_USEDEP}] + >=dev-python/redis-4.5.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-db/redis + dev-python/psutil[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unnecessary typechecking deps + sed -i -e '/types-/d' pyproject.toml || die +} + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + local redis_test_config="daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 + " + + # Spawn Redis itself for testing purposes + # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox. + # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT. + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + /usr/sbin/redis-server - <<< "${redis_test_config}" || die + + # Run the actual tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +python_test() { + local EPYTEST_DESELECT=( + # requires <sentry-sdk-2 + tests/test_sentry.py::TestSentry::test_failure_capture + # hang + tests/test_commands.py::TestCommands::test_shutdown_command + tests/test_worker_pool.py::TestWorkerPool::test_check_workers + tests/test_dependencies.py::TestDependencies + # already present in older versions + tests/test_spawn_worker.py::TestWorker::test_work_and_quit + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/textx/Manifest b/dev-python/textx/Manifest index 65af8be048ed..2cda5ff374e9 100644 --- a/dev-python/textx/Manifest +++ b/dev-python/textx/Manifest @@ -1,2 +1,3 @@ DIST textX-4.1.0.gh.tar.gz 2136599 BLAKE2B d6c7d4d741b4e526d0a71743387ee8455cc861bc4b356c605b6d174adb870bd178fd557a804f170f3d411b3ae70845771f7ffa7bbe9c4d1053c3d87e062deddb SHA512 313fea5b6d9e94e280a0614d4130872229536fe39d5af6e440a08babe6c4e5a5c23b53827713d577cc9af32a55a6beeaeddce59dbceb5f53a3f87cb910609599 DIST textX-4.2.0.gh.tar.gz 2136704 BLAKE2B c851a74deb7f79719549181b1e49201e60422007d600ff058b8c513d3cfbcfaad6d42a719425d16a7810662fe190ddbd65a23e75c8f8fca59b109c6be9046306 SHA512 d2342e7408dd51b5960e868d278ee5f4f656b4befad7f67ecac15e1c587d65b1894ecfadb7219c8c1a33c0945ba37eff638458b69f3dfa01626ab363eee99540 +DIST textX-4.2.2.gh.tar.gz 2136825 BLAKE2B 6d48f7255ca6d87ff018814757be7787f59f0b7a2a587493407da92840c052b770a2a607acac42ddfdc85470f9dfba47abe9abc06c47075f9a399f99c69420bf SHA512 20b4f6abfbe51e52d53bba243b3a4272df93feb6885c9c2f7bfc614534510d211053ea06b2672ef2e720630485ca304fe2e1c21e47bc0ccaaf97eb012fb8ffcd diff --git a/dev-python/textx/textx-4.2.2.ebuild b/dev-python/textx/textx-4.2.2.ebuild new file mode 100644 index 000000000000..58d83cece042 --- /dev/null +++ b/dev-python/textx/textx-4.2.2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +MY_P=textX-${PV} +DESCRIPTION="Meta-language for DSL implementation inspired by Xtext" +HOMEPAGE=" + https://pypi.org/project/textX/ + https://github.com/textX/textX/ +" +SRC_URI=" + https://github.com/textX/textX/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/arpeggio-2.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/html5lib[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + cp -a "${BUILD_DIR}"/{install,test} || die + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + # Update the shebang + sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \ + -i "${BUILD_DIR}"/test/usr/bin/textx || die + + # Install necessary plugins + local plugins=( + tests/functional/subcommands/example_project + tests/functional/registration/projects/* + ) + local p + for p in "${plugins[@]}"; do + pushd "${p}" >/dev/null || die + distutils_pep517_install "${BUILD_DIR}"/test + popd >/dev/null || die + done + + epytest tests/functional +} diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest index d5a4bcfbc201..2f069a8e801c 100644 --- a/dev-python/types-setuptools/Manifest +++ b/dev-python/types-setuptools/Manifest @@ -1,2 +1,3 @@ DIST types_setuptools-79.0.0.20250422.tar.gz 43865 BLAKE2B 3ef152fbaa27057b0279bfd5ef6e6104a04eaa55d9594e1cd5867bbaea4cd105ab7da94aad0f5e84382c566deec572d203b68feab06ece61982823eeb55d0806 SHA512 841a4d5332f0c8ed27333330cf5e78f21b1d033e3202d733f44234d234fca7db0bd0205520287d5cc0e69bb9befe79bff72e80fde593e70821692c3a8be29352 DIST types_setuptools-80.3.0.20250505.tar.gz 41205 BLAKE2B 9678f681ea420290c55d7e1a20e8cea7f90d9c4c9a8dcb327056c6044f1a84a57e6e03d0cf20afe456f1f1f209f2e66461574dd27c5f63fa5d208b528d98bdfd SHA512 a5c186d246eb42764d90db0409c8fcdc8bb41aa6116c1705b0c32561db3d0bd28cdd6c14e4d0c2d9c4a29ba802231f809f46fd12d753f2d0719e6f0ddb6a1421 +DIST types_setuptools-80.4.0.20250511.tar.gz 41205 BLAKE2B 54ec7947f50ffa1507e3bc53098a3079edef8044739e307afd47675638d2930d9cbe1a8535858e1a538bed65d00616b489ca5e7ed4cf795ddcd2f7987bdf793a SHA512 ec2d12032367cdc956df2e3cff082b5e15f0a76a28c1a85bc9cabe1dc81c704fcaea64637c477ec5440f83eea3ba0125f2bad62721f1528c14e07f89e5819b49 diff --git a/dev-python/types-setuptools/types-setuptools-80.4.0.20250511.ebuild b/dev-python/types-setuptools/types-setuptools-80.4.0.20250511.ebuild new file mode 100644 index 000000000000..078677754317 --- /dev/null +++ b/dev-python/types-setuptools/types-setuptools-80.4.0.20250511.ebuild @@ -0,0 +1,16 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 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" diff --git a/dev-python/zstandard/files/zstandard-0.23.0-py314.patch b/dev-python/zstandard/files/zstandard-0.23.0-py314.patch new file mode 100644 index 000000000000..a2eb41c74060 --- /dev/null +++ b/dev-python/zstandard/files/zstandard-0.23.0-py314.patch @@ -0,0 +1,17 @@ +https://github.com/indygreg/python-zstandard/issues/238 +https://github.com/indygreg/python-zstandard/pull/262 +https://src.fedoraproject.org/rpms/python-zstandard/blob/rawhide/f/python-zstandard-py314.patch +--- a/zstandard/__init__.py ++++ b/zstandard/__init__.py +@@ -18,7 +18,10 @@ import io + import os + import platform + +-from typing import ByteString ++try: ++ from typing import ByteString ++except ImportError: ++ from collections.abc import Buffer as ByteString + + # Some Python implementations don't support C extensions. That's why we have + # a CFFI implementation in the first place. The code here import one of our diff --git a/dev-python/zstandard/zstandard-0.23.0-r3.ebuild b/dev-python/zstandard/zstandard-0.23.0-r3.ebuild new file mode 100644 index 000000000000..7fffcd262574 --- /dev/null +++ b/dev-python/zstandard/zstandard-0.23.0-r3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +MY_P=python-zstandard-${PV} +DESCRIPTION="Zstandard Bindings for Python" +HOMEPAGE=" + https://github.com/indygreg/python-zstandard/ + https://pypi.org/project/zstandard/ +" +SRC_URI=" + https://github.com/indygreg/python-zstandard/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +DEPEND=" + >=app-arch/zstd-1.5.7:= +" +RDEPEND=" + ${DEPEND} + $(python_gen_cond_dep ' + >=dev-python/cffi-1.14.0-r2:=[${PYTHON_USEDEP}] + ' 'python*') +" +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + # https://github.com/indygreg/python-zstandard/pull/255 + "${FILESDIR}/${P}-zstd-1.5.7.patch" + # https://github.com/indygreg/python-zstandard/pull/262 + "${FILESDIR}/${P}-py314.patch" + ) + + # the C backend is repeatedly broken, so force CFFI instead + sed -e '/PYTHON_ZSTANDARD_IMPORT_POLICY/s:default:cffi:' \ + -i zstandard/__init__.py || die + # unbundle zstd + rm zstd/* || die + > zstd/zstd.c || die + # it does random preprocessing on that, so we can't use #include + local f + for f in zdict.h zstd.h; do + cp "${ESYSROOT}/usr/include/${f}" "zstd/${f}" || die + done + sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die + + distutils-r1_src_prepare + + DISTUTILS_ARGS=( + --no-c-backend + ) +} + +python_test() { + local EPYTEST_DESELECT=( + # unreliable, fails on x86 + tests/test_data_structures.py::TestCompressionParameters::test_estimated_compression_context_size + # check for bundled zstd version, fails on other system zstd + tests/test_module_attributes.py::TestModuleAttributes::test_version + ) + + rm -rf zstandard || die + epytest +} |
