diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-05 07:03:55 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-05 07:03:55 +0000 |
| commit | 82e6bcd7a0ee6f9887a034913b623c47891728ce (patch) | |
| tree | 32b0ceb7f223f159ab712703adffa58570c2624f /dev-python | |
| parent | 5360c10fa69d24b86a57d0c28b364949c3f08128 (diff) | |
| download | baldeagleos-repo-82e6bcd7a0ee6f9887a034913b623c47891728ce.tar.gz baldeagleos-repo-82e6bcd7a0ee6f9887a034913b623c47891728ce.tar.xz baldeagleos-repo-82e6bcd7a0ee6f9887a034913b623c47891728ce.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
36 files changed, 870 insertions, 258 deletions
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.10.1.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.10.1.ebuild index b796bbeba590..4915f48e9c47 100644 --- a/dev-python/aiohttp-socks/aiohttp-socks-0.10.1.ebuild +++ b/dev-python/aiohttp-socks/aiohttp-socks-0.10.1.ebuild @@ -28,7 +28,6 @@ RDEPEND=" " BDEPEND=" test? ( - dev-python/pytest-asyncio[${PYTHON_USEDEP}] dev-python/trustme[${PYTHON_USEDEP}] dev-python/attrs[${PYTHON_USEDEP}] dev-python/yarl[${PYTHON_USEDEP}] @@ -37,4 +36,11 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=( pytest-asyncio ) distutils_enable_tests pytest + +PATCHES=( + # https://github.com/romis2012/aiohttp-socks/pull/53 + # https://github.com/romis2012/aiohttp-socks/commit/0d8800233dc8aa7384abaf02ebf3543d3d2dea97 + "${FILESDIR}/${P}-test.patch" +) diff --git a/dev-python/aiohttp-socks/files/aiohttp-socks-0.10.1-test.patch b/dev-python/aiohttp-socks/files/aiohttp-socks-0.10.1-test.patch new file mode 100644 index 000000000000..fa9ae3963c62 --- /dev/null +++ b/dev-python/aiohttp-socks/files/aiohttp-socks-0.10.1-test.patch @@ -0,0 +1,96 @@ +From 2ef7cba5f8d47d059d666683e7dcf01af214596f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 4 Oct 2025 19:17:44 +0200 +Subject: [PATCH] Fix test compatibility with pytest-asyncio >= 1.0.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Replace the obsolete `event_loop` fixture with +`asyncio.get_running_loop()`, to fix testing with newer versions +of `pytest-asyncio`. This change is backwards compatible. + +Signed-off-by: Michał Górny <mgorny@gentoo.org> +--- + tests/test_connector.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test_connector.py b/tests/test_connector.py +index 988fc20..e24ef48 100644 +--- a/tests/test_connector.py ++++ b/tests/test_connector.py +@@ -272,7 +272,6 @@ async def test_socks5_open_connection(url, rdns, target_ssl_context): + async def test_socks5_http_create_connection( + url: str, + rdns: bool, +- event_loop: asyncio.AbstractEventLoop, + target_ssl_context: ssl.SSLContext, + ): + url = URL(url) +@@ -281,6 +280,7 @@ async def test_socks5_http_create_connection( + if url.scheme == 'https': + ssl_context = target_ssl_context + ++ event_loop = asyncio.get_running_loop() + reader = asyncio.StreamReader(loop=event_loop) + protocol = asyncio.StreamReaderProtocol(reader, loop=event_loop) + +From 0d8800233dc8aa7384abaf02ebf3543d3d2dea97 Mon Sep 17 00:00:00 2001 +From: Roman Snegirev <rsng@mail.ru> +Date: Mon, 26 May 2025 13:14:40 +0300 +Subject: [PATCH] Fix tests, update README + +diff --git a/tests/test_connector.py b/tests/test_connector.py +index 8692fe6..988fc20 100644 +--- a/tests/test_connector.py ++++ b/tests/test_connector.py +@@ -35,6 +35,16 @@ + ) + + ++def is_proxy_connection_error(e: Exception): ++ return isinstance(e, ProxyConnectionError) or isinstance( ++ e.__cause__, ProxyConnectionError ++ ) ++ ++ ++def is_proxy_timeout_error(e: Exception): ++ return isinstance(e, ProxyTimeoutError) or isinstance(e.__cause__, ProxyTimeoutError) ++ ++ + async def fetch( + connector: TCPConnector, + url: str, +@@ -105,13 +115,15 @@ async def test_socks5_proxy_with_timeout(target_ssl_context): + async def test_socks5_proxy_with_proxy_connect_timeout(target_ssl_context): + connector = ProxyConnector.from_url(SOCKS5_IPV4_URL) + timeout = aiohttp.ClientTimeout(total=32, sock_connect=0.001) +- with pytest.raises(ProxyTimeoutError): ++ # with pytest.raises(ProxyTimeoutError): ++ with pytest.raises(Exception) as exc_info: + await fetch( + connector=connector, + url=TEST_URL_IPV4, + timeout=timeout, + ssl_context=target_ssl_context, + ) ++ assert is_proxy_timeout_error(exc_info.value) + + + @pytest.mark.asyncio +@@ -123,12 +135,14 @@ async def test_socks5_proxy_with_invalid_proxy_port(unused_tcp_port, target_ssl_ + username=LOGIN, + password=PASSWORD, + ) +- with pytest.raises(ProxyConnectionError): ++ # with pytest.raises(ProxyConnectionError): ++ with pytest.raises(Exception) as exc_info: + await fetch( + connector=connector, + url=TEST_URL_IPV4, + ssl_context=target_ssl_context, + ) ++ assert is_proxy_connection_error(exc_info.value) + + + @pytest.mark.parametrize('url', (TEST_URL_IPV4, TEST_URL_IPV4_HTTPS)) diff --git a/dev-python/audioread/audioread-3.0.1-r1.ebuild b/dev-python/audioread/audioread-3.0.1-r1.ebuild index ae92e63637ce..67fd64449216 100644 --- a/dev-python/audioread/audioread-3.0.1-r1.ebuild +++ b/dev-python/audioread/audioread-3.0.1-r1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 pypi @@ -22,7 +22,7 @@ IUSE="ffmpeg gstreamer mad" RDEPEND=" $(python_gen_cond_dep ' dev-python/audioop-lts[${PYTHON_USEDEP}] - ' python3_13) + ' 3.13 3.14) ffmpeg? ( media-video/ffmpeg ) @@ -41,6 +41,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=() distutils_enable_tests pytest PATCHES=( diff --git a/dev-python/audioread/audioread-3.0.1.ebuild b/dev-python/audioread/audioread-3.0.1.ebuild deleted file mode 100644 index de4b5bd98d4b..000000000000 --- a/dev-python/audioread/audioread-3.0.1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -# py3.13: https://github.com/beetbox/audioread/issues/144 -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Wrapper for audio file decoding using FFmpeg or GStreamer" -HOMEPAGE=" - https://github.com/beetbox/audioread/ - https://pypi.org/project/audioread/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm64 ~x86" -IUSE="ffmpeg gstreamer mad" - -RDEPEND=" - ffmpeg? ( - media-video/ffmpeg - ) - gstreamer? ( - dev-python/pygobject:3[${PYTHON_USEDEP}] - media-libs/gstreamer:1.0 - media-plugins/gst-plugins-meta:1.0 - ) - mad? ( - dev-python/pymad[${PYTHON_USEDEP}] - ) -" -BDEPEND=" - test? ( - dev-python/pymad[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest index 032e002c02bf..67b2b87210ca 100644 --- a/dev-python/beartype/Manifest +++ b/dev-python/beartype/Manifest @@ -1 +1,2 @@ DIST beartype-0.21.0.tar.gz 1437066 BLAKE2B 10c08fc07a87257fc21a85c2ab8c1402044b383051e5ecc919812710f74d277cbe70653a02aeeafc1007da5716bcb78c2024b5debb66b84ab5cdf4c3901fabb4 SHA512 fd3026c15bc1e9fc3985f7c691ad9c4c55532e5148bd3f554f40b7b6a33189af07ce9174c197907b4cd57f41778a436644e6ad610eec942d94c01cabb295c19b +DIST beartype-0.22.2.tar.gz 1574491 BLAKE2B 56242547bfdde274b91807f3be04e80ee6d76b05706406b7527c8fc201be78c5eb602157eb9642893ce36b27214b1c9f8f3bc624799584ed6d7b9aff3a98af6e SHA512 ef5f1568e5b2d0341b9598c138143f54e8eca987465ddb018f6b6d9eefa099b4f659c421e0bbe36b47fe2ca3bc2c13549e5321624d4d75f06d9250fae0fc869c diff --git a/dev-python/beartype/beartype-0.22.2.ebuild b/dev-python/beartype/beartype-0.22.2.ebuild new file mode 100644 index 000000000000..aaf3881c4056 --- /dev/null +++ b/dev-python/beartype/beartype-0.22.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 2022-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="Unbearably fast runtime type checking in pure Python" +HOMEPAGE=" + https://pypi.org/project/beartype/ + https://github.com/beartype/beartype/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +BDEPEND=" + test? ( + dev-python/click[${PYTHON_USEDEP}] + dev-python/mypy[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fragile performance test + beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large + # test for building docs, apparently broken too + beartype_test/a90_func/z90_lib/a00_sphinx +) diff --git a/dev-python/blurb/blurb-2.0.0.ebuild b/dev-python/blurb/blurb-2.0.0.ebuild index 8c09be65c6b2..3755cf4203af 100644 --- a/dev-python/blurb/blurb-2.0.0.ebuild +++ b/dev-python/blurb/blurb-2.0.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 pypi @@ -18,11 +18,5 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" -BDEPEND=" - test? ( - dev-python/pyfakefs[${PYTHON_USEDEP}] - dev-python/time-machine[${PYTHON_USEDEP}] - ) -" - +EPYTEST_PLUGINS=( pyfakefs time-machine ) distutils_enable_tests pytest diff --git a/dev-python/cstruct/Manifest b/dev-python/cstruct/Manifest index b949605cbb87..7fd259c8af90 100644 --- a/dev-python/cstruct/Manifest +++ b/dev-python/cstruct/Manifest @@ -1,2 +1 @@ -DIST python-cstruct-6.0.gh.tar.gz 40316 BLAKE2B 7dfc5c7515c08f18795dba886cfec64c4a86780b721738bd0377c85d62543bcb8ebdb854c4b1a24d0972f73435b92deb3ca6bbbf6324352d6f34ff582775477c SHA512 77ca6876cfc68e0c27a84eebcf3a356d3a9241cb68b7e912dbd9db29d17f074f115d983de6216a068d754506f301616ed0e7e9284023f7a27304e787beb7a547 DIST python-cstruct-6.1.gh.tar.gz 41085 BLAKE2B 6abf2eeca39f79018d81f2a7b047520f7a8c5eca5bc8aa1076e94106779473fb4c7dd6d8896a6bf0b9ea239db79c8b9778f1f856b95bf5e30367b44a7b2abc95 SHA512 402ad4367f1f0e519d9b6206ced6780b96eb732191d64f182b4d98461eb2bee6dcad25078ef4a9d0a94b3bf52ea577d2e30fb1a0b5205bb25e1521f52f8df1de diff --git a/dev-python/cstruct/cstruct-6.0.ebuild b/dev-python/cstruct/cstruct-6.0.ebuild deleted file mode 100644 index 56979994cb87..000000000000 --- a/dev-python/cstruct/cstruct-6.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 - -MY_P=python-cstruct-${PV} -DESCRIPTION="C-style structs for Python" -HOMEPAGE=" - https://github.com/andreax79/python-cstruct/ - https://pypi.org/project/cstruct/ -" -SRC_URI=" - https://github.com/andreax79/python-cstruct/archive/v${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -DOCS=( README.md ) - -distutils_enable_tests pytest diff --git a/dev-python/dbus-fast/Manifest b/dev-python/dbus-fast/Manifest index a9c9e11645bf..53413e5c24b3 100644 --- a/dev-python/dbus-fast/Manifest +++ b/dev-python/dbus-fast/Manifest @@ -1,2 +1,2 @@ -DIST dbus-fast-2.44.1.gh.tar.gz 202745 BLAKE2B 36fb2c1d1243ff376485b8fba783aab4917675d7277d28c71819fdcf0360cffa93c50fa4b71657897e17e0e5dec446e4965c4acc526bbb0528389fdf54a937ab SHA512 8db8d0748b09ffbe3040f3fae8938236dd23a326a0f0995868319c74152db4968ffa6b43f8efd950f8dbc4e850c17ffb7d474bc3f429935680f76a3e96bfd522 DIST dbus-fast-2.44.3.gh.tar.gz 203381 BLAKE2B ce98728ab1182ffebba71be077e9714df4712b77e0440eb43e7728601c0c20d6bb78338b4798438afe98a15da6ced26ee3d3743121b6340336ea0bac0e1eba23 SHA512 955231acef70154973ec1968c9bde95be726caa6d218b8a9857e8e837261088fb209dbdede0ed7e6e416c842ee886012ee9437c5166f53103d2400b23cd05f43 +DIST dbus-fast-2.44.5.gh.tar.gz 205159 BLAKE2B 4c5529ec4255106a37df493864dca3d5be20c76ebfe019382ee3b1e1bf7248121ab4100102655530464df64eb5d04551fdf396e993782b390f7b84a62889a6a4 SHA512 5d458687db282a0974d994a262234c12287ae3b93fc6e060a302046289943f542ca3953c0cc6ab158a413159e6f3764e616d1b7d1deebaeee9897790cbd13dc5 diff --git a/dev-python/dbus-fast/dbus-fast-2.44.1.ebuild b/dev-python/dbus-fast/dbus-fast-2.44.5.ebuild index c24342636412..1ab3c5d3ca76 100644 --- a/dev-python/dbus-fast/dbus-fast-2.44.1.ebuild +++ b/dev-python/dbus-fast/dbus-fast-2.44.5.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~riscv" +KEYWORDS="~amd64 ~riscv" BDEPEND=" >=dev-python/cython-3[${PYTHON_USEDEP}] @@ -29,11 +29,10 @@ BDEPEND=" test? ( >=dev-python/pycairo-1.21.0[${PYTHON_USEDEP}] >=dev-python/pygobject-3.50[${PYTHON_USEDEP}] - >=dev-python/pytest-asyncio-0.19[${PYTHON_USEDEP}] - >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] ) " +EPYTEST_PLUGINS=( pytest-{asyncio,timeout} ) distutils_enable_tests pytest export REQUIRE_CYTHON=1 @@ -58,6 +57,5 @@ python_test() { tests/benchmarks ) - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - nonfatal epytest -o addopts= -p asyncio || die + nonfatal epytest -o addopts= || die } diff --git a/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild b/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild index 9b532904d6cf..68f9c8b6b761 100644 --- a/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild +++ b/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild @@ -15,7 +15,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64 x86" RDEPEND=" >=dev-python/click-8.2[${PYTHON_USEDEP}] diff --git a/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild b/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild index d362b5f96cd3..cb9701964da6 100644 --- a/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild +++ b/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64 x86" # check ecc_fast.py for supported SOVERSIONS RDEPEND=" diff --git a/dev-python/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest index 56f2d06dd87a..d17cf01c24fc 100644 --- a/dev-python/fritzconnection/Manifest +++ b/dev-python/fritzconnection/Manifest @@ -1,2 +1 @@ -DIST fritzconnection-1.14.0.gh.tar.gz 165234 BLAKE2B 8a9350ad632eef353d08acd19560ffaed5d0cbfb073881f8892242b6616e1b830c84c7e9236280068278bac459a43f53c140a2f4d474ce9787a064530a8531b0 SHA512 99d002365d425ce459a3cfe9bbf48680639ccb1ef1cea65870a39e684c712abb8be16d10dad2c1a529c8b27c7b15dd9dad4a9eff38c975b1d8ff2fb15af72aa3 DIST fritzconnection-1.15.0.gh.tar.gz 167546 BLAKE2B 203ff8e0e3211ebe4cf9486096434cb30e19af01b21b2f0b8a4513bc27145f87d2b73d1849bfcf6079d2b89a63d5c85c9ad290bf3e09f2c9605bc8d60e178c9e SHA512 12743d0071d388b1bc2213401d84b25182e867977a82fcfc6b4086a73fee4dcc6c9c1d948b96060c8c0c8989f3a374299b406913d5f7a7bc98448d74423e225b diff --git a/dev-python/fritzconnection/fritzconnection-1.14.0.ebuild b/dev-python/fritzconnection/fritzconnection-1.14.0.ebuild deleted file mode 100644 index a252a2620934..000000000000 --- a/dev-python/fritzconnection/fritzconnection-1.14.0.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 2022-2024 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="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP" -HOMEPAGE=" - https://github.com/kbr/fritzconnection/ - https://pypi.org/project/fritzconnection/ -" - -LICENSE="MIT" -SLOT="0" -IUSE="qrcode" - -if [[ "${PV}" == "9999" ]]; then - EGIT_REPO_URI="https://github.com/kbr/fritzconnection" - inherit git-r3 -else - SRC_URI=" - https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - " - KEYWORDS="~amd64 ~arm64 ~x86" -fi - -RDEPEND=" - >=dev-python/requests-2.22[${PYTHON_USEDEP}] - qrcode? ( - dev-python/segno[${PYTHON_USEDEP}] - ) -" -BDEPEND=" - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # flaky (relies on time.sleep(0.01) magically being sufficient) - fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection - ) - - if has_version "dev-python/segno[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - # requires "QR Code detection" support in media-libs/opencv - # https://bugs.gentoo.org/917121 - fritzconnection/tests/test_fritzwlan.py::test_get_wifi_qr_code - fritzconnection/tests/test_fritzwlan.py::test_helper_functions - fritzconnection/tests/test_fritzwlan.py::test_tools - ) - fi - - # "routertest" marks tests against live hardware - epytest -m "not routertest" -} diff --git a/dev-python/fritzconnection/fritzconnection-1.15.0.ebuild b/dev-python/fritzconnection/fritzconnection-1.15.0.ebuild index b45c88756527..7c5e812e2f40 100644 --- a/dev-python/fritzconnection/fritzconnection-1.15.0.ebuild +++ b/dev-python/fritzconnection/fritzconnection-1.15.0.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 @@ -35,12 +35,8 @@ RDEPEND=" dev-python/segno[${PYTHON_USEDEP}] ) " -BDEPEND=" - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" +EPYTEST_PLUGINS=( pytest-mock ) distutils_enable_tests pytest python_test() { @@ -49,16 +45,6 @@ python_test() { fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection ) - if has_version "dev-python/segno[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - # requires "QR Code detection" support in media-libs/opencv - # https://bugs.gentoo.org/917121 - fritzconnection/tests/test_fritzwlan.py::test_get_wifi_qr_code - fritzconnection/tests/test_fritzwlan.py::test_helper_functions - fritzconnection/tests/test_fritzwlan.py::test_tools - ) - fi - # "routertest" marks tests against live hardware epytest -m "not routertest" } diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 3988f171e7dc..92ed2d048daf 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -4,3 +4,4 @@ DIST hypothesis-6.138.17.gh.tar.gz 9622806 BLAKE2B ab53606527145ef5a33cdcf177115 DIST hypothesis-6.139.2.gh.tar.gz 9623909 BLAKE2B 2b509474e06169191087932a47a0564fc5babf0f1e2acddd4f95d7d411befea444a80c7d7fea9c8582fb6ddc8153388a52a7a29d917f4f5ea8c142c8345e9036 SHA512 ffd797bc2ed6591fd67b2639665c606c1814a7ee2cca1b1f4272ef505a3ad83883988feb2dc32e4a92813c540dd485594d2c332e945ad7f58b9eb276af733869 DIST hypothesis-6.140.0.gh.tar.gz 9624664 BLAKE2B 9600322c753095501d64595030dc2a97aa929909b26625d2995bf2f9c89a0dc0ce99e682c41fe176be880c80f4134329b4366bff984a140f9e3da91689396858 SHA512 9a2c04a2846412dc7ece19702c64dab4e3db6734ca176af7e462e5479c1b6bf316e5c736e147c69b2a183f424618dbb24b388ae967af0cbaf433eab413dfdd78 DIST hypothesis-6.140.2.gh.tar.gz 9625203 BLAKE2B f9ca33c1ad7522ab0250e7b453aba0d4c5ae0322e478d6199e26a084b75f6a43358fb2e3b2344bf1f9fd44f8707d554b159705e26f26eced97ad0d475687b1cf SHA512 13024dfc4a633fb973e4846122bfc1e25ff45fc7c4b5e2696c6efc548d827c82a253662586cd79aaae94f6d81e4b00bd5c41cca71f0c7546296fed0e4ba4780e +DIST hypothesis-6.140.3.gh.tar.gz 9625658 BLAKE2B 4316d4aa5f4b2b2a476c6d978d0934450b95f8260efefe6b8d2b2551af504ba2bbff761ac89bdd60fa1b7cc35b6d746c1f24419b56548aa33476960157ec078e SHA512 49be610c4c0af443a9c29262e04649fa4d3a810c386ccc4f570aac82f0289bab34718ae09e80bf10bb91654104b0d57c829d6b4facb8a22da09bfb921de15762 diff --git a/dev-python/hypothesis/hypothesis-6.140.3.ebuild b/dev-python/hypothesis/hypothesis-6.140.3.ebuild new file mode 100644 index 000000000000..7a7443937da6 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.140.3.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + python3.13t) + EPYTEST_DESELECT+=( + # TODO: missing warning + 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns' + ) + ;; + python3.14*) + EPYTEST_DESELECT+=( + 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]' + 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]' + hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds + hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence + hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression + hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types + hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic + hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense + hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns + hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope + hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest -o filterwarnings= tests/{cover,pytest,quality} +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest index 3b3bf51cec23..707af69a87c8 100644 --- a/dev-python/inline-snapshot/Manifest +++ b/dev-python/inline-snapshot/Manifest @@ -1,3 +1,4 @@ DIST inline_snapshot-0.28.0.tar.gz 348554 BLAKE2B 2c475505ee76bc79e04f7b5cd5f3ca09f53858a45f31cbd14c8357c3739a13e96b52a815fd8ee94050b72ce45cc347ecc6512ef008081f20da57efddfd7a59df SHA512 144b7987800485ddcfb03f5ed70eb86fa8cdcd0eef6c1fd17d5be05ffb8c3e2cb3b5c86b9701b1dfb126a07a3146801bd9fd97aedaeda50e368e88d243b2beef DIST inline_snapshot-0.29.1.tar.gz 350236 BLAKE2B 331d81993a2f06ecc9ec609587e0dfb28c3f8525e5faab09b5962f3cb5bcdf9e442d9908f0039715258bf9b3c0876ab1148738e909f065c04844a9e86e7ad1a3 SHA512 760cdaa4794742753efba8c47c60ecbd08bf2cac61753c3971506a12a81f991fbe3c250aaadba65c7856987de8048a5d6cb432d8909515517faa4621d71b32c4 DIST inline_snapshot-0.29.2.tar.gz 2596750 BLAKE2B 7aa549af79a6b807dac628a5d7e6ed4e0c9a8b01739db68f843af47b0ca7056d18193fb9fde2f820be7521a3288ae2c16894d07011841ac548e259d83d256427 SHA512 c2197ff1681601d19793d3db0cc577dc26c494398a85a5e08712ecd8208c74d099d7669e66cbde3b1789626331c0eb7fb3d883de31d84ad2eef5bc1d8fa5b771 +DIST inline_snapshot-0.29.3.tar.gz 2596900 BLAKE2B de126916e4413245848d467042dd6cbc79e6d43225204a2df8cb96dae0dffcc822b9e26c3024fed45ea82e90c4ef5db60b6162f073df86d4d978f388685f644f SHA512 d0a6538d1fd192e149aeb68435c2b2e2b56d2ecaba776d43d2ccebb566ab15b32ff57aacfbeaa0d941d54e4a6c1146b514f36742777ccd9636db016ed98e288b diff --git a/dev-python/inline-snapshot/inline-snapshot-0.29.3.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.29.3.ebuild new file mode 100644 index 000000000000..dd22ca843ec0 --- /dev/null +++ b/dev-python/inline-snapshot/inline-snapshot-0.29.3.ebuild @@ -0,0 +1,61 @@ +# Copyright 2024-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} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Create and update inline snapshots in your Python tests" +HOMEPAGE=" + https://15r10nk.github.io/inline-snapshot/ + https://github.com/15r10nk/inline-snapshot/ + https://pypi.org/project/inline-snapshot/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}] + >=dev-python/executing-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}] + >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/attrs[${PYTHON_USEDEP}] + >=dev-python/black-23.3.0[${PYTHON_USEDEP}] + >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/mypy[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/pydantic-2[${PYTHON_USEDEP}] + >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}] + >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # requires pyright + 'tests/test_typing.py::test_typing_args[pyright]' + 'tests/test_typing.py::test_typing_call[pyright]' + # TODO + tests/test_formating.py::test_format_command_fail + ) + + local -x COLUMNS=80 + local -x PYTHONPATH=${S}/src + epytest +} diff --git a/dev-python/propcache/Manifest b/dev-python/propcache/Manifest index 244adc493b1b..183fcc20abe1 100644 --- a/dev-python/propcache/Manifest +++ b/dev-python/propcache/Manifest @@ -1 +1,2 @@ DIST propcache-0.3.2.tar.gz 44139 BLAKE2B ace9070dbfceb08fcef26f01f9aab291982a3f99f1f035fb113d539a613eeeb2b69b36b197c21d733b0a4b5d73cc22180aa6aca9f3a220dbd3cd471dc57d0ee4 SHA512 d85a89dd1d34936578eb05a869e0ec07679d477c716aa047bbda00688a2926fd8a1f712c9ddec3de38faa49762941120df12ebe88dc36278f20d84ee796b91fe +DIST propcache-0.4.0.tar.gz 45187 BLAKE2B 59d7311251420adb5da60842756ebf889d428f1a551488d9d580c0db74ad2b50389085a075852d12255175ce6736f4becfffef8d28046bb94aff51f9942d4a45 SHA512 883ba1851c8248e49ea1c4b697c06e12754d980c6ff9765350b124ed914385ce70bd061616db35a7fcb235957ac1cecad132ec51fac20e59e90c4cd65306085b diff --git a/dev-python/propcache/propcache-0.4.0.ebuild b/dev-python/propcache/propcache-0.4.0.ebuild new file mode 100644 index 000000000000..c1aabf98d9c8 --- /dev/null +++ b/dev-python/propcache/propcache-0.4.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Yet another URL library" +HOMEPAGE=" + https://github.com/aio-libs/propcache/ + https://pypi.org/project/propcache/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + dev-python/expandvars[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + local -x PROPCACHE_NO_EXTENSIONS=0 + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + PROPCACHE_NO_EXTENSIONS=1 + fi + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + tests/test_benchmarks.py + ) + + local opts=() + if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then + opts+=( --no-c-extensions ) + fi + + rm -rf propcache || die + epytest -o addopts= "${opts[@]}" +} diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index d4d129e99603..e08fdccfb407 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -1,3 +1,4 @@ +DIST pydantic-2.11.10.tar.gz 788494 BLAKE2B 0fad8fa9baf40869df8ccb2715dc314ff64f7c21c20328be6b8c7387f4efbab92e681bc11660cdb321e12b462e1cd908bd0ae4c9c91b1d9a9ee6b072512badc7 SHA512 7bebff22b441bf0708457ed6b93909b4e2faaa7ff168323646bc61722fddc4497ceff8fc1759b9237a57a223f08c8ef450a0c9e062cee54e97c6ebc5f396b59a DIST pydantic-2.11.7.tar.gz 788350 BLAKE2B 4767f593beb649fe3139f3b22e3814a9f56793494dc17428cf70952451e9112d03b275c0af979f0f0159b25deae2e2794bfdb1392e2c3499220ad3cd67945414 SHA512 54ee1a49d5a429cad31928425c197139ae3cce004d8f3530835ce39897be9afa6aea35e639af1d6290bace7148e1369ce66840e26bced329bc2e7d93b3dad6e5 DIST pydantic-2.11.8.tar.gz 788452 BLAKE2B 91c967ddf3f6ad6ec3713e1503e35d43adffc3160d9a4df2710db4ccab4c313ef8009de379473f7438d3f0ce716408b924963974d381bf27232aafb5afb960b1 SHA512 f06b821d84cecc6b1b9f364d35ae67cd79fd25dc356922d4af4418ad77dacc57ba327febc7fd33dee5cf070f8e9018ee3362c8f0aa8a5802a6af2ff327018254 DIST pydantic-2.11.9.tar.gz 788495 BLAKE2B d22e4aef09d65c30829dfb31d161c82511cc8e1a1b57dde08008462f42a23e4653979ff0578ab571314538d1267b8628bb4ab0eb4fe9af59ed2023c83f33a530 SHA512 32bcaf1de12d2df2344222389c8deefb88432886449ad52b420b4ff760b7b882522d416996fdea4d44a6cf4d24f96b2aec55d003e9772e28b2cacd654eed64fb diff --git a/dev-python/pydantic/pydantic-2.11.10.ebuild b/dev-python/pydantic/pydantic-2.11.10.ebuild new file mode 100644 index 000000000000..40fd6d6d2fb1 --- /dev/null +++ b/dev-python/pydantic/pydantic-2.11.10.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +# py3.14: https://github.com/pydantic/pydantic/issues/11613 +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] + ~dev-python/pydantic-core-2.33.2[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/cloudpickle[${PYTHON_USEDEP}] + ' 'python3*') + dev-python/dirty-equals[${PYTHON_USEDEP}] + >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] + >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/benchmark/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # -Werror, sigh + tests/test_types_typeddict.py::test_readonly_qualifier_warning + ) + local EPYTEST_IGNORE=( + # require pytest-examples + tests/test_docs.py + # benchmarks + tests/benchmarks + ) + + if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/test_pickle.py + ) + fi + + epytest +} diff --git a/dev-python/pygithub/Manifest b/dev-python/pygithub/Manifest index 4d14f348f2de..6522c1481b66 100644 --- a/dev-python/pygithub/Manifest +++ b/dev-python/pygithub/Manifest @@ -1,3 +1 @@ -DIST pygithub-2.6.1.tar.gz 3659473 BLAKE2B b76acfe675de3a50dac235ec656e9bef01073aa470812af60ff1d1a3863b9b3c29ff85c05da5aa2b64ee722ad024be2e0e4c1109ddd1d0eb9b3f69c035a63a90 SHA512 884791ebab23bb98d2006592621a4fb2e207a63f2953a590ab653974c3e41c5a95aa5448468763d50125c2b378aaddb304e1b1f9824b9ed4360628f8b79ce6db -DIST pygithub-2.7.0.tar.gz 3707928 BLAKE2B 9b256c33c7c909ed687950d1b5389bebee949be781822ae5cfc772d45095a5b677128eb4e98c2902fc5a36e615d97c8310c1f130ac88a70f83659644f68b9fee SHA512 b0d43f526e1c2cbdbec96793c0495ba80ad0c408c0afe384a3dad6760440a10fa4dd9991a344d5be24be1d071b357880f710167c41db371506341cd17388b3fa DIST pygithub-2.8.1.tar.gz 2246994 BLAKE2B 6d54d87abdf20d4068efaff9117e005d970f2d60d52bc3d9d985ef4616004e09c72f27c870b89f506246af7cb9a73c5b9f1b2853e5f980f8f59e6e1f99e2594c SHA512 87724ebb922fe35867a23a56c59cc6fc56fd2a4c24129ebfdd06683797aa8398e68379b42a6fb73ebb0dae5e2e403cf9fb518c5738f156e40a76bea6661c2192 diff --git a/dev-python/pygithub/pygithub-2.6.1.ebuild b/dev-python/pygithub/pygithub-2.6.1.ebuild deleted file mode 100644 index b044d555f8bb..000000000000 --- a/dev-python/pygithub/pygithub-2.6.1.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_PN=PyGithub -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python library to access the Github API v3" -HOMEPAGE=" - https://github.com/PyGithub/PyGithub/ - https://pypi.org/project/PyGithub/ -" - -LICENSE="LGPL-3+" -SLOT="0" -KEYWORDS="amd64 arm64 x86" - -# cryptography via pyjwt[crypto] -RDEPEND=" - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/deprecated[${PYTHON_USEDEP}] - >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}] - >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.14.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/responses[${PYTHON_USEDEP}] - >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/pygithub/pygithub-2.7.0.ebuild b/dev-python/pygithub/pygithub-2.7.0.ebuild deleted file mode 100644 index 1f1e8af0e93a..000000000000 --- a/dev-python/pygithub/pygithub-2.7.0.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_PN=PyGithub -PYTHON_COMPAT=( python3_{11..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python library to access the Github API v3" -HOMEPAGE=" - https://github.com/PyGithub/PyGithub/ - https://pypi.org/project/PyGithub/ -" - -LICENSE="LGPL-3+" -SLOT="0" -KEYWORDS="amd64 arm64 x86" - -# cryptography via pyjwt[crypto] -RDEPEND=" - dev-python/cryptography[${PYTHON_USEDEP}] - >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}] - >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.14.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/responses[${PYTHON_USEDEP}] - >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/pygithub/pygithub-2.8.1.ebuild b/dev-python/pygithub/pygithub-2.8.1.ebuild index 9e0cc3d38e61..3432bb2a3538 100644 --- a/dev-python/pygithub/pygithub-2.8.1.ebuild +++ b/dev-python/pygithub/pygithub-2.8.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="LGPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" # cryptography via pyjwt[crypto] RDEPEND=" diff --git a/dev-python/rich-click/Manifest b/dev-python/rich-click/Manifest index 262afc1e37a6..4e245a5d4de0 100644 --- a/dev-python/rich-click/Manifest +++ b/dev-python/rich-click/Manifest @@ -1,2 +1,3 @@ DIST rich-click-1.8.9.gh.tar.gz 8142387 BLAKE2B de7aa54989747d47c2d147cec8235c4619a90b5a536266dbf2f499f704c3671bb4697bbcb23b0d0827caaf52d65dd29157f01918d29abc9c469fdd6c84af0c84 SHA512 6655ee3ac54fdae5a1221ef2ceaae35aa2ed8381c29f9808bb852d0790426a90d1fcb1a82faa61a22112946b988f891fc76dc3976ae756702458c547d7014745 DIST rich-click-1.9.1.gh.tar.gz 8522706 BLAKE2B 51568fb38662585569032b0e2b1cf2c0d7e20d21402cbd571fb51d61f69d96589e5a3fe983266dcd5245b020d83d50422c86ef1af1d10833f04677abc2afb359 SHA512 f1de1dadc261aa38b017752a77d8bd63fb2c74ef01d744d3557a6fae9372731e51b7c5805a34cb4f323fffaa7a990ed19ac035d1c5e3c4984c3a2e8b6c9e6e7c +DIST rich-click-1.9.2.gh.tar.gz 8523167 BLAKE2B 85b24d86996919f8a1dbc68c5c73b0446d5b54dbe4b6709054a79c6fa640d1b87b0cab41e67fa37dacd525efa8b0898f2b3d380beee8942a26496d440f86aedf SHA512 36775ca1e172320f5923076230d6bbd954ae63f668b2c4f89caa7412a91bb2f68ca09686280cd13bd9a488ac20e0eb50dd942efdcc82c196c3d650ca32958387 diff --git a/dev-python/rich-click/rich-click-1.9.2.ebuild b/dev-python/rich-click/rich-click-1.9.2.ebuild new file mode 100644 index 000000000000..5932335545b0 --- /dev/null +++ b/dev-python/rich-click/rich-click-1.9.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 2024-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="Format click help output nicely with rich" +HOMEPAGE=" + https://pypi.org/project/rich-click/ + https://github.com/ewels/rich-click/ +" +SRC_URI=" + https://github.com/ewels/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64" + +RDEPEND=" + >=dev-python/click-8[${PYTHON_USEDEP}] + >=dev-python/rich-12[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/packaging-25[${PYTHON_USEDEP}] + >=dev-python/typer-0.15[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( inline-snapshot ) +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index 8e8dde22a749..45668b049a2b 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -5,4 +5,5 @@ DIST uv_build-0.8.18.tar.gz 330099 BLAKE2B 7a9a144aeae7ab2d9f458d10c2b8786f4d5e2 DIST uv_build-0.8.19.tar.gz 331154 BLAKE2B 45d594ced0dd59efc9efdb48c2c412d8e619b7fb1b2dbe74e172bae736d35c9ac920763479ba78d7ff60f0f5dddeb75b15b1dbadcf15d10e7c28c17e92971c83 SHA512 91b7b31c5d42b59869b7fe282ee4a5410512a756df90ea68d46015aef950e21c1a61218b75e3d5f9b38cd84b84e99ee0b314943e85344fb00978885ab11e9483 DIST uv_build-0.8.20.tar.gz 331116 BLAKE2B 0089f4c645a0ddcbf9661c67108f10b72bfe0ab26f096f1176d24f51f88c2ef1f1947329274dbbe367dfe4d1f6d0066a66befbc37ceb184d27609702745b2fa4 SHA512 d13b53e71ea1805fc9530045e52300ce6a06a1d77f41d8f3ab47d0ac1d459d22ce3b5323cf4543a6fb251543821d367c24aeba108fea09de651f84fb78149804 DIST uv_build-0.8.22.tar.gz 332850 BLAKE2B c3c48c77ecbe53a66f48077143e49ec61af92583618934abb11ef492e29a81759300f3bf7f01ae5cbc986dc1cc77568fd7f30607868f5d8d6dca237379ea7b2d SHA512 eb08f61551bdb4a79ff8978e2008ba160731c477d8e71a6a92266425640e7e053f44970ac6d8119e80b03cda803081ef81758885d5af7d88f9efef818f820340 +DIST uv_build-0.8.23.tar.gz 332290 BLAKE2B 06b569c7ce774476e3e24eb0e4cf8f9f30d590f084df02b88172b19dbe374338003fd912e5ce845a91bc6f4871991d4cd34c551a39a615dc2ecebaf6780726a2 SHA512 3cc9bb53e60e09c7450630f09042ba07bbb61c1ad2731566e57a1d9e157b68a882d53a66bb8b088101c48eb89b4411a55eb96c0969a18c325db79a37e02dba9c DIST uv_build-0.8.6.tar.gz 318772 BLAKE2B faf4f36b32cf308d3c70d52b84bd135d108db4018bc4c7eadf193448e422fe8b0deb1cf68f7264413152697708f9a15748a017d0ece151c19c1677916b3727b9 SHA512 da83c3ba7f2daa1c39a8bac5b18635eff4afc93460ea23b770518ebaf44bef573654e272c117e257f4126124c71a5b661f2751ff36be792c03ee28f257d1eddc diff --git a/dev-python/uv-build/uv-build-0.8.23.ebuild b/dev-python/uv-build/uv-build-0.8.23.ebuild new file mode 100644 index 000000000000..d75c0bd44a9f --- /dev/null +++ b/dev-python/uv-build/uv-build-0.8.23.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index ff867350784f..4a45e5800090 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -16,5 +16,7 @@ DIST uv-0.8.20-crates.tar.xz 45310716 BLAKE2B 4fe01bda1fe2c879742433bfedbc459fb9 DIST uv-0.8.20.gh.tar.gz 4702175 BLAKE2B ffb1898d1acd59fe9befd2ae2842d133619b9d9ec2e114b5332848b0155ebc065589951363df167f1b2e8dc48fe103fd97da8542a5e1a551d6938635fcb628c5 SHA512 80e6566b8152b5f2eff8f1f8991ed4f62465670aa5a179dc055fa8395968581369ebd9289000b934c28e395b39185ea18d705066016ea969abbbe42985064668 DIST uv-0.8.22-crates.tar.xz 45793452 BLAKE2B ff9678899b1fd3a3d5cc34599ea1631dddd64485cb65506d066db7c960798b1e5bf36ef007fc54ba262d4496f4c87301a51cfc70a854ab3d00b20dbcb68ff1c2 SHA512 6e144acea42db2fd8e3922bb23d42be4fb82706a44a6da66c7bb47d360a53ea90f0b073f23893095a3893a0ca61ea053eee6d878b87bf3664abd601e38c1ec2c DIST uv-0.8.22.gh.tar.gz 4707422 BLAKE2B f205c01e46f2e638c125f2ce3e97fdcb761e9fdc9993b8cddcb41dc1ccda1785d013c6c30992760f1a0929d1a0bfe30711325e55f9051fb3eb731c284ecfb693 SHA512 625d5bf4a824ed785f819fded89f980e50d7a393a537b8ac4f75f3c1985d51e57e8e982960441029e526ffa09a63781262567c336615444309ffef300d90e1dd +DIST uv-0.8.23-crates.tar.xz 45766372 BLAKE2B 2637a9fe79fb647b74c8666b4574a94a98873e3d82d192fd941ad4e8cade231ff8251830dc6273a4355abc03cc8ac231d96125bef786f54b665068a13d5454a3 SHA512 df4b95502004d2bdec5ec3ee40e6ee8fef9b1744e4cf6c8944cff533f65a7edc4f9fa4988d768f85fbaf025b1dd2d2bb24bab903d7673247fad86741afa646f9 +DIST uv-0.8.23.gh.tar.gz 4713451 BLAKE2B 0315ebd13331e1b48a469e6bb0e470db75c0d9d3ed6349d3318a533494dc716789386e5ebae3141b2d7fe5d41987f97f9cc9273b2800409bd6ececb2aa25dc6b SHA512 b8fc563ee0bf69fbd809e140b28657e9cbc93233ae7d04cf8b852b3aa3be2ea636c5ae24649ea36cc5e95e6089a4c5400dcf088327a71225b7677b9622e315a7 DIST uv-0.8.6-crates.tar.xz 46208952 BLAKE2B f9557a45fbfaa9d6006f935629130960b5d414cd185d7fbdb1415e7f3875568d07ade946a0b606712e9e2e06e7964bb0fb8318e02e78609899a852ed073b87a6 SHA512 c79fa70a6a670dc2d80efbf0b51942806b2b16ab7b4c63983ab634453ab32142322302bd68ab80f5bcfee08138bca8d04a7d152c76ca5d94bfc40255cab8477b DIST uv-0.8.6.gh.tar.gz 4255911 BLAKE2B 198ed83cb487f25a35957959bca32f98b8f5343712a7a9bbf3f817f189f1ec9c7903fa2e64ec65c9b3e18a469506c942ebb0ca50b39a353dc7e82228386fb69c SHA512 d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d diff --git a/dev-python/uv/uv-0.8.23.ebuild b/dev-python/uv/uv-0.8.23.ebuild new file mode 100644 index 000000000000..5c9e7094598b --- /dev/null +++ b/dev-python/uv/uv-0.8.23.ebuild @@ -0,0 +1,183 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.88.0" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%' + [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware' + [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges' +) + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # replace upstream crate substitution with our crate substitution, sigh + local pkg + for pkg in reqwest-middleware reqwest-retry; do + local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die) + sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die + done + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest index a13b611ef03e..8f6b6224957f 100644 --- a/dev-python/zeroconf/Manifest +++ b/dev-python/zeroconf/Manifest @@ -1,3 +1,5 @@ DIST zeroconf-0.147.0.tar.gz 163958 BLAKE2B a706012207fc7b1b2a74dddb29729de1180f6025dfd19c59d06494fe62a66127231c96b3df49d10d55fb8b3d09bec78959092bd1b6cd68a4d6ea5c553a98579d SHA512 930902ea04f030bb557b9c2788c7c369d6f65c92b214bb094955e66868187ce8c8341b5a67382df2ddc42b769701b553bdb3b89871557bc9f2cc681fbe1ccc07 DIST zeroconf-0.147.2.tar.gz 164391 BLAKE2B 8d8d273c4ea768b25834481b4cc3b245cd92cf9a04da723fbfe245fb7b516f39e44467edfb2be924e5a26b765f159e35b78da0c3aa8118082e4f4c10fc9929bb SHA512 ee327e3d53ab75f316a2ebaaed42be52395d9f4d4252b90dead6dea59234d0cbf5769efbef35aaef8056b40e9c637506a822977635b716f49be0c594badb506a DIST zeroconf-0.147.2.tar.gz.provenance 9593 BLAKE2B 4b97498d0e6014f18248fd3de3a608c376556ee3e1b99aa1012097ab84240f7c495f011a510c007600c535187c32937a6b161251aa0721dba3bc784fcb981239 SHA512 29c9659cd6185a55c3c824fa2d275b7f2f30b4913c477f1dfe9d6a1ac9a2a346a281bcc48baba8e2fb8d0e00925d1470f0e9101456b8af8a95b752cb8f1e8f99 +DIST zeroconf-0.148.0.tar.gz 164447 BLAKE2B 7ef17f3b028dc19fba09e6566f7a123114cf6e738c9237a4169a76748e01c817769e28185e6649b47ceb8cc4ae30156ce72eac6c42949efa6d7b672b18fe9461 SHA512 d3b88b9a3e86db172f78534c11677166b05ec770924d926258972f18edf2f3e2149abbcf8984e7b53b606866742fdda2b50839cdb0f69e429b58eb1813d20539 +DIST zeroconf-0.148.0.tar.gz.provenance 9736 BLAKE2B 6d55cd6ff39ed897e499ada05f1c1fe069a621229bfd4c01852d7e655519390357c655a70f2099d9fa1f69429e03950c6dbb2e8bb9d7c552a35bfb70c8233050 SHA512 64886abc8f42435f7d75ddbda25a2690fd7a43c8c1576f0f02ff4e46879f2298c013dfcdb4731ad274e9b4fb5a884b57504f8e6ebf3963f17931e583bd22b4a8 diff --git a/dev-python/zeroconf/zeroconf-0.148.0.ebuild b/dev-python/zeroconf/zeroconf-0.148.0.ebuild new file mode 100644 index 000000000000..5253bee3bcf2 --- /dev/null +++ b/dev-python/zeroconf/zeroconf-0.148.0.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=poetry +PYPI_VERIFY_REPO=https://github.com/python-zeroconf/python-zeroconf +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE=" + https://github.com/python-zeroconf/python-zeroconf/ + https://pypi.org/project/zeroconf/ +" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+native-extensions" + +RDEPEND=" + >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] +" +# the build system uses custom build script that uses distutils to build +# C extensions, sigh +BDEPEND=" + native-extensions? ( + >=dev-python/cython-3.0.8[${PYTHON_USEDEP}] + ) + >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +python_compile() { + if use native-extensions; then + local -x REQUIRE_CYTHON=1 + else + local -x SKIP_CYTHON=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local -x SKIP_IPV6=1 + local EPYTEST_DESELECT=( + # network + tests/test_core.py::Framework::test_close_multiple_times + tests/test_core.py::Framework::test_launch_and_close + tests/test_core.py::Framework::test_launch_and_close_context_manager + + # fragile to timeouts (?) + tests/services/test_browser.py::test_service_browser_expire_callbacks + tests/utils/test_asyncio.py::test_run_coro_with_timeout + + # randomly broken by a leftover thread? + tests/test_circular_imports.py::test_circular_imports + ) + local EPYTEST_IGNORE=( + tests/benchmarks + ) + + epytest -o addopts= +} |
