diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-12-06 21:12:23 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-12-06 21:12:23 +0000 |
| commit | 3ee8ce5325844d3b0c6de1e928d3e99927bfc028 (patch) | |
| tree | 9310bb2491a7f23747afc9aeb34e18e45487b277 /dev-python | |
| parent | 48362e99aa1ce7a2900af949d1d3711254e309ce (diff) | |
| download | baldeagleos-repo-3ee8ce5325844d3b0c6de1e928d3e99927bfc028.tar.gz baldeagleos-repo-3ee8ce5325844d3b0c6de1e928d3e99927bfc028.tar.xz baldeagleos-repo-3ee8ce5325844d3b0c6de1e928d3e99927bfc028.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
52 files changed, 1507 insertions, 391 deletions
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest index 3707cc94fd14..d9dd612adac8 100644 --- a/dev-python/aiodns/Manifest +++ b/dev-python/aiodns/Manifest @@ -1 +1,3 @@ DIST aiodns-3.5.0.tar.gz 14380 BLAKE2B 7b34d94e7376a0f9ddc5f002bcde64ac15dd31bec97801a35e1b1040f687d5775b5497ba7b76417c45d5cfb35b670d0bce5421e9d6703c7bffe648ee91afaf13 SHA512 0d833cd26db549a06b8bd62835bcac008e24ea4f010065186ff3ca5629c08527eb2c29e6d3f307b8db5d809b264298d3669452a782c19d2454e0b2ce394c814c +DIST aiodns-3.6.0.tar.gz 15108 BLAKE2B a99b18b877df5da6bc8d21dd8c11de711882dd5daebaa06899f6eb75cf030ff9373a20b6a009f93d02934e98247fe7a5e6f25f693667ab8ce3ade6393e917515 SHA512 4620a16bafc8321569fe749518e039230d466d70ad8e328cbed0a4c3b229df2b2c0ade424d44019d065bc50dc7b1396c6a98fb2591f842d50c0dfd3b878843bd +DIST aiodns-3.6.0.tar.gz.provenance 9313 BLAKE2B 1afa93bb875a04ed4bc6fcab92feb4b68ead381d19253872067db481499ac12dad73c987336ea4b8980c33611351af3d713b22859ac790907fc60bc270948b78 SHA512 1e35b03a95fb84ef669f55e4ab07821a248eb03965992a5c209d2551b5a85f32db9f750e86dcde2c4afb33cd1c1b94727b48c9b49ba113a980a13a4add81e81d diff --git a/dev-python/aiodns/aiodns-3.6.0.ebuild b/dev-python/aiodns/aiodns-3.6.0.ebuild new file mode 100644 index 000000000000..67864267bf7c --- /dev/null +++ b/dev-python/aiodns/aiodns-3.6.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 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/aio-libs/aiodns +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Simple DNS resolver for asyncio" +HOMEPAGE=" + https://pypi.org/project/aiodns/ + https://github.com/aio-libs/aiodns/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# Tests fail with network-sandbox, since they try to resolve google.com +PROPERTIES="test? ( test_network )" +RESTRICT="test" + +RDEPEND=">=dev-python/pycares-4.9.0[${PYTHON_USEDEP}]" +DEPEND="${RDEPEND}" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +python_test() { + epytest --asyncio-mode=auto +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index fe04270671b4..981c9731eca8 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -7,3 +7,4 @@ DIST boto3-1.42.0.gh.tar.gz 1051896 BLAKE2B 5bc423d834f4baba83b1e332b67fbfbe76b7 DIST boto3-1.42.1.gh.tar.gz 1054688 BLAKE2B 9722ba8fb97df81abfbcc26f5ab5d5c7819a3cd1f265af9938820968ba79232ed453c594db3bc661ac6bed50058638903700e8c8e16613b59c88bc97807ad966 SHA512 961cae734e2e8db1e0511d19f24f5b509b14fbcc9d32327fa39928b21d502516b4dec8a2723c342bdc77649df292086f2b8281b30d54396f9849445b61fff8b7 DIST boto3-1.42.2.gh.tar.gz 1054980 BLAKE2B 5d361d756f41fb2e1df9f4397ba64a842388abb8f8f239b19c450ab062ec999c10c6a46770a52b3f9f664614c54093959fdbb85cff81bd712cb9b431604661a1 SHA512 1c24227ed467c9406c1cb781a46796d7748f44bbc5dddb53ad1153202111a08f33de7c7696f8294ac57df960a67a338cf37620c13df852cddb8d21ed909cbf20 DIST boto3-1.42.3.gh.tar.gz 1055160 BLAKE2B 86399e22d40747aa40d6d61296e9833f86ddbf8921a157a369bed90c538ce6ca43729c1a69c3f1f99d1b8496414397aa0b1a442d33e81d191fbac6991ab1a840 SHA512 c4f36ae4340e809c398ee9e496af1da5da24be08d6ab443dd434f5612bda97c187375480bb62992cb6129f638f8715cfd476d3a1116f94d3de470756d932d0c3 +DIST boto3-1.42.4.gh.tar.gz 1055570 BLAKE2B a9990bb04ce59111c6371536692c6e4d5440f3f0dc79e1ecc119652603bcd8bc15839400758999faffd7df9bda9efb4991393fcab32baa16c7a0e51ff7c5cc94 SHA512 95950ba80f31c3951a88237ff5edd1367285c3ab263c7f8ad1b7556d610d553dd4e2021fbbcc0d9bdcf578fe34ad9fcf6231511f54ee71917f69c1cdb6adab28 diff --git a/dev-python/boto3/boto3-1.42.4.ebuild b/dev-python/boto3/boto3-1.42.4.ebuild new file mode 100644 index 000000000000..6f9b5b5d57b1 --- /dev/null +++ b/dev-python/boto3/boto3-1.42.4.ebuild @@ -0,0 +1,53 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index a41bc49be902..d55c0ca95928 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -7,3 +7,4 @@ DIST botocore-1.41.6.gh.tar.gz 15619213 BLAKE2B 132f1020643f335793393f34545d7f13 DIST botocore-1.42.1.gh.tar.gz 15695042 BLAKE2B f0587a7e8112d0fd80cb40fb0da6cf88f3c0ec567a803a062f295624ca3541e0adb4cfc6d039e4bfdbcbf0c4ed07ae0117ce1ce691c6e95914bc4767d57324d4 SHA512 627ae08b65839f48fd24b567951e45363bb5d0c1ff566701a5396f6c6b0e5c58ce66143eb5bab64656d80c0751aad22af04a5d1f048d234a854325139c408846 DIST botocore-1.42.2.gh.tar.gz 15699929 BLAKE2B 9f809924aeb031313806c70207c2063c0a421695b2be1a246f886f3214ca1f7fee1ba25b456b654a93c1d682ed7988e9f5648ac91b1703a0ff534603b4e566f4 SHA512 e23157d1ef297f35cddc73ac43604b46e6274fbd1938b8bcb3a9dc142f4c47e377e8f3675e5045755e1ad70914c56a7a84ad3d39798f5486300a25ff3f4464ca DIST botocore-1.42.3.gh.tar.gz 15700743 BLAKE2B d288896f8538dcb4e7589e641f8b2b0e78b9b45576a592ea105353ebcd3e03f695fff3e71af56dfdebd8cdf9cc35bc36593a30fabb02a78a7531dcbd000f2774 SHA512 d32b4b775f5a692c3f731b83a1538cff002c215a4a3947eb69fd27ddf638d47a41e037f7b8a6d73ec4acfaeaf5fbc649103051383f56190e25b5748fcd0b9d88 +DIST botocore-1.42.4.gh.tar.gz 15703399 BLAKE2B ffd1613284a8487fd2abf10f53fcdaa13746990f519e2bc511bd09daa2efdbbc03cd141f40d36c83dc8180229daddb3a064c6d5aae2bc14f46921f50edf0f528 SHA512 22bbda9f4bc36bd18802812c63d650b2267565c27e432f7105daaa2c85660d2e3786ee11837ce2affe6d130504f9a7bf5c9e7ea3be5699b5d32be3090fb71914 diff --git a/dev-python/botocore/botocore-1.42.4.ebuild b/dev-python/botocore/botocore-1.42.4.ebuild new file mode 100644 index 000000000000..ee8074e67dce --- /dev/null +++ b/dev-python/botocore/botocore-1.42.4.ebuild @@ -0,0 +1,67 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index d12ab8aeaca8..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch new file mode 100644 index 000000000000..637368d2f237 --- /dev/null +++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch @@ -0,0 +1,13 @@ +Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." + +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ setup( + author_email='michal.danilak@gmail.com', + url='https://github.com/Mimino666/langdetect', + keywords='language detection library', +- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], ++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], + include_package_data=True, + install_requires=['six'], + license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 271137de443d..7100f5f39dd8 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,4 +19,6 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" +PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) + distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..c0f74ac187e2 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,11 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>pastalian46@gmail.com</email> + <name>Takuya Wakazono</name> </maintainer> - <upstream> - <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/librt/Manifest b/dev-python/librt/Manifest index 6957e769a2b8..7137a5127562 100644 --- a/dev-python/librt/Manifest +++ b/dev-python/librt/Manifest @@ -1,3 +1,4 @@ -DIST librt-0.6.2.gh.tar.gz 82045 BLAKE2B 7dd42e06c4bfa77961a73d495bebf94b2046f84299360fdc93ddb9aea0ea50024c7ebf56e369155e1de98556f169a13179d83480d3a939bde362e4a103e39059 SHA512 8b36eab38aaeeffdd2f520a58df66c993efbf7a39dfa7c4c76d440e0d987fbd19b16241acddcac335867ade1f9320385aa01ed957859bd5f7de04ecfd8ffe2a5 DIST librt-0.6.3.tar.gz 54209 BLAKE2B 93f0cfaed3fb4868871149b752c5b2d7a7ec8ab67b9c5b2099f127d3d43fd939ef864d5f39884c8e1252e1c12fbdb0541617966207c0194a797d4f1744959788 SHA512 ea560ac82962ddadaca8b2b8981dae81ff9f1d891a994b0fc7778d48db2528ea7e2333721632665df3c85e86a87a9097992de17ca46abab0c7909d6c6424d645 DIST librt-0.6.3.tar.gz.provenance 9164 BLAKE2B 9c7d26223e381fd14f608f9082a28025db40d281a1d04b7ee56fddf72f4a12d9a31bc97f367306dc924f76f9ed7eea2f9f8f2d49c7a64b7fc3f5c658c3bba82a SHA512 e032f0d68d08f88f01ceedcfba7bca8f7de2f2089044a7bc1e4986e6b4cbd2847d9e40d5c4d16ca7ac526e13cc0f74e04e801c2ba09b2145f54da28c50b77ee0 +DIST librt-0.7.2.tar.gz 144193 BLAKE2B 72e1f613839b493ce823224810057f7f7161b8001eeac46b32b7e784ebc49da6c5de86b4b1074ee1d4fbff14feae963103224a991f54d2d3cef9be9599dd3dfc SHA512 472c4d7077fdb22ef30f6833620553b0b821ff9142d06041b3f84f5247efdeced966d160e61b9218e65ec3ec3463f843dc57c8478fd088c466904792d7096de1 +DIST librt-0.7.2.tar.gz.provenance 9211 BLAKE2B 30abcae4ba65ab329dbc18831407d48d12927dd2a745180cdb1bbb72961d8c73c1375f39494786bbbcf630e9354627e9a9c55e2353e0005a9e26c03935f31181 SHA512 4c6afc3f8b0a640a7f729aac617515dce7fd72a43e177cd550dac1299ee7552b003ac22e8bf0a4249df9738e3a3872741cc20a3b3041982b83a378fed7d73f03 diff --git a/dev-python/librt/librt-0.6.3.ebuild b/dev-python/librt/librt-0.6.3.ebuild index 8be18b207754..3aa6b405cc0e 100644 --- a/dev-python/librt/librt-0.6.3.ebuild +++ b/dev-python/librt/librt-0.6.3.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT PSF-2.4" SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64" BDEPEND=" test? ( diff --git a/dev-python/librt/librt-0.6.2.ebuild b/dev-python/librt/librt-0.7.2.ebuild index 0da3aa58605d..3aa6b405cc0e 100644 --- a/dev-python/librt/librt-0.6.2.ebuild +++ b/dev-python/librt/librt-0.7.2.ebuild @@ -5,24 +5,20 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/mypyc/librt PYTHON_COMPAT=( python3_{10..14} ) -inherit distutils-r1 +inherit distutils-r1 pypi DESCRIPTION="Mypyc runtime library" HOMEPAGE=" https://github.com/mypyc/librt/ https://pypi.org/project/librt/ " -# no tests: https://github.com/mypyc/librt/issues/17 -SRC_URI=" - https://github.com/mypyc/librt/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" LICENSE="MIT PSF-2.4" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64" BDEPEND=" test? ( @@ -33,14 +29,6 @@ BDEPEND=" EPYTEST_PLUGINS=() distutils_enable_tests pytest -src_prepare() { - distutils-r1_src_prepare - - # this package is a mess - # https://github.com/mypyc/librt/issues/17 - mv lib-rt/* . || die -} - python_test() { rm -rf librt || die epytest smoke_tests.py diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest index 5887db96aa71..c65acf301dd1 100644 --- a/dev-python/libtmux/Manifest +++ b/dev-python/libtmux/Manifest @@ -4,3 +4,4 @@ DIST libtmux-0.47.0.gh.tar.gz 357616 BLAKE2B 3372a0cb7fff2723ac21c364b1be813f4b4 DIST libtmux-0.48.0.post0.tar.gz 359150 BLAKE2B 8e105588e041e9ec106c6fba0419c601c9359242aef486690acf00da5337213f5718a67352f99fbc43abe267fb07feab7f232b9379b6eebcecadc551a2a04e7c SHA512 92df268534cb78fb39462f048b486487d095fab3dc2ff99092edea9dd9342edc2be97d3b7e3709fc39b9029e52ecd3f65ff3676bbce1f1a1545e35a505c8acf0 DIST libtmux-0.49.0.tar.gz 355432 BLAKE2B f6022b474168bfb1a71b319b1c6ebd3e290eaf4577576db72a877243d5ec81da86d4cdb7d1d979b5ef8f5ea22b590a8578285bf09699e122cab91a963a6f4fc4 SHA512 977f4da6f470474106f964559f1a40b0152b91ed7812977dbc504c3f54e1feff370c42b6ec259714b585e54edc55bf5422daa33e4cfafeff98f434038891d2a5 DIST libtmux-0.50.0.tar.gz 401066 BLAKE2B 4f8e24248d30ad5672eff5ea272223a0603eccfd158b735afe0ddb95c47f454c89f4f4fcc3c9d66d9e3e63cf881e6d0d442ea057abb5a925f5eae9760a99e8fd SHA512 101b7a3bc3c980aa9b5d8e3f7d3ce3c00ee778c5bdb6d65ca16782780982539409f2afa822171acc7913ec3c48bfc2e684d5a1142c85ab6b243c36f2efbe72b0 +DIST libtmux-0.50.1.tar.gz 401531 BLAKE2B 0d6490122e21f0a82435e6506e1269fdf33478ab9fd8770b3147d517ba766b48de029d4ce6d7d78e5976bbd280137bd71d1cab590df2ae67e6c85bd4728e3475 SHA512 e3fccda1383b8443da55916f82a892d704248fb12b4afedf87f9fade6d69dcd302300af12fb9be5f783c1422973cd242431ad8f6f70498e1e25d2e90d6d3c663 diff --git a/dev-python/libtmux/libtmux-0.50.1.ebuild b/dev-python/libtmux/libtmux-0.50.1.ebuild new file mode 100644 index 000000000000..a0efb8667565 --- /dev/null +++ b/dev-python/libtmux/libtmux-0.50.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer" +HOMEPAGE=" + https://libtmux.git-pull.com/ + https://github.com/tmux-python/libtmux/ + https://pypi.org/project/libtmux/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +RDEPEND=" + >=app-misc/tmux-3.0a +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-mock ) +EPYTEST_RERUNS=5 +distutils_enable_tests pytest + +python_test() { + # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set + # https://bugs.gentoo.org/927158 + local -x TMUX_PANE= + + epytest -o addopts= tests +} diff --git a/dev-python/marshmallow/Manifest b/dev-python/marshmallow/Manifest index 9df1daa024f6..25bb19cb91b4 100644 --- a/dev-python/marshmallow/Manifest +++ b/dev-python/marshmallow/Manifest @@ -1,4 +1,5 @@ DIST marshmallow-3.26.1.tar.gz 221825 BLAKE2B 37ac0cb401efd046070a406cfbbfb130020dcd0f60e8244f8734b28b9c1a3c151d8550016fb54d83861dd61f7d60c6157469fa575e2df1474f45e70bed7b8cd4 SHA512 b0146313010d03d7c5e4808bfb274e2923df455c34e5d31931a35b76c713dd1e403fdb0da95ba4f0eba3bdb747a57c4f85f296aad870170380e4d54fc6824d1e -DIST marshmallow-4.0.1.tar.gz 220453 BLAKE2B 1bb1e81ee7e1cf378693f82506bde523b2f701d3e9c0c7e26b97a27323beaa3eac5a1a5f413ceecf291b708fe30ecf809a9675a7d43399f3e5420db8cc50fea7 SHA512 01d5bf587d5ec5b6032cd7595a2eb3ed24b19f903926f8de5a56e3c0692d14cddd037fb27a02b52e8940c5092fcb0c8c66804e1f0a2e861f6caf5d5897890089 DIST marshmallow-4.1.0.tar.gz 220619 BLAKE2B 67ffa46f347064a1a4e6069444fb2d1a020e44ca6680ac593b975c807439e518de0937879f217e75261f3f3688e9aa352f4cc9d1944155c5039602383a0a6647 SHA512 48a8dcea2e7219b7c312f8b9aa2ca17a49253f1abb6994f60052d028252e34227efb32de2a0404c29171a41574e7a75a6f84522b9dcf1822658a47ae40dc8dcb DIST marshmallow-4.1.0.tar.gz.provenance 9352 BLAKE2B 37cfda9136c3ad48ad94ae465ad09c693ffca729163316fa7f4f70f35bdfce5618ce3360896a019e670067734d88519b92f4164332058e5af48787ffacfd6c42 SHA512 a1cb86a2a1e31ee348ede77a8e300a47dedd1b5ba80519637639b619180c5beaff8624a4b319d65977345ff86092f504eb035b4620c2a1c74684443bcb638cdf +DIST marshmallow-4.1.1.tar.gz 220720 BLAKE2B 1001529f1bf36cf05233733c9f4cb517a067c2a3f5c5bed69f1d79d24b72257444486e14e63fcefc630091a8799ec6ef5c69a1c24f8304f784e823feeb263876 SHA512 0a2262b93c4f3f732e65df43a194f55c0e9951ab74ce2071fbffd16c9bd9605246e3af08e21e538554ea12f70f82cccffad708607895468056bdf72df24dbf4a +DIST marshmallow-4.1.1.tar.gz.provenance 9573 BLAKE2B 46a74737e14015f1ff20d6901c8f74f844207a4de1448c0de7ed9875ab864eb81cf0a273d6774ee6c37329c36958c0a3342da8064587de6bdecfde1245bd3051 SHA512 376285359d6e255c5168f9befac7d5538a34228097fe4c262a680c2dec317182e902306ab581184fa0b73469d9b997424b7836b2c7d4bb5738c37aa0c245e8c8 diff --git a/dev-python/marshmallow/marshmallow-4.0.1.ebuild b/dev-python/marshmallow/marshmallow-4.1.1.ebuild index ff440fb555b2..85752286282a 100644 --- a/dev-python/marshmallow/marshmallow-4.0.1.ebuild +++ b/dev-python/marshmallow/marshmallow-4.1.1.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/marshmallow-code/marshmallow PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest index 2c9f2ab2e468..88498f00a0b4 100644 --- a/dev-python/orjson/Manifest +++ b/dev-python/orjson/Manifest @@ -1,3 +1,5 @@ DIST orjson-3.11.3.tar.gz 5482394 BLAKE2B dfe5620b489b360d4370fbdf673bf6b8ef8306aaa628eaa7a58e6096981f22e5bf2def4b181b4a7aec6e8ee8cef360f7c3187ff49a90adbafd3c16a2cddb2808 SHA512 5ca76b94241f154b1f9de575ce0eb73d6a89db4172cf0f6ee2c470cb24a0cb96464558b13bdec5f03f0ae0936f39698d9761933eb3b4ae3654cac32dd24f1620 DIST orjson-3.11.4.tar.gz 5945188 BLAKE2B 255a5d00f084b62059de83745c46c15deccdf8692fa7023566c9cc2c7eb00786b4efc2a021c9b6b329d08042641831e08828f24d9ec9a3ae3bc0cb9daae9f79d SHA512 15e1fe6df2084446301b095b3d1f5665f604f5bdcac25579fd424ddd4df3819413c0d785bc3ef08b7a6ef8d57ba2526028d719c7396db88a477bb0c2e0bbf230 DIST orjson-3.11.4.tar.gz.provenance 9236 BLAKE2B c971dc83058c3d40fc4b96c7afdb4edaedf25fb720f58ce4e6dc0263390c17f1eea5ead4bcc4161d2681b82ba1f89a76a24460fb6ea6c3e93d2fcda5632936a2 SHA512 d57df6d9c3abfbb82777f84c60838c4851083eefa224d85cecde9525e4a4c59f07e8bcd7fe4e276dba80d4554b006554b68a62ae252a30baf0e713ca3db78f01 +DIST orjson-3.11.5.tar.gz 5972347 BLAKE2B d006a0ef4722935024561d58c8c346f59a737904add18f673308d5810f3f7fe2d7f8a657c31866b3806b923d6261c642870011f8d4d53270fcf23796b6d6877e SHA512 8221d883840966d783d24ba61c716884dddf01c42593416a83cb3e4fb3e6d21b49dad47ae9fe3317e4e5132b52d681de211f630f1673b3866dbde962611b098f +DIST orjson-3.11.5.tar.gz.provenance 9030 BLAKE2B 3f647dfb032c5a61d6b0fc105781197aea53c39c3f57c43f0290b3ae59493511df85761789aa6b8ec3b56e00921129860172714c3f36aaf7c031a44d6d388dae SHA512 00a25d0622ad054fac6b44434736f999b115f1967b06ce472d312f9710414f55c35b93983fd698bfb579a4d1cd51cb90dce780df3b197c830844bbcf135168f3 diff --git a/dev-python/orjson/orjson-3.11.5.ebuild b/dev-python/orjson/orjson-3.11.5.ebuild new file mode 100644 index 000000000000..439872eda603 --- /dev/null +++ b/dev-python/orjson/orjson-3.11.5.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYPI_VERIFY_REPO=https://github.com/ijl/orjson +PYTHON_COMPAT=( python3_{10..14} ) + +# upstream is vendoring crates +CRATES=" + associative-cache@2.0.0 + bytecount@0.6.9 + bytes@1.11.0 + cc@1.2.48 + cfg-if@1.0.4 + crunchy@0.2.4 + encoding_rs@0.8.35 + find-msvc-tools@0.1.5 + gimli@0.32.3 + half@2.7.1 + itoa@1.0.15 + itoap@1.0.1 + jiff-static@0.2.16 + jiff@0.2.16 + libc@0.2.178 + memchr@2.7.6 + once_cell@1.21.3 + portable-atomic-util@0.2.4 + portable-atomic@1.11.1 + proc-macro2@1.0.103 + pyo3-build-config@0.27.2 + pyo3-ffi@0.27.2 + quote@1.0.42 + ryu@1.0.20 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + serde_json@1.0.145 + shlex@1.3.0 + simdutf8@0.1.5 + smallvec@1.15.1 + syn@2.0.111 + target-lexicon@0.13.3 + unicode-ident@1.0.22 + unwinding@0.2.8 + uuid@1.19.0 + version_check@0.9.5 + xxhash-rust@0.8.15 + zerocopy-derive@0.8.31 + zerocopy@0.8.31 +" +RUST_MIN_VER="1.88.0" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + >=dev-util/maturin-1.7.8[${PYTHON_USEDEP}] + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +QA_FLAGS_IGNORED=".*" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_unpack() { + pypi_src_unpack + + # https://github.com/ijl/orjson/issues/613 + cargo_gen_config +} diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest index 6cebbbeb8f53..7869acc96191 100644 --- a/dev-python/pbs-installer/Manifest +++ b/dev-python/pbs-installer/Manifest @@ -6,3 +6,5 @@ DIST pbs_installer-2025.11.20.tar.gz 64231 BLAKE2B 6b59429ee407ed3dde8b9dbd9b2d1 DIST pbs_installer-2025.11.20.tar.gz.provenance 9511 BLAKE2B 963c57d7836ad2a032570ce2dd928599d4067810b12306f4158fcf848dcf71fb967229b7b2f2d9ef2f4b9b03f6bb297a49f19114556b0b2d1a3bd4dec3a2a554 SHA512 8171f71c6c747b725267b041c02cdcfdd1e5cc7271c7f4bc8d2883035846969d9725d1261800cc7b4ed3d94b978a80dc9c9d7c5a7f9fc6c5d22b3bf3e258d881 DIST pbs_installer-2025.12.2.tar.gz 65622 BLAKE2B 202b64583a0e80c7a9690d0b1b510244c7ff18f24b1f79a328e315930815ab11fea6a10ea6d2be841a2b12559b30c6fd8476a33d7be8fc7c0655ccd818d9dfd3 SHA512 39e67d67c2351b0101410c75d028614be701a4a07c76160df9d7a7263fca8dbf270a756219ec45fd425a516a54245d515fe3ae214c85beb07c5918f2dd49668a DIST pbs_installer-2025.12.2.tar.gz.provenance 9646 BLAKE2B 16b8d478421f8ccd28a7b79ace3ed97aaa0da0e8fb76181bf25ee6a0f639c1b6d346fff6d2bfb305a0676335976b0e7041ed08eab312d2be3b0ce0e9117daee5 SHA512 3a8214dedb8730123916adfdbe80ff0962f7840dd521b444a77ee6e5f0ebfd354677b21381fc204e03a8b7aff0e49aea81fe62f4374545f5a2e7dc49143c4f32 +DIST pbs_installer-2025.12.5.tar.gz 66986 BLAKE2B 608a6ccfb97f693277b7290cf2b4ae83db63ea997821bddd1d75a34495d07da653054c0ee412e7dd99ae05187cb0bec05425813e16a135837d17cfbcbb6b3dfb SHA512 2c57b420e506b1ddcdacbdd26e7b8a13c451b0def078f539e4a482ddcd7e8473761663b219b817a2f7ba0f67e77512b3d146ab3060f2a8e645ecd2aec9fe59ad +DIST pbs_installer-2025.12.5.tar.gz.provenance 9458 BLAKE2B cc4927c5460f7ad4da3a3ff1e4d819b02727ae4b21fac220cc4d29624d31fd187b893924f366a761a617fb9652f692a6a17f85a687ba0ecc39a3a87d7e583d19 SHA512 eb32ed101700b502c406170ce07b2a9ac5a6240c5ab36a2824ab1682e0d70edb4117734a96f2c34521f01167c8c9c49c6b4a9308bd0d42314fdda7db25fbe2ea diff --git a/dev-python/pbs-installer/pbs-installer-2025.12.5.ebuild b/dev-python/pbs-installer/pbs-installer-2025.12.5.ebuild new file mode 100644 index 000000000000..ba26c68ac2a0 --- /dev/null +++ b/dev-python/pbs-installer/pbs-installer-2025.12.5.ebuild @@ -0,0 +1,31 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYPI_VERIFY_REPO=https://github.com/frostming/pbs-installer +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Installer for Python Build Standalone" +HOMEPAGE=" + https://pypi.org/project/pbs-installer/ + https://github.com/frostming/pbs-installer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# httpx is needed to download builds +# zstandard is needed to install them +RDEPEND=" + <dev-python/httpx-1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}] + >=dev-python/zstandard-0.21.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-import-check ) +distutils_enable_tests import-check diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest index fef85a861da6..617103069549 100644 --- a/dev-python/phonenumbers/Manifest +++ b/dev-python/phonenumbers/Manifest @@ -1,4 +1,4 @@ -DIST python-phonenumbers-9.0.16.gh.tar.gz 4916084 BLAKE2B 1e17e917079b336a174f940f955b37b894a39067bcb1539c3023a37e75b8530a6b6448a43413f912f4863427aa80401179fd011d33c94a204ee8a497e37216f3 SHA512 55f28d7b39b455ffbdb8f4c33106057ea7ef3f9b81945564ec982dc37a6bf5b454e2f80e8a36406c4c004490ba30d81a6226d79124ca829504540f2a67904cb7 DIST python-phonenumbers-9.0.17.gh.tar.gz 4916708 BLAKE2B d223c5d980ab50c89dac61e1957e1a7798759eb59a1594e88155dceb2a47eca79a3d8775ae22820bdd19f4b663c78150b23a8e6c60b0a2555bd7cd901b4b62eb SHA512 3f562bea41b2f66a98e4bdfbf73abef8fb6eb596e66bb941ec37f001599b6bf56d9edf7cde25e7f80136bbf7c921e299c499f37a37d4c92a16d2d7cb4b0f52cf DIST python-phonenumbers-9.0.18.gh.tar.gz 4915674 BLAKE2B 240a3ecbe0c80ddfa6ff6bd9136b82ea9acef0db42e0a82917065b3126b6d55d359a2eb32c136d926b6f42d9a6bdca1d7c5634a2493f48d937003401d8ad4d4e SHA512 a05917d7a654fa1a3a1daa1ad473980b75119e38443bf4fd14d520f42fa74497472acfe2a877a57832f86e1472e1675195bd659585710fb00f92ed64598a5b1c DIST python-phonenumbers-9.0.19.gh.tar.gz 4916374 BLAKE2B daf5d73eac5cf622c3116aba3f4fa19f79d594fcab92ff89bfa896ece5d09610b4a5b1f4f183de627ed020be7c90a77836199b1f24c634c468b3f41acb7c29de SHA512 cae994c1a1d28755126a1e7e96cbd8f289a342271b19990086bc8bc626250da8e3f31d9b5286bf551420de0f66f01c79d3b1d3009b135a399795669ebd4e6826 +DIST python-phonenumbers-9.0.20.gh.tar.gz 4917117 BLAKE2B 31db2004c93c27a204601e00e2e0923121eedd27c1308e3c23ce0553531d7065314e8dd31daba1eeacc73fe045b26d34ae0115e6420b660661ffa07f9585ef5a SHA512 1622e5460c6897891550f6cee12006414000a4d19029b8eb692cfbff909b98d4cf143f73c69b7712ca1ff32e262e8e8b7d49d1977777e0134b90183a859993c4 diff --git a/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild b/dev-python/phonenumbers/phonenumbers-9.0.20.ebuild index 51df4f44bd31..e2a1efa5ccaf 100644 --- a/dev-python/phonenumbers/phonenumbers-9.0.16.ebuild +++ b/dev-python/phonenumbers/phonenumbers-9.0.20.ebuild @@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}/python LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest index 0de00930d8a3..8319378c54a5 100644 --- a/dev-python/platformdirs/Manifest +++ b/dev-python/platformdirs/Manifest @@ -1,2 +1,3 @@ -DIST platformdirs-4.4.0.tar.gz 21634 BLAKE2B cdfa2e7bde37b5d1a5e3eaaca33001510a498538909f4c8d61bf4ea32c0f0085aa3bf4559392a6df12da7611e68b854f4d70abcef1eb830457f589074ffed3e4 SHA512 04580eec94b5aa1149427e7a44789dcd443d2b9a4f002669fe1a0e4380c12b97d02ef4314c96e340e664aa251e42a4fd4bfc0d69a8191851962255689544e3b0 DIST platformdirs-4.5.0.tar.gz 21632 BLAKE2B 06de7250dd254e03c29d32d2dbb9da65078c480e2cbdafe3dafd5602182b4472f5078d66a30a04e22c8493904097a60c82ac734b1d0ba304088b0180878dbf7f SHA512 cefe512f8f6cbe989eacdffbbb98a964000855cca46faade62180837d7e21dd6c43eb172211e55fd04090df04e2ef416d49e92d7ccc3a0253ce2a88fc3fb9358 +DIST platformdirs-4.5.1.tar.gz 21715 BLAKE2B f987cafe13a440716d73c6f98183bc1b4ae7d778931a81a4f140273d9fd1bc51e56633ff4a4381dbc2050284d9d0fa085ab54adbf504807c715f3441b8c8dab3 SHA512 33651a2aba8e844027d22f1e7a48fb32750a81a8d73807a4f10f37f1ba7ee8c8d3b2c391920328fb34fce1d3653e6d7f097a2c5e09b350a8ebfb6f21e3b1c488 +DIST platformdirs-4.5.1.tar.gz.provenance 9300 BLAKE2B ede576d4aa1a03871bd448efcd9613a209651bfcd91681a7afd680cf8f75e5dd8fbe6bca298a9cb51807da06f32fd80b27ba6adedf8b504c556724bfc18c3bf9 SHA512 6ad9983c790a1765ac70544f1ab04ecae0697d883fb355b6771688ac1b564e3b0fa7e8f538e586315d8a1e2f8e970b5818ba254546c6ed578ecbc56d6bfa42b0 diff --git a/dev-python/platformdirs/platformdirs-4.4.0.ebuild b/dev-python/platformdirs/platformdirs-4.5.1.ebuild index dc28e7a1cbaa..7808a235fbbf 100644 --- a/dev-python/platformdirs/platformdirs-4.4.0.ebuild +++ b/dev-python/platformdirs/platformdirs-4.5.1.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi @@ -16,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND=" test? ( diff --git a/dev-python/protobuf/Manifest b/dev-python/protobuf/Manifest index 4b3fdbe5c5b8..ca46d585bd76 100644 --- a/dev-python/protobuf/Manifest +++ b/dev-python/protobuf/Manifest @@ -3,6 +3,7 @@ DIST protobuf-32.0.gh.tar.gz 9692366 BLAKE2B 37e09bec62a5c35a3ca45d4bd4fd27e719a DIST protobuf-32.1.gh.tar.gz 9694736 BLAKE2B 37a310799eaa58b14f67c62410f1e150c031b94db5a499ceeda749bd13a1165403a5d4c86ffa45729ae333080697ce0619b29a51d2bc345de012f99a3ce5dd20 SHA512 840239f4fb57450ffe61f2cdc73daf5f1f3ea317b1ab1135a90303783e62722cfa410ff27bb2c5c6d3106be39ccdc95cdfbc5bf271ba79f935ab85f9b8ce3075 DIST protobuf-33.0.gh.tar.gz 6869946 BLAKE2B ee9a600d67873f129138cb3ab13b3d5197301e8cfc682f194317c8389f7115d10bab73e410116570f8f0ccfe2dc20f8f629b47c90f7b31a3df54acfacda18506 SHA512 365f975f2e982dd2d5588dc0ff435316bf6e50d272e419c01793e4d02f1a9f1e98026fc854ec73f1ee4eb0391701201ae82c7af9b18f3b677d451dd3dd78c468 DIST protobuf-33.1.gh.tar.gz 6869948 BLAKE2B 7eaa5ee84d0869bb8e0adcbee094f8893130a957a16772a9f0dae855f914c8a2957b69765601552e3630c18c567a270e31eb24e20ef1bea16082fba7e41c0d35 SHA512 1d93ba3ec5a38de4d2ad7f139ab017c5539580b33694f659fffde08aadc7ed986f8fa93eaa98462d911472031c387194982220ef9e1a0631fcb1fa7eba8ba227 +DIST protobuf-33.2.gh.tar.gz 6875303 BLAKE2B 74e09134d5a8c524f1c2c11244d41c7b26a075872fbf99a95759878cf8e6a3effaf946b7e1994f3cbdfd8a465218bd1f226278e9e6ac6b1f9a1f7d54a0a366cf SHA512 7b84fee0cb0a3b5de4b59899b12a7cccfe330b588a26bf397ec46c3ac61ce883018116f6a0ef73e621b35e7eacde1d13086317dad5cfa1066aa558c950ef48a2 DIST protobuf-5.29.5.py.tar.gz 425226 BLAKE2B 1d7461e94ba8bc097d6f52170678665e3cd97ef44e4757e6c20bcb1bdfbfe673d26cd4a63f8e6972af964e381dfffedeb9a4959ec7a7d5a3a3f87f917c8aa329 SHA512 cbb39efe7f6499362b3e4cc9f073df921c8b83d3aafde245a2ca3432f3e744a428e946799c48b2797e08312342e164eced0bf2b8865b8d042b54913855abb1c8 DIST protobuf-6.30.2.gh.tar.gz 9523913 BLAKE2B d3950abfe8b3b61dc2bb61f683b014de29451252c46b670dee75a81eb0b8ed30a3209227aa9483800244af16058469deb281521609d769a3456a798ca8a9a4a3 SHA512 f2ee857a36b49f87257a306b3f3c361770d74aaf24c4650b9d00994e1e1a0b09079fb0ce5ffb4d5a4a32d8ca46e3247d6db454918fa0b104fc8d58e8a0546a96 DIST protobuf-6.30.2.py.tar.gz 429315 BLAKE2B 6b56e23a8a962ce9da282ec49c4807877f4bfb677ad84bb6930b83cc436e9839f5791cfb19105678881c8361e27d62d3dde51e5e6c42f7a0e146d9e469282780 SHA512 48ddb2b63acc91759ba4243926c50bb0d16601aace9019129975701634b77a59415659751c69b06464afe994a0fbbd8da6640a208b743ba7df8bf6d60c5ec2b9 @@ -12,3 +13,4 @@ DIST protobuf-6.32.0.py.tar.gz 440614 BLAKE2B 615338e96a26c5a9f254b41da41598d982 DIST protobuf-6.32.1.py.tar.gz 440635 BLAKE2B 4d6c7c398378e04f130ec281234a96ef59fc34511d9c1c3153851a2623b894dc64d559e02bd8f55c9b7f82d98d43e914ca5967481dcf4eb92f7cd22aa47a4e77 SHA512 f8aeb9cdbde385e728f3006d16f26c540a5ec46f7046486b34cdf254a22acdcf6a152791517cd852cfa866809b0b79b3233757c4f898e4768d00b0d902c30776 DIST protobuf-6.33.0.py.tar.gz 443463 BLAKE2B 32d7a4e03912356836f748a6d255f171778c91f8d45718d9d1cd67c0c1e5123d74dbd2529baef13c09b022cb2555c1a0852490bde9b6aa7aeda320f062278bab SHA512 9173f832a2e285095ab2e479f7b8155e1005f38cbd385f3752ecd3f68281f1b2f530a12cd784d293263a233fdb94f5f6c5dc988e29fe3345d3e721d8d7ba2dcf DIST protobuf-6.33.1.py.tar.gz 443432 BLAKE2B caded926803516b1d9a37f3ee4dd05ba683a23fd5bfb53b3a26e6dd06a967e91da21e4fa6b85adbe568c0abc264b67de1c9d15b965606011d7f20e6a7b6096e9 SHA512 bb9eb03a4cd59f2e0085fe72b6099a8ac749b16abcf26c9ba98410dc3258559cb5fdf7a090830234d575e3d648cfeb3dce4413bc4804026227762f18daf9c960 +DIST protobuf-6.33.2.py.tar.gz 444296 BLAKE2B d91fd1164ac67c33b04a4f882aba253bd9736de61bf23c082808fa311a2a17ae6b1b26a8fcf11257127a3374e1f8ae979261f3f1ebdbd51d4b3a19f310a5170d SHA512 ee52d5d3f8726e0d86cdeb522ec22b5366ee87cfea86a679cd188857103ba040bb6f0cae956ba7e3ecc05ef7e4ad3c691ecfd99b0710e909a7ebf66108cf1b7a diff --git a/dev-python/protobuf/protobuf-6.33.2.ebuild b/dev-python/protobuf/protobuf-6.33.2.ebuild new file mode 100644 index 000000000000..d7dcaa3cbc5a --- /dev/null +++ b/dev-python/protobuf/protobuf-6.33.2.ebuild @@ -0,0 +1,154 @@ +# Copyright 2008-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Default implementation currently is upb, which doesn't match dev-libs/protobuf +# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +GH_PV=$(ver_cut 2-3) +GH_P=${PN}-${GH_PV} + +DESCRIPTION="Google's Protocol Buffers - Python bindings" +HOMEPAGE=" + https://protobuf.dev/ + https://pypi.org/project/protobuf/ +" +# Rename sdist to avoid conflicts with dev-libs/protobuf +SRC_URI=" + $(pypi_sdist_url) -> ${P}.py.tar.gz + test? ( + https://github.com/protocolbuffers/protobuf/archive/v${GH_PV}.tar.gz + -> ${GH_P}.gh.tar.gz + ) +" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-3)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# need protobuf compiler +BDEPEND=" + test? ( + dev-libs/protobuf[protoc(+)] + dev-python/absl-py[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_unpack() { + unpack "${P}.py.tar.gz" + + if use test; then + mkdir "${WORKDIR}/test" || die + cd "${WORKDIR}/test" || die + unpack "${GH_P}.gh.tar.gz" + fi +} + +src_prepare() { + distutils-r1_src_prepare + + # strip old-style namespace + rm google/__init__.py || die +} + +python_test() { + local EPYTEST_DESELECT=() + local EPYTEST_IGNORE=( + # TODO: figure out how to build the pybind11 test extension + google/protobuf/internal/recursive_message_pybind11_test.py + ) + + case ${EPYTHON} in + python3.11) + EPYTEST_IGNORE+=( + # syntax error... + google/protobuf/internal/json_format_test.py + ) + ;; + python3.14*) + EPYTEST_DESELECT+=( + # exception message mismatch + google/protobuf/internal/json_format_test.py::JsonFormatTest::testInvalidTimestamp + google/protobuf/internal/well_known_types_test.py::TimeUtilTest::testInvalidTimestamp + ) + ;; + esac + + cp -r "${BUILD_DIR}"/{install,test} || die + local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}" + cd "${BUILD_DIR}/test$(python_get_sitedir)" || die + + # copy test files from the source tree + cp -r "${WORKDIR}/test/${GH_P}/python/google/protobuf/internal/." \ + google/protobuf/internal/ || die + # link the test data for text_format_test.py + # (it traverses directories upwards until to finds src/google...) + ln -s "${WORKDIR}/test/${GH_P}/src" ../src || die + + # compile test-related protobufs + local test_protos=( + # from src + any_test.proto + map_proto2_unittest.proto + map_unittest.proto + unittest.proto + unittest_custom_options.proto + unittest_delimited.proto + unittest_delimited_import.proto + unittest_features.proto + unittest_import.proto + unittest_import_option.proto + unittest_import_public.proto + unittest_legacy_features.proto + unittest_mset.proto + unittest_mset_wire_format.proto + unittest_no_field_presence.proto + unittest_no_generic_services.proto + unittest_proto3.proto + unittest_proto3_arena.proto + unittest_proto3_extensions.proto + unittest_retention.proto + util/json_format.proto + util/json_format_proto3.proto + # from python + internal/descriptor_pool_test1.proto + internal/descriptor_pool_test2.proto + internal/factory_test1.proto + internal/factory_test2.proto + internal/file_options_test.proto + internal/import_test_package/import_public.proto + internal/import_test_package/import_public_nested.proto + internal/import_test_package/inner.proto + internal/import_test_package/outer.proto + internal/message_set_extensions.proto + internal/missing_enum_values.proto + internal/more_extensions.proto + internal/more_messages.proto + internal/no_package.proto + internal/packed_field_test.proto + internal/self_recursive.proto + internal/test_bad_identifiers.proto + internal/test_proto2.proto + internal/test_proto3_optional.proto + internal/well_known_types_test.proto + ) + local proto + for proto in "${test_protos[@]}"; do + protoc --python_out=. -I"${WORKDIR}/test/${GH_P}/src" -I. \ + "google/protobuf/${proto}" || die + done + + epytest +} diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 09721d36820c..7fec59d6c41a 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -5,5 +5,6 @@ DIST psycopg-3.2.13.gh.tar.gz 585567 BLAKE2B 244c9b51ae88dfafb235c65cec69b556ab6 DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd DIST psycopg-3.3.0.gh.tar.gz 607828 BLAKE2B 494ce84ffaaecafccb353697198077d7bb60f9ed17171bb3946f5501c8e67d1e240fa08f228bdc9f61988c9c6487930df49112be7f658d1b8e3146c8aa95f729 SHA512 48a184e2629d7317c9a6b80addf5405feac4ba0f477c12c5ee9bc826bc132c8874020b62c28df9ba92e2655edf15daa2a619c9961cbe71dd2ad7d5b9580c6389 DIST psycopg-3.3.1.gh.tar.gz 607864 BLAKE2B 6cc1ead0c0fc612dd15ba24f067c80b4b6efff73fa3cfe193d617b34f1e2d7f3aa4e793f264703d1ded48da376599e3ee7e045f87420abe024aeca27c80ba19d SHA512 abd7c49e1607a0262434f4f506af71a0c4aea30093ed1f63b5919a5d7bc81e2c82aa933f345c3bbe2b15e92a300246bb3378d0cca72aec189b4a26818d35d4ff +DIST psycopg-3.3.2.gh.tar.gz 607955 BLAKE2B 8a7d9e74f573ceb5e51b0eab6fd7a17de371de084d48b15ec4a61e3a9e00c8027bb2d024b768f1b57e12fe9d125d1724b164613e9b872dfb8eab1f87e16f8079 SHA512 354e3b6666d0ce346734f290ff6907e0b0be0959dbf739ea6c0f6503a063f710ff5c0a3b02a63df407059ecc9ff2310b3a8617df754d237af44b249d7e92ae80 DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0 diff --git a/dev-python/psycopg/psycopg-3.3.2.ebuild b/dev-python/psycopg/psycopg-3.3.2.ebuild new file mode 100644 index 000000000000..a140998eddd6 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.3.2.ebuild @@ -0,0 +1,123 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="PostgreSQL database adapter for Python" +HOMEPAGE=" + https://www.psycopg.org/psycopg3/ + https://github.com/psycopg/psycopg/ + https://pypi.org/project/psycopg/ +" +SRC_URI=" + https://github.com/psycopg/psycopg/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" + +DEPEND=" + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) +" +RDEPEND=" + ${DEPEND} + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ' 3.11 3.12) +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio ) +distutils_enable_tests pytest + +python_compile() { + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi + cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die + + initdb -D "${T}"/pgsql || die + # TODO: random port + pg_ctl -w -D "${T}"/pgsql start \ + -o "-h '' -k '${T}'" || die + createdb -h "${T}" test || die + + local -x PSYCOPG_TEST_DSN="host=${T} dbname=test" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests for the psycopg_pool package + tests/pool + # some broken mypy magic + tests/test_module.py::test_version + tests/test_module.py::test_version_c + tests/test_typing.py + tests/crdb/test_typing.py + # TODO, relying on undefined ordering in Python? + tests/test_dns_srv.py::test_srv + # requires pproxy? + tests/test_waiting.py::test_remote_closed + tests/test_waiting.py::test_wait_remote_closed + tests/test_waiting_async.py::test_remote_closed + tests/test_waiting_async.py::test_wait_remote_closed + ) + + case ${ARCH} in + arm|x86) + EPYTEST_DESELECT+=( + # TODO + tests/types/test_numpy.py::test_classes_identities + ) + ;; + esac + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + impls+=( c ) + fi + + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -k "not leak" \ + -m "not timing and not slow and not flakey" + done +} diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest index 597c727e0271..5bf7badf782e 100644 --- a/dev-python/pudb/Manifest +++ b/dev-python/pudb/Manifest @@ -1,5 +1,2 @@ -DIST pudb-2025.1.1.tar.gz 224765 BLAKE2B 997e1f7b905ad02da01560379de3d7a01f1089e3ec39d7282f78b783fadc2a625147ab6ed2c584cb1a9d6db24098512294d821466cd826f786812e697977006e SHA512 b4d66303226064101efc0809328bf91a7c2d86dae5aab46df128694a68943c128fe390608b774134572e0283aa6f6fc1ed4b4fe2f7ade290f9fbb017fab15a66 -DIST pudb-2025.1.2.tar.gz 225444 BLAKE2B 257cf7a72df34a6f80ba18fc79c92739e5714c5dfcba9d42da48591de6fb0289dbaead776db582d2dd47a1a8bed86b1e857946987871bc51593c9b4ba5f9d8f0 SHA512 b7dbf5fe9ab757bf7ba01fda235607eda17a44f33b9585bd48b8ae1c576f969874032dec2513c661564c913b5edf5c6611f4d29818f9a0d156c45a04b3cd05a6 -DIST pudb-2025.1.2.tar.gz.provenance 9451 BLAKE2B 91a6febccd0e406fbafc4fe2ae7574d66062b725416364eb097a5fa04faf49e0861f01e11dd15e1a2953a92bc0e44ab1e03f40541fbffa091cd2b86b6afc0785 SHA512 aca765a1a2e90e653120eeaab51f2bec1fde8e09f6884c80fb39cabda27df595936949c1d0fa1feefd76270dec19d5d90348023e2faf889742cbefb708f56e5d DIST pudb-2025.1.3.tar.gz 225627 BLAKE2B 64e4cf3fe1fed96fb6bb26339d02f85528bb8ef90a62fafea358f405b8303d3a1783fb507503dac28f390b6d4f891268d51aabe72c05408daefaa7d9388e8ed2 SHA512 68be2941ed57e6116b837049838253f2ec4d4f412ece601e8796ea1e33a29fac565e48abeed1e6e61d5a1532ec0bb3eb52b3d2b77598e6922f4565fea21ed398 DIST pudb-2025.1.3.tar.gz.provenance 9451 BLAKE2B c0d9c787aee05712c5c081c21155ad9b723fce29c6a4a5ceb5acc9f3f470dac9c52bcf188d628fe409e3882e777810509a5b7473711b18d8f7843d7e78811e5f SHA512 9fa91482449f60d0e46ceb41fb9c485cdde40272f88ef2424b1782fad02d5fcbfe7530865fe422b1d60ca216dd8980a978bbe6a7ac3af0092163d6ae2aa20677 diff --git a/dev-python/pudb/pudb-2025.1.1.ebuild b/dev-python/pudb/pudb-2025.1.1.ebuild deleted file mode 100644 index cef84770cac8..000000000000 --- a/dev-python/pudb/pudb-2025.1.1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi optfeature - -DESCRIPTION="A full-screen, console-based Python debugger" -HOMEPAGE=" - https://documen.tician.de/pudb/ - https://github.com/inducer/pudb/ - https://pypi.org/project/pudb/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - >=dev-python/jedi-0.18[${PYTHON_USEDEP}] - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - >=dev-python/pygments-2.7.4[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.13[${PYTHON_USEDEP}] - >=dev-python/urwid-2.4[${PYTHON_USEDEP}] - dev-python/urwid-readline[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -pkg_postinst() { - optfeature_header "Install the following packages for additional functionality:" - optfeature "Auto-complete support" dev-python/jedi -} diff --git a/dev-python/pudb/pudb-2025.1.2.ebuild b/dev-python/pudb/pudb-2025.1.2.ebuild deleted file mode 100644 index 1dbafc331d90..000000000000 --- a/dev-python/pudb/pudb-2025.1.2.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2025 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/inducer/pudb -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi optfeature - -DESCRIPTION="A full-screen, console-based Python debugger" -HOMEPAGE=" - https://documen.tician.de/pudb/ - https://github.com/inducer/pudb/ - https://pypi.org/project/pudb/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - >=dev-python/jedi-0.18[${PYTHON_USEDEP}] - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - >=dev-python/pygments-2.7.4[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.13[${PYTHON_USEDEP}] - >=dev-python/urwid-2.4[${PYTHON_USEDEP}] - dev-python/urwid-readline[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=( pytest-mock ) -distutils_enable_tests pytest - -pkg_postinst() { - optfeature_header "Install the following packages for additional functionality:" - optfeature "Auto-complete support" dev-python/jedi -} diff --git a/dev-python/pyqt6/Manifest b/dev-python/pyqt6/Manifest index 8ffec94ca687..ba5ca83273cc 100644 --- a/dev-python/pyqt6/Manifest +++ b/dev-python/pyqt6/Manifest @@ -1,2 +1,3 @@ DIST pyqt6-6.10.0.tar.gz 1079921 BLAKE2B bd3b3fd2a109920320079c885d1b6cc25e5a8b74f38a84b22fcbb57406a8ba586fab6f345bd4f961527f95bcb34e5a63cba636e9279310a83e753e036da8a64b SHA512 ef88adff167ea2ff7c946500371168c5dd9fc8d7c0f9d8ab8b43aedcbfa1bf80cf6d4ef3fc5f3969a1e3a76db90f9c1bd5755ae9739cb86b3f924c4ba8f66d96 +DIST pyqt6-6.10.1.tar.gz 1085250 BLAKE2B cebdae9fc19c9e07cb9ce8963f04aa380a81f78ed6026e863a6d37c02e46b44200aa3ed2afcaac234f3b3993ead9c1a2a97655ff7c65760705abace2603574d9 SHA512 af9bb54b20fd177cf1dac5fe8fb0ff289e1e7e42716d09093d49dd99a7d8065c6b6f34784ed19e21e7e07ba0d550b270cb6be7273f7180e2bf886160fc773d01 DIST pyqt6-6.9.1.tar.gz 1067230 BLAKE2B 93b301fca3a7d97f872ca96f00eb27d434378f49dd19da6ffd5c26dbce378a7ea01786c0e7de34ce24620a14fa036b2187c5f7b0a4efa5a908ceaf557f748e9d SHA512 e2f10d6dc1ea9f420857abe248bfd488f8945e9c6c84887745f072815875ce7e806788a9048a57215266fa561b1489c3b092c276816062323262e6911271c552 diff --git a/dev-python/pyqt6/pyqt6-6.10.1.ebuild b/dev-python/pyqt6/pyqt6-6.10.1.ebuild new file mode 100644 index 000000000000..85c918c7190f --- /dev/null +++ b/dev-python/pyqt6/pyqt6-6.10.1.ebuild @@ -0,0 +1,193 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=sip +PYTHON_COMPAT=( python3_{10..14} ) +inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils + +# can work with older Qt depending on the features the ebuild enables, +# but a same major.minor version lower bound is simpler to manage/test +QT_PV=$(ver_cut 1-2):6 + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +# defaults match what is provided with qtbase by default (except testlib), +# reduces the need to set flags but does increase build time a fair amount +IUSE=" + +X bluetooth +dbus debug designer examples gles2-only +gui help + multimedia +network nfc opengl pdfium positioning +printsupport + qml quick quick3d remoteobjects scxml serialport sensors + spatialaudio speech +sql +ssl svg testlib webchannel websockets + vulkan wayland +widgets +xml +" +# see `grep -r "%Import " sip` and `grep qmake_QT project.py` +REQUIRED_USE=" + designer? ( gui widgets ) + help? ( gui widgets ) + multimedia? ( gui network ) + opengl? ( gui ) + pdfium? ( gui ) + printsupport? ( gui widgets ) + qml? ( network ) + quick3d? ( gui qml ) + quick? ( gui qml ) + remoteobjects? ( network ) + scxml? ( gui ) + spatialaudio? ( multimedia ) + sql? ( widgets ) + svg? ( gui ) + testlib? ( gui widgets ) + vulkan? ( gui ) + webchannel? ( network ) + websockets? ( network ) + widgets? ( gui ) +" + +# may use qt private symbols wrt qtbase's := +# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0 +COMMON_DEPEND=" + >=dev-qt/qtbase-${QT_PV}=[X?,dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,vulkan?,wayland?,widgets?,xml?] + bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + dbus? ( + dev-python/dbus-python[${PYTHON_USEDEP}] + sys-apps/dbus + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( >=dev-qt/qttools-${QT_PV}[assistant] ) + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} ) + nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + ) + pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] ) + positioning? ( >=dev-qt/qtpositioning-${QT_PV} ) + qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + quick3d? ( >=dev-qt/qtquick3d-${QT_PV} ) + quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] ) + remoteobjects? ( >=dev-qt/qtremoteobjects-${QT_PV} ) + scxml? ( >=dev-qt/qtscxml-${QT_PV} ) + sensors? ( >=dev-qt/qtsensors-${QT_PV} ) + serialport? ( >=dev-qt/qtserialport-${QT_PV} ) + speech? ( + >=dev-qt/qtdeclarative-${QT_PV} + >=dev-qt/qtspeech-${QT_PV} + ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} ) + websockets? ( >=dev-qt/qtwebsockets-${QT_PV} ) +" +RDEPEND=" + ${COMMON_DEPEND} + >=dev-python/pyqt6-sip-13.8[${PYTHON_USEDEP}] +" +DEPEND=" + ${COMMON_DEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + >=dev-python/pyqt-builder-1.19[${PYTHON_USEDEP}] + >=dev-python/sip-6.13.1[${PYTHON_USEDEP}] + >=dev-qt/qtbase-${QT_PV} + dbus? ( virtual/pkgconfig ) +" + +src_prepare() { + default + + # hack: PyQt-builder runs qmake without our arguments and calls g++ + # or clang++ depending on what qtbase was built with, not used for + # building but fails with -native-symlinks + mkdir "${T}"/cxx || die + local cxx + ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die + ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die + PATH=${T}/cxx:${PATH} +} + +python_configure_all() { + append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331) + append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1 + + pyqt_use_enable() { + local state=$(usex ${1} --enable= --disable=) + shift + echo ${*/#/${state}} + } + + DISTUTILS_ARGS=( + --jobs="$(makeopts_jobs)" + --qmake="$(qt6_get_bindir)"/qmake + --qmake-setting="$(qt6_get_qmake_args)" + --verbose + --confirm-license + + --enable=QtCore + + $(pyqt_use_enable bluetooth QtBluetooth) + $(pyqt_use_enable dbus QtDBus) + $(pyqt_use_enable designer QtDesigner) + $(pyqt_use_enable help QtHelp) + $(pyqt_use_enable gui QtGui) + #--disable=QtLocation # force-disabled in project.py + $(pyqt_use_enable multimedia QtMultimedia \ + $(usev widgets QtMultimediaWidgets)) + $(pyqt_use_enable network QtNetwork) + $(pyqt_use_enable nfc QtNfc) + $(pyqt_use_enable opengl QtOpenGL \ + $(usev widgets QtOpenGLWidgets)) + $(pyqt_use_enable pdfium QtPdf \ + $(usev widgets QtPdfWidgets)) + $(pyqt_use_enable positioning QtPositioning) + $(pyqt_use_enable printsupport QtPrintSupport) + $(pyqt_use_enable qml QtQml) + $(pyqt_use_enable quick QtQuick \ + $(usev widgets QtQuickWidgets)) + $(pyqt_use_enable quick3d QtQuick3D) + $(pyqt_use_enable remoteobjects QtRemoteObjects) + $(pyqt_use_enable scxml QtStateMachine) + $(pyqt_use_enable sensors QtSensors) + $(pyqt_use_enable serialport QtSerialPort) + $(pyqt_use_enable spatialaudio QtSpatialAudio) + $(pyqt_use_enable sql QtSql) + $(pyqt_use_enable svg QtSvg \ + $(usev widgets QtSvgWidgets)) + $(pyqt_use_enable testlib QtTest) + $(pyqt_use_enable speech QtTextToSpeech) + $(pyqt_use_enable webchannel QtWebChannel) + $(pyqt_use_enable websockets QtWebSockets) + $(pyqt_use_enable widgets QtWidgets) + $(pyqt_use_enable xml QtXml) + + $(usev debug '--debug --qml-debug --tracing') + + $(usev !dbus --no-dbus-python) + # note: upstream currently intentionally skips installing these two + # plugins when using wheels w/ pep517 so, *if* something does need + # them, it will need to be handled manually + $(usev !designer --no-designer-plugin) + $(usev !qml --no-qml-plugin) + + $(usev !X --disabled-feature=PyQt_XCB) + $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2) + $(usev !opengl --disabled-feature=PyQt_OpenGL) + $(usev !ssl --disabled-feature=PyQt_SSL) + $(usev !vulkan --disabled-feature=PyQt_Vulkan) + $(usev !wayland --disabled-feature=PyQt_Wayland) + + # intended for Windows / Android or others + --disable=QAxContainer + --disabled-feature=PyQt_Permissions + ) +} + +python_install_all() { + einstalldocs + use examples && dodoc -r examples +} diff --git a/dev-python/pytest-jobserver/Manifest b/dev-python/pytest-jobserver/Manifest new file mode 100644 index 000000000000..0c5a8e225949 --- /dev/null +++ b/dev-python/pytest-jobserver/Manifest @@ -0,0 +1 @@ +DIST pytest-jobserver-1.0.0.tar.gz 6286 BLAKE2B 88020a09b605c52745761e22e925329ef18f3c1f5bb69c92f430621eb454810f6e533135959a59c19e557c1cc98e1c808ae2b5917e0e947f1d01579ce25918b0 SHA512 e98d3908357930e3ee11082e88477c4225e86c7a357ac0e9120ebd75b3cc6ffa38d65fc37d72bbcf35530fe0949badd9c6a1ccb7a370d1ca6ae69c9694ba8e48 diff --git a/dev-python/pytest-jobserver/files/pytest-jobserver-1.0.0-gentoo.patch b/dev-python/pytest-jobserver/files/pytest-jobserver-1.0.0-gentoo.patch new file mode 100644 index 000000000000..c26422e30b17 --- /dev/null +++ b/dev-python/pytest-jobserver/files/pytest-jobserver-1.0.0-gentoo.patch @@ -0,0 +1,125 @@ +diff --git a/pytest_jobserver/configure.py b/pytest_jobserver/configure.py +index aa3c998..364729d 100644 +--- a/pytest_jobserver/configure.py ++++ b/pytest_jobserver/configure.py +@@ -21,9 +21,6 @@ def path_to_file_descriptors(jobserver_path: str) -> Optional[FileDescriptorsRW] + if os.path.exists(jobserver_path) is False: + raise pytest.UsageError("jobserver doesn't exist: {}".format(jobserver_path)) + +- if is_fifo(jobserver_path) is False: +- raise pytest.UsageError("jobserver is not a fifo: {}".format(jobserver_path)) +- + if is_rw_ok(jobserver_path) is False: + raise pytest.UsageError( + "jobserver is not read/writeable to current user: {}".format(jobserver_path) +@@ -50,16 +47,19 @@ def jobserver_from_env_make(config: Config) -> Optional[FileDescriptorsRW]: + + parser = argparse.ArgumentParser(prog="makeflags") + parser.add_argument("--jobserver-fds", default=None) +- parser.add_argument("--jobserver-auth", default=None) ++ parser.add_argument("--jobserver-auth", default="") + args, _ = parser.parse_known_args(shlex.split(makeflags)) + ++ if args.jobserver_auth.startswith("fifo:"): ++ return path_to_file_descriptors(args.jobserver_auth[5:]) ++ + fds = args.jobserver_fds or args.jobserver_auth + if fds is None: + return None + + if config.pluginmanager.hasplugin("xdist"): + raise pytest.UsageError( +- "pytest-jobserver does not support using pytest-xdist with MAKEFLAGS" ++ "pytest-jobserver does not support using pytest-xdist with fd-based jobserver in MAKEFLAGS" + ) + + fd_read, fd_write = tuple(FileDescriptor(int(fd)) for fd in fds.split(",")) +diff --git a/pytest_jobserver/plugin.py b/pytest_jobserver/plugin.py +index fc4f11c..c3b781e 100644 +--- a/pytest_jobserver/plugin.py ++++ b/pytest_jobserver/plugin.py +@@ -23,16 +23,29 @@ class JobserverPlugin(object): + self._fd_read, self._fd_write = fds + self._thread_locals = threading.local() + ++ @pytest.hookimpl(hookwrapper=True, tryfirst=True) ++ def pytest_collection(self, session: pytest.Session) -> Iterator[Any]: ++ if os.environ.get("PYTEST_XDIST_WORKER", "gw0") != "gw0": ++ token = os.read(self._fd_read, 1) ++ yield ++ os.write(self._fd_write, token) ++ else: ++ yield ++ + @pytest.hookimpl(hookwrapper=True, tryfirst=True) + def pytest_runtest_protocol(self, item: Item) -> Iterator[Any]: +- token = os.read(self._fd_read, 1) +- self._thread_locals.token = ord(token) +- yield +- os.write(self._fd_write, token) ++ if os.environ.get("PYTEST_XDIST_WORKER", "gw0") != "gw0": ++ token = os.read(self._fd_read, 1) ++ self._thread_locals.token = ord(token) ++ yield ++ os.write(self._fd_write, token) ++ else: ++ self._thread_locals.token = None ++ yield + + @pytest.fixture(scope="function", autouse=True) +- def jobserver_token(self, request: Any) -> int: +- int_token: int = self._thread_locals.token ++ def jobserver_token(self, request: Any) -> int | None: ++ int_token: int | None = self._thread_locals.token + return int_token + + def pytest_report_header(self, config: Config) -> str: +diff --git a/pytest_jobserver/test/test_plugin.py b/pytest_jobserver/test/test_plugin.py +index 6f51376..45cce4d 100644 +--- a/pytest_jobserver/test/test_plugin.py ++++ b/pytest_jobserver/test/test_plugin.py +@@ -68,6 +68,25 @@ def test_config_env_pytest(testdir: TestDir) -> None: + assert result.ret == 0 + + ++def test_config_makeflags_pytest(testdir: TestDir) -> None: ++ testdir.makepyfile( ++ """ ++ def test_pass(request): ++ pass ++ """ ++ ) ++ make_jobserver(testdir.tmpdir, "jobserver_fifo", 1) ++ testdir.monkeypatch.setenv("MAKEFLAGS", "--jobserver-auth=fifo:jobserver_fifo") ++ ++ result = testdir.runpytest("-v") ++ ++ result.stdout.fnmatch_lines(["*::test_pass PASSED*"]) ++ result.stdout.fnmatch_lines( ++ ["jobserver: configured at file descriptors (read: *, write: *)"] ++ ) ++ assert result.ret == 0 ++ ++ + def test_jobserver_token_fixture(testdir: TestDir) -> None: + testdir.makepyfile( + f""" +@@ -94,7 +113,9 @@ def test_xdist_makeflags_fails(testdir: TestDir) -> None: + result = testdir.runpytest("-v", "-n2") + assert result.ret == 4, "Expected pytest would fail to run with MAKEFLAGS and xdist" + result.stderr.fnmatch_lines( +- ["ERROR: pytest-jobserver does not support using pytest-xdist with MAKEFLAGS"] ++ [ ++ "ERROR: pytest-jobserver does not support using pytest-xdist with fd-based jobserver in MAKEFLAGS" ++ ] + ) + + +@@ -166,6 +187,7 @@ def test_server_not_found(testdir: TestDir) -> None: + + + def test_server_not_fifo(testdir: TestDir) -> None: ++ return + testdir.makefile(".txt", jobserver="X") + testdir.makepyfile( + """ diff --git a/dev-python/pytest-jobserver/metadata.xml b/dev-python/pytest-jobserver/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/pytest-jobserver/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pytest-jobserver/pytest-jobserver-1.0.0.ebuild b/dev-python/pytest-jobserver/pytest-jobserver-1.0.0.ebuild new file mode 100644 index 000000000000..424e21d5f1e7 --- /dev/null +++ b/dev-python/pytest-jobserver/pytest-jobserver-1.0.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Limit parallel tests with POSIX jobserver" +HOMEPAGE=" + https://github.com/tommilligan/pytest-jobserver/ + https://pypi.org/project/pytest-jobserver/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/pytest[${PYTHON_USEDEP}] +" + +PATCHES=( + # Combined Gentoo patches: + # 1. Update MAKEFLAGS parsing: + # https://github.com/tommilligan/pytest-jobserver/pull/147 + # 2. Do not require FIFO: + # https://github.com/tommilligan/pytest-jobserver/pull/149 + # 3. Acquire job tokens for test collection: + # https://github.com/tommilligan/pytest-jobserver/pull/150 + # 4. Do not acquire tokens for gw0 (not submitted yet). + "${FILESDIR}/${P}-gentoo.patch" +) + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + pytest_jobserver/test/test_plugin.py::test_xdist_makeflags_fails + # broken by implicit slot fix + pytest_jobserver/test/test_plugin.py::test_jobserver_token_fixture + pytest_jobserver/test/test_plugin.py::test_server_xdist + ) + + unset A MAKEFLAGS + + # missing conftest.py + epytest -p pytester +} diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest index 6b6ac3a09dc0..7bf14006cdb9 100644 --- a/dev-python/python-lsp-server/Manifest +++ b/dev-python/python-lsp-server/Manifest @@ -1,3 +1,3 @@ -DIST python_lsp_server-1.13.0.tar.gz 119147 BLAKE2B 385aeb08f0f43a7a7e77a07c0f0a5799ff4aa9c4d4f6b80350ed0ef8c2d2da5979583e1696aac642308b851de3964ef2c9ae342ec7ff3e677c96e6ed8913a57a SHA512 140fb56e2fda6131c1e481792537c3ede1d511c48994416f2629d71c3b3e4fb2b05da583c6371780c4022b2cc8439a4d9e763962403a5a7f214fa1a1f3031f0c DIST python_lsp_server-1.13.1.tar.gz 120484 BLAKE2B f07ed8546e4e1691a4fc03ead5bc4834755bee12fbe34abda3ec460a2ca261c3c7a14a98194ad085f217af1369bfc878b696770e2c8adb43135808dd196ade13 SHA512 9a8ef547a0d8383eace9aa0efeb83fca9852f3fc79676397c428508a3d8d90c045da7e4c98c9ff34016e9da6a41181e4dc1c881d2262856c9dfd4921f9a35d9a DIST python_lsp_server-1.13.2.tar.gz 120665 BLAKE2B c45d7775f8af055f4b4e084e1ed6dbbf5a8788155691e04a742cb9494231ce7f8f80fb8fb01041edb7540f6d8fa0bd44187ef68a2cf3246c50808ac13905449d SHA512 0be67a934dd700346227e17e6b695c4e593d04dc82b49153868617a81af949a9ee11b4ada5dffe031c64d1dbfc4d1864c4d9dbf94ade0be606abef8eb8b2eaaf +DIST python_lsp_server-1.14.0.tar.gz 121536 BLAKE2B 207d43b758d6bb75070ac88174d483d9347593ca2b5cbe9fc724f916d73654e6907aced7e6fb19e339740b09d0ea3dc1e2bc18f7610ea2984f8c29cd441c92ad SHA512 6362bb87a1fc75751a37c42a899377bc420daa0bed4aa7206e956b41e09495a9d949820bcf789508ebe5b5646c6c1af8dba753b7cef06891c46b8ebed80d51dc diff --git a/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild index 80e449d31353..e6339963bcc0 100644 --- a/dev-python/python-lsp-server/python-lsp-server-1.13.0.ebuild +++ b/dev-python/python-lsp-server/python-lsp-server-1.14.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="all-plugins" PLUGIN_DEP=" @@ -55,6 +55,19 @@ BDEPEND=" EPYTEST_PLUGINS=() distutils_enable_tests pytest +EPYTEST_DESELECT=( + # broken by presence of pathlib2 + 'test/plugins/test_autoimport.py' + # Requires pyqt5 + 'test/plugins/test_completion.py::test_pyqt_completion' + # TODO: fails on teardown; also hangs the test suite + test/test_language_server.py::test_missing_message +) +EPYTEST_IGNORE=( + # pydocstyle is archived upstream and broken with py3.12 + test/plugins/test_pydocstyle_lint.py +) + python_prepare_all() { # remove pytest-cov dep sed -i -e '/addopts =/d' pyproject.toml || die @@ -63,21 +76,6 @@ python_prepare_all() { distutils-r1_python_prepare_all } -python_test() { - local EPYTEST_DESELECT=( - # broken by presence of pathlib2 - 'test/plugins/test_autoimport.py' - # Requires pyqt5 - 'test/plugins/test_completion.py::test_pyqt_completion' - ) - local EPYTEST_IGNORE=( - # pydocstyle is archived upstream and broken with py3.12 - test/plugins/test_pydocstyle_lint.py - ) - - epytest -} - pkg_postinst() { optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8 optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8 diff --git a/dev-python/statsmodels/Manifest b/dev-python/statsmodels/Manifest index 5fb18b806050..57ea23f9161f 100644 --- a/dev-python/statsmodels/Manifest +++ b/dev-python/statsmodels/Manifest @@ -1,2 +1,3 @@ DIST statsmodels-0.14.4.tar.gz 20354802 BLAKE2B c721c5b2e7b22ad1be10099627230f7344f966a335f37757dc6bb622fedcb1e84a7d708ee25bfdde64357394e059567e41dad19fc5b1daeb3d5ee29e52a3b2af SHA512 db3bd19b8b47af453ad6fbd24449a621895e4237bbc8b7813810306748c32a3fbf005387a0e1e8db550c9c4a59666bdd50aeb49e24f0ecb86619bc90f166f5f9 DIST statsmodels-0.14.5.tar.gz 20525016 BLAKE2B ea0a76aaecfb75fe21bcd6c6df625a86745dc93d568f35fa9d8d230f216487ed311706810245ce16a86dc9cc8e465c4fd6d09f1406899838ff82b80d1d1ff310 SHA512 b36763d2ea3a1db2181838cc05834e96c9914789155b4723ee260f94a6f481fd8ea5c07294e375efd783b06d28cf9b71385c00b94ed0271189da551f562948f3 +DIST statsmodels-0.14.6.tar.gz 20689085 BLAKE2B fc6fe72d2f4016add10b25fb6aee7fe6a24187e4156534d7ae309c7f0b596b025b093ef45ad3201055a00361be4b8f42ba57dd0684efda8e01f6899b7ade3254 SHA512 5bb28aea779236d5f48743db624c048f78117456e1752414bd156f650098a996a81d882fd271fc5e203298dc941a656450f252a94b2d05e86b571e5ebb0b29fd diff --git a/dev-python/statsmodels/statsmodels-0.14.6.ebuild b/dev-python/statsmodels/statsmodels-0.14.6.ebuild new file mode 100644 index 000000000000..48ae137efe39 --- /dev/null +++ b/dev-python/statsmodels/statsmodels-0.14.6.ebuild @@ -0,0 +1,80 @@ +# 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_{10..14} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Statistical computations and models for use with SciPy" +HOMEPAGE=" + https://www.statsmodels.org/stable/index.html + https://github.com/statsmodels/statsmodels/ + https://pypi.org/project/statsmodels/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux" +IUSE="examples" + +# NB: upstream requires building with numpy-2 but supports 1.x +# at runtime +DEPEND=" + >=dev-python/numpy-2.0.0[${PYTHON_USEDEP}] + >=dev-python/scipy-1.8[${PYTHON_USEDEP}] +" +RDEPEND=" + >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}] + >=dev-python/packaging-21.3[${PYTHON_USEDEP}] + >=dev-python/pandas-1.4[${PYTHON_USEDEP}] + >=dev-python/patsy-0.5.6[${PYTHON_USEDEP}] + >=dev-python/scipy-1.8[${PYTHON_USEDEP}] +" +BDEPEND=" + ${DEPEND} + >=dev-python/cython-3.0.10[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs \ + 'dev-python/ipykernel' \ + 'dev-python/jupyter-client' \ + 'dev-python/matplotlib' \ + 'dev-python/nbconvert' \ + 'dev-python/numpydoc' + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + export VARTEXFONTS="${T}"/fonts + export MPLCONFIGDIR="${T}" + printf -- 'backend : Agg\n' > "${MPLCONFIGDIR}"/matplotlibrc || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest statsmodels +} + +python_install_all() { + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + dodoc -r examples + fi + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Plotting functionality" "dev-python/matplotlib" +} diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest index c4a31cd9b836..6c1aedaeb0a5 100644 --- a/dev-python/urllib3/Manifest +++ b/dev-python/urllib3/Manifest @@ -1,2 +1,4 @@ DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b DIST urllib3-2.5.0.tar.gz 393185 BLAKE2B 3885be1dae81cb63cfd0c52242b8ff342e4fb398816f94b556e929af0328f4063d705f15201005f4247b278420794984277999751170e124c23ac99c6dc881d4 SHA512 f417a2745bc9750da23916690937e5c0dfe0534354f2c1c9f056baf16554a831a28937acca2b1f23941d5b6e87a372f2e074508eaf2c3304fd1014b8afc3295e +DIST urllib3-2.6.0.tar.gz 432585 BLAKE2B a630f109dd9b191bd0b5fcbfae03c1f492d8396fdc41c9103c15d537472f55d04d5ece2d5af5ee7a381f0560384afcc8c5232320d8d921d01e2d37093ef0ca28 SHA512 b825663ed9e037763c3c8a049f818330ee9cf0d00ba6f3bd368114ed1feb750e0e6613920cde62443aa05aa84752a2cdfa4f7a6f631801031cb2fbf6736675e3 +DIST urllib3-2.6.0.tar.gz.provenance 9060 BLAKE2B 086458bd509d0de661ce4fab4a556884e0eaf77f4df9d34dbefb12865c22282bab24c07410b7fe42417422cc24102cb70c813d4b7a1115a454b3843809751b58 SHA512 a95d98157ad594662f598e06cb6bd326a42e58a48d647bf17c08078fddcd6232d81eb9a93d3369aabe52cd20190a1bbd00106a6f3767223e7378fc9e43c077a2 diff --git a/dev-python/urllib3/urllib3-2.6.0.ebuild b/dev-python/urllib3/urllib3-2.6.0.ebuild new file mode 100644 index 000000000000..27008c9ef75c --- /dev/null +++ b/dev-python/urllib3/urllib3-2.6.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/urllib3/urllib3 +PYTHON_TESTED=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 pypi + +# The package has a test dependency on their own hypercorn fork. +HYPERCORN_COMMIT=d1719f8c1570cbd8e6a3719ffdb14a4d72880abb +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" +SRC_URI+=" + test? ( + https://github.com/urllib3/hypercorn/archive/${HYPERCORN_COMMIT}.tar.gz + -> hypercorn-${HYPERCORN_COMMIT}.gh.tar.gz + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="brotli http2 test zstd" +RESTRICT="!test? ( test )" + +# [secure] extra is deprecated and slated for removal, we don't need it: +# https://github.com/urllib3/urllib3/issues/2680 +RDEPEND=" + >=dev-python/pysocks-1.5.8[${PYTHON_USEDEP}] + <dev-python/pysocks-2.0[${PYTHON_USEDEP}] + brotli? ( >=dev-python/brotlicffi-1.2.0.0[${PYTHON_USEDEP}] ) + http2? ( + <dev-python/h2-5[${PYTHON_USEDEP}] + >=dev-python/h2-4[${PYTHON_USEDEP}] + ) + zstd? ( + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.{11..13}) + ) +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/freezegun[\${PYTHON_USEDEP}] + dev-python/h2[\${PYTHON_USEDEP}] + dev-python/httpx[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}] + dev-python/pytest-timeout[\${PYTHON_USEDEP}] + dev-python/pytest-xdist[\${PYTHON_USEDEP}] + dev-python/quart[\${PYTHON_USEDEP}] + dev-python/quart-trio[\${PYTHON_USEDEP}] + dev-python/trio[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + $(python_gen_cond_dep ' + >=dev-python/backports-zstd-1.0.0[${PYTHON_USEDEP}] + ' 3.{11..13}) + ) +" + +src_prepare() { + # upstream considers 0.5 s to be "long" for a timeout + # we get tons of test failures on *fast* systems because of that + sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x PYTHONPATH=${WORKDIR}/hypercorn-${HYPERCORN_COMMIT}/src + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # TODO: timeouts + test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries + # TODO + test/contrib/test_pyopenssl.py::TestSocketClosing::test_socket_shutdown_stops_recv + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_socket_shutdown_stops_recv + # hangs randomly + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_{2,3}::test_http2_probe_blocked_per_thread + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_{2,3}::test_http2_probe_blocked_per_thread + ) + + local EPYTEST_PLUGINS=( pytest-timeout ) + local EPYTEST_RERUNS=10 + local EPYTEST_XDIST=1 + epytest --reruns-delay=2 +} diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index c4a041b4a6de..8ea7962f719f 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -4,6 +4,7 @@ DIST uv_build-0.9.12.tar.gz 338778 BLAKE2B b11a99bcd9f130107a2529a204bfcb64a3bdc DIST uv_build-0.9.13.tar.gz 338831 BLAKE2B ba0b4eca782afc52d7303a51ecb18957073c22c0be1dae90ccc044c59cc2a6502c89ce06a5fa6b4014fdd54f641d97523cdad4ab15f19e9ae97541aa51a7a5ec SHA512 6ef5fe809b2fc80778b33c43b3083fdd4320be031818d88f3bf9e7f2dd4bcf59303ccd7b5398eacedbf9c500ae336bf18c7ed15de858b6f369594e14b005d71d DIST uv_build-0.9.14.tar.gz 339665 BLAKE2B a23fa78e67450d3da7c17ce8828f3c635eddbbe36f2742f7bafa324a140dbf064fd19350263b0a87aec1edba2189a5d219a1e04416659287007598487f678f81 SHA512 ac4d578cf61cfaa4b4b0d38917f6f65de64111d7764bc2e837489fda8c6ce2a18b4256965df9e32b223ce34721bc07fbac7aeef078eaf9cac6d6d3309260180a DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e1dd5afb8c20e59926429792d3872feb1f8e4d7a9318ec447a99ce8add0503dfba0be2b970b2f192f954b472f1a7 SHA512 11fa1ebb1cfc184bd5bedf5e11fb28f14abf118183d94cbe0ac9a1b83f150a69836f0547a671e8cf16527d84ec61dd5b2983efafe5aeccd86e94cda79e1de664 +DIST uv_build-0.9.16.tar.gz 356109 BLAKE2B d1c7269ee1caa4c66e4858871bed357cd3d9251a475cd97699421cba949d915af15b241b8e1ae1b64ff9a496974888590270d77508d91af3f000e3b6c8139b4b SHA512 4031ac8326a16d4eb65948749da157a97c7529713298085d9154ecf974a3469601495e5a0203638a3ea8eeb98ed375ab13348b494637a4452268e5e8b0856410 DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12f2dcd0557d0ae255ce8bd4cb7dbb15522e73802be0e17ac10c4acad6f9075f12d5f853bb1881b0c13f1d120b33 SHA512 c3be52cfbc1cf5a229df91d9e1125925a534e3fca3041e29a16edd2334fa28b055c73e21a6bd1a3d1d63924cf8f112645300530e8cb6139fb549499ca672070f DIST uv_build-0.9.6.tar.gz 332253 BLAKE2B 2c3fa23dbe36b0866a3a3194b07ee1212cb00acd785c375646c3eb6c97a63435f28c9e934f56c8d6feeec145aace1aad37550b85ae2a611f521fc25a4c7d3bc1 SHA512 e8d8bbd46c92722261722f3d8865b2b24e695edf52652c1d1310adae3cb437ebef5397feda90e3bf863394ca75cf3024eb90a5f80b2b92af24ede4e2f81b0ce1 DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc diff --git a/dev-python/uv-build/uv-build-0.9.16.ebuild b/dev-python/uv-build/uv-build-0.9.16.ebuild new file mode 100644 index 000000000000..fe8e9650d15e --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.16.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index aea111cce11a..a6969e6ab250 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -15,6 +15,8 @@ DIST uv-0.9.14-crates.tar.xz 46510364 BLAKE2B f39e68e8419d82dab627525288829f81bc DIST uv-0.9.14.gh.tar.gz 4859989 BLAKE2B b4e8cdd35c9fc40a1777b2b625e870bf5d89a585ff722674c94abc75700047a69f32ab6651f8a3953c68feb02f8e86f61120b1b86057ae30b0162824c9e0a231 SHA512 d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3 DIST uv-0.9.15-crates.tar.xz 46539408 BLAKE2B 57e582f56e12858292d1dfaec10292eb58fb118051618875eab0d2dcd4f55aa89de6f788b3aa5013ce5e03068bb404ef04faae633d5c208f382366ac5ddf70df SHA512 4db7549d6902682db7af385e5099e74bbd82e54aaf45a44fe64416fda91e065f4bf978b9db55ab72f2872f9e8933b49020102b959c1d2bcef4b9a9877ac1e789 DIST uv-0.9.15.gh.tar.gz 4887603 BLAKE2B 422a3c004abdf052438b145400675010b1adfc8cb8d49979367544e2d381389594188276fe603ffa983f5926be624f5d863053bd79342eeee10caf1260b2a479 SHA512 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381 +DIST uv-0.9.16-crates.tar.xz 46525668 BLAKE2B b9825d93374f0c3231273606135f0693f94512b5f26ce45cea804ef38a05bbc3e7ce7edff5517c506f54367d304f0dac925e18e67a6fd7bebd635ce28dad8118 SHA512 beb9a9f0bd4ee79841e16ea4b1f7266dea9bfe8270e2e7dd381e3631e4db167e7dc79d18c444318f8e461daede6146f8510e398efab2f742f614f2654ee6eb29 +DIST uv-0.9.16.gh.tar.gz 4907399 BLAKE2B e0394423a5d026dd479a7bf2b781154db56277bdc194b84f520436b8fb41467cb9e2878a15ee2ea192a39f903a35f0c2643524143d81efa0f397273ae2314600 SHA512 f7e563b92c802f561bb33e569d473ac85fb69a72b6e01ccea8284275e7c760bc2eaee9415782adb7d26c16ffad564ceb1152a2f6b853fa9b379cb704fdd1814a DIST uv-0.9.4-crates.tar.xz 46093644 BLAKE2B bdce4b138718b91a67ccb36e6d8839358ab2ddeeedec3017bc245b0717e32d890a41f8c9c831983681ec715ce458efa8d43356c189b9b7457df3e71122924e3f SHA512 7047b68db7e05abb6a399250a4a531499985d42f12eff61ad1557823b37d62576b38b51ccbe39a02bc9a98af6341de728466b262c49bb48dd30abb64eb804660 DIST uv-0.9.4.gh.tar.gz 4749319 BLAKE2B b46d44830f7a2a621f3ab420db85e9d999b7c42ddebc21403ea2f11e819e8295af37049f1529848a3fd83ef87ac0de26ce1e1c03bf4177c3032b9adfd6dfe1e8 SHA512 ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0 DIST uv-0.9.6-crates.tar.xz 45696768 BLAKE2B 96cff52c0e5477c4e9648e3863d32bde4b34a1a46b6d96703c48fe340b655319e951471aa6403c09818c313a59b0e54804467efa7e13a8410de34299a98f077b SHA512 46964460f3404304faefd1758bb07bcddf1d48efbdd2b890ddb0d2623841e1a0c86108ac3c9312ed8e2f8fcaefbf9b022b57cd6074fdb6d52f43c35e3b3c2d32 diff --git a/dev-python/uv/uv-0.9.16.ebuild b/dev-python/uv/uv-0.9.16.ebuild new file mode 100644 index 000000000000..253d1ec065af --- /dev/null +++ b/dev-python/uv/uv-0.9.16.ebuild @@ -0,0 +1,167 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.89.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest index 73ea1c5290a3..965a2f73fb44 100644 --- a/dev-python/xarray/Manifest +++ b/dev-python/xarray/Manifest @@ -1,9 +1,8 @@ -DIST xarray-2025.10.0.tar.gz 3058084 BLAKE2B 72df811cb7d7b0af3e6a718564e1061e45d116f108c8d3e431ec91fa0f514451588bd060c9243e773e6f4863294a388c0d48e1322f91a04144bccd40d8f1cc02 SHA512 03f1d3e6c124d85e84ba72ce941381c40dd39aab5ad413f129a6fb52bd0241b3d4a2105a72c5a5463945619b2d751658692e0ff38da20cc9df362eb480d7f9d2 DIST xarray-2025.10.1.tar.gz 3058736 BLAKE2B c0fc6bb4bbec01151841331d051bd10f073ca62e27a9229685937e21d5e4108fe7a1668114d4c2d4ac4f3c31d62aa9d97099a5b081187494d51555b84a54286f SHA512 aa4e0678a7ad4fa18ab1c9cbb6d8ed0ffe99b5461f1b0797e54ad34edf9de0270ee19d9db4c20399de2d7a3a7f3023088a66e4e8585278f1c7db5572651afd1f DIST xarray-2025.10.1.tar.gz.provenance 9539 BLAKE2B 1a341643aa8787f31dd02a32292ad5c71e6c888d28bd32d7af83946555e0f27c7131ee72d45e2853d53b87816c43a51d56d2b0e6fea2f9dd2c5c88e4544bf6d3 SHA512 5c483fa98e4c190f18963c8305d6343d4c0f97c1d8c62b961b0109ebc03be8bc26f5afc8ab8551180f4c64bb44bbb4c19da55177634e6395407472f2c83894b0 DIST xarray-2025.11.0.tar.gz 3072276 BLAKE2B c7366eaaaa835a02b1605043483b80e5116092e78a9a4be293f1bafdab54108daadaef7911eae6f3d9a7eccc73f15535673ba42decf0beba827f85b01f999ea1 SHA512 8dc1a7dc058d945c19c829f95f1ea132fe4f52471659428d0a4e109f54dbae9c4da10647303b6870548f0b0013469936265206638559096bcc6fe73a0f1f7c1c DIST xarray-2025.11.0.tar.gz.provenance 9500 BLAKE2B a0c458b4a43668356e9cf899ffee57e2c67e59d90807dc4da9a7f9b8c8ef0d188b66dfe50a4cf5b17be31ef1cf9c76981df82968e0b542e9003078733927ccaf SHA512 1741796728e0bf589970ef5990a64e7c5619ee0a29bb9232ade30cbdc04d5f884bb9cefdbd2f16bf4df63535323755608ea79d2a05b520ffb0f72688046d039d +DIST xarray-2025.12.0.tar.gz 3082244 BLAKE2B ae7ddcefc9ad76f03b9c0e33a05620bf48c3d812324d8a3fb99a731a172612980af3bce703bc9b270ba150514f3b337b93c5ed325c3da956202b6b50ada51f4a SHA512 7bbdf756d24a91c4a11c5d38d10dfe520e2cb80ba2beecdbf534fae76c6c6148232f2f072d068daab60146d46c89e12800276ebc1bc4d5228b16dde8f80d9793 +DIST xarray-2025.12.0.tar.gz.provenance 9490 BLAKE2B a022f4b1432878278e919ee02cc2986efacb20ddd508119224ab3577ee290ee468ae14031dd2a67ed0359df3e6827b2a6dfe455aed1106dd29fc079645633801 SHA512 1dd1124e767bbbcc25f642528dfebd0a27f220b7ab9df0a92ef8aefe1989c51a19e0b145342e9af226f665c00a2a46018147d5c98094b7900d81a11c4db0a87d DIST xarray-2025.6.1.tar.gz 3003185 BLAKE2B a75f68947922e922dad94dc6ab5454d9d2b2ec993e5fd06d760b2e3685b3feda2a88fb879e7ebb353b35dea5540fa8899eb8cba33ab0e5f9b59cb3fd885de1af SHA512 4fc7980f843f86c8e83015fbf9ea2c8440b046faaa1589a605cf1e2f64f9380e28e157c8afda5c0058b3fe8cfe01122ba8582f5d61b9f0eabdf7107ce6d81c0c DIST xarray-2025.7.1.tar.gz 3013717 BLAKE2B 37abbeec6736745a9a0cc098bfdb36b76c5b07a1f762a3207e7a69bda1670ad464c328daabcb5845f65dcb0b9901f045c633fb12fed4524bcc7dacfcc259e65b SHA512 446e50cfa16a3ba54124dc9417203ea96f6232e05515de38dc191b06ee417e165fd2faefaf4718eddb9620d32675abc6c2125ac7555759eb003263a70662cb7e -DIST xarray-2025.8.0.tar.gz 3034425 BLAKE2B 089eecd4b8928bcc4cae2aa590a06f4d8b45b2886f1cb7f26114f97ea55914fecf83e58eec637c83123e1d81ff2bfb92f1d4ac18161b39495beb4975af71f255 SHA512 2ace4ae6736a5cde298f7d0da6b704326fa5b28d758744e0db022cc3e9ea6514ac447c5d7762fc273bc192ad7b31517edc0cda7a16302c3e9a63d5c952b1bcd2 -DIST xarray-2025.9.1.tar.gz 3057322 BLAKE2B a62f1d69735f0d7776000862a4245ead49df1aa200f05fb6be5f1aec05acf43da0e5bf7c7c99a081cc0b0b22bea030b084a24853ff8bc87a0ff520bbe6dffe7f SHA512 dd720d19a766be6ffe46c6386037ff914e983168bcda8c7d50647039cae618f8e7bf3a89bf9b486ced6457789e07f48e346134c6b08aadbe5f44df6dbde59df6 diff --git a/dev-python/xarray/xarray-2025.10.0.ebuild b/dev-python/xarray/xarray-2025.12.0.ebuild index 9dbf7237b699..2df47af4aee3 100644 --- a/dev-python/xarray/xarray-2025.10.0.ebuild +++ b/dev-python/xarray/xarray-2025.12.0.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pydata/xarray PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi @@ -31,7 +32,6 @@ BDEPEND=" test? ( dev-python/bottleneck[${PYTHON_USEDEP}] dev-python/cftime[${PYTHON_USEDEP}] - dev-python/hypothesis[${PYTHON_USEDEP}] dev-python/matplotlib[${PYTHON_USEDEP}] !riscv? ( !x86? ( >=dev-python/netcdf4-1.6.0[bzip2,szip,${PYTHON_USEDEP}] @@ -41,7 +41,7 @@ BDEPEND=" ) " -EPYTEST_PLUGINS=( pytest-asyncio ) +EPYTEST_PLUGINS=( hypothesis pytest-asyncio ) EPYTEST_XDIST=1 distutils_enable_tests pytest @@ -67,6 +67,14 @@ python_test() { xarray/tests/test_backends.py::TestGenericNetCDF4InMemory::test_roundtrip_group_via_memoryview ) + if has_version ">=dev-python/numpy-2.4[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + # TODO + xarray/tests/test_dataarray.py::TestDataArray::test_curvefit_helpers + xarray/tests/test_variable.py::TestIndexVariable::test_concat_periods + ) + fi + if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then EPYTEST_DESELECT+=( 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]' diff --git a/dev-python/xarray/xarray-2025.8.0.ebuild b/dev-python/xarray/xarray-2025.8.0.ebuild deleted file mode 100644 index 7c18e41ee09b..000000000000 --- a/dev-python/xarray/xarray-2025.8.0.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="N-D labeled arrays and datasets in Python" -HOMEPAGE=" - https://xarray.pydata.org/ - https://github.com/pydata/xarray/ - https://pypi.org/project/xarray/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -IUSE="big-endian" - -RDEPEND=" - >=dev-python/numpy-1.26[${PYTHON_USEDEP}] - >=dev-python/pandas-2.2[${PYTHON_USEDEP}] - >=dev-python/packaging-24.1[${PYTHON_USEDEP}] -" -# note: most of the test dependencies are optional -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/bottleneck[${PYTHON_USEDEP}] - dev-python/cftime[${PYTHON_USEDEP}] - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - !riscv? ( !x86? ( - >=dev-python/netcdf4-1.6.0[bzip2,szip,${PYTHON_USEDEP}] - ) ) - dev-python/toolz[${PYTHON_USEDEP}] - !hppa? ( >=dev-python/scipy-1.13[${PYTHON_USEDEP}] ) - ) -" - -EPYTEST_PLUGINS=( pytest-asyncio ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - # indirect pin, sigh - sed -i -e '/numpy/d' pyproject.toml || die -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO: these fail with filter errors even if netcdf4 is built - # with blosc/zstd support - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]' - # requires h5netcdf package - xarray/tests/test_backends_datatree.py::TestNetCDF4DatatreeIO::test_open_datatree_specific_group - ) - - if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then - EPYTEST_DESELECT+=( - 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]' - ) - - if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then - EPYTEST_DESELECT+=( - xarray/tests/test_calendar_ops.py::test_interp_calendar - ) - fi - fi - - if use big-endian ; then - EPYTEST_DESELECT+=( - # Appears to be a numpy issue in display? See bug #916460. - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]' - ) - fi - - if [[ ${ABI} != *64* ]]; then - EPYTEST_DESELECT+=( - # these tests hardcode object sizes for 64-bit arches - # https://github.com/pydata/xarray/issues/9127 - xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex - xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long - xarray/tests/test_dataset.py::TestDataset::test_repr - xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex - xarray/tests/test_datatree.py::TestRepr::test_doc_example - xarray/tests/test_datatree.py::TestRepr::test_repr_truncates_nodes - xarray/tests/test_formatting.py::test_array_repr_dtypes_unix - - # converting timestamps into ns, causing an overflow - xarray/tests/test_cftimeindex.py::test_asi8 - xarray/tests/test_coding_times.py::test_decode_cf_time_bounds - xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range - xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units - ) - fi - - case ${ARCH} in - arm64) - EPYTEST_DESELECT+=( - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' - ) - ;; - esac - - if ! has_version "dev-python/seaborn[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - xarray/tests/test_plot.py::TestContour::test_colors - ) - fi - - epytest -o addopts= -} diff --git a/dev-python/xarray/xarray-2025.9.1.ebuild b/dev-python/xarray/xarray-2025.9.1.ebuild deleted file mode 100644 index 9dbf7237b699..000000000000 --- a/dev-python/xarray/xarray-2025.9.1.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="N-D labeled arrays and datasets in Python" -HOMEPAGE=" - https://xarray.pydata.org/ - https://github.com/pydata/xarray/ - https://pypi.org/project/xarray/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -IUSE="big-endian" - -RDEPEND=" - >=dev-python/numpy-1.26[${PYTHON_USEDEP}] - >=dev-python/pandas-2.2[${PYTHON_USEDEP}] - >=dev-python/packaging-24.1[${PYTHON_USEDEP}] -" -# note: most of the test dependencies are optional -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/bottleneck[${PYTHON_USEDEP}] - dev-python/cftime[${PYTHON_USEDEP}] - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - !riscv? ( !x86? ( - >=dev-python/netcdf4-1.6.0[bzip2,szip,${PYTHON_USEDEP}] - ) ) - dev-python/toolz[${PYTHON_USEDEP}] - !hppa? ( >=dev-python/scipy-1.13[${PYTHON_USEDEP}] ) - ) -" - -EPYTEST_PLUGINS=( pytest-asyncio ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - # indirect pin, sigh - sed -i -e '/numpy/d' pyproject.toml || die -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO: these fail with filter errors even if netcdf4 is built - # with blosc/zstd support - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]' - # requires h5netcdf package - xarray/tests/test_backends_datatree.py::TestNetCDF4DatatreeIO::test_open_datatree_specific_group - # NotImplementedError, seriously? - xarray/tests/test_backends.py::TestGenericNetCDF4InMemory::test_roundtrip_group_via_memoryview - ) - - if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then - EPYTEST_DESELECT+=( - 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]' - ) - - if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then - EPYTEST_DESELECT+=( - xarray/tests/test_calendar_ops.py::test_interp_calendar - ) - fi - fi - - if use big-endian ; then - EPYTEST_DESELECT+=( - # Appears to be a numpy issue in display? See bug #916460. - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]' - 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]' - ) - fi - - if [[ ${ABI} != *64* ]]; then - EPYTEST_DESELECT+=( - # these tests hardcode object sizes for 64-bit arches - # https://github.com/pydata/xarray/issues/9127 - xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex - xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long - xarray/tests/test_dataset.py::TestDataset::test_repr - xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex - xarray/tests/test_datatree.py::TestRepr::test_doc_example - xarray/tests/test_datatree.py::TestRepr::test_repr_truncates_nodes - xarray/tests/test_formatting.py::test_array_repr_dtypes_unix - - # converting timestamps into ns, causing an overflow - xarray/tests/test_cftimeindex.py::test_asi8 - xarray/tests/test_coding_times.py::test_decode_cf_time_bounds - xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range - xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units - ) - fi - - case ${ARCH} in - arm64) - EPYTEST_DESELECT+=( - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' - 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' - ) - ;; - esac - - if ! has_version "dev-python/seaborn[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - xarray/tests/test_plot.py::TestContour::test_colors - ) - fi - - epytest -o addopts= -} |
