From 170dbd8dd96efb51132a4957c7c58a21422297b8 Mon Sep 17 00:00:00 2001 From: Crucible Date: Sat, 10 Oct 2026 21:31:15 -0500 Subject: Publish srcux candidate 0000000631-20261010-212918 --- dev-python/aiohttp/Manifest | 2 + dev-python/aiohttp/aiohttp-3.14.5.ebuild | 156 +++++++++++ dev-python/aioquic/Manifest | 1 + dev-python/aioquic/aioquic-1.4.0.ebuild | 37 +++ dev-python/jsonpatch/Manifest | 1 + dev-python/jsonpatch/jsonpatch-1.35.ebuild | 43 ++++ dev-python/jsonpointer/Manifest | 2 + dev-python/jsonpointer/jsonpointer-3.2.1.ebuild | 24 ++ dev-python/numpy/Manifest | 3 +- dev-python/numpy/files/numpy-2.2.5-py314.patch | 298 --------------------- dev-python/numpy/files/numpy-2.2.6-gcc16.patch | 14 - dev-python/numpy/numpy-2.2.6.ebuild | 205 --------------- dev-python/numpy/numpy-2.5.4.ebuild | 329 ++++++++++++++++++++++++ dev-python/pillow/Manifest | 1 - dev-python/pillow/pillow-12.2.0-r1.ebuild | 184 ------------- dev-python/pillow/pillow-12.2.0.ebuild | 176 ------------- dev-python/pyglet/Manifest | 1 - dev-python/pyglet/pyglet-2.1.15.ebuild | 80 ------ dev-python/pykka/Manifest | 1 + dev-python/pykka/pykka-4.5.0.ebuild | 26 ++ dev-python/pytest-env/Manifest | 4 +- dev-python/pytest-env/pytest-env-1.7.0.ebuild | 38 --- dev-python/pytest-env/pytest-env-1.8.0.ebuild | 39 +++ 23 files changed, 665 insertions(+), 1000 deletions(-) create mode 100644 dev-python/aiohttp/aiohttp-3.14.5.ebuild create mode 100644 dev-python/aioquic/aioquic-1.4.0.ebuild create mode 100644 dev-python/jsonpatch/jsonpatch-1.35.ebuild create mode 100644 dev-python/jsonpointer/jsonpointer-3.2.1.ebuild delete mode 100644 dev-python/numpy/files/numpy-2.2.5-py314.patch delete mode 100644 dev-python/numpy/files/numpy-2.2.6-gcc16.patch delete mode 100644 dev-python/numpy/numpy-2.2.6.ebuild create mode 100644 dev-python/numpy/numpy-2.5.4.ebuild delete mode 100644 dev-python/pillow/pillow-12.2.0-r1.ebuild delete mode 100644 dev-python/pillow/pillow-12.2.0.ebuild delete mode 100644 dev-python/pyglet/pyglet-2.1.15.ebuild create mode 100644 dev-python/pykka/pykka-4.5.0.ebuild delete mode 100644 dev-python/pytest-env/pytest-env-1.7.0.ebuild create mode 100644 dev-python/pytest-env/pytest-env-1.8.0.ebuild (limited to 'dev-python') diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest index a2ec83c7f1d1..809793a7d325 100644 --- a/dev-python/aiohttp/Manifest +++ b/dev-python/aiohttp/Manifest @@ -2,3 +2,5 @@ DIST aiohttp-3.14.3.tar.gz 7971213 BLAKE2B cdad9e58dd0b88ea1acf393237d7fd62fae8d DIST aiohttp-3.14.3.tar.gz.provenance 9781 BLAKE2B dcf0d39420f1b17fa7d369d3033305a67457cd771e8d16170643589a09a887a2d42dff150dff3e0a3e5bcf5b94af54b8da8a7f40791d9bb2f4165222bd0cb336 SHA512 7e20f865b2a11e3aec9d4005f5f70cd116884868a10c1a49ab4eb7fe3efd30b0f00f6152087ca39115dd37cf9901f53618bf65cd1d4368963369928c6d924b88 DIST aiohttp-3.14.4.tar.gz 8077839 BLAKE2B d1d78d6fdbe41f3d97ab2d7383c40a9a83a91b4f84a7081c49d0caea359c6451494d7e02f8293b2b3310dedafacd31ce6f2bc07b65e3a9665ea8955a798b4b90 SHA512 5598c1e529dec29e6c19f447b596a6ddfb10927cfdf7b24e628b7eb1e73c3d9b2cab7e6c6bdf67cd3b7efb20756ff09fed9d94ef95242a0a761ba015aa492f2e DIST aiohttp-3.14.4.tar.gz.provenance 9728 BLAKE2B bc76e1ee3b2954d73bfd233734c9fb0d8941a713bd459135895ac5cefc88cc142a04cda0bf7622785593bb65f19106aa5044a0d5a4b8ea2f97fec97f20571b34 SHA512 ac268c76a200f6afc1e1d4488c873f062b314021c0d772c35a1c65b63ac081472a9ac1b02bb8966b42303683ab79b5d2d0dc437c3a0597f20402b707bb5e9413 +DIST aiohttp-3.14.5.tar.gz 8078052 BLAKE2B 01b5fa08661e531b2977daaf58a55e0aa73504052911cb7967922f2868871c9bf8f72b00f5a07262b9223e046d202bf654c8f4105720f18af35357c6b61a02d9 SHA512 a85531e2ae963a4d6513a7d30ac67caad1ac7b7b4227d46623a872e47aac34d6b37f71ef81d4ed3ec17e7a8b311517c380c670016181374c792bff87216408dc +DIST aiohttp-3.14.5.tar.gz.provenance 9565 BLAKE2B 3987d6f3b6a6e3ed0784fd6c49f9a56206acbd609f97cc1d2a46ff2d21a13a47e56ac08288a26c673562d7a6f0e98a65ca5d60da3f51b784ab23f2d9bd9e8f92 SHA512 b3b418857698067d4676bcd482215e600086523d5ec0becaeb298fe6fc7443b9730c81290cf1211948db38a2bac0bad9cd9443379019330b9eec75b4a9f3115d diff --git a/dev-python/aiohttp/aiohttp-3.14.5.ebuild b/dev-python/aiohttp/aiohttp-3.14.5.ebuild new file mode 100644 index 000000000000..77dd22bfa6f6 --- /dev/null +++ b/dev-python/aiohttp/aiohttp-3.14.5.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/aio-libs/aiohttp +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="HTTP client/server for asyncio" +HOMEPAGE=" + https://github.com/aio-libs/aiohttp/ + https://pypi.org/project/aiohttp/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions test-rust" + +DEPEND=" + native-extensions? ( + net-libs/llhttp:= + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}] + >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}] + >=dev-python/aiosignal-1.4.0[${PYTHON_USEDEP}] + >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}] + >=dev-python/brotlicffi-1.2[${PYTHON_USEDEP}] + >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}] + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.25.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/backports-zstd[${PYTHON_USEDEP}] + ' 3.12 3.13) + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ' 3.12) +" +BDEPEND=" + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + native-extensions? ( + >=dev-python/cython-3.1.1[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + ) + test? ( + dev-python/blockbuster[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/isal[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + dev-python/time-machine[${PYTHON_USEDEP}] + dev-python/zlib-ng[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + test-rust? ( + dev-python/trustme[${PYTHON_USEDEP}] + ) + ) +" + +DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst ) + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( pytest-{mock,xdist} ) +EPYTEST_RERUNS=5 +: ${EPYTEST_TIMEOUT:=180} +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin dependencies + sed -i -e 's:, < [0-9.]*::' pyproject.toml || die + # increase the timeout a little + sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die + sed -i -e 's:-Werror::' Makefile || die + # remove vendored llhttp + rm -r vendor || die +} + +python_configure() { + # check for .install-cython, so that we do this only once + if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] && + use native-extensions + then + # force rehashing first + emake requirements/.hash/cython.txt.hash + > .update-pip || die + > .install-cython || die + emake cythonize + fi +} + +python_compile() { + # implicitly disabled for pypy3 + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + else + local -x AIOHTTP_USE_SYSTEM_DEPS=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + # proxy is not packaged + tests/test_proxy_functional.py + # python_on_whales is not packaged + tests/autobahn/test_autobahn.py + # benchmarks + tests/test_benchmarks_client.py + tests/test_benchmarks_client_request.py + tests/test_benchmarks_client_ws.py + tests/test_benchmarks_cookiejar.py + tests/test_benchmarks_http_websocket.py + tests/test_benchmarks_http_writer.py + tests/test_benchmarks_web_fileresponse.py + tests/test_benchmarks_web_middleware.py + tests/test_benchmarks_web_response.py + tests/test_benchmarks_web_urldispatcher.py + ) + + local EPYTEST_DESELECT=( + # Internet + tests/test_client_session.py::test_client_session_timeout_zero + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_nonzero_passed + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection + tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed + tests/test_client_functional.py::test_invalid_idna + # broken by irrelevant deprecation warnings + tests/test_circular_imports.py::test_no_warnings + # https://github.com/aio-libs/aiohttp/issues/11400#issuecomment-4168569526 + # https://github.com/python/cpython/issues/145599 + # https://github.com/python/cpython/pull/145600 + tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal + # some warnings + tests/test_multipart.py::TestPartReader::test_read_decode_compressed_exceeds_max_size + ) + + # upstream unconditionally blocks building C extensions + # on PyPy3 but the test suite needs an explicit switch + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + rm -rf aiohttp || die + epytest -m "not internal and not dev_mode" +} diff --git a/dev-python/aioquic/Manifest b/dev-python/aioquic/Manifest index 3927c1429b57..234549c249a1 100644 --- a/dev-python/aioquic/Manifest +++ b/dev-python/aioquic/Manifest @@ -1,2 +1,3 @@ DIST aioquic-1.2.0.tar.gz 179891 BLAKE2B fcf7821a93c166c98cdb7e6e2eb3b80df65c1faa484268faa0fc1386bb59bdfffdf801a8de23c2a2d9dec826640ad75717b068b558081959089e9be7d414bca3 SHA512 6833a19e52ac702a3ae12fdfa3dcd3011125e38d9c16ae88881533f6c607d61c6eac43215eae80c75513d616432a98d124fc92545d63697159658e611af50ee9 DIST aioquic-1.3.0.tar.gz 181923 BLAKE2B cc15af13fc83510f041b8be53b8a19f6f9f95dfa0374d2cee8194350b72a160f1d885ae1ea4846fc46ea5b6cb6d3ec09315a130e4226db9d466e3f7b71650baf SHA512 149d46d5c3b7db26edb418569bec224f2e4c2ce419a0374a9241ea570d70cd09f0230c1fe5fd5ee73e1ff84adac41ab48dd15aa2f48d1b3b6c8caaa34b70c8fd +DIST aioquic-1.4.0.tar.gz 184137 BLAKE2B 59cc3db143b01e8c1b0eabc5c54d10d27d735debe642f87c485f10d3421d018af5b35856f6eca12f6a5675a37a6d08ed4076fca0be64884879906e90d2f1ab60 SHA512 ff0cdaa44d74759bcc785e30529a737b967ca614dbbe7cb33735d9ca02d649c33d47f2d1f4a6ab4049f956c5f29196ac8bbd012e5af7a5ff6e4377d5a2a0c44a diff --git a/dev-python/aioquic/aioquic-1.4.0.ebuild b/dev-python/aioquic/aioquic-1.4.0.ebuild new file mode 100644 index 000000000000..b24cc0df20bf --- /dev/null +++ b/dev-python/aioquic/aioquic-1.4.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="An implementation of QUIC and HTTP/3" +HOMEPAGE=" + https://github.com/aiortc/aioquic/ + https://pypi.org/project/aioquic/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +DEPEND=" + dev-libs/openssl:= +" +RDEPEND=" + ${DEPEND} + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/cryptography-43.0.0[${PYTHON_USEDEP}] + =dev-python/pylsqpack-0.3.3[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-24[${PYTHON_USEDEP}] + >=dev-python/service-identity-24.1.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest diff --git a/dev-python/jsonpatch/Manifest b/dev-python/jsonpatch/Manifest index ec18857c6f13..8f78bfb87a11 100644 --- a/dev-python/jsonpatch/Manifest +++ b/dev-python/jsonpatch/Manifest @@ -1,2 +1,3 @@ DIST python-json-patch-1.33.gh.tar.gz 28475 BLAKE2B 7d95ab23e09141cbe26618c91b12558d5fbfecda3e5b148d834753a364155d30859a9bdc3d321bdfcc5269f7e0170671524ae78f5fe65a8c97041bab3fb522b9 SHA512 0685f63949bee135b19d0962bdaab32ba97e02772b6650d885be57c09a2e89546222ebba1a4cf146b2f91027790b0a3ff2ea072d66dcebf9153aa601638bbfa2 DIST python-json-patch-1.34.gh.tar.gz 39356 BLAKE2B 57342b6f47099bce4f2f2d28f6db7ceb8e5e399f20d0ebeb1577fde3e206569f42dd6f0822fcddfbd15922ff82397468fa8fb807e81f79a22c494bcc0d52ef09 SHA512 503f07689f96369e43a6d689bcbf5763445f5e7f93a2ee5c409f1abc17d57ec06165e1458a31903bc67d740fd02ea135d95454b81bde22b895492438949abc89 +DIST python-json-patch-1.35.gh.tar.gz 49420 BLAKE2B d97ec8eddc656dd2b7f7b9fccf43e030368f96b9588c6383053e9e4ceffbc586f830d1266e4ff9521f2c83874a3b248382e36a8d40a9b376e1bd8dc0bf08659b SHA512 74e0ed5c45a7adb0519c587ce8ee76901ed3f77991bcf9687b9b7b9bf91773bdac3bcdb8c107a093307a4dba2b7b31df94f50b7410447ed498d392e8eba4d869 diff --git a/dev-python/jsonpatch/jsonpatch-1.35.ebuild b/dev-python/jsonpatch/jsonpatch-1.35.ebuild new file mode 100644 index 000000000000..632a0da68c8c --- /dev/null +++ b/dev-python/jsonpatch/jsonpatch-1.35.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=python-json-patch-${PV} +DESCRIPTION="Apply JSON-Patches like http://tools.ietf.org/html/draft-pbryan-json-patch-04" +HOMEPAGE=" + https://github.com/stefankoegl/python-json-patch/ + https://pypi.org/project/jsonpatch/ +" +SRC_URI=" + https://github.com/stefankoegl/python-json-patch/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +python_test() { + "${EPYTHON}" tests.py || die "Tests of tests.py fail with ${EPYTHON}" + "${EPYTHON}" ext_tests.py || die "Tests of ext_tests.py fail with ${EPYTHON}" + "${EPYTHON}" property_tests.py || die "Tests of property_tests.py fail with ${EPYTHON}" +} diff --git a/dev-python/jsonpointer/Manifest b/dev-python/jsonpointer/Manifest index eec792554c04..12617515842a 100644 --- a/dev-python/jsonpointer/Manifest +++ b/dev-python/jsonpointer/Manifest @@ -1,3 +1,5 @@ DIST jsonpointer-3.1.1.tar.gz 9068 BLAKE2B 0fefab0619124600f3b870802653cf0afbbed36c18477a36e5c070a388d5f5d5290a24e97252859ac8c8f0624fea40ea94c0374a38f341b2aaf61b02c8dbe505 SHA512 9f932985ac404ab21d1e2c29b95bdc684a3d258dc2203bdb6c0192ccf6ba804809d297a0701f7d4fc32adb481f259e1c17e7bd7bf0198e76f19b4481b78056c5 DIST jsonpointer-3.2.0.tar.gz 11062 BLAKE2B cb39d9a8546f36f669d2ed17993552933c3393d7cf55489309c4346d6ba99c879bdd46a181429e7d61e409062b8c783628a1cd5d792fdae22a49fc0ea6076ea3 SHA512 b07a52c387f12e93285d86889de0b887b144ff91f700d53cd0e43bd7cbdb9c86d2c9cc732d982ff9460b449214231ed1ded2ab52bc184accd7f3a444f95cd875 DIST jsonpointer-3.2.0.tar.gz.provenance 10199 BLAKE2B 5d45c514c6aa8a28c2a9446fd423df7db733f5ffbfd274156ffb2a24d5aab108e8addbcb20a712bb870839b57f1863322dbb1531d3dc4c1e8887a113dff782b6 SHA512 7915c8aed80eb15a155e4e58c2b9b2fb74640d8d3e9bb3e56186c7e8d3dfbb5a32b5abc959fe1e53b8e3bc959365839cfa9de13c33320c3a6d2b8bf6729a0b5c +DIST jsonpointer-3.2.1.tar.gz 11309 BLAKE2B f9ceb4585302147612ead295887370be942031541af80b42518e7cffc57b49e4efe29a97abe42df225ecb5ac5809fd8b3334f8478fc38895d7fd3a3ac442c240 SHA512 bfe4609bceba035020b2f50cb6472b892a144e7c5c3dfd29ccf80d81ef711cfdce78d161d4907598c78a8bd475b207b9478c103745c435217d5bd8e298738a2f +DIST jsonpointer-3.2.1.tar.gz.provenance 10152 BLAKE2B 24bba7913585705f381cc46982d2d2ee8069f91c7d8572b6bb612d226e451cf5a24d7046e8993ec3d4453e6719eae3c8c20285dca563ec69d40c6a1980eedb23 SHA512 76bde2061833aee5fa4ccf68d16eb8f5d8ff35adf5f33c26222e71fa3be91a20a12a567c31a30dd696c0212b00e0570c188c52255d6cc57787b4f636359d071e diff --git a/dev-python/jsonpointer/jsonpointer-3.2.1.ebuild b/dev-python/jsonpointer/jsonpointer-3.2.1.ebuild new file mode 100644 index 000000000000..5091242d54b8 --- /dev/null +++ b/dev-python/jsonpointer/jsonpointer-3.2.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/stefankoegl/python-json-pointer +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Identify specific nodes in a JSON document (according to draft 08)" +HOMEPAGE=" + https://github.com/stefankoegl/python-json-pointer/ + https://pypi.org/project/jsonpointer/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +python_test() { + "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index e1384911dfd6..f3959ac23b34 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -1,4 +1,3 @@ -DIST numpy-2.2.6.tar.gz 20276440 BLAKE2B 597ebbc72b2b3901bba4e0946f4f63ff13baf3b04d2f44d6e1ce8d05112f5d7191cb2e2f80e20006f0bc57a5a3f395fcc6003d9593e41b057394c12ad44f69f7 SHA512 00c82476c6cc8e68c4cd3210896172d91bdb52a46676931d173a3bbd772b29cebc8e819dfbbaf621eba9225fff3fa3f81426fe864d8812de4ff2975e7ac5c338 DIST numpy-2.4.6.tar.gz 20735807 BLAKE2B 8866cd9117365797a377278f0002930f0cae264bddbc9d0d7943907b6d54c80d7b0c7cc81263bfed0310e60754693c66d461ed7230ce457c30d9b6d3e50b27e7 SHA512 6e78c61a54bb89e202b0365440cef8f5dc948ac94eb39dfcd5af56a1ddce96ba8c7b4cd9b9c474be5f7642e7ec56cdc8eb238eb1871238911b94f9a90e2720ca DIST numpy-2.4.6.tar.gz.provenance 9880 BLAKE2B ecfe5e7b5d53ac975d3ff69b3ea463be4495f7759b63a92a455be8c29b66931707c4ca8dc0fa8296ced2182246738c935814932d31649a624fbfb06ceaafb76c SHA512 724b0cc27b8120b62ef1aae8c8ed673cd2bf4c430ddddf56ff1550f9d80ecfbc499f3df4c0a3370fecf19691eb3057e48057bd10d4d25a875a1f2f6a512e5c2f DIST numpy-2.5.1.tar.gz 20755553 BLAKE2B be71d9f5c615cbc6b59fe5ed8a1c346be654a813f811807a275dff371dd56279979dce6f2218c5d195ae17657994644a44a9afb2e9a1466e14404a9f64bedefb SHA512 cbb1f844bc7feb845de24c4951bc378b0d4d96a1ac7eaa9fe1f615aaf470f33c81e94fddbbd83f555b7d9248b5db60b641a4582b9f39b0f6d906f7a8acdd7add @@ -7,3 +6,5 @@ DIST numpy-2.5.2.tar.gz 20773161 BLAKE2B 53f815c3bff9d5b9efc0dcda2ec5c4ce397402c DIST numpy-2.5.2.tar.gz.provenance 10057 BLAKE2B f60196c4ff61d3a0016024a85bcf2b407a205fad007354d141b73e949fb3d3822697e4973216a30f83a17e551eb1374836224231780e5fbb3c0b714501f7d745 SHA512 1eb508fe4b3f5f1a3e68435efa2c87e81c25cf8bf77cca4a956909733abd16f5dbef9e7ae001db82abe9bacf467d7d1b0b1e92868c063cd8edaf1db6537f1daf DIST numpy-2.5.3.tar.gz 20791231 BLAKE2B 37551f1d0066f06a402f6caf1a5c07a7aad255e7bf53402550fb08c19bd52af82e6cd3e4c547e87c2f431d9c803d2db1b0760a958bc1a0afeb0565b8c9393d72 SHA512 667ba01fc13669a8150b0b4797e6c6b953d27ce37d71f8dec02acd7050669fe9a461efc63e162d9732bc297deb3e5587675e40adbac923949da257a255f9b15b DIST numpy-2.5.3.tar.gz.provenance 9824 BLAKE2B 1c8ad74e3558242cce309a5540a058397f5dfddee80e7cb0657eb6f34baf4055b9831b82fa139dcebd6f7649a847092707aa0cac1270069652ef438e4f5ea04f SHA512 0d3ad6886fd357fbf4b53b20ea2463ddac3957b95d0aed7e36b4100ff4d0bed0c0372697b37aab00859fc42823700e4badbde3cb3ddc7223393ed98826090122 +DIST numpy-2.5.4.tar.gz 20866315 BLAKE2B 0946c54c70141f847c9d3987097c9d306a44050ca3b3231d9c51aeeb3f3f9bafa058b75515927606bb214d19fd0e05f70d77b64e462d19d2398b9aa7b380ae98 SHA512 571fe3c6dbdf3ee6481965fd463b0cb661f96260db1014e230fa45cdd6a4825fe236b29b415b94f48501922899e0283ad04762fa095ac8038bbd9db3bc652440 +DIST numpy-2.5.4.tar.gz.provenance 10029 BLAKE2B 4434cb23a4ebd48180dc667632a780a2cd578745545f2beec7a53f566d1c6d3e59f5b91b49528bf8dce0be6c86f54978874ed242256ba8fd116738035a7c17d3 SHA512 13193c227c9aa1803806e05d64f15c0e88e2f358f91c33a930940435414c7ecbfd50ca0618c16b8c706696dabd733532ae75a72cf2e9cc23696cff8a9800b147 diff --git a/dev-python/numpy/files/numpy-2.2.5-py314.patch b/dev-python/numpy/files/numpy-2.2.5-py314.patch deleted file mode 100644 index bdb0762e733c..000000000000 --- a/dev-python/numpy/files/numpy-2.2.5-py314.patch +++ /dev/null @@ -1,298 +0,0 @@ -From 57084ae28ed14f3bba89ab51104dd5521b7edb64 Mon Sep 17 00:00:00 2001 -From: Nathan Goldbaum -Date: Tue, 22 Apr 2025 15:31:14 -0600 -Subject: [PATCH] ENH: Support Python 3.14 (#28748) - -* MNT: use CPython internal APIs to hotfix temporary elision on 3.14 - -This is based on a diff from Sam Gross, see -https://github.com/numpy/numpy/issues/28681#issuecomment-2810661401 - -* TST: use refcount deltas in tests that hardcode refcounts - -* TST: one more refcount test change I don't understand - -* TST: fix ResourceWarning - -* CI: add 3.14 and 3.14t linux CI - -* CI: try with setup-python instead of setup-uv - -* CI: fix 3.14t-dev cython install - -* Update numpy/_core/src/multiarray/temp_elide.c - -Co-authored-by: Ross Barnowski - -* CI: drop linux 3.13t smoke test - -* TST: move refcount check inside with block - -* MNT: guard against a possible future PyPy 3.14 - ---------- - -Co-authored-by: Ross Barnowski - -MNT: add support for 3.14.0b1 ---- - numpy/_core/src/multiarray/temp_elide.c | 19 +++++++++-- - numpy/_core/tests/test_dlpack.py | 8 ++--- - numpy/_core/tests/test_dtype.py | 3 +- - numpy/_core/tests/test_indexing.py | 6 ++-- - numpy/_core/tests/test_item_selection.py | 8 +++-- - numpy/_core/tests/test_multiarray.py | 4 ++- - numpy/_core/tests/test_nditer.py | 7 ++-- - numpy/_core/tests/test_regression.py | 43 +++++++++++------------- - numpy/_core/tests/test_umath.py | 4 +-- - 9 files changed, 62 insertions(+), 40 deletions(-) - -diff --git a/numpy/_core/src/multiarray/temp_elide.c b/numpy/_core/src/multiarray/temp_elide.c -index 662a2fa52b..9236476c42 100644 ---- a/numpy/_core/src/multiarray/temp_elide.c -+++ b/numpy/_core/src/multiarray/temp_elide.c -@@ -109,6 +109,19 @@ find_addr(void * addresses[], npy_intp naddr, void * addr) - return 0; - } - -+static int -+check_unique_temporary(PyObject *lhs) -+{ -+#if PY_VERSION_HEX == 0x030E00A7 && !defined(PYPY_VERSION) -+#error "NumPy is broken on CPython 3.14.0a7, please update to a newer version" -+#elif PY_VERSION_HEX >= 0x030E00B1 && !defined(PYPY_VERSION) -+ // see https://github.com/python/cpython/issues/133164 -+ return PyUnstable_Object_IsUniqueReferencedTemporary(lhs); -+#else -+ return 1; -+#endif -+} -+ - static int - check_callers(int * cannot) - { -@@ -295,7 +308,8 @@ can_elide_temp(PyObject *olhs, PyObject *orhs, int *cannot) - !PyArray_CHKFLAGS(alhs, NPY_ARRAY_OWNDATA) || - !PyArray_ISWRITEABLE(alhs) || - PyArray_CHKFLAGS(alhs, NPY_ARRAY_WRITEBACKIFCOPY) || -- PyArray_NBYTES(alhs) < NPY_MIN_ELIDE_BYTES) { -+ PyArray_NBYTES(alhs) < NPY_MIN_ELIDE_BYTES || -+ !check_unique_temporary(olhs)) { - return 0; - } - if (PyArray_CheckExact(orhs) || -@@ -372,7 +386,8 @@ can_elide_temp_unary(PyArrayObject * m1) - !PyArray_ISNUMBER(m1) || - !PyArray_CHKFLAGS(m1, NPY_ARRAY_OWNDATA) || - !PyArray_ISWRITEABLE(m1) || -- PyArray_NBYTES(m1) < NPY_MIN_ELIDE_BYTES) { -+ PyArray_NBYTES(m1) < NPY_MIN_ELIDE_BYTES || -+ !check_unique_temporary((PyObject *)m1)) { - return 0; - } - if (check_callers(&cannot)) { -diff --git a/numpy/_core/tests/test_dlpack.py b/numpy/_core/tests/test_dlpack.py -index 41dd724295..d273bd798e 100644 ---- a/numpy/_core/tests/test_dlpack.py -+++ b/numpy/_core/tests/test_dlpack.py -@@ -22,9 +22,9 @@ class TestDLPack: - def test_dunder_dlpack_refcount(self, max_version): - x = np.arange(5) - y = x.__dlpack__(max_version=max_version) -- assert sys.getrefcount(x) == 3 -+ startcount = sys.getrefcount(x) - del y -- assert sys.getrefcount(x) == 2 -+ assert startcount - sys.getrefcount(x) == 1 - - def test_dunder_dlpack_stream(self): - x = np.arange(5) -@@ -58,9 +58,9 @@ def test_strides_not_multiple_of_itemsize(self): - def test_from_dlpack_refcount(self, arr): - arr = arr.copy() - y = np.from_dlpack(arr) -- assert sys.getrefcount(arr) == 3 -+ startcount = sys.getrefcount(arr) - del y -- assert sys.getrefcount(arr) == 2 -+ assert startcount - sys.getrefcount(arr) == 1 - - @pytest.mark.parametrize("dtype", [ - np.bool, -diff --git a/numpy/_core/tests/test_dtype.py b/numpy/_core/tests/test_dtype.py -index deeca5171c..759eefeb2a 100644 ---- a/numpy/_core/tests/test_dtype.py -+++ b/numpy/_core/tests/test_dtype.py -@@ -1901,9 +1901,10 @@ class mytype: - if HAS_REFCOUNT: - # Create an array and test that memory gets cleaned up (gh-25949) - o = object() -+ startcount = sys.getrefcount(o) - a = np.array([o], dtype=dt) - del a -- assert sys.getrefcount(o) == 2 -+ assert sys.getrefcount(o) == startcount - - def test_custom_structured_dtype_errors(self): - class mytype: -diff --git a/numpy/_core/tests/test_indexing.py b/numpy/_core/tests/test_indexing.py -index f393c401cd..bb757cdf7e 100644 ---- a/numpy/_core/tests/test_indexing.py -+++ b/numpy/_core/tests/test_indexing.py -@@ -1174,6 +1174,8 @@ def _compare_index_result(self, arr, index, mimic_get, no_copy): - """Compare mimicked result to indexing result. - """ - arr = arr.copy() -+ if HAS_REFCOUNT: -+ startcount = sys.getrefcount(arr) - indexed_arr = arr[index] - assert_array_equal(indexed_arr, mimic_get) - # Check if we got a view, unless its a 0-sized or 0-d array. -@@ -1184,9 +1186,9 @@ def _compare_index_result(self, arr, index, mimic_get, no_copy): - if HAS_REFCOUNT: - if no_copy: - # refcount increases by one: -- assert_equal(sys.getrefcount(arr), 3) -+ assert_equal(sys.getrefcount(arr), startcount + 1) - else: -- assert_equal(sys.getrefcount(arr), 2) -+ assert_equal(sys.getrefcount(arr), startcount) - - # Test non-broadcast setitem: - b = arr.copy() -diff --git a/numpy/_core/tests/test_item_selection.py b/numpy/_core/tests/test_item_selection.py -index 5660ef583e..839127ecdb 100644 ---- a/numpy/_core/tests/test_item_selection.py -+++ b/numpy/_core/tests/test_item_selection.py -@@ -50,19 +50,23 @@ def test_simple(self): - - def test_refcounting(self): - objects = [object() for i in range(10)] -+ if HAS_REFCOUNT: -+ orig_rcs = [sys.getrefcount(o) for o in objects] - for mode in ('raise', 'clip', 'wrap'): - a = np.array(objects) - b = np.array([2, 2, 4, 5, 3, 5]) - a.take(b, out=a[:6], mode=mode) - del a - if HAS_REFCOUNT: -- assert_(all(sys.getrefcount(o) == 3 for o in objects)) -+ assert_(all(sys.getrefcount(o) == rc + 1 -+ for o, rc in zip(objects, orig_rcs))) - # not contiguous, example: - a = np.array(objects * 2)[::2] - a.take(b, out=a[:6], mode=mode) - del a - if HAS_REFCOUNT: -- assert_(all(sys.getrefcount(o) == 3 for o in objects)) -+ assert_(all(sys.getrefcount(o) == rc + 1 -+ for o, rc in zip(objects, orig_rcs))) - - def test_unicode_mode(self): - d = np.arange(10) -diff --git a/numpy/_core/tests/test_multiarray.py b/numpy/_core/tests/test_multiarray.py -index 87508732d8..3f26578c85 100644 ---- a/numpy/_core/tests/test_multiarray.py -+++ b/numpy/_core/tests/test_multiarray.py -@@ -6779,10 +6779,12 @@ def test_dot_3args(self): - v = np.random.random_sample((16, 32)) - - r = np.empty((1024, 32)) -+ if HAS_REFCOUNT: -+ orig_refcount = sys.getrefcount(r) - for i in range(12): - dot(f, v, r) - if HAS_REFCOUNT: -- assert_equal(sys.getrefcount(r), 2) -+ assert_equal(sys.getrefcount(r), orig_refcount) - r2 = dot(f, v, out=None) - assert_array_equal(r2, r) - assert_(r is dot(f, v, out=r)) -diff --git a/numpy/_core/tests/test_nditer.py b/numpy/_core/tests/test_nditer.py -index b0d911f24f..d6a9e42ae3 100644 ---- a/numpy/_core/tests/test_nditer.py -+++ b/numpy/_core/tests/test_nditer.py -@@ -1126,9 +1126,10 @@ def test_iter_object_arrays_conversions(): - rc = sys.getrefcount(ob) - for x in i: - x[...] += 1 -- if HAS_REFCOUNT: -- assert_(sys.getrefcount(ob) == rc-1) -- assert_equal(a, np.arange(6)+98172489) -+ if HAS_REFCOUNT: -+ newrc = sys.getrefcount(ob) -+ assert_(newrc == rc - 1) -+ assert_equal(a, np.arange(6) + 98172489) - - def test_iter_common_dtype(): - # Check that the iterator finds a common data type correctly -diff --git a/numpy/_core/tests/test_regression.py b/numpy/_core/tests/test_regression.py -index 851ce324d7..eeb640659e 100644 ---- a/numpy/_core/tests/test_regression.py -+++ b/numpy/_core/tests/test_regression.py -@@ -1586,29 +1586,26 @@ def test_take_refcount(self): - def test_fromfile_tofile_seeks(self): - # On Python 3, tofile/fromfile used to get (#1610) the Python - # file handle out of sync -- f0 = tempfile.NamedTemporaryFile() -- f = f0.file -- f.write(np.arange(255, dtype='u1').tobytes()) -- -- f.seek(20) -- ret = np.fromfile(f, count=4, dtype='u1') -- assert_equal(ret, np.array([20, 21, 22, 23], dtype='u1')) -- assert_equal(f.tell(), 24) -- -- f.seek(40) -- np.array([1, 2, 3], dtype='u1').tofile(f) -- assert_equal(f.tell(), 43) -- -- f.seek(40) -- data = f.read(3) -- assert_equal(data, b"\x01\x02\x03") -- -- f.seek(80) -- f.read(4) -- data = np.fromfile(f, dtype='u1', count=4) -- assert_equal(data, np.array([84, 85, 86, 87], dtype='u1')) -- -- f.close() -+ with tempfile.NamedTemporaryFile() as f: -+ f.write(np.arange(255, dtype='u1').tobytes()) -+ -+ f.seek(20) -+ ret = np.fromfile(f, count=4, dtype='u1') -+ assert_equal(ret, np.array([20, 21, 22, 23], dtype='u1')) -+ assert_equal(f.tell(), 24) -+ -+ f.seek(40) -+ np.array([1, 2, 3], dtype='u1').tofile(f) -+ assert_equal(f.tell(), 43) -+ -+ f.seek(40) -+ data = f.read(3) -+ assert_equal(data, b"\x01\x02\x03") -+ -+ f.seek(80) -+ f.read(4) -+ data = np.fromfile(f, dtype='u1', count=4) -+ assert_equal(data, np.array([84, 85, 86, 87], dtype='u1')) - - def test_complex_scalar_warning(self): - for tp in [np.csingle, np.cdouble, np.clongdouble]: -diff --git a/numpy/_core/tests/test_umath.py b/numpy/_core/tests/test_umath.py -index 4d56c785d5..d432e33412 100644 ---- a/numpy/_core/tests/test_umath.py -+++ b/numpy/_core/tests/test_umath.py -@@ -269,9 +269,9 @@ class ArrSubclass(np.ndarray): - pass - - arr = np.arange(10).view(ArrSubclass) -- -+ orig_refcount = sys.getrefcount(arr) - arr *= 1 -- assert sys.getrefcount(arr) == 2 -+ assert sys.getrefcount(arr) == orig_refcount - - - class TestComparisons: diff --git a/dev-python/numpy/files/numpy-2.2.6-gcc16.patch b/dev-python/numpy/files/numpy-2.2.6-gcc16.patch deleted file mode 100644 index a297551ded05..000000000000 --- a/dev-python/numpy/files/numpy-2.2.6-gcc16.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://github.com/google/highway/issues/2577 -https://github.com/google/highway/commit/7cde540171a1718a9bdfa8f896d70e47eb0785d5 ---- a/numpy/_core/src/highway/hwy/ops/set_macros-inl.h -+++ b/numpy/_core/src/highway/hwy/ops/set_macros-inl.h -@@ -141,7 +141,8 @@ - #define HWY_TARGET_STR_AVX2 \ - HWY_TARGET_STR_SSE4 ",avx,avx2" HWY_TARGET_STR_BMI2_FMA HWY_TARGET_STR_F16C - --#if HWY_COMPILER_GCC_ACTUAL >= 1400 || HWY_COMPILER_CLANG >= 1800 -+#if (HWY_COMPILER_GCC_ACTUAL >= 1400 && HWY_COMPILER_GCC_ACTUAL < 1600) || \ -+ HWY_COMPILER_CLANG >= 1800 - #define HWY_TARGET_STR_AVX3_VL512 ",evex512" - #else - #define HWY_TARGET_STR_AVX3_VL512 diff --git a/dev-python/numpy/numpy-2.2.6.ebuild b/dev-python/numpy/numpy-2.2.6.ebuild deleted file mode 100644 index ab989c443b99..000000000000 --- a/dev-python/numpy/numpy-2.2.6.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE="threads(+)" -FORTRAN_NEEDED=lapack - -inherit distutils-r1 flag-o-matic fortran-2 pypi - -DESCRIPTION="Fast array and numerical python library" -HOMEPAGE=" - https://numpy.org/ - https://github.com/numpy/numpy/ - https://pypi.org/project/numpy/ -" - -LICENSE="BSD" -SLOT="0/2" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -# +lapack because the internal fallbacks are pretty slow. Building without blas -# is barely supported anyway, see bug #914358. -IUSE="big-endian +lapack" - -RDEPEND=" - lapack? ( - >=virtual/cblas-3.8 - >=virtual/lapack-3.8 - ) -" -BDEPEND=" - ${RDEPEND} - >=dev-build/meson-1.1.0 - >=dev-python/cython-3.0.6[${PYTHON_USEDEP}] - lapack? ( - virtual/pkgconfig - ) - test? ( - $(python_gen_cond_dep ' - >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] - ' 'python*') - dev-python/charset-normalizer[${PYTHON_USEDEP}] - >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] - ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - # https://bugs.gentoo.org/925367 - vrndq_f32 -) - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_prepare_all() { - local PATCHES=( - # https://github.com/numpy/numpy/pull/28748 - # https://github.com/numpy/numpy/pull/28928 - "${FILESDIR}/${PN}-2.2.5-py314.patch" - # https://github.com/google/highway/issues/2577 - # github.com/google/highway/commit/7cde540171a1718a9bdfa8f896d70e47eb0785d5 - "${FILESDIR}/${PN}-2.2.6-gcc16.patch" - ) - - # bug #922457 - filter-lto - # https://github.com/numpy/numpy/issues/25004 - append-flags -fno-strict-aliasing - - distutils-r1_python_prepare_all -} - -python_configure_all() { - DISTUTILS_ARGS=( - -Dallow-noblas=$(usex !lapack true false) - -Dblas=$(usev lapack cblas) - -Dlapack=$(usev lapack lapack) - # TODO: cpu-* options - ) -} - -python_test() { - local EPYTEST_DESELECT=( - # Very disk-and-memory-hungry - numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip - numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid - numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load - - # Precision problems - numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals - - # Runs the whole test suite recursively, that's just crazy - numpy/core/tests/test_mem_policy.py::test_new_policy - - numpy/typing/tests/test_typing.py - # Uses huge amount of memory - numpy/core/tests/test_mem_overlap.py - ) - - if [[ $(uname -m) == armv8l ]]; then - # Degenerate case of arm32 chroot on arm64, bug #774108 - EPYTEST_DESELECT+=( - numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features - ) - fi - - case ${ARCH} in - arm) - EPYTEST_DESELECT+=( - # TODO: warnings - numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception - - # TODO - numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers - numpy/f2py/tests/test_kind.py::TestKind::test_real - numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision - - # require too much memory - 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' - 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' - ) - ;; - hppa) - EPYTEST_DESELECT+=( - # https://bugs.gentoo.org/942689 - "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]" - "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]" - "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]" - "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]" - "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then - # msvccompiler removal - EPYTEST_DESELECT+=( - numpy/tests/test_public_api.py::test_all_modules_are_expected_2 - numpy/tests/test_public_api.py::test_api_importable - ) - EPYTEST_IGNORE+=( - numpy/distutils/tests/test_mingw32ccompiler.py - numpy/distutils/tests/test_system_info.py - ) - fi - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - epytest -p rerunfailures --reruns=5 -} - -python_install_all() { - local DOCS=( LICENSE.txt README.md THANKS.txt ) - distutils-r1_python_install_all -} diff --git a/dev-python/numpy/numpy-2.5.4.ebuild b/dev-python/numpy/numpy-2.5.4.ebuild new file mode 100644 index 000000000000..d22a019b6c54 --- /dev/null +++ b/dev-python/numpy/numpy-2.5.4.ebuild @@ -0,0 +1,329 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=meson-python +PYPI_VERIFY_REPO=https://github.com/numpy/numpy-release +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 pypi + +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE=" + https://numpy.org/ + https://github.com/numpy/numpy/ + https://pypi.org/project/numpy/ +" + +LICENSE="BSD 0BSD MIT ZLIB CC0-1.0" +SLOT="0/2" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +# +lapack because the internal fallbacks are pretty slow. Building without blas +# is barely supported anyway, see bug #914358. +IUSE="big-endian +cpudetection index64 +lapack" + +# upstream-flag[:gentoo-flag] +ARM_FLAGS=( neon{,-fp16} vfpv4 asimd{,hp,dp,fhm} sve ) +PPC_FLAGS=( vsx vsx2 vsx3 vsx4 ) +X86_FLAGS=( + avx2 avx512{bw,dq,vl} avx512_{bf16,bitalg,fp16,vbmi2} sse4_2 +) +IUSE+=" + ${ARM_FLAGS[*]/#/cpu_flags_arm_} + ${PPC_FLAGS[*]/#/cpu_flags_ppc_} + ${X86_FLAGS[*]/#/cpu_flags_x86_} +" + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8[index64(-)?] + >=virtual/lapack-3.8[index64(-)?] + ) +" +BDEPEND=" + ${RDEPEND} + >=dev-build/meson-1.5.2 + >=dev-python/cython-3.1.0[${PYTHON_USEDEP}] + lapack? ( + virtual/pkgconfig + ) + test? ( + $(python_gen_cond_dep ' + >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] + ' 'python*') + dev-python/charset-normalizer[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # https://bugs.gentoo.org/925367 + vrndq_f32 +) + +EPYTEST_PLUGINS=( hypothesis pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +has_all_x86() { + local flag + for flag; do + if ! use "cpu_flags_x86_${flag}"; then + return 1 + fi + done + return 0 +} + +python_configure_all() { + local cpu_baseline=() + local map flag + case ${ARCH} in + arm) + # every flag implies the previous one + for map in NEON:neon NEON_FP16:neon-fp16 NEON_VFPV4:vfpv4; do + if ! use "cpu_flags_arm_${map#*:}"; then + break + fi + cpu_baseline+=( "${map%:*}" ) + done + ;& + arm64) + # on 32-bit ARM, ASIMD implies all NEON* flags + # on 64-bit ARM, they are all linked together + if use arm64 || + [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == NEON_VFPV4 ]] + then + cpu_baseline+=( $(usev cpu_flags_arm_asimd ASIMD) ) + fi + + # these two imply ASIMD + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMD ]]; then + for flag in dp hp; do + cpu_baseline+=( + $(usev "cpu_flags_arm_asimd${flag}" "ASIMD${flag^^}") + ) + done + fi + + # these two imply ASIMDHP + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMDHP ]]; then + for flag in asimdfhm sve; do + cpu_baseline+=( + $(usev "cpu_flags_arm_${flag}" "${flag^^}") + ) + done + fi + ;; + ppc64) + # every flag implies the previous one + for flag in '' 2 3 4; do + if ! use "cpu_flags_ppc_vsx${flag}"; then + break + fi + cpu_baseline+=( "VSX${flag}" ) + done + ;; + amd64|x86) + # upstream combines multiple instructions into sets + local mapping=( + # for these, we just check the newest instruction set, + # since all earlier instruction sets imply it + "X86_V2=sse4_2" + "X86_V3=avx2" + # from here on, we check all features that were added + # in the lowest CPU supporting them all + # https://en.wikipedia.org/wiki/AVX-512 + "X86_V4=avx512bw avx512dq avx512vl" + "AVX512_ICL=avx512_vbmi2 avx512_bitalg" + "AVX512_SPR=avx512_bf16 avx512_fp16" + ) + + local m + for m in "${mapping[@]}"; do + local feature=${m%=*} + local sets=${m#*=} + + if has_all_x86 ${sets}; then + einfo "${feature} enabled: all of ${sets} enabled" + cpu_baseline+=( "${feature}" ) + else + einfo "${feature} disabled: not all of ${sets} enabled" + break + fi + done + ;; + *) + cpu_baseline=MIN + ;; + esac + + DISTUTILS_ARGS=( + -Dallow-noblas=$(usex !lapack true false) + -Duse-ilp64=$(usex index64 true false) + -Dblas=$(usev lapack $(usex index64 cblas64 cblas)) + -Dlapack=$(usev lapack $(usex index64 lapack64 lapack)) + -Dcpu-baseline="${cpu_baseline[*]}" + -Dcpu-baseline-detect=disabled + -Dcpu-dispatch="$(usev cpudetection MAX)" + ) + + # bug #922457 + filter-lto + # https://github.com/numpy/numpy/issues/25004 + append-flags -fno-strict-aliasing +} + +python_test() { + # We run tests in parallel, so avoid having n^2 threads in lapack + # tests. + local -x BLIS_NUM_THREADS=1 + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + local -x OPENBLAS_NUM_THREADS=1 + + # don't run tests that require more than 2 GiB of RAM (per process) + local -x NPY_AVAILABLE_MEM="2 GiB" + + local EPYTEST_DESELECT=( + # Very disk-and-memory-hungry + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load + + # Precision problems + numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals + + numpy/typing/tests/test_typing.py + + # Flaky, reruns don't help + numpy/f2py/tests/test_crackfortran.py + numpy/f2py/tests/test_data.py::TestData{,F77}::test_crackedlines + numpy/f2py/tests/test_f2py2e.py::test_gen_pyf + numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli + + # Broken by new setuptools + numpy/distutils/tests/test_fcompiler.py + numpy/distutils/tests/test_fcompiler_gnu.py + numpy/distutils/tests/test_fcompiler_intel.py + numpy/distutils/tests/test_fcompiler_nagfor.py + ) + + if [[ $(uname -m) == armv8l ]]; then + # Degenerate case of arm32 chroot on arm64, bug #774108 + EPYTEST_DESELECT+=( + numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features + ) + fi + + case ${ARCH} in + arm) + EPYTEST_DESELECT+=( + # TODO: warnings + numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception + + # TODO + numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers + numpy/f2py/tests/test_kind.py::TestKind::test_real + numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision + + # require too much memory + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + ) + ;; + hppa) + EPYTEST_DESELECT+=( + # https://bugs.gentoo.org/942689 + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then + # msvccompiler removal + EPYTEST_DESELECT+=( + numpy/tests/test_public_api.py::test_all_modules_are_expected_2 + numpy/tests/test_public_api.py::test_api_importable + ) + EPYTEST_IGNORE+=( + numpy/distutils/tests/test_mingw32ccompiler.py + numpy/distutils/tests/test_system_info.py + ) + fi + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + numpy/_core/tests/test_regression.py::TestRegression::test_buffer_hashlib + numpy/random/tests/test_generator_mt19937.py::TestIntegers::test_repeatability + numpy/random/tests/test_generator_mt19937.py::TestRandomDist::test_choice_large_sample + numpy/random/tests/test_generator_mt19937.py::test_jumped + numpy/random/tests/test_random.py::TestRandint::test_repeatability + numpy/random/tests/test_randomstate.py::TestRandint::test_repeatability + numpy/random/tests/test_randomstate.py::test_integer_repeat + ) + ;; + esac + + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} + +python_install_all() { + local DOCS=( LICENSE.txt README.md THANKS.txt ) + distutils-r1_python_install_all +} diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest index 9526b4cf8e4a..da0e6de2a325 100644 --- a/dev-python/pillow/Manifest +++ b/dev-python/pillow/Manifest @@ -1,3 +1,2 @@ -DIST pillow-12.2.0.gh.tar.gz 47057046 BLAKE2B 448a928cdaef49c21db4b0b61e2045610ff6bf6c9c52c7ab541d531205149b8a60aa02b1e286c7dc15dac98fa23a07a4c685f524df6e7592013b0914e65a8cc8 SHA512 cd66b5b033f82127934624c474aed55c014d10d5e7cc9455ea6a3470d1b7e9f0b94ad2c0a5f1559e01ce003fc179b01fee89aa1b51d78dff3f04927d8252a41e DIST pillow-12.3.0.gh.tar.gz 47120631 BLAKE2B 52b795378340207c692c716a65f1c6687415096fc9fb599395dbeef2f55ee8cc6a8be1845f7c4ec01e1962ade62b30a445eacf1d2f57355a67052f54ce3e2586 SHA512 41453e23021fdb08ed9bf8b67a912f8217010840f99665e49465088e76c608fca78c2ca4dda3de8728ba9f8002c7e98231135669990d88758c5944afa0a13f64 DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b diff --git a/dev-python/pillow/pillow-12.2.0-r1.ebuild b/dev-python/pillow/pillow-12.2.0-r1.ebuild deleted file mode 100644 index 94156fc8087b..000000000000 --- a/dev-python/pillow/pillow-12.2.0-r1.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -# setuptools wrapper -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE='tk?,threads(+)' - -inherit distutils-r1 multiprocessing toolchain-funcs virtualx - -MY_PN=Pillow -MY_P=${MY_PN}-${PV} - -# upstream always fetches from main -TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0" - -DESCRIPTION="Python Imaging Library (fork)" -HOMEPAGE=" - https://python-pillow.github.io/ - https://github.com/python-pillow/Pillow/ - https://pypi.org/project/pillow/ -" -SRC_URI=" - https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - test? ( - https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz - -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz - ) -" -S=${WORKDIR}/${MY_P} - -LICENSE="HPND" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 ~riscv x86" -IUSE="avif examples imagequant +jpeg jpeg2k lcms raqm test tiff tk truetype webp xcb zlib" -REQUIRED_USE=" - raqm? ( truetype ) - test? ( jpeg jpeg2k lcms tiff truetype ) -" -RESTRICT="!test? ( test )" - -DEPEND=" - avif? ( media-libs/libavif:= ) - imagequant? ( media-gfx/libimagequant:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - jpeg2k? ( media-libs/openjpeg:2= ) - lcms? ( media-libs/lcms:2= ) - tiff? ( media-libs/tiff:=[jpeg,zlib] ) - truetype? ( - media-libs/freetype:2 - media-libs/harfbuzz:= - raqm? ( media-libs/raqm:= ) - ) - webp? ( media-libs/libwebp:= ) - xcb? ( x11-libs/libxcb ) - zlib? ( virtual/zlib:= ) -" -RDEPEND=" - ${DEPEND} - dev-python/olefile[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/pybind11[${PYTHON_USEDEP}] - >=dev-python/setuptools-77[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - virtual/pkgconfig - test? ( - dev-python/defusedxml[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[png] - ) - ) -" - -EPYTEST_PLUGINS=( pytest-timeout ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - local PATCHES=( - # https://github.com/python-pillow/pillow/pull/7634 - "${FILESDIR}/${PN}-10.2.0-cross.patch" - ) - - distutils-r1_src_prepare - - if use test; then - mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \ - Tests/images || die - fi - - # just in case - rm -r src/thirdparty/{fribidi-shim,raqm} || die -} - -usepil() { - usex "${1}" enable disable -} - -python_configure_all() { - cat >> setup.cfg <<-EOF || die - [build_ext] - debug = True - disable_platform_guessing = True - $(usepil avif)_avif = True - $(usepil imagequant)_imagequant = True - $(usepil jpeg)_jpeg = True - $(usepil jpeg2k)_jpeg2000 = True - $(usepil lcms)_lcms = True - $(usepil raqm)_raqm = True - $(usepil tiff)_tiff = True - $(usepil truetype)_freetype = True - $(usepil webp)_webp = True - $(usepil xcb)_xcb = True - $(usepil zlib)_zlib = True - EOF - - tc-export PKG_CONFIG - - export MAX_CONCURRENCY=$(makeopts_jobs) - # For 32-bit, just cap at 4 jobs to avoid pybind11 allocating - # like crazy (bug #970414). - if [[ $(tc-get-ptr-size) == 4 ]]; then - MAX_CONCURRENCY=$(( MAX_CONCURRENCY < 4 ? MAX_CONCURRENCY : 4 )) - fi -} - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO (is clipboard unreliable in Xvfb?) - Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard - # requires xz-utils[extra-filters]? - Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma - ) - - case ${EPYTHON} in - pypy3.11) - EPYTEST_DESELECT+=( - Tests/test_imagefile.py::TestImageFile::test_parser - Tests/test_file_pdf.py::test_pdf_append_to_bytesio - ) - ;; - esac - - case ${ARCH} in - ppc) - EPYTEST_DESELECT+=( - # https://github.com/python-pillow/Pillow/issues/7008 - # (we've reverted the upstream patch because it was worse - # than the original issue) - Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd - ) - ;; - esac - - "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" - # leak tests are fragile and broken under xdist - # nonfatal implied by xvfb - nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}" -} - -python_install() { - python_doheader src/libImaging/*.h - distutils-r1_python_install -} - -python_install_all() { - if use examples ; then - docinto example - dodoc docs/example/* - docompress -x /usr/share/doc/${PF}/example - fi - distutils-r1_python_install_all -} diff --git a/dev-python/pillow/pillow-12.2.0.ebuild b/dev-python/pillow/pillow-12.2.0.ebuild deleted file mode 100644 index 5cf72382f102..000000000000 --- a/dev-python/pillow/pillow-12.2.0.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -# setuptools wrapper -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE='tk?,threads(+)' - -inherit distutils-r1 multiprocessing toolchain-funcs virtualx - -MY_PN=Pillow -MY_P=${MY_PN}-${PV} - -# upstream always fetches from main -TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0" - -DESCRIPTION="Python Imaging Library (fork)" -HOMEPAGE=" - https://python-pillow.github.io/ - https://github.com/python-pillow/Pillow/ - https://pypi.org/project/pillow/ -" -SRC_URI=" - https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - test? ( - https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz - -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz - ) -" -S=${WORKDIR}/${MY_P} - -LICENSE="HPND" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" -IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" -REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" -RESTRICT="!test? ( test )" - -DEPEND=" - avif? ( media-libs/libavif:= ) - imagequant? ( media-gfx/libimagequant:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - jpeg2k? ( media-libs/openjpeg:2= ) - lcms? ( media-libs/lcms:2= ) - tiff? ( media-libs/tiff:=[jpeg,zlib] ) - truetype? ( - media-libs/freetype:2= - media-libs/harfbuzz:= - ) - webp? ( media-libs/libwebp:= ) - xcb? ( x11-libs/libxcb ) - zlib? ( virtual/zlib:= ) -" -RDEPEND=" - ${DEPEND} - dev-python/olefile[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/pybind11[${PYTHON_USEDEP}] - >=dev-python/setuptools-77[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - virtual/pkgconfig - test? ( - dev-python/defusedxml[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[png] - ) - ) -" - -EPYTEST_PLUGINS=( pytest-timeout ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - local PATCHES=( - # https://github.com/python-pillow/pillow/pull/7634 - "${FILESDIR}/${PN}-10.2.0-cross.patch" - ) - - distutils-r1_src_prepare - - if use test; then - mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \ - Tests/images || die - fi -} - -usepil() { - usex "${1}" enable disable -} - -python_configure_all() { - cat >> setup.cfg <<-EOF || die - [build_ext] - debug = True - disable_platform_guessing = True - $(usepil avif)_avif = True - $(usepil truetype)_freetype = True - $(usepil jpeg)_jpeg = True - $(usepil jpeg2k)_jpeg2000 = True - $(usepil lcms)_lcms = True - $(usepil tiff)_tiff = True - $(usepil imagequant)_imagequant = True - $(usepil webp)_webp = True - $(usepil xcb)_xcb = True - $(usepil zlib)_zlib = True - EOF - if use truetype; then - # these dependencies are implicitly disabled by USE=-truetype - # and we can't pass both disable_* and vendor_* - # https://bugs.gentoo.org/935124 - cat >> setup.cfg <<-EOF || die - vendor_raqm = False - vendor_fribidi = False - EOF - fi - - tc-export PKG_CONFIG - - export MAX_CONCURRENCY=$(makeopts_jobs) - # For 32-bit, just cap at 4 jobs to avoid pybind11 allocating - # like crazy (bug #970414). - if [[ $(tc-get-ptr-size) == 4 ]]; then - MAX_CONCURRENCY=$(( MAX_CONCURRENCY < 4 ? MAX_CONCURRENCY : 4 )) - fi -} - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO (is clipboard unreliable in Xvfb?) - Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard - # requires xz-utils[extra-filters]? - Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma - ) - - case ${ARCH} in - ppc) - EPYTEST_DESELECT+=( - # https://github.com/python-pillow/Pillow/issues/7008 - # (we've reverted the upstream patch because it was worse - # than the original issue) - Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd - ) - ;; - esac - - "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" - # leak tests are fragile and broken under xdist - # nonfatal implied by xvfb - nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}" -} - -python_install() { - python_doheader src/libImaging/*.h - distutils-r1_python_install -} - -python_install_all() { - if use examples ; then - docinto example - dodoc docs/example/* - docompress -x /usr/share/doc/${PF}/example - fi - distutils-r1_python_install_all -} diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest index 7a78076d9aa9..3c856d533553 100644 --- a/dev-python/pyglet/Manifest +++ b/dev-python/pyglet/Manifest @@ -1,2 +1 @@ -DIST pyglet-2.1.15.tar.gz 6597005 BLAKE2B ef975a397aecc3e432a05bb448d9f498b026914b4c3bc987859f094bb955685b6c29cfc3de303ef8dbc167537b18efa86812300b3cf7458ed3346f66e19760ab SHA512 37187e7383ed69e8e95884a18c09cd292501f9fe8dce1782f9a99915a2d8fdbe810682362c209720c13b01b578633a548d54a3c93167e68d1cf6b6421b14b1fc DIST pyglet-2.1.16.tar.gz 6598246 BLAKE2B a6613e1d2c69d6be44ea4f8e301be8b9366eb7fbe4c3097b52c2ab868ad799bd1c0e862325edf8c180f69237da80de74f965d82b69d3d12abe8e8a0de25f020d SHA512 2e3e216d06ffd8eb2c5a12c9b0c5d78fac50ced7cd58fc84e73f0cd65d148125fd990c0a71d9a890657e9554660b5c960d7a3e25252bf44f7d395334d9e7d8e1 diff --git a/dev-python/pyglet/pyglet-2.1.15.ebuild b/dev-python/pyglet/pyglet-2.1.15.ebuild deleted file mode 100644 index f0026eeccee2..000000000000 --- a/dev-python/pyglet/pyglet-2.1.15.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit-core -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi virtualx xdg-utils - -MY_P=${P/_/.} -DESCRIPTION="Cross-platform windowing and multimedia library for Python" -HOMEPAGE=" - https://pyglet.org/ - https://github.com/pyglet/pyglet/ - https://pypi.org/project/pyglet/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" -IUSE="examples image +sound" - -RDEPEND=" - virtual/glu - virtual/opengl - image? ( - || ( - dev-python/pillow[${PYTHON_USEDEP}] - x11-libs/gtk+:2 - ) - ) - sound? ( - || ( - media-libs/libpulse - media-libs/openal - ) - ) -" -# ffmpeg? ( media-libs/avbin-bin ) -BDEPEND=" - test? ( - dev-python/pillow[${PYTHON_USEDEP}] - media-libs/fontconfig - x11-base/xorg-server[-minimal] - ) -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - xdg_environment_reset - - local EPYTEST_DESELECT=( - # lacking device/server permissions - tests/unit/media/test_listener.py::test_openal_listener - tests/unit/media/test_listener.py::test_pulse_listener - # fragile to system load - tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume - tests/unit/test_clock_freq.py::test_elapsed_time_between_tick - ) - - # Specify path to avoid running interactive tests - # We could add in integration tests, but they're slow - nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}" -} - -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/pykka/Manifest b/dev-python/pykka/Manifest index 50db5cd40627..12dfec5dea40 100644 --- a/dev-python/pykka/Manifest +++ b/dev-python/pykka/Manifest @@ -1 +1,2 @@ DIST pykka-4.4.2.gh.tar.gz 50174 BLAKE2B b484218bb2da9a90a93d88f7c5ab3cb2dd20183cf300423627cbcc022bd6f4b29bdf71f1745416243d10db02837df06f73e7fb70487b7aabcb8a59a5bcec554c SHA512 8c704ed2770e61373f5455f77d7eb03c875c31304dd3404a01c54263d3e61c53e21c55b4c9242cb5fd5afd1e41e4486ddea775789abb79590446269fa57212de +DIST pykka-4.5.0.gh.tar.gz 53200 BLAKE2B 19b3029321e8512b05d49e2573cb088a1fedd2648cbf166b64ca275cb50ac901d7c9f27e9c6b840be2f0603735a9c4922c7bb296b4495aeeae4cb864b3712174 SHA512 4e03e68f306898b577671a10917b3268675822b40d9f5a876b60a71a003ca9d3fdbb4a2448b180a5313636d6246a9636618de06a02aa572e959ef215a4ec1dbf diff --git a/dev-python/pykka/pykka-4.5.0.ebuild b/dev-python/pykka/pykka-4.5.0.ebuild new file mode 100644 index 000000000000..873bcb08520f --- /dev/null +++ b/dev-python/pykka/pykka-4.5.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="A Python implementation of the actor model" +HOMEPAGE=" + https://github.com/jodal/pykka/ + https://pypi.org/project/pykka/ +" +SRC_URI=" + https://github.com/jodal/pykka/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest index 4c5e0235520b..f39ef17e84ff 100644 --- a/dev-python/pytest-env/Manifest +++ b/dev-python/pytest-env/Manifest @@ -1,4 +1,4 @@ -DIST pytest_env-1.7.0.tar.gz 16408 BLAKE2B ff03e9124d518523018e699205b7629dde5e8c72a1392a0ff215cd9abb890bfce8917c9bdc95746423205df3c37513b739fab40a39a1175e755cbeb6374e9167 SHA512 071eead1a149ae1a3fb219e8573a8faa5f185550bff8d2216d56b3a69e71dc34385cf8a6fc771352a82b3e25a3d7311fd92c65c91ebf1e8022095ade5e2052b4 -DIST pytest_env-1.7.0.tar.gz.provenance 9812 BLAKE2B 864808526fd573d78c2552b5716f44143d1b1de8c02a5e0a9b98c817365e10e55075f96ab59da456d2c20de697a4b32dec53edcb232936250a8b56af5613b494 SHA512 26233daa7206e899b8baf36a3590bc2ef0a7d8fb2931e01d8555c51a8a6c9aadd1dc92b4271298665adec65038f19b29c1ac8b070c262a9494b06fa9bbae2827 DIST pytest_env-1.7.1.tar.gz 17091 BLAKE2B 64b726da3660c87456a52d89b25b32be3bd3c0d08df31a8f0f5eabc73ea9d539a057a9d9594a0150bf221bec8a8c816d5fdc5903e319e1c6b2f637eb9a64c0e0 SHA512 d51e3bbff89f27cc082a4459c64ef46e9c97f33188d048200c18d866bc282949a361de63fbf291c22b238b1eac078a8945eb1cfb65dac6ca495084e2e0df5e02 DIST pytest_env-1.7.1.tar.gz.provenance 9767 BLAKE2B 4a0563d9fdff25824fc5e0f6be2ec53b8ad226719100b325bb251c6a6797098bcba13dbe001440cd2223749188dff61e227d7eca936541d5a0a8404b287f0ef5 SHA512 1f25f4f74de81a53a9eb141ab56bfdce0757bbf1d19d776e25810b96f39acb3b1928670fbac2663a6bf4beb275cb01810e2811611c236afc4f3dc4501af36aec +DIST pytest_env-1.8.0.tar.gz 17363 BLAKE2B 63d9dce217ee3136c9ff2877f616a78567c5f9055cee63c1f8415bfcae9135dde5977a56dd5794458f36e341b2834650f6e17c4325b1fd07d5478c3a638d5f6f SHA512 7f48da79caa364fa5a8581952a895dbbcfcfa7e42e0e8160bfa273ac654f0b91fa46cbd2ec08d58561f8a58cacf3eb6f62adb548a5eaf4dd6415f2b9b49fec52 +DIST pytest_env-1.8.0.tar.gz.provenance 9592 BLAKE2B a57b4704368963923000af291e77c60f267732b10c4f114ec391294724cf405045ca95954ba841f37edcdd909822a5ccb3d8502267db6e54e55f8911cb2b8d77 SHA512 a9aee2bdbe1ceb4fb27ab57bf644d5a49307a9c7f6d32e98f90d437c463d517062176d36b8c09b8f802c6f28e3ce12506bac79943491bf22ea63ed27f4788184 diff --git a/dev-python/pytest-env/pytest-env-1.7.0.ebuild b/dev-python/pytest-env/pytest-env-1.7.0.ebuild deleted file mode 100644 index 53377984e1c8..000000000000 --- a/dev-python/pytest-env/pytest-env-1.7.0.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-env -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="pytest plugin that allows you to add environment variables" -HOMEPAGE=" - https://github.com/pytest-dev/pytest-env/ - https://pypi.org/project/pytest-env/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv x86" - -RDEPEND=" - >=dev-python/python-dotenv-1.2.2[${PYTHON_USEDEP}] - >=dev-python/pytest-9.0.2[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # upstream lower bounds are meaningless - sed -i -e 's:>=[0-9.]*::' pyproject.toml || die -} diff --git a/dev-python/pytest-env/pytest-env-1.8.0.ebuild b/dev-python/pytest-env/pytest-env-1.8.0.ebuild new file mode 100644 index 000000000000..7ff67d64ea2b --- /dev/null +++ b/dev-python/pytest-env/pytest-env-1.8.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/pytest-dev/pytest-env +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="pytest plugin that allows you to add environment variables" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-env/ + https://pypi.org/project/pytest-env/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/python-dotenv-1.2.4[${PYTHON_USEDEP}] + >=dev-python/pytest-9.1.1[${PYTHON_USEDEP}] +" + +BDEPEND=" + >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # upstream lower bounds are meaningless + sed -i -e 's:>=[0-9.]*::' pyproject.toml || die +} -- cgit v1.3