diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-12 19:11:06 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-12 19:11:06 +0000 |
| commit | 1a1f5db8827d7864f74b2f19b88aadd126b462d0 (patch) | |
| tree | 1bb31895b92ab571db3841f81faf6632157225ca /dev-python | |
| parent | 00756a7495ccc0455ef2adbeb2237a02f1aa2629 (diff) | |
| download | baldeagleos-repo-1a1f5db8827d7864f74b2f19b88aadd126b462d0.tar.gz baldeagleos-repo-1a1f5db8827d7864f74b2f19b88aadd126b462d0.tar.xz baldeagleos-repo-1a1f5db8827d7864f74b2f19b88aadd126b462d0.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
36 files changed, 747 insertions, 135 deletions
diff --git a/dev-python/channels/Manifest b/dev-python/channels/Manifest index b58c0c2009cc..93bbf2713782 100644 --- a/dev-python/channels/Manifest +++ b/dev-python/channels/Manifest @@ -1,5 +1 @@ -DIST channels-3.0.5.gh.tar.gz 200118 BLAKE2B 7a7653f986face1e87369917317db013e5c9fc912c6e2d7c737054ffef167bd01feb48f7e2d00d0d331e7a16093478e5416645717aed59e46dfec8f9b3641a2e SHA512 b12d1aec9602b702b5a097e9ca52dccad49940f82fcbe5594890c9bd1f1879a2fcf0f29630ca53e4972a26853df8f71d07d7b2cccd876abbf2417a76dee281bf -DIST channels-4.2.2.gh.tar.gz 197010 BLAKE2B 321bf62c68038ce511145acd43c036dd298d58056f20ab2d676c3e3a8d6360a86a4f07c8f9ed6c123f888c012d69da22cfae4fb477dd5422cf326bf2de6a4c8f SHA512 8f7c8f27981988fed8ec254db91ce0a130b24842949ef94cc9ae21b4a259a7003654ec86c4e18aa81924e26d9b81b6a2aafaac404e490cbdda6b4a100476917a -EBUILD channels-3.0.5.ebuild 936 BLAKE2B 788d0e9a2822dd9d0ed2d1d1a62135aeb5f244710b66f7591962518a5204cde5b8e779280783dd1d1a1b1a3fa9b272a0eb457f1d88d62c8ecefc8f67384929ef SHA512 89003fa68c7ab1cdd1a329f4389ba6fe28f491217a70c03b2979a992b450d8aa1a02f024f073ad5fc0aa1d093d81c6c8b1adaa45bdc9a179f5bd1607d85c13ef -EBUILD channels-4.2.2.ebuild 829 BLAKE2B e5946c4a0eaf9fb3ffa2092a3d5d49d3d6ee16f151483fa2b716c8bab3350eca5e330a22822f881421d8882ffb970f4c56154c613477d094319e46addf1a5537 SHA512 84ce30d87a654c1a89ac299fb0f6447ca9c736e4b63497d83fc2687384e9cbe8094ba8f5021a19f726f9bae97c6b6d11eddef6a9ee5c275efe827bf95d3848ec -MISC metadata.xml 445 BLAKE2B b4c0a41d6caadfbc53cbba3c41f8b7689a286b3f8d285c37a88a1f79d8dc350b82fea255048c022b92091a1e0cc67bf19645d6c32183b82a6dd49cccadf5078f SHA512 380c8b98efe8d9a2513c51899b7de90b115d4a51f104f46b552ff8929c322850e511e245a2ba0e976213416ae7241a17292ca98248caacfc891fcdcf5cea5d44 +DIST channels-4.3.2.gh.tar.gz 206077 BLAKE2B c0913d67dc74bc728dd828584cf803b4ad175bab717de71ccf1e1c5b6aaca296fd15d011deb07b2876e63b7daaefab5e5ee24c323e907b3c563f5358759f14b8 SHA512 29d9c91aca721fad44143978863c45812bf596bb65cf99084803f78d85c664d5cc7ca1015df151cdc27754b822c9cfd18102989b6e5f59bc50257f6c9d8b8b3e diff --git a/dev-python/channels/channels-3.0.5.ebuild b/dev-python/channels/channels-3.0.5.ebuild deleted file mode 100644 index 03a4923889fe..000000000000 --- a/dev-python/channels/channels-3.0.5.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol" -HOMEPAGE="https://github.com/django/channels" -SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-python/django-2.2[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/async-timeout[${PYTHON_USEDEP}] - >=dev-python/daphne-3.0[${PYTHON_USEDEP}] - <dev-python/daphne-4.0[${PYTHON_USEDEP}] - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - dev-python/pytest-django[${PYTHON_USEDEP}] - ) -" - -DOCS=( README.rst ) - -distutils_enable_tests pytest - -python_prepare_all() { - # https://github.com/django/channels/issues/1915 - echo 'asyncio_mode = auto' >> setup.cfg - - distutils-r1_python_prepare_all -} diff --git a/dev-python/channels/channels-4.2.2.ebuild b/dev-python/channels/channels-4.2.2.ebuild deleted file mode 100644 index 710613a7cbd1..000000000000 --- a/dev-python/channels/channels-4.2.2.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2022 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="Extends Django abilities beyond HTTP protocol" -HOMEPAGE="https://github.com/django/channels" -SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-python/asgiref-3.5.0[${PYTHON_USEDEP}] - >=dev-python/django-4.2[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/async-timeout[${PYTHON_USEDEP}] - >=dev-python/daphne-4.0.0[${PYTHON_USEDEP}] - dev-python/pytest-asyncio[${PYTHON_USEDEP}] - dev-python/pytest-django[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest -distutils_enable_sphinx docs \ - dev-python/sphinx-rtd-theme diff --git a/dev-python/channels/channels-4.3.2.ebuild b/dev-python/channels/channels-4.3.2.ebuild new file mode 100644 index 000000000000..ffafd1ece52b --- /dev/null +++ b/dev-python/channels/channels-4.3.2.ebuild @@ -0,0 +1,62 @@ +# Copyright 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="Brings async, event-driven capabilities to Django" +HOMEPAGE=" + https://channels.readthedocs.io/ + https://github.com/django/channels/ + https://pypi.org/project/channels/ +" +# no tests in sdist +SRC_URI=" + https://github.com/django/channels/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.9.0[${PYTHON_USEDEP}] + >=dev-python/django-4.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/async-timeout[${PYTHON_USEDEP}] + dev-python/selenium[${PYTHON_USEDEP}] + ) +" + +EPYTEST_IGNORE=( + # avoid daphne as it requires autobahn + tests/sample_project/tests/test_selenium.py + tests/security/test_websocket.py + tests/test_database.py + tests/test_generic_http.py + tests/test_generic_websocket.py + tests/test_http.py + tests/test_testing.py +) + +EPYTEST_PLUGINS=( pytest-django pytest-asyncio ) +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/channels-4.3.2-fix-install.patch +) + +python_prepare_all() { + # avoid daphne as it requires autobahn + sed -e '/"daphne"/d' -i tests/sample_project/config/settings.py || die + + distutils-r1_python_prepare_all +} diff --git a/dev-python/channels/files/channels-4.3.2-fix-install.patch b/dev-python/channels/files/channels-4.3.2-fix-install.patch new file mode 100644 index 000000000000..18eca8f75445 --- /dev/null +++ b/dev-python/channels/files/channels-4.3.2-fix-install.patch @@ -0,0 +1,14 @@ +diff --git a/setup.cfg b/setup.cfg +index 742e1f6..43d8c0d 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -52,7 +52,7 @@ types = + + [options.packages.find] + exclude = +- tests ++ tests* + + [flake8] + exclude = venv/*,tox/*,docs/*,testproject/*,build/* + diff --git a/dev-python/channels/metadata.xml b/dev-python/channels/metadata.xml index 7093cae71294..0dec5a678a5f 100644 --- a/dev-python/channels/metadata.xml +++ b/dev-python/channels/metadata.xml @@ -2,11 +2,10 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>negril.nx+gentoo@gmail.com</email> + <name>Paul Zander</name> </maintainer> - <upstream> - <bugs-to>https://github.com/django/channels/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> + <stabilize-allarches/> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild index c453206691de..eedf3f88b0a1 100644 --- a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild +++ b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -29,4 +29,5 @@ BDEPEND=" distutils_enable_sphinx docs \ dev-python/sphinx-rtd-theme +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/imageio/imageio-2.37.3.ebuild b/dev-python/imageio/imageio-2.37.3-r1.ebuild index 989ddf6de4a6..989ddf6de4a6 100644 --- a/dev-python/imageio/imageio-2.37.3.ebuild +++ b/dev-python/imageio/imageio-2.37.3-r1.ebuild diff --git a/dev-python/klein/klein-24.8.0.ebuild b/dev-python/klein/klein-24.8.0.ebuild index a4604e0705dd..070130c3d9ad 100644 --- a/dev-python/klein/klein-24.8.0.ebuild +++ b/dev-python/klein/klein-24.8.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,9 +33,5 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index d12ab8aeaca8..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch new file mode 100644 index 000000000000..637368d2f237 --- /dev/null +++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch @@ -0,0 +1,13 @@ +Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." + +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ setup( + author_email='michal.danilak@gmail.com', + url='https://github.com/Mimino666/langdetect', + keywords='language detection library', +- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], ++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], + include_package_data=True, + install_requires=['six'], + license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 271137de443d..7100f5f39dd8 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,4 +19,6 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" +PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) + distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..c0f74ac187e2 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,11 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>pastalian46@gmail.com</email> + <name>Takuya Wakazono</name> </maintainer> - <upstream> - <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild index fbac8a056f6b..dbd09620d05a 100644 --- a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild +++ b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 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/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest index 67c94b7f4e3a..0a4c2e80146b 100644 --- a/dev-python/pyfakefs/Manifest +++ b/dev-python/pyfakefs/Manifest @@ -1,3 +1,4 @@ DIST pyfakefs-6.1.4.gh.tar.gz 257560 BLAKE2B 784b036d11c902d7788ea85b4bcb84a68b6bc5be30b7ee822cc66791b3cc954940554ba5eb1fef65cc3ab583f9ffd69cd42e613c8c1fda2e27b1b74f97fe8893 SHA512 c51eadb586587dc733ba556d5b18e2c0cbf2250620d2a37f2ad9f57d92f22277050e144dd961cab33f64b25ebd7f1b86104ab2885c14e53f5d57fece942e7245 DIST pyfakefs-6.1.5.gh.tar.gz 257725 BLAKE2B 844b6a69277c2331f2ef755a5227cb9e13d60bcc7c5f7d8497e4bd48f737eceff96baa5f333e5e27c5520d9e993846b67b0f8742bcee7da82598e7e1630876e6 SHA512 9987dfacf105e76395dfc485e3776253790d6234dc7774e92f035e241d685fcf31101cd10026f1cf21f5cae73021db29b798c2c668f5cec0faa73de47745e667 DIST pyfakefs-6.1.6.gh.tar.gz 258043 BLAKE2B 63459a970abe79c13633c4dd2c7cab5eb8d7fb265d43612a5ccec28ac8dc6f52c4bac679634ad815b7474968c9d9031d66f7c74dae6b7304558d17c3607f59cc SHA512 27a9c5b23e7a14b4b280f4cf2b016031b959438120c5a1f86ec00fb099bca814ff6f846a33854c345e05ffc5ac1f4bcf0664cf522a13b65800a63940bdcdd9bd +DIST pyfakefs-6.2.0.gh.tar.gz 259183 BLAKE2B a681e054d421d5a95a7675e97f660b5260f8dc2aac4a58dc76e6fe88a42e4ca4d9a986dec9efee07a1db7c5409c2922991a329412a8ac4469e50f4241629af7d SHA512 804d6d4f165803965079d746c60ab60397713cb9e89dc8a60dccc4673fb0ac02c467af889d186abaf2a0b259c5a17a92deca83226f0c18f2393cc2020c7f4cc8 diff --git a/dev-python/pyfakefs/pyfakefs-6.2.0.ebuild b/dev-python/pyfakefs/pyfakefs-6.2.0.ebuild new file mode 100644 index 000000000000..06a49696668a --- /dev/null +++ b/dev-python/pyfakefs/pyfakefs-6.2.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="A fake file system that mocks the Python file system modules" +HOMEPAGE=" + https://github.com/pytest-dev/pyfakefs/ + https://pypi.org/project/pyfakefs/ +" +SRC_URI=" + https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +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=( "${PN}" ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # requires *.dist-info/RECORD file that we're stripping + pyfakefs/tests/fake_filesystem_test.py::RealFileSystemAccessTest::test_add_package_metadata + # wants dev-python/openpyxl + pyfakefs/tests/patched_packages_test.py::TestPatchedPackages::test_read_excel + ) + local EPYTEST_IGNORE=( + # test for regression with opentimelineio package + pyfakefs/pytest_tests/segfault_test.py + # test for regression with undefined package + pyfakefs/pytest_tests/pytest_fixture_test.py + ) + + if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + pyfakefs/pytest_tests/pytest_reload_pandas_test.py + ) + fi + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # TODO: this test messes up everything + pyfakefs/tests/fake_filesystem_unittest_test.py::TestDeprecationSuppression::test_no_deprecation_warning + # TODO + pyfakefs/tests/fake_pathlib_test.py::SkipPathlibTest::test_exists + ) + ;; + esac + + epytest +} diff --git a/dev-python/pygccxml/pygccxml-3.0.2.ebuild b/dev-python/pygccxml/pygccxml-3.0.2.ebuild index fdaf01aef7f2..14af5afede1b 100644 --- a/dev-python/pygccxml/pygccxml-3.0.2.ebuild +++ b/dev-python/pygccxml/pygccxml-3.0.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 @@ -30,6 +30,7 @@ RDEPEND=" ${DEPEND} " +EPYTEST_PLUGINS=() distutils_enable_tests pytest distutils_enable_sphinx docs dev-python/sphinx-rtd-theme diff --git a/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild b/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild index 5f37742527e2..8952bb763ce3 100644 --- a/dev-python/pytest-socket/pytest-socket-0.7.0-r1.ebuild +++ b/dev-python/pytest-socket/pytest-socket-0.7.0-r1.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 @@ -21,20 +21,20 @@ KEYWORDS="~amd64 ~arm64 ~x86" RDEPEND=" dev-python/pytest[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - dev-python/pytest-httpx[${PYTHON_USEDEP}] - dev-python/pytest-httpbin[${PYTHON_USEDEP}] - ) -" +EPYTEST_PLUGINS=( "${PN}" pytest-http{bin,x} ) +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 distutils_enable_tests pytest -src_test() { - local EPYTEST_DESELECT=( - tests/test_async.py::test_starlette - tests/test_restrict_hosts.py::test_help_message - ) +EPYTEST_DESELECT=( + tests/test_async.py::test_starlette + tests/test_restrict_hosts.py::test_help_message - distutils-r1_src_test -} + # require DNS access + tests/test_async.py::test_httpx_fails + tests/test_combinations.py::test_parametrize_with_socket_enabled_and_allow_hosts + tests/test_precedence.py::test_global_disable_and_allow_host + tests/test_socket.py::test_urllib_succeeds_by_default + tests/test_socket.py::test_enabled_urllib_succeeds + tests/test_socket.py::test_disabled_urllib_fails +) 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 aeda08a0b5e3..12486cc6f34d 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 @@ -1,4 +1,4 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ inherit distutils-r1 DESCRIPTION="Pytest Plugin Which Reports System Usage Statistics" HOMEPAGE=" https://pypi.org/project/pytest-system-statistics/ - https://github.com/saltstack/pytest-system-statistics + https://github.com/saltstack/pytest-system-statistics/ " SRC_URI=" https://github.com/saltstack/pytest-system-statistics/archive/${PV}.tar.gz @@ -31,15 +31,14 @@ RDEPEND=" " BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-subtests[${PYTHON_USEDEP}] - ) " PATCHES=( "${FILESDIR}/pytest-system-statistics-1.0.2-loader.patch" ) +EPYTEST_PLUGINS=( "${PN}" pytest-subtests ) +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 distutils_enable_tests pytest export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/python-pskc/python-pskc-1.4.ebuild b/dev-python/python-pskc/python-pskc-1.4.ebuild index 80ae2c970ef9..8596e36f7be3 100644 --- a/dev-python/python-pskc/python-pskc-1.4.ebuild +++ b/dev-python/python-pskc/python-pskc-1.4.ebuild @@ -39,4 +39,5 @@ src_prepare() { sed -i -e "s/ --cov=pskc --cov-report=term-missing:skip-covered --cov-report=html//" "${S}/setup.cfg" || die } +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/python-pskc/python-pskc-9999.ebuild b/dev-python/python-pskc/python-pskc-9999.ebuild index 80ae2c970ef9..8596e36f7be3 100644 --- a/dev-python/python-pskc/python-pskc-9999.ebuild +++ b/dev-python/python-pskc/python-pskc-9999.ebuild @@ -39,4 +39,5 @@ src_prepare() { sed -i -e "s/ --cov=pskc --cov-report=term-missing:skip-covered --cov-report=html//" "${S}/setup.cfg" || die } +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/pywavelets/pywavelets-1.9.0.ebuild b/dev-python/pywavelets/pywavelets-1.9.0.ebuild index 4f52704338fa..26ecdc73b72e 100644 --- a/dev-python/pywavelets/pywavelets-1.9.0.ebuild +++ b/dev-python/pywavelets/pywavelets-1.9.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/radon/radon-6.0.1-r2.ebuild b/dev-python/radon/radon-6.0.1-r2.ebuild index 57f455aaff91..03dc3c4dd7aa 100644 --- a/dev-python/radon/radon-6.0.1-r2.ebuild +++ b/dev-python/radon/radon-6.0.1-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 @@ -24,13 +24,9 @@ RDEPEND=" dev-python/flake8[${PYTHON_USEDEP}] >=dev-python/mando-0.6[${PYTHON_USEDEP}] " -BDEPEND=" - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" distutils_enable_sphinx docs +EPYTEST_PLUGINS=( pytest-mock ) distutils_enable_tests pytest src_prepare() { diff --git a/dev-python/reno/reno-4.1.0.ebuild b/dev-python/reno/reno-4.1.0.ebuild index a25c7403463f..6c5cebd21f60 100644 --- a/dev-python/reno/reno-4.1.0.ebuild +++ b/dev-python/reno/reno-4.1.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 diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest index 967bcc7652f7..9ec0c3263d6c 100644 --- a/dev-python/rich/Manifest +++ b/dev-python/rich/Manifest @@ -1,2 +1,3 @@ DIST rich-14.3.3.gh.tar.gz 15087403 BLAKE2B 3d21a0b1e5b5441bdcb9d0051a552ffe771287707bc0ab24d75cea5f6dc14b8fad9daffd0d4b1f0704c96883259d11a0c57701ae7c2628b86157912a1b7fa591 SHA512 61026597c8224f64bb113231dc1e991b7ed471793c72700ca8d52adf5234f96c84de09ec8d175a60582e68d8ff935c507fdb2599d0a567832f739abcb599ef96 DIST rich-14.3.4.gh.tar.gz 15087431 BLAKE2B f0bc3e99dc7ed2afbe06a98c36b950baf4cf62b9fba2b3d288b9ee87027fcb05e7d6b34400f3838858c8f19e8324aeed7eef53c248dfdf036074b6a038323a83 SHA512 78be1ea9ee57c79a9d7863d7842459b701c773805812b9e7bf702715f90f64b2e9462b7a0093dd80005f5d988c86682d9e67044570b9de255f9972f8cc1f6dbd +DIST rich-15.0.0.gh.tar.gz 15088001 BLAKE2B a95ca3add5d4c9c193838586dc3672edc925383878c40eab8890648c277571246c131a3739e3a691d1055ab849626c4df4af921c32cbea19d3a970b9f059fdf9 SHA512 fa765977800b07b7a5fae07cab26b3db2e1cb5b493c1e846a6f84b6c24334b2baf31b4cd34e5bb3e461db6aa823eea2e5a9b01e4c3b3efae7f4eb4ef134695be diff --git a/dev-python/rich/rich-15.0.0.ebuild b/dev-python/rich/rich-15.0.0.ebuild new file mode 100644 index 000000000000..4f51a918264a --- /dev/null +++ b/dev-python/rich/rich-15.0.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal" +HOMEPAGE=" + https://github.com/Textualize/rich/ + https://pypi.org/project/rich/ +" +SRC_URI=" + https://github.com/Textualize/rich/archive/v${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/colorama[${PYTHON_USEDEP}] + >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_console.py::test_size_can_fall_back_to_std_descriptors + # TODO: segfault in recursion (PyQt6 interfering?) + tests/test_traceback.py::test_recursive + # TODO: some random dep changes? + tests/test_markdown.py::test_inline_code + tests/test_syntax.py::test_blank_lines + tests/test_syntax.py::test_python_render_simple_indent_guides + # pygments version? + tests/test_syntax.py::test_from_path + tests/test_syntax.py::test_syntax_guess_lexer + # flaky? plain broken? + tests/test_console.py::test_brokenpipeerror + ) + # version-specific output -- the usual deal + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + tests/test_inspect.py::test_inspect_integer_with_methods_python311 + ) + ;; + esac + + local -x COLUMNS=80 + epytest +} + +pkg_postinst() { + optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets +} diff --git a/dev-python/ropemode/ropemode-0.6.1.ebuild b/dev-python/ropemode/ropemode-0.6.1.ebuild index d9387c32f322..e41e720002b7 100644 --- a/dev-python/ropemode/ropemode-0.6.1.ebuild +++ b/dev-python/ropemode/ropemode-0.6.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 @@ -26,4 +26,5 @@ RDEPEND=" dev-python/rope[${PYTHON_USEDEP}] " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/scikit-image/scikit-image-0.26.0.ebuild b/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild index 241283c52107..241283c52107 100644 --- a/dev-python/scikit-image/scikit-image-0.26.0.ebuild +++ b/dev-python/scikit-image/scikit-image-0.26.0-r1.ebuild diff --git a/dev-python/simple-websocket/files/simple-websocket-1.1.0-py314.patch b/dev-python/simple-websocket/files/simple-websocket-1.1.0-py314.patch new file mode 100644 index 000000000000..c20584d98c79 --- /dev/null +++ b/dev-python/simple-websocket/files/simple-websocket-1.1.0-py314.patch @@ -0,0 +1,372 @@ +diff --git a/tests/test_aioclient.py b/tests/test_aioclient.py +index 01a772a..5ec12ff 100644 +--- a/tests/test_aioclient.py ++++ b/tests/test_aioclient.py +@@ -1,15 +1,14 @@ + import asyncio +-import unittest + from unittest import mock + import pytest # noqa: F401 + + from wsproto.events import AcceptConnection, CloseConnection, TextMessage, \ + BytesMessage, Ping + import simple_websocket +-from .helpers import make_sync, AsyncMock + + +-class AioSimpleWebSocketClientTestCase(unittest.TestCase): ++@pytest.mark.asyncio ++class TestAioSimpleWebSocketClient: + async def get_client(self, mock_wsconn, url, events=[], subprotocols=None, + headers=None): + mock_wsconn().events.side_effect = \ +@@ -19,11 +18,10 @@ async def get_client(self, mock_wsconn, url, events=[], subprotocols=None, + return await simple_websocket.AioClient.connect( + url, subprotocols=subprotocols, headers=headers) + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_make_client(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client(mock_wsconn, 'ws://example.com/ws?a=1') +@@ -40,12 +38,11 @@ async def test_make_client(self, mock_wsconn, mock_open_connection): + assert client.port == 80 + assert client.path == '/ws?a=1' + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_make_client_subprotocol(self, mock_wsconn, + mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client(mock_wsconn, 'ws://example.com/ws?a=1', +@@ -55,12 +52,11 @@ async def test_make_client_subprotocol(self, mock_wsconn, + b"Request(host='example.com', target='/ws?a=1', extensions=[], " + b"extra_headers=[], subprotocols=['foo'])") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_make_client_subprotocols(self, mock_wsconn, + mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client(mock_wsconn, 'ws://example.com/ws?a=1', +@@ -70,12 +66,11 @@ async def test_make_client_subprotocols(self, mock_wsconn, + b"Request(host='example.com', target='/ws?a=1', extensions=[], " + b"extra_headers=[], subprotocols=['foo', 'bar'])") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_make_client_headers(self, mock_wsconn, + mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client(mock_wsconn, 'ws://example.com/ws?a=1', +@@ -84,12 +79,11 @@ async def test_make_client_headers(self, mock_wsconn, + b"Request(host='example.com', target='/ws?a=1', extensions=[], " + b"extra_headers=[('Foo', 'Bar')], subprotocols=[])") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_make_client_headers2(self, mock_wsconn, + mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client( +@@ -100,11 +94,10 @@ async def test_make_client_headers2(self, mock_wsconn, + b"extra_headers=[('Foo', 'Bar'), ('Foo', 'Baz')], " + b"subprotocols=[])") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_send(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client(mock_wsconn, 'ws://example.com/ws') +@@ -123,11 +116,10 @@ async def test_send(self, mock_wsconn, mock_open_connection): + b"Message(data=b'hello', frame_finished=True, " + b"message_finished=True)") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client( +@@ -142,12 +134,11 @@ async def test_receive(self, mock_wsconn, mock_open_connection): + assert await client.receive() == b'hello' + assert await client.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_after_close(self, mock_wsconn, + mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client( +@@ -160,11 +151,10 @@ async def test_receive_after_close(self, mock_wsconn, + with pytest.raises(simple_websocket.ConnectionClosed): + await client.receive() + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_ping(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) +@@ -176,11 +166,11 @@ async def test_receive_ping(self, mock_wsconn, mock_open_connection): + await asyncio.sleep(0.01) + wsock.write.assert_any_call(b"Pong(payload=b'hello')") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_empty(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(side_effect=[b'x', b'x', b''])) ++ rsock = mock.MagicMock(read=mock.AsyncMock( ++ side_effect=[b'x', b'x', b''])) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client( +@@ -193,11 +183,10 @@ async def test_receive_empty(self, mock_wsconn, mock_open_connection): + assert await client.receive() == 'hello' + assert await client.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_close(self, mock_wsconn, mock_open_connection): +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + client = await self.get_client( +diff --git a/tests/test_aioserver.py b/tests/test_aioserver.py +index a274019..071e035 100644 +--- a/tests/test_aioserver.py ++++ b/tests/test_aioserver.py +@@ -1,15 +1,14 @@ + import asyncio +-import unittest + from unittest import mock + import pytest # noqa: F401 + + from wsproto.events import Request, CloseConnection, TextMessage, \ + BytesMessage, Ping, Pong + import simple_websocket +-from .helpers import make_sync, AsyncMock + + +-class AioSimpleWebSocketServerTestCase(unittest.TestCase): ++@pytest.mark.asyncio ++class TestAioSimpleWebSocketServer: + async def get_server(self, mock_wsconn, request, events=[], + client_subprotocols=None, server_subprotocols=None, + **kwargs): +@@ -29,12 +28,11 @@ async def get_server(self, mock_wsconn, request, events=[], + return await simple_websocket.AioServer.accept( + aiohttp=request, subprotocols=server_subprotocols, **kwargs) + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_aiohttp(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request) +@@ -53,19 +51,17 @@ async def test_aiohttp(self, mock_wsconn, mock_open_connection): + b'Sec-Websocket-Version: 13\r\n\r\n') + assert server.is_server + +- @make_sync + async def test_invalid_request(self): + with pytest.raises(ValueError): + await simple_websocket.AioServer.accept(aiohttp='foo', asgi='bar') + with pytest.raises(ValueError): + await simple_websocket.AioServer.accept(asgi='bar', sock='baz') + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_send(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request) +@@ -84,12 +80,11 @@ async def test_send(self, mock_wsconn, mock_open_connection): + b"Message(data=b'hello', frame_finished=True, " + b"message_finished=True)") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -103,13 +98,12 @@ async def test_receive(self, mock_wsconn, mock_open_connection): + assert await server.receive() == b'hello' + assert await server.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_after_close(self, mock_wsconn, + mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -121,13 +115,12 @@ async def test_receive_after_close(self, mock_wsconn, + with pytest.raises(simple_websocket.ConnectionClosed): + await server.receive() + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_split_messages(self, mock_wsconn, + mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -151,12 +144,11 @@ async def test_receive_split_messages(self, mock_wsconn, + assert await server.receive() == b'hello' + assert await server.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_ping(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -166,12 +158,11 @@ async def test_receive_ping(self, mock_wsconn, mock_open_connection): + await asyncio.sleep(0.01) + wsock.write.assert_any_call(b"Pong(payload=b'hello')") + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_empty(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -183,12 +174,11 @@ async def test_receive_empty(self, mock_wsconn, mock_open_connection): + assert await server.receive() == 'hello' + assert await server.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_receive_large(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -201,12 +191,11 @@ async def test_receive_large(self, mock_wsconn, mock_open_connection): + assert await server.receive() == 'hello' + assert await server.receive(timeout=0) is None + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_close(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request) +@@ -222,7 +211,6 @@ async def test_close(self, mock_wsconn, mock_open_connection): + b'CloseConnection(code=<CloseReason.NORMAL_CLOSURE: 1000>, ' + b'reason=None)') + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + @mock.patch('simple_websocket.aiows.time') +@@ -230,7 +218,7 @@ async def test_close(self, mock_wsconn, mock_open_connection): + async def test_ping_pong(self, mock_wait_for, mock_time, mock_wsconn, + mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock()) ++ rsock = mock.MagicMock(read=mock.AsyncMock()) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + server = await self.get_server(mock_wsconn, mock_request, events=[ +@@ -246,12 +234,11 @@ async def test_ping_pong(self, mock_wait_for, mock_time, mock_wsconn, + assert wsock.write.call_args_list[2][0][0].startswith(b'Ping') + assert wsock.write.call_args_list[3][0][0].startswith(b'Close') + +- @make_sync + @mock.patch('simple_websocket.aiows.asyncio.open_connection') + @mock.patch('simple_websocket.aiows.WSConnection') + async def test_subprotocols(self, mock_wsconn, mock_open_connection): + mock_request = mock.MagicMock(headers={}) +- rsock = mock.MagicMock(read=AsyncMock(return_value=b'x')) ++ rsock = mock.MagicMock(read=mock.AsyncMock(return_value=b'x')) + wsock = mock.MagicMock() + mock_open_connection.return_value = (rsock, wsock) + +diff --git a/tests/test_server.py b/tests/test_server.py +index 7be5d15..ca5fe99 100644 +--- a/tests/test_server.py ++++ b/tests/test_server.py +@@ -92,7 +92,7 @@ def test_send(self, mock_wsconn): + b"message_finished=True)") + server.connected = True + server.send(b'hello') +- mock_socket.send.assert_called_with( ++ mock_socket.send.assert_any_call( + b"Message(data=b'hello', frame_finished=True, " + b"message_finished=True)") + diff --git a/dev-python/simple-websocket/simple-websocket-1.1.0.ebuild b/dev-python/simple-websocket/simple-websocket-1.1.0.ebuild index 7552aa5481a1..2d79417b7ce5 100644 --- a/dev-python/simple-websocket/simple-websocket-1.1.0.ebuild +++ b/dev-python/simple-websocket/simple-websocket-1.1.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 @@ -29,6 +29,11 @@ RDEPEND=" " src_prepare() { + local PATCHES=( + # https://github.com/miguelgrinberg/simple-websocket/pull/48 + "${FILESDIR}/${P}-py314.patch" + ) + distutils-r1_src_prepare # fix tests to work offline @@ -36,4 +41,5 @@ src_prepare() { sed -i -e 's:example\.com:localhost:g' tests/test_client.py || die } +EPYTEST_PLUGINS=( pytest-asyncio ) distutils_enable_tests pytest diff --git a/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild b/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild index 4710de6d0ce0..134dc5e48429 100644 --- a/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild +++ b/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.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 @@ -29,4 +29,5 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.13.0.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.13.0.ebuild index 4f920718c85a..ee2a67d91131 100644 --- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.13.0.ebuild +++ b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.13.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 @@ -37,6 +37,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest distutils_enable_sphinx doc \ dev-python/sphinx-rtd-theme diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest index 5b83de8ffeec..539f4d0e881c 100644 --- a/dev-python/tifffile/Manifest +++ b/dev-python/tifffile/Manifest @@ -1 +1,2 @@ DIST tifffile-2026.3.3.gh.tar.gz 378440 BLAKE2B 67b6bb348cb911df0f1d9d15d36987feb498a81f7dd5b991c2d51affe0f1416d5a8d96be31a22a724a17cca204a44872257e42916d9a06b06f28ffd1d850bb9e SHA512 40968255d968ed0fbc90488142852f43d309fddd8df9e1a58b78efdbaca20efb1b9e6c09852135162cce99aea95fd8a7da89db4fa15aecfadef5917c99c77d69 +DIST tifffile-2026.4.11.gh.tar.gz 383825 BLAKE2B 6a0b61f2d00557d67c94a0924b6ca2b5e2098249555ec8b555013bee8d1102af8ae6bf7aac858b899cc615be7c11d946ed495b8bfc432e07eea798acd120a807 SHA512 58a7242d70b0260e1f7a25ac12bb19e898369a8b53fa5cd4967b2edea8566e077ae149ce4707ac4a71e07581e14cb20b6d6b659a27235fd454e587c02d8a2909 diff --git a/dev-python/tifffile/tifffile-2026.4.11.ebuild b/dev-python/tifffile/tifffile-2026.4.11.ebuild new file mode 100644 index 000000000000..de56c12ef129 --- /dev/null +++ b/dev-python/tifffile/tifffile-2026.4.11.ebuild @@ -0,0 +1,56 @@ +# 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="Read and write TIFF files" +HOMEPAGE=" + https://pypi.org/project/tifffile/ + https://github.com/cgohlke/tifffile/ + https://www.cgohlke.com/ +" +SRC_URI=" + https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # not marked properly + # https://github.com/cgohlke/tifffile/pull/308 + tests/test_tifffile.py::test_issue_dcp + # meaningless and broken on py<3.13 + # https://github.com/cgohlke/tifffile/pull/309 + tests/test_tifffile.py::test_gil_enabled + ) + + local -x SKIP_LARGE=1 + local -x SKIP_HTTP=1 + + epytest +} diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest index ebf6f59531e6..10626d44ca8e 100644 --- a/dev-python/wrapt/Manifest +++ b/dev-python/wrapt/Manifest @@ -2,3 +2,4 @@ DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe DIST wrapt-2.1.2.tar.gz 81678 BLAKE2B f7fc45f31b8077d6d97c14c1f649437e0f1da7537769d369d427edede0ba1b84c8c07e6de9ded8088f29f2fb774272186d0f9b707e6b2bef650dc5f78444d852 SHA512 97f1af4cabfd7a4cfabfaf36d26d1afc577747f18946226fbb80256e13c55302b746005e01720e874d46d536826c83e9234544c98f8dd1ecd3c9a091113da808 DIST wrapt-2.2.0rc2.tar.gz 91919 BLAKE2B 5f3c42f36f2ec74677a0de7367a019f0b02a183ee28f77f91d2748f8a0cd6714a2d315bdd1900fffc9ea383e1f236b2437aada6fe308d1607578fdb70555f57b SHA512 a70626f14f1b59cc5dfcf99038a72dca022b953f280b34a9472621afe22cecda450b660244bade2956e1b8e13c21365839b186c60ac68e993a0f55f6e44a4ccd DIST wrapt-2.2.0rc4.tar.gz 95966 BLAKE2B 8c87e0998711cfa08b81c75ead0589bef8ab723df48d04b2304691cd0cbc0c5e25324381a6386f93deb022985285e025cb9600e210a8101e8bae782d8f531a3b SHA512 fb62f0e0b8448b246ee3b34497bf20ca0faac8b3b91da9ea07a2585bcc026ba0a58d5adb2786360a61cca54e212f931019675cb708de2bdda06d322c766ea31a +DIST wrapt-2.2.0rc5.tar.gz 101797 BLAKE2B 4784e51ece7f671cb7df884de69ec245569c1c5ea6fc6c8be58438ace8238b910b1d78c9d95de72e7e9a37d2c189d5326253c6784952092187962da6b742ec92 SHA512 509de5d5d1deff63485e0c2b7cbae04709c61276f5863596f31049f451e1eb845d23016d0cee03b9eea0495ce578e62db0a368499819965477d2a2bc08722ae8 diff --git a/dev-python/wrapt/wrapt-2.2.0_rc5.ebuild b/dev-python/wrapt/wrapt-2.2.0_rc5.ebuild new file mode 100644 index 000000000000..8514e94dc258 --- /dev/null +++ b/dev-python/wrapt/wrapt-2.2.0_rc5.ebuild @@ -0,0 +1,39 @@ +# 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 pypi + +MY_P=${P/_} +DESCRIPTION="Module for decorators, wrappers and monkey patching" +HOMEPAGE=" + https://github.com/GrahamDumpleton/wrapt/ + https://pypi.org/project/wrapt/ +" + +LICENSE="BSD" +SLOT="0" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi +IUSE="+native-extensions" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # skip mypy tests, they are fragile + rm -r tests/mypy || die +} + +python_compile() { + local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false) + distutils-r1_python_compile +} |
