diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-25 06:59:56 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-05-25 06:59:56 +0000 |
| commit | 7905b85a5dde08d4760319aa85fa4fa8954e8548 (patch) | |
| tree | eb4955d2c950ca4d00b5d51a9a0101975759378f /dev-python | |
| parent | e7db7379fcca2dcb309c8c5bf5dec5d11a31ae47 (diff) | |
| download | baldeagleos-repo-7905b85a5dde08d4760319aa85fa4fa8954e8548.tar.gz baldeagleos-repo-7905b85a5dde08d4760319aa85fa4fa8954e8548.tar.xz baldeagleos-repo-7905b85a5dde08d4760319aa85fa4fa8954e8548.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
27 files changed, 992 insertions, 12 deletions
diff --git a/dev-python/aiocache/aiocache-0.12.3-r1.ebuild b/dev-python/aiocache/aiocache-0.12.3-r1.ebuild new file mode 100644 index 000000000000..df22a1e50557 --- /dev/null +++ b/dev-python/aiocache/aiocache-0.12.3-r1.ebuild @@ -0,0 +1,73 @@ +# 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 pypi + +DESCRIPTION="Asyncio cache manager" +HOMEPAGE=" + https://github.com/aio-libs/aiocache/ + https://pypi.org/project/aiocache/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + test? ( + dev-db/redis + dev-python/marshmallow[${PYTHON_USEDEP}] + >=dev-python/msgpack-0.5.5[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + >=dev-python/redis-4.2.0[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-py313.patch +) + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # broken by newer dev-python/redis (?), removed upstream + tests/ut/backends/test_redis.py::TestRedisBackend::test_close + ) + local EPYTEST_IGNORE=( + # benchmarks + tests/performance + # requires aiomcache + tests/ut/backends/test_memcached.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -m "not memcached" -p asyncio -p pytest_mock +} + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + + # Spawn Redis for testing purposes + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 ::1 + EOF + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} diff --git a/dev-python/aiocache/files/aiocache-0.12.3-py313.patch b/dev-python/aiocache/files/aiocache-0.12.3-py313.patch new file mode 100644 index 000000000000..5df233144a62 --- /dev/null +++ b/dev-python/aiocache/files/aiocache-0.12.3-py313.patch @@ -0,0 +1,239 @@ +https://github.com/aio-libs/aiocache/commit/47ac136b65db9cb4106ed68f764ad257db0277bb + +From 47ac136b65db9cb4106ed68f764ad257db0277bb Mon Sep 17 00:00:00 2001 +From: Sam Bull <git@sambull.org> +Date: Mon, 25 Nov 2024 09:26:30 +0000 +Subject: [PATCH] Update for Python 3.13 (#864) + +Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com> +--- + .github/workflows/ci.yml | 8 ++++---- + .pre-commit-config.yaml | 4 ++-- + .readthedocs.yml | 24 ++++++++++++++++++++++++ + aiocache/backends/redis.py | 3 ++- + examples/frameworks/aiohttp_example.py | 2 +- + requirements-dev.txt | 7 ++++--- + requirements.txt | 18 +++++++++--------- + setup.cfg | 2 ++ + setup.py | 7 ++++--- + tests/performance/server.py | 11 +++++++---- + tests/ut/backends/test_redis.py | 2 +- + tests/ut/test_decorators.py | 20 ++++++++++---------- + 12 files changed, 70 insertions(+), 38 deletions(-) + create mode 100644 .readthedocs.yml + +diff --git a/aiocache/backends/redis.py b/aiocache/backends/redis.py +index d0e3bd65..ce115516 100644 +--- a/aiocache/backends/redis.py ++++ b/aiocache/backends/redis.py +@@ -51,6 +51,7 @@ def __init__( + warnings.warn( + "Parameter 'pool_min_size' is deprecated since aiocache 0.12", + DeprecationWarning, ++ stacklevel=2, + ) + + self.endpoint = endpoint +@@ -188,7 +189,7 @@ async def _redlock_release(self, key, value): + return await self._raw("eval", self.RELEASE_SCRIPT, 1, key, value) + + async def _close(self, *args, _conn=None, **kwargs): +- await self.client.close() ++ await self.client.aclose() + + + class RedisCache(RedisBackend): +diff --git a/examples/frameworks/aiohttp_example.py b/examples/frameworks/aiohttp_example.py +index e612b30a..7220c711 100644 +--- a/examples/frameworks/aiohttp_example.py ++++ b/examples/frameworks/aiohttp_example.py +@@ -25,7 +25,7 @@ def __init__(self, *args, **kwargs): + async def get_from_cache(self, key): + try: + value = await self.cache.get(key) +- if type(value) == web.Response: ++ if type(value) is web.Response: + return web.Response( + body=value.body, + status=value.status, +diff --git a/requirements-dev.txt b/requirements-dev.txt +index 82a078fb..a4380ba4 100644 +--- a/requirements-dev.txt ++++ b/requirements-dev.txt +@@ -1,10 +1,11 @@ + -r requirements.txt + +-flake8==6.0.0 ++flake8==7.1.1 + flake8-bandit==4.1.1 +-flake8-bugbear==22.12.6 ++flake8-bugbear==24.10.31 + flake8-import-order==0.18.2 +-flake8-requirements==1.7.6 ++flake8-requirements==2.2.1 + mypy==0.991; implementation_name=="cpython" + types-redis==4.4.0.0 + types-ujson==5.7.0.0 ++sphinx==8.1.3 +diff --git a/requirements.txt b/requirements.txt +index 31dfe1a2..6a1e5ba4 100644 +--- a/requirements.txt ++++ b/requirements.txt +@@ -1,11 +1,11 @@ + -e . + +-aiomcache==0.8.0 +-aiohttp==3.8.3 +-marshmallow==3.19.0 +-msgpack==1.0.4 +-pytest==7.2.0 +-pytest-asyncio==0.20.3 +-pytest-cov==4.0.0 +-pytest-mock==3.10.0 +-redis==4.4.2 ++aiomcache==0.8.2 ++aiohttp==3.9.5 ++marshmallow==3.21.3 ++msgpack==1.0.8 ++pytest==7.4.4 ++pytest-asyncio==0.23.7 ++pytest-cov==5.0.0 ++pytest-mock==3.14.0 ++redis==5.0.5 +diff --git a/setup.py b/setup.py +index ed54028b..c8bcbada 100644 +--- a/setup.py ++++ b/setup.py +@@ -22,17 +22,18 @@ + long_description=readme, + classifiers=[ + "Programming Language :: Python", +- "Programming Language :: Python :: 3.7", +- "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", ++ "Programming Language :: Python :: 3.12", ++ "Programming Language :: Python :: 3.13", + "Framework :: AsyncIO", + ], ++ python_requires=">=3.9", + packages=("aiocache",), + install_requires=None, + extras_require={ +- "redis": ["redis>=4.2.0"], ++ "redis": ["redis>=5"], + "memcached": ["aiomcache>=0.5.2"], + "msgpack": ["msgpack>=0.5.5"], + }, +diff --git a/tests/performance/server.py b/tests/performance/server.py +index 8de8c6b8..7fcfd319 100644 +--- a/tests/performance/server.py ++++ b/tests/performance/server.py +@@ -28,22 +28,25 @@ async def close(self, *_): + await self.cache.close() + + ++cache_key = web.AppKey("cache", CacheManager) ++ ++ + async def handler_get(req): + try: +- data = await req.app["cache"].get("testkey") ++ data = await req.app[cache_key].get("testkey") + if data: + return web.Response(text=data) + except asyncio.TimeoutError: + return web.Response(status=404) + + data = str(uuid.uuid4()) +- await req.app["cache"].set("testkey", data) ++ await req.app[cache_key].set("testkey", data) + return web.Response(text=str(data)) + + + def run_server(backend: str) -> None: + app = web.Application() +- app["cache"] = CacheManager(backend) +- app.on_shutdown.append(app["cache"].close) ++ app[cache_key] = CacheManager(backend) ++ app.on_shutdown.append(app[cache_key].close) + app.router.add_route("GET", "/", handler_get) + web.run_app(app) +diff --git a/tests/ut/backends/test_redis.py b/tests/ut/backends/test_redis.py +index a26e4086..2837cbcf 100644 +--- a/tests/ut/backends/test_redis.py ++++ b/tests/ut/backends/test_redis.py +@@ -233,7 +233,7 @@ async def test_redlock_release(self, mocker, redis): + + async def test_close(self, redis): + await redis._close() +- assert redis.client.close.call_count == 1 ++ assert redis.client.aclose.call_count == 1 + + + class TestRedisCache: +diff --git a/tests/ut/test_decorators.py b/tests/ut/test_decorators.py +index e4a1a07e..a59fb31c 100644 +--- a/tests/ut/test_decorators.py ++++ b/tests/ut/test_decorators.py +@@ -154,8 +154,8 @@ async def test_calls_fn_set_when_get_none(self, mocker, decorator, decorator_cal + + async def test_calls_fn_raises_exception(self, decorator, decorator_call): + decorator.cache.get.return_value = None +- stub.side_effect = Exception() +- with pytest.raises(Exception): ++ stub.side_effect = RuntimeError() ++ with pytest.raises(RuntimeError): + assert await decorator_call() + + async def test_cache_write_waits_for_future(self, decorator, decorator_call): +@@ -167,11 +167,10 @@ async def test_cache_write_waits_for_future(self, decorator, decorator_call): + async def test_cache_write_doesnt_wait_for_future(self, mocker, decorator, decorator_call): + mocker.spy(decorator, "set_in_cache") + with patch.object(decorator, "get_from_cache", autospec=True, return_value=None): +- with patch("aiocache.decorators.asyncio.ensure_future", autospec=True): +- await decorator_call(aiocache_wait_for_write=False, value="value") ++ await decorator_call(aiocache_wait_for_write=False, value="value") + + decorator.set_in_cache.assert_not_awaited() +- decorator.set_in_cache.assert_called_once_with("stub()[('value', 'value')]", "value") ++ # decorator.set_in_cache.assert_called_once_with("stub()[('value', 'value')]", "value") + + async def test_set_calls_set(self, decorator, decorator_call): + await decorator.set_in_cache("key", "value") +@@ -287,10 +286,11 @@ async def test_calls_get_and_returns(self, decorator, decorator_call): + assert decorator.cache.set.call_count == 0 + assert stub.call_count == 0 + ++ @pytest.mark.xfail(reason="Mess in stubs") + async def test_calls_fn_raises_exception(self, decorator, decorator_call): + decorator.cache.get.return_value = None +- stub.side_effect = Exception() +- with pytest.raises(Exception): ++ stub.side_effect = RuntimeError() ++ with pytest.raises(RuntimeError): + assert await decorator_call() + + async def test_calls_redlock(self, decorator, decorator_call): +@@ -483,7 +483,7 @@ async def test_cache_write_doesnt_wait_for_future(self, mocker, decorator, decor + aiocache_wait_for_write=False) + + decorator.set_in_cache.assert_not_awaited() +- decorator.set_in_cache.assert_called_once_with({"a": ANY, "b": ANY}, stub_dict, ANY, ANY) ++ # decorator.set_in_cache.assert_called_once_with({"a": ANY, "b": ANY}, stub_dict, ANY, ANY) + + async def test_calls_fn_with_only_missing_keys(self, mocker, decorator, decorator_call): + mocker.spy(decorator, "set_in_cache") +@@ -496,8 +496,8 @@ async def test_calls_fn_with_only_missing_keys(self, mocker, decorator, decorato + + async def test_calls_fn_raises_exception(self, decorator, decorator_call): + decorator.cache.multi_get.return_value = [None] +- stub_dict.side_effect = Exception() +- with pytest.raises(Exception): ++ stub_dict.side_effect = RuntimeError() ++ with pytest.raises(RuntimeError): + assert await decorator_call(keys=[]) + + async def test_cache_read_disabled(self, decorator, decorator_call): + diff --git a/dev-python/caldav/Manifest b/dev-python/caldav/Manifest index 234bb2b4f3aa..13ed4bce18d4 100644 --- a/dev-python/caldav/Manifest +++ b/dev-python/caldav/Manifest @@ -1 +1,2 @@ DIST caldav-1.4.0.tar.gz 141012 BLAKE2B a7936779571c01935f827d2a1a6bd059354431735b316fdbcf324a8be7ccbf4f4aaa88fac902088b39cc96c7b2d7b85d6a8bf87e06f4d30c95dcd7135535537d SHA512 15684684080bb4de2eefc20babcd75ed2de753fad516f456f3ef93439ef94ed31afcce725cde09b722e52fb1af03631d1489151e31e1be5745dc210ee51dca0f +DIST caldav-1.5.0.tar.gz 157644 BLAKE2B 731f6eea65d17b4a15d0c22f7fdc3dbfaab0e6ba69f81365b99caad8ad44189493606d7a025c692959d88d65d7b43e6f90f0af71979b467b4eb1ae922fcd9582 SHA512 2c61f5e1ca85b20035e8e033025fbfa782faa7eff3e0ce504a77480a87a62237aeb57b36c2f8821553acf472a9bcda5c5b82a6f6e004aa7c5f961c53a736aa2f diff --git a/dev-python/caldav/caldav-1.5.0.ebuild b/dev-python/caldav/caldav-1.5.0.ebuild new file mode 100644 index 000000000000..f92f9dfa20be --- /dev/null +++ b/dev-python/caldav/caldav-1.5.0.ebuild @@ -0,0 +1,34 @@ +# 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_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="CalDAV (RFC4791) client library for Python" +HOMEPAGE=" + https://github.com/python-caldav/caldav/ + https://pypi.org/project/caldav/ +" + +LICENSE="|| ( GPL-3 Apache-2.0 )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/icalendar[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + >=dev-python/recurring-ical-events-2.0.0[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/vobject[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/tzlocal[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/cangjie/Manifest b/dev-python/cangjie/Manifest index 323ea31781e0..8d38919de141 100644 --- a/dev-python/cangjie/Manifest +++ b/dev-python/cangjie/Manifest @@ -1 +1,2 @@ DIST cangjie-1.3.tar.xz 237156 BLAKE2B a94f51df82136edddeeeecb729737a7be1cf4677c86df153ba86b436a404615156e6fe43d6efbb6ae602982763a4cd8ea09850882942a70a3a3737075bde0c01 SHA512 633b0040740105573fe72811c2f763756b67784330520ecadd5e0b24fc51e414f54a71f03444940f20c8a4943a14b65e2f1d18339696e2ea5cf659de8592df2a +DIST pycangjie-1.5.0.tar.xz 26312 BLAKE2B deddb5fbcf9d1538ef77f420ad1f123af713e58fed1629242f8a861c8fd343c564e8e3ca99489d3ffcf0e9ca9cea1ceb78f669d1aa26a432a66a85dde7180495 SHA512 a68fd2cbfcdd6a240a1438e620152a39650580b953a6ffc2070bac02a6d5c0e6082e3c55b005ff2bf976415b4bb96e6ecbad207a91f72ecae7ebebfcddddcb91 diff --git a/dev-python/cangjie/cangjie-1.3-r1.ebuild b/dev-python/cangjie/cangjie-1.3-r2.ebuild index 11cc430a10a8..41915f9f9bf0 100644 --- a/dev-python/cangjie/cangjie-1.3-r1.ebuild +++ b/dev-python/cangjie/cangjie-1.3-r2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit autotools python-r1 DESCRIPTION="Python wrapper for libcangjie" @@ -13,14 +13,17 @@ SRC_URI="https://github.com/Cangjians/py${PN}/releases/download/v${PV}/${P#py}.t LICENSE="LGPL-3+" SLOT="0" KEYWORDS="amd64 x86" - REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RDEPEND="${PYTHON_DEPS} - app-i18n/libcangjie" +RDEPEND=" + ${PYTHON_DEPS} + app-i18n/libcangjie +" DEPEND="${RDEPEND}" -BDEPEND="dev-python/cython[${PYTHON_USEDEP}] - virtual/pkgconfig" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + virtual/pkgconfig +" src_prepare() { default diff --git a/dev-python/cangjie/cangjie-1.5.0.ebuild b/dev-python/cangjie/cangjie-1.5.0.ebuild new file mode 100644 index 000000000000..43c986d0d2cf --- /dev/null +++ b/dev-python/cangjie/cangjie-1.5.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit meson python-r1 + +DESCRIPTION="Python wrapper for libcangjie" +HOMEPAGE="https://cangjie.pages.freedesktop.org/projects/pycangjie/" +SRC_URI="https://gitlab.freedesktop.org/cangjie/pycangjie/-/jobs/66354698/artifacts/raw/builddir/meson-dist/py${P}.tar.xz" +S="${WORKDIR}"/py${P} + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="amd64 x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + >=app-i18n/libcangjie-1.4.0 +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-build/meson-1.3.2 + dev-python/cython[${PYTHON_USEDEP}] + virtual/pkgconfig +" + +src_configure() { + python_foreach_impl run_in_build_dir meson_src_configure +} + +src_compile() { + python_foreach_impl run_in_build_dir meson_src_compile +} + +src_test() { + python_foreach_impl run_in_build_dir meson_src_test +} + +src_install() { + python_install() { + meson_src_install + python_optimize + } + python_foreach_impl run_in_build_dir python_install + einstalldocs +} diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest index b570fcc760c3..ffb45f1eb7bb 100644 --- a/dev-python/freezegun/Manifest +++ b/dev-python/freezegun/Manifest @@ -1 +1,2 @@ DIST freezegun-1.5.1.tar.gz 33697 BLAKE2B bb08703a7e6f6f4a2145c4dc7b10245af3ced5d1a0a9355df74acd03bfe1687ee22e54ffbbd791204a497b50d4a2c578eb531379dd9e55d274ede72785bb39fa SHA512 384122e31c1db90d4c30cc60ad6d693209c933538e4d507a45c6ff116dcfe2f5f2602116c31aae4576da876ea327d502b01f651414d41b6cb11cc6e98d2aacbc +DIST freezegun-1.5.2.tar.gz 34855 BLAKE2B e1d3a17bdddccd91fcf99efdf18a6ebbeb7a01f74139c1086f51a149f2704cedc7773c229091d85f13d3c6f306a2813a7a73d5fd59d956c8e48011c9fb092a1c SHA512 63826a9b578dd7f90432c41aeca168a729e5c2fcaf6f8dac84c26d811147678f7416454115aa940e90f6902c6c38984939e28a8bcd04e139c2fc0c2a2d473274 diff --git a/dev-python/freezegun/freezegun-1.5.2.ebuild b/dev-python/freezegun/freezegun-1.5.2.ebuild new file mode 100644 index 000000000000..ca48a6a3b81e --- /dev/null +++ b/dev-python/freezegun/freezegun-1.5.2.ebuild @@ -0,0 +1,47 @@ +# 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} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Let your Python tests travel through time" +HOMEPAGE=" + https://github.com/spulec/freezegun/ + https://pypi.org/project/freezegun/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +RDEPEND=" + >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + case ${EPYTHON} in + python3.1[34]*) + EPYTEST_DESELECT+=( + # https://github.com/spulec/freezegun/issues/547 + tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time + tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time_with_func + tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_hello + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest index 2a7e7d5bc5ca..3bf6a4b6b281 100644 --- a/dev-python/fsspec/Manifest +++ b/dev-python/fsspec/Manifest @@ -1,2 +1,3 @@ DIST filesystem_spec-2025.3.2.gh.tar.gz 432022 BLAKE2B 7b18b80a1f024832a3a53545764299a2a40785809dc4d63fbe7cd0fff303ebd9382888153c012fe31425c93d67c56be1d117fd314fec149964ac7ee74a4b7464 SHA512 b446f7f09ef34e50cc22a3370b1a9312970b9585ff98ebb5ff02b066bc6a44786cf96cd0d1452753384861b7c61c3e927da009d215466588cf746d894dd430a0 DIST filesystem_spec-2025.5.0.gh.tar.gz 436234 BLAKE2B 11f562d765c814379fcb016d769473fb7bc1a0dc10f81b487a51b37757ad46d244b9945fd162e867402660ba7097931e649e9e44e32805146fa7dfc00bac4851 SHA512 fa9cf2c137cde874edb140ad9673f1bd709cfd46e68fc1e3abc5d4235b841568fac8fb8e41b4873deefa8d18d9d74b0e5d18c7a04e28c4dfd2687624076d3773 +DIST filesystem_spec-2025.5.1.gh.tar.gz 438472 BLAKE2B 798cb0fdea82640e8c1de76ad6cea113cba0999ee907f2ca71602e6fab415f89ec070d3d1059e11858fe985f657092713b2db29382a2933cfbddeb1c1dea55a8 SHA512 fa645f313f0047531ceac77f74a7ba5f2ff4df363403749b629ac12f3ef2e3b42d7fe964c1f974539ed526515b027de4fde6c0366557bfae258e2fa93a8f1495 diff --git a/dev-python/fsspec/fsspec-2025.5.1.ebuild b/dev-python/fsspec/fsspec-2025.5.1.ebuild new file mode 100644 index 000000000000..7aa7b1ac6a30 --- /dev/null +++ b/dev-python/fsspec/fsspec-2025.5.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 + +MY_P=filesystem_spec-${PV} +DESCRIPTION="A specification that python filesystems should adhere to" +HOMEPAGE=" + https://github.com/fsspec/filesystem_spec/ + https://pypi.org/project/fsspec/ +" +# upstream removed tests in 2024.6.0 +SRC_URI=" + https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +# Note: this package is not xdist-friendly +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +src_test() { + git config --global user.email "you@example.com" || die + git config --global user.name "Your Name" || die + distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges + fsspec/implementations/tests/test_github.py + fsspec/implementations/tests/test_gist.py + ) + + case ${EPYTHON} in + python3.14*) + EPYTEST_DESELECT+=( + # TODO + fsspec/implementations/tests/test_http.py::test_async_other_thread + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index b9dccfdd81b1..b7aef6af8a0e 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,3 +1,4 @@ DIST hypothesis-6.131.15.gh.tar.gz 9553236 BLAKE2B 29473ae79fce7183cbaec2f936824f52a18c02e13e4bd416debadd3c0b7a731d0643373c376b4236a1a857312c995e8822f54d94c1f165e8d77578371886f10d SHA512 ee89bc176230850ef4ecab7a5179f1528c576b21d42af2a76be512df70adb7ddd670a86552e18e5246bfde3184038237d644951149d78f4ca1f8cec77b6a2586 DIST hypothesis-6.131.18.gh.tar.gz 9553394 BLAKE2B f4a880dd4681ca59b39614e70c70ae7b5e02599c84f5eb26638f9e62b176f0ff75bec0489b7ed36e1e07b97703cf1b29d956f2debc32158d803bf442c57ac377 SHA512 ca3185e82c4b4853473d0d87c3723381a49be8dc488d0ac5af223f394af77ed46368b272cb8d991b95cf4f61dc1713109b93cc193fdebf96353e0c0099b15ad3 DIST hypothesis-6.131.24.gh.tar.gz 9554685 BLAKE2B 9f1216facfffb33ac084b036166c595b181eb0fad7f184ac67d3d06069a08339857bb5ec7d1e99922ffab7cf0cf013110ada7207f0ab8ef85e1c0ac61fdf1adb SHA512 54b37c5a3b7559d4709ea498f12a043eeda4151904912329e71fd1e4e69ed3275738eeec1c8272ea9c1fc21bed4345eeffec3d7bfd538d1075c27383c06eba93 +DIST hypothesis-6.131.27.gh.tar.gz 9555908 BLAKE2B 3a5d9c31a6ccd6bab640fcb63412100dfe996ca1f5f645d3cf5c15366dba510f997620ceb942a292f14b93ffa2915d6061f069d9daffe9550aad4b376dfd1e61 SHA512 447520bac874536a35d2107a4c382993a5293840c7adfcac6d177c31401cdaaf2a4159a193e8079726d71c285009649c17c4a3ce05aceea11303b8b8a490dcb2 diff --git a/dev-python/hypothesis/hypothesis-6.131.27.ebuild b/dev-python/hypothesis/hypothesis-6.131.27.ebuild new file mode 100644 index 000000000000..5fc2ebd650ed --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.131.27.ebuild @@ -0,0 +1,126 @@ +# 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}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # 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 + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/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/mecab-python/Manifest b/dev-python/mecab-python/Manifest index 04b6bae25710..119471d30c76 100644 --- a/dev-python/mecab-python/Manifest +++ b/dev-python/mecab-python/Manifest @@ -1 +1,2 @@ DIST mecab-python-0.996.tar.gz 62338 BLAKE2B d2f8749bf4ea0b30b9f7ee68a4210a3af600803296197f48091d1c9fe90f5baaff3eb94ecb3aa04d994771512c1ef5b68a62e0a045da95992bffd1710725e832 SHA512 08954ed801419fd7f65d055244227364bc37b063f8d21babb6ceeb02ca40e0146fa4401d1426255f3656ac1a5e51439bde981414613153dca5972f624289447e +DIST mecab-python-1.0.7.gh.tar.gz 74249 BLAKE2B aa97fbd59791ecbcda5e8dd1a1beeec8fd7755f21873a27a816c57d5320bc9013ef029bea62d2f3fbc76645dece38e88dcadd291b109d3cc645e39f82eabe4b9 SHA512 2aba54c7e3c306e7eabe24b6321731b621767a82e8af34ad879a86d1db67a2c94c9793073c758838e83a705cd2423b2e235f0db1b1b61312d1e6790e408d35f4 diff --git a/dev-python/mecab-python/mecab-python-1.0.7.ebuild b/dev-python/mecab-python/mecab-python-1.0.7.ebuild new file mode 100644 index 000000000000..9f0fb9837b47 --- /dev/null +++ b/dev-python/mecab-python/mecab-python-1.0.7.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python binding for MeCab" +HOMEPAGE=" + https://taku910.github.io/mecab/ + https://github.com/taku910/mecab/ + https://pypi.org/project/mecab-python3/ +" +SRC_URI="https://github.com/SamuraiT/mecab-python3/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}"/${PN}3-${PV} + +LICENSE="|| ( BSD LGPL-2.1 GPL-2 )" +SLOT="0" +KEYWORDS="~amd64 ppc64 ~x86" + +DEPEND=">=app-text/mecab-0.996" +RDEPEND="${DEPEND}" +BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]" + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +distutils_enable_tests pytest diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest index 051c4b0c1570..d9d8b21f9c13 100644 --- a/dev-python/mkdocstrings-python/Manifest +++ b/dev-python/mkdocstrings-python/Manifest @@ -1 +1,2 @@ DIST mkdocstrings_python-1.16.10.tar.gz 205771 BLAKE2B 3eca060176ea85e0191ad618ebf274e741a740ebf0da2d1c3b0ef6bcca4129a8f6486fda940ee161cea54f167a26122b55cb1105359dea17508a9c02e4dec638 SHA512 761a616654b3986feaeaa75e3faf5d6cc19786f740086c5c654444679be54fba4ad1a85d227a51e9798030cef889009a4f51d9461ea00c7ffb0e87fba8e1047c +DIST mkdocstrings_python-1.16.11.tar.gz 205392 BLAKE2B 9442f60570b70912ed9fcb067b8ae507f4c7fe02e209c60e9a9f52171a77552857c01288f1f63f7c48d13857409136ee1c2de70889c7802af6876087eb70a64d SHA512 beb6da8c3fe19b0ffd69cabfb622f03bdc7b5727b628dcb7c7370a24e166fa5e759324585e3b6147521b706d18e2e2037c60ada25bebd7ec2a8ef6fd86978ab7 diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild new file mode 100644 index 000000000000..d185dcc7a6d0 --- /dev/null +++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.16.11.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python handler for dev-python/mkdocstrings" +HOMEPAGE=" + https://mkdocstrings.github.io/python/ + https://github.com/mkdocstrings/python/ + https://pypi.org/project/mkdocstrings-python/ +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +RDEPEND=" + >=dev-python/griffe-1.6.2[${PYTHON_USEDEP}] + >=dev-python/mkdocstrings-0.28.3[${PYTHON_USEDEP}] + >=dev-python/mkdocs-autorefs-1.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.18[${PYTHON_USEDEP}] + dev-python/mkdocs-material[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export PDM_BUILD_SCM_VERSION=${PV} + +python_test() { + local EPYTEST_DESELECT=( + # "None" meaning particular formatter not installed + "tests/test_rendering.py::test_format_code[None-print('Hello')]" + "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]" + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p inline_snapshot +} diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest index 3daee22fd354..77955ae70f44 100644 --- a/dev-python/moto/Manifest +++ b/dev-python/moto/Manifest @@ -1,3 +1,4 @@ DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937 DIST moto-5.1.3.tar.gz 6765413 BLAKE2B 3a56d683b0818d09f98509afb94d4b6fb975f563d7f08ba225cac9f447b710c19a3af66c4c602369392190e2bde5b6970e0b64fd684bf361b7fc6a41b79da6ff SHA512 23e1abe55f9686b2b928886a7d31024fc98b70ffff1680611b3794027e568c1e3349857e1ea42891f3649cb87bf2a2376765ac10e480e29ec6fcf3c4e26f628b DIST moto-5.1.4.tar.gz 6796440 BLAKE2B 179566c4299e88079a4f0f15ffad32a7d118095c00058e0df5aacf50a84dd0c2b2cb0950b23cb228bff2b197f62f50a8958c5b43a885599e7332f4cad5c94100 SHA512 f16b16580ae8c8d39a755024b8ee507b84b8b3932976d84110c96f646c7b71869a762d2e84c0fd19cfe2443649b83191ba5a03e43b6b3dfb59f5fa127e498ecd +DIST moto-5.1.5.tar.gz 6893155 BLAKE2B d0ede9c48c356e879ebd78e7bd793a9d8534edc15430e7d1c357f25fd9468d64917fbc51fc501333485cadb61c661d12c36b48bd26bdd06bcb53f45010d072e5 SHA512 45c38c896d11366d887cda75fc20c3b7a5bb511e794e29a904687cfd59b90a30571d21f0c91d3bb90e42275148477056b3fe5a67d75878e40bd26d4fcf94999c diff --git a/dev-python/moto/moto-5.1.5.ebuild b/dev-python/moto/moto-5.1.5.ebuild new file mode 100644 index 000000000000..fa22c67103ee --- /dev/null +++ b/dev-python/moto/moto-5.1.5.ebuild @@ -0,0 +1,115 @@ +# 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 pypi toolchain-funcs + +DESCRIPTION="Mock library for boto" +HOMEPAGE=" + https://github.com/getmoto/moto/ + https://pypi.org/project/moto/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] + dev-python/boto3[${PYTHON_USEDEP}] + >=dev-python/botocore-1.35.47[${PYTHON_USEDEP}] + >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-35.0.0[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + >=dev-python/docker-3.0.0[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.10.1[${PYTHON_USEDEP}] + dev-python/jsonpath-ng[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}] + >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}] + dev-python/pyaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.25.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/sshpubkeys[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + ) +" + +: "${EPYTEST_TIMEOUT:=180}" +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_dynamodb/test_dynamodb_import_table.py + # require joserfc + tests/test_apigateway/test_apigateway.py::test_create_authorizer + tests/test_apigateway/test_apigateway.py::test_delete_authorizer + tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_ + tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_ + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed + tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed + tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication + tests/test_cognitoidp/test_server.py::test_associate_software_token + tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication + # require py_partiql_parser + tests/test_dynamodb/test_dynamodb_statements.py + tests/test_s3/test_s3_select.py + # require graphql + tests/test_appsync/test_appsync_schema.py + # Internet + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_entire_service + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_specific_url + tests/test_core/test_request_passthrough.py::test_passthrough_calls_for_wildcard_urls + tests/test_firehose/test_firehose_put.py::test_put_record_http_destination + tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination + ) + local EPYTEST_IGNORE=( + # require joserfc + tests/test_cognitoidp/test_cognitoidp.py + ) + + if ! tc-has-64bit-time_t; then + einfo "time_t is smaller than 64 bits, will skip broken tests" + EPYTEST_DESELECT+=( + tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments + tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header + tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins + ) + EPYTEST_IGNORE+=( + tests/test_route53domains/test_route53domains_domain.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + local -x AWS_DEFAULT_REGION=us-east-1 + + rm -rf moto || die + epytest -m 'not network and not requires_docker' \ + -p rerunfailures --reruns=5 +} diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest index 456e0cba7bba..354ea28a50d8 100644 --- a/dev-python/pyopencl/Manifest +++ b/dev-python/pyopencl/Manifest @@ -1 +1,2 @@ DIST pyopencl-2024.2.7.tar.gz 470964 BLAKE2B 6c61d91735667dd63fec0375defe98fb681eb448780f86b0129769d30714adb51832955d8c2e838970f17187e5027f794cd21affc870910d23ec46126049d4ed SHA512 5c9982f5dcaeb3faeb6ac6b88940b5baff43b7580fc5d466a596d9c180e45725cbf9971ba6ae4981202900b06cee3be7fa88fdf7227befee874a8f203a3a3267 +DIST pyopencl-2025.1.tar.gz 422510 BLAKE2B 1da270b4eabd3cf1209c97db6383ccd3450601946181386c139ed76b9cee3cccba06d6836b342b902fb227d1ef43f899633fe2037f5744a38b37677ef70ed00c SHA512 bc281c38b977f207a213763aca3c0086430e5a4d8d9018673fb5648e1afc440758ec7ec219544644d596805beaa448b2fa34cd5b4c109a46b3d6e8b7648a931c diff --git a/dev-python/pyopencl/files/pyopencl-2025.1-nanobind-flags.patch b/dev-python/pyopencl/files/pyopencl-2025.1-nanobind-flags.patch new file mode 100644 index 000000000000..6f7c7cff1462 --- /dev/null +++ b/dev-python/pyopencl/files/pyopencl-2025.1-nanobind-flags.patch @@ -0,0 +1,21 @@ +nanobind defaults to adding -Os and friends: https://github.com/wjakob/nanobind/blob/b0136fe6ac1967cb2399456adc346a1af06a3b88/docs/api_cmake.rst#L80. + +... and LTO should be user defined via cflags. + +--- a/CMakeLists.txt +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4557bd8a..0f4a731c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,8 +167,9 @@ find_package(OpenCL REQUIRED) + nanobind_add_module( + _cl + NB_STATIC # Build static libnanobind (the extension module itself remains a shared library) +- LTO ++ PROTECT_STACK + NOMINSIZE ++ NOSTRIP + src/wrap_constants.cpp + src/wrap_cl.cpp + src/wrap_cl_part_1.cpp + diff --git a/dev-python/pyopencl/pyopencl-2024.2.7.ebuild b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild index c8a6d4ffe147..6dbeeee75a2b 100644 --- a/dev-python/pyopencl/pyopencl-2024.2.7.ebuild +++ b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pyopencl/pyopencl-2025.1.ebuild b/dev-python/pyopencl/pyopencl-2025.1.ebuild new file mode 100644 index 000000000000..ddb50025ab5a --- /dev/null +++ b/dev-python/pyopencl/pyopencl-2025.1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=scikit-build-core + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="Python wrapper for OpenCL" +HOMEPAGE=" + https://mathema.tician.de/software/pyopencl/ + https://pypi.org/project/pyopencl/ +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~riscv" +IUSE="examples opengl" + +# Running tests on GPUs requires both appropriate hardware and additional permissions +# having been granted to the user running them. Testing on CPUs with dev-libs/pocl +# is in theory possible but has been found to be very fragile, see e.g. Bug #872308. +RESTRICT="test" + +COMMON=">=virtual/opencl-2" +# libglvnd is only needed for the headers +DEPEND=" + ${COMMON} + opengl? ( media-libs/libglvnd ) +" +RDEPEND=" + ${COMMON} + >=dev-python/mako-0.3.6[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytools-2024.1.5[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/nanobind[${PYTHON_USEDEP}] + test? ( dev-libs/pocl ) +" + +PATCHES=( + "${FILESDIR}"/pyopencl-2025.1-nanobind-flags.patch +) + +distutils_enable_tests pytest + +python_configure_all() { + DISTUTILS_ARGS=( + -DPYOPENCL_ENABLE_GL=$(usex opengl) + ) +} + +python_test() { + # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present + local -x PYOPENCL_TEST="portable:cpu" + # Set the number of threads to match MAKEOPTS + local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs) + # Change to the 'test' directory so that python does not try to import pyopencl from the source directory + # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory) + pushd test >/dev/null || die + epytest + popd >/dev/null || die +} + +python_install_all() { + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/typing-extensions/Manifest b/dev-python/typing-extensions/Manifest index 0f20cd99fb18..6d69f66d25c8 100644 --- a/dev-python/typing-extensions/Manifest +++ b/dev-python/typing-extensions/Manifest @@ -1 +1,2 @@ DIST typing_extensions-4.13.2.tar.gz 106967 BLAKE2B 6a0dfd0cb94f8411342f547f2b209a3c8afd32c818ec837c9ce63191392ba5f89c31279f35d7ca8c0a2f2cda99ea23084c3fad4bc3787f20e31741665e174645 SHA512 2cd798939362ee0d7ddbffe69b1d0fdd72b9574c1bd7300caee73d36c457ea64ea635c87ecc6188db9ffaaca272b1c8dd978a42c591ae0dfdca5632317ddb18c +DIST typing_extensions-4.14.0rc1.tar.gz 107459 BLAKE2B 5be5ca9f8e29f26f0cf61d7125caaab830d70e13199f1b0407d04eef18587e144737553cf6ed750f31188723821743d80b16b91c93cd4a4714402e1e1ac3df57 SHA512 0c37102ca65695dd71431aac63457f76c09bb974e32fb8e22cc54e386c6307701a3e58fc21cd2883409a2c6ea6eae337c5184030eda7c5f3580c721ac681ad32 diff --git a/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild b/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild new file mode 100644 index 000000000000..a25f13f9c29f --- /dev/null +++ b/dev-python/typing-extensions/typing-extensions-4.14.0_rc1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+" +HOMEPAGE=" + https://pypi.org/project/typing-extensions/ + https://github.com/python/typing_extensions/ +" + +LICENSE="PSF-2" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-python/flit-core-3.11[${PYTHON_USEDEP}] + test? ( + dev-python/test[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +python_test() { + cd src || die + eunittest +} diff --git a/dev-python/urwid-readline/urwid-readline-0.15.1.ebuild b/dev-python/urwid-readline/urwid-readline-0.15.1.ebuild index 1991fd27d609..e2dee7cc3808 100644 --- a/dev-python/urwid-readline/urwid-readline-0.15.1.ebuild +++ b/dev-python/urwid-readline/urwid-readline-0.15.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_COMPAT=( python3_{11..14} ) inherit distutils-r1 diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild index 286ab7299c74..3be31a64fdd1 100644 --- a/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild +++ b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.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 |
