diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-12-31 20:19:02 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-12-31 20:19:02 +0000 |
| commit | a4e87863708e0c8dffd3750d50695de7274e9554 (patch) | |
| tree | 90ff5f6d7a89ae3fb60849760f1c11d0eec715b0 /dev-python | |
| parent | 2d2e72fe708ba301d75df9d83bdb90f2341c889e (diff) | |
| download | baldeagleos-repo-a4e87863708e0c8dffd3750d50695de7274e9554.tar.gz baldeagleos-repo-a4e87863708e0c8dffd3750d50695de7274e9554.tar.xz baldeagleos-repo-a4e87863708e0c8dffd3750d50695de7274e9554.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
39 files changed, 651 insertions, 1274 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 177837befa1e..e73eb8b639ea 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -6,5 +6,6 @@ DIST boto3-1.42.15.gh.tar.gz 1064569 BLAKE2B 80f4bcdbc981f2d16f6b220086537bbf57c DIST boto3-1.42.16.gh.tar.gz 1064829 BLAKE2B 315e8cec75fbc8d596fb41535cec5e9a7aff67bcc24df20d8a2ad0dbb9b8b2dde2238227f3fcfe47ce3244ce72182231de96396089adcd19802304fa0489ca35 SHA512 93ea18662be155e3bfb055f8e577ec42b84eb287cc62d7fb9fcdfdfb8c4db05b8e6c16e488f22cf7f66232fc86186e75d9c7511fe893b9eab32e9ae4685aa6d5 DIST boto3-1.42.17.gh.tar.gz 1067041 BLAKE2B 74c4adba3da630a0b8ccde824f1e96327299631b0ad54b47476ec8412a8d2a809b1aa7282c518b9c1e1d0913a96603a9feeb44da9cd5deb5d6852adbf1c0edba SHA512 f2c3ff7ce6c90c02c8e9c7107e7ab88ae126d1b709336e9483be9cfc4f39f96abf875fae27561ddf2816a6d03ba2a06ccad6b5e0a29fd51b57e94429ddae33b6 DIST boto3-1.42.18.gh.tar.gz 1067403 BLAKE2B 9e6011411eeef2a36bd94af01677930a49033312d02221ed94c06f27d8eea063c463d7fc2bee49e6e7e5166a9a57e3308dc63deb58fb47223e773ca7402af9a1 SHA512 1b4ba17130ab69eb057bf4f6ef4c30a52299dcc75853ec0702ff3620989a8c05d618e89da1e332b2ddee48536b47e6ab51e7376d23e8adfb5d82e2acdb60c90b +DIST boto3-1.42.19.gh.tar.gz 1067744 BLAKE2B ecdb7b493e511e8f8c13520b3b26e1c1dfa14dd9b3a0bfdc242569a03da9a49a64df9b0ba9df0fa31b60a9602d885581626e9a1a90dc5ac522f3343d149fc74b SHA512 cc01aeff747ee9ddc60823964ace06ea47ab51f8344706b8196ee11571ef18bdfd67445a58ee65bd9da819285b7d6301293c3d98536bdd805dc889a11acafd34 DIST boto3-1.42.4.gh.tar.gz 1055570 BLAKE2B a9990bb04ce59111c6371536692c6e4d5440f3f0dc79e1ecc119652603bcd8bc15839400758999faffd7df9bda9efb4991393fcab32baa16c7a0e51ff7c5cc94 SHA512 95950ba80f31c3951a88237ff5edd1367285c3ab263c7f8ad1b7556d610d553dd4e2021fbbcc0d9bdcf578fe34ad9fcf6231511f54ee71917f69c1cdb6adab28 DIST boto3-1.42.9.gh.tar.gz 1059745 BLAKE2B 78fba4fe807a3ea8eea22cd81cff67c90cd36e281665545bc9d7dc9bfaa1089d668e1994ba6e950eedfe2cfa1495f192b43f8fdae2b9b8b6bd74b62e0ab699d8 SHA512 92ecb0d609ba2f7df6a444b9d840e2a070b22ec38f8ae3bd376e9473e5b4efbefc9bc924046cc6d79576967e33eed270633396171e6102331b58519021435fe8 diff --git a/dev-python/boto3/boto3-1.42.19.ebuild b/dev-python/boto3/boto3-1.42.19.ebuild new file mode 100644 index 000000000000..b692316316e5 --- /dev/null +++ b/dev-python/boto3/boto3-1.42.19.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" + +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 3ccab2961e05..b7c460c3ff71 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -6,5 +6,6 @@ DIST botocore-1.42.15.gh.tar.gz 15775038 BLAKE2B 258285b123c6826e7df80e50d5b814a DIST botocore-1.42.16.gh.tar.gz 15776713 BLAKE2B afe3ae9aa0564cd3d25a366e13b83fb8044adb8870261df79dc62b79425a6e75e9ae620e63acd3f15c62b62d878a31e9368ba57617ae9c7af0eb79679d93b8e7 SHA512 2ffd0739a51cd62ba770aa4c98b5ff0729a5321ced7cbd558d401d62f5bfc0a963b3e3584c649c9129b11fad1944c54df584ce32252cce5896684a1651ac519e DIST botocore-1.42.17.gh.tar.gz 15777020 BLAKE2B b703c802f61993c6c3bed03e61f6e1da2099ad59364ea02ad2fe9802e0aa824ca4a38b0e8bafdcdd2bc2a6b64a8617fd1d052867d8ff2aa724834b7dd1bac265 SHA512 accbc4762c08d9ccdd95786f7be1a8b34d4d5c4315c3c3850a085db566dc58dbc96367440aa71ddf708b4454c8dd45866b60f0dd19c6173849ea450e4c5bd16c DIST botocore-1.42.18.gh.tar.gz 15741228 BLAKE2B 9808f4b1b1f90d83577594633c016cd2582d297626102ba18c9d343034d675f20d66b21c671a3f1de2ed1629765d149b28992a720d4ea43d0b11ae0cb2e5f7b9 SHA512 7a8d353e3b261e00d2b848de11baf6690b679c0fecb02569d89d611ee57de5c13f404d758258bffd9f5c99325bff2e6a709bbbc8e99e9c4eabc6143acbf86e0a +DIST botocore-1.42.19.gh.tar.gz 15741256 BLAKE2B cfba6202f71b2bfce4c183f96df5c76832128d19b820a42cbcaf23aa1485f4979696301872f71d039549a9d640cef8df637920c07efbfc5fa67ddf9c1bd92d11 SHA512 040648b3dc118a8d01d31eda9f3ad125b2b3ab0e98857cdd4b4d70de9662e51b6e5ac9f7d0b90ca89eab3c893fb9156a61b95df90b374d81b1c7ae6d188ac611 DIST botocore-1.42.4.gh.tar.gz 15703399 BLAKE2B ffd1613284a8487fd2abf10f53fcdaa13746990f519e2bc511bd09daa2efdbbc03cd141f40d36c83dc8180229daddb3a064c6d5aae2bc14f46921f50edf0f528 SHA512 22bbda9f4bc36bd18802812c63d650b2267565c27e432f7105daaa2c85660d2e3786ee11837ce2affe6d130504f9a7bf5c9e7ea3be5699b5d32be3090fb71914 DIST botocore-1.42.9.gh.tar.gz 15723096 BLAKE2B 2cb1489fa48546abe3306935367744f918d053e02af58d6b85ed84a50bbfc659ec20763055e9783d492f6f248af81e571b8452487bf8ca3267e15d12ce8773bb SHA512 54cc19ca34474e8bfd7eda403452af24b6f73e611442ba4b7ed5f4f223ae279bdf95a3bc4945d16eba6ccca53d2dbefee6d2157ecb6b4ef23a1e960d5469dcc9 diff --git a/dev-python/botocore/botocore-1.42.19.ebuild b/dev-python/botocore/botocore-1.42.19.ebuild new file mode 100644 index 000000000000..cbe29570b2e5 --- /dev/null +++ b/dev-python/botocore/botocore-1.42.19.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" + +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/cbor2/Manifest b/dev-python/cbor2/Manifest index f7e8305caff9..9aaaf671ba5a 100644 --- a/dev-python/cbor2/Manifest +++ b/dev-python/cbor2/Manifest @@ -1,3 +1,4 @@ -DIST cbor2-5.7.0.tar.gz 102374 BLAKE2B 8f7ce5220217d926a3a171baef8b4cbfb5b3d8609e01a5ad63c56898449b192be082c1c8f833a6cb8cf48de6ee8668d572297242d0ab6367e8943195b515d499 SHA512 9ec2c8c3de5220c9c6c6197d09c6c627dbd56fc3531ca09bab8f76bdcd00127dadb0e0b5faf61619859327440c7f356b68c1e9ff9ef43876e61627d1a44b8069 DIST cbor2-5.7.1.tar.gz 102467 BLAKE2B 8025d34843c977eb282f47b3836844441c4d45fd3e01f0791241a2cf1f99fccde43c096edaf52fca31c18341b73591a6168a7012d06906f31b27f1c990697274 SHA512 0bdb36f505c61fa554c5f042ac82827fe286b66b46d7847ca5292942d5eda354c3216d6521cb5b1b2ffa19bc4798870a985aeb806cfe6e60f173a59def8f2bd2 DIST cbor2-5.7.1.tar.gz.provenance 9333 BLAKE2B 37eefd944d4d525e8d3a1be918855f535c3a328fd8da8f178e550b137bcf24fcd378904bd5cb69e47312c3acc2d9c010ebfbfdd5c1eb5dbb8724d40f18d832f7 SHA512 d8532140f1830204c9c2f823b2f0acf3140b736b946d1239551b7116de2f62de3eb4d2d39a327ee2fcc2afb2d75914d0b30f819cf8cfdcd795f5e8d4237145e9 +DIST cbor2-5.8.0.tar.gz 107825 BLAKE2B 619a8d01530f6b5d13f9dfef8ba0f75e0a1d771c9886c248b76a15e09092d6fe1cb48a488e4cf85dea8ca7e8be6642e45f454dfc12bfa07219aa4bbc28df9a9c SHA512 19a79554526db6926421ec6520c589fd51530057226ca9479662f2eb9c8af6ebda2bf52d3d28c4597d3985585b3798d54f2b783e5bc6622610f91eea91f28547 +DIST cbor2-5.8.0.tar.gz.provenance 9374 BLAKE2B c540105f160f1b3877338a35387e91c0a4f07f71513ae8a9088fb14f0eeadf3466b64f7e0d9f626b3e331cc7974a9013223c4ad439d936d805489216594e2d0d SHA512 2930cb9d68cd4e7baab9b6a156ac404bb870340895a0d41ee73371943e3fae868b8f6950a85346c80d3f02bd17faa840cb10021d99d2f42d96a6ca840597113d diff --git a/dev-python/cbor2/cbor2-5.7.0.ebuild b/dev-python/cbor2/cbor2-5.8.0.ebuild index 607499d54117..ecd63d0b72c0 100644 --- a/dev-python/cbor2/cbor2-5.7.0.ebuild +++ b/dev-python/cbor2/cbor2-5.8.0.ebuild @@ -5,6 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/agronholm/cbor2 PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi @@ -17,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+native-extensions" BDEPEND=" @@ -28,12 +29,6 @@ BDEPEND=" EPYTEST_PLUGINS=( hypothesis ) distutils_enable_tests pytest -python_prepare_all() { - # remove pytest-cov dep - sed -i -e "s/--cov//" pyproject.toml || die - distutils-r1_python_prepare_all -} - python_compile() { local -x CBOR2_BUILD_C_EXTENSION=1 # pypy3 not supported upstream diff --git a/dev-python/ipykernel/ipykernel-6.31.0.ebuild b/dev-python/ipykernel/ipykernel-6.31.0.ebuild index 2ed2496dcf50..434b2b48052e 100644 --- a/dev-python/ipykernel/ipykernel-6.31.0.ebuild +++ b/dev-python/ipykernel/ipykernel-6.31.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" RDEPEND=" >=dev-python/comm-0.1.1[${PYTHON_USEDEP}] diff --git a/dev-python/ipykernel/ipykernel-7.1.0.ebuild b/dev-python/ipykernel/ipykernel-7.1.0.ebuild index 88ed3255c4a9..67b4b1bc7817 100644 --- a/dev-python/ipykernel/ipykernel-7.1.0.ebuild +++ b/dev-python/ipykernel/ipykernel-7.1.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" RDEPEND=" >=dev-python/comm-0.1.1[${PYTHON_USEDEP}] diff --git a/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild b/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild index 1fc552c10b19..a78587aa3a69 100644 --- a/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild +++ b/dev-python/ipyparallel/ipyparallel-9.0.2.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" dev-python/decorator[${PYTHON_USEDEP}] diff --git a/dev-python/ipython/ipython-9.7.0.ebuild b/dev-python/ipython/ipython-9.7.0.ebuild index b576734d9346..1e2d6535e180 100644 --- a/dev-python/ipython/ipython-9.7.0.ebuild +++ b/dev-python/ipython/ipython-9.7.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="examples gui notebook nbconvert +smp test" RESTRICT="!test? ( test )" diff --git a/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild index aa51998d0195..2d4c7b375b7e 100644 --- a/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild +++ b/dev-python/ipywidgets/ipywidgets-8.1.8.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc64 ~riscv ~x86" RDEPEND=" >=dev-python/comm-0.1.3[${PYTHON_USEDEP}] diff --git a/dev-python/jupyter-client/jupyter-client-8.6.3-r1.ebuild b/dev-python/jupyter-client/jupyter-client-8.6.3-r1.ebuild index c92a4de51025..d9e245ae42df 100644 --- a/dev-python/jupyter-client/jupyter-client-8.6.3-r1.ebuild +++ b/dev-python/jupyter-client/jupyter-client-8.6.3-r1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" RDEPEND=" >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}] diff --git a/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3-r1.ebuild b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3-r1.ebuild index 3b213966c6fd..6907bde52bed 100644 --- a/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3-r1.ebuild +++ b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" dev-python/terminado[${PYTHON_USEDEP}] diff --git a/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild b/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild index 76adc58ecfe1..17f97feac5e5 100644 --- a/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild +++ b/dev-python/jupyter-server/jupyter-server-2.17.0-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}] diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest index 9d382578cc1b..dc3fdd262c1d 100644 --- a/dev-python/matplotlib/Manifest +++ b/dev-python/matplotlib/Manifest @@ -1,8 +1,5 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b -DIST matplotlib-3.10.1.tar.gz 36743335 BLAKE2B e689dcaa314a6af8ce2934aac95208adf0f87822e4f84d6fb15ac1a17d162deea106636abf52b5332636ad8bb944301f16100b15d409b04ef2a8ecd287ea827c SHA512 1b52a421e61ca0a295d7b1d2bbe9bdcb1dd58f6c750b21d95e263547b20a17d58aadcc86f97ae0fdff9151d3c2f75a6c5419a35b258b698d777f42de7b598c4e DIST matplotlib-3.10.3.tar.gz 34799811 BLAKE2B f855a65ebf6d33373b8ed62fca0824291aa10319cfa652e0ed07db4fe2511d6bc0232e0ef44858717142ce6f13ef604131c312d3ffa00b414321d34dc45d2727 SHA512 c3027fa116f45a4a7d7ac8e7ce87f509a6604b283c39b74379e8d84a05df61283ddf4e79036c9b83b2dff13291b59945d26aeb7420873d3b275097817a12be72 -DIST matplotlib-3.10.5.tar.gz 34804044 BLAKE2B ffda7bfb4c4a5bc6aacabb1f1595525fcdac9070f6e1c039abe6ba480cc34ea1663fc2c35a4583176a4d4695aacc238d3080eb75d965ee4ddc27bd96fda1d3e8 SHA512 761388d0aad410b80179b3bb97d63b6a99d71338a0eb8801702f4a38f4a1a0fdecd8fbb6401e664d2f30a0256f412167c7c102fc494664c1837495572ebf3caa -DIST matplotlib-3.10.6.tar.gz 34804264 BLAKE2B d6bbea7b225052026dcd326ab0434600191746b663fe922a306c21823b59a7eb6cd23ef45992e7eb4630b1e92fc2e58f351f258f53a7d98b8b1cb9c3dbf038af SHA512 c12686d52229bbbd3c16fa5b1d633a7a6eec8e9bae58221554dc3d9595ceae05f985ebb3207425ad2e134e4dae671f590225b1d692b66c2099dd78da13cc6332 DIST matplotlib-3.10.7.tar.gz 34804865 BLAKE2B 13895bb4e8677fdb05cc0dbe5e58c62efbd5f298469d0647a23806a5101f7b4021accf8fefbdc85a49374f125bf8caa5537a40ac534283746e465bcb87cc1e6d SHA512 48c54dc0719ee5e42a96288200ecd696b52c90816b74404c0350f1707cab31fe8e6371135a3d469f9d78fe4234abf03f92f32cb1777f70e8a34e4fe300d89c27 DIST matplotlib-3.10.7.tar.gz.provenance 9556 BLAKE2B a429fffb82ef7b0b8f0e085c73e48d0551b2092b1274774553df559436eaaea7ca46ee4043ab0fdb057461a4a0c8af9cbb73746054bff63ba94e78263c076b06 SHA512 960a7d2c21877611ee6d30eed1ba124df51f2fb6c8c2b2f798bfd262c9306ec2a0a60733c82da4f4f2f01a255503a3e7e5eb2778b49da07b7b487026e93ec6c0 DIST matplotlib-3.10.8.tar.gz 34806269 BLAKE2B 1dc1de36b7b29c1d9b50fd464dff7054faef4bcf0e6338c8ac4c89bcb7325578af0be99323336489ecc9dfda0418596413e456e16391343fe2fbdec16730a4e4 SHA512 66d07fb0b13821e88f6e6fe9f9882542340c074198dce7d5f8bf5d65d1c64326ae7517ad38d6357491c54aedd8cd1b03f555ad6d9337754db5dbd43c6305ab3f diff --git a/dev-python/matplotlib/files/matplotlib-3.10.1-test.patch b/dev-python/matplotlib/files/matplotlib-3.10.1-test.patch deleted file mode 100644 index fa05c9d8f0af..000000000000 --- a/dev-python/matplotlib/files/matplotlib-3.10.1-test.patch +++ /dev/null @@ -1,235 +0,0 @@ -diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index 431d1eb6ea..bb0cc9c8d8 100644 ---- a/lib/matplotlib/tests/test_arrow_patches.py -+++ b/lib/matplotlib/tests/test_arrow_patches.py -@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test(): - - - @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.02, -+ tol=0.015 if platform.machine() == 'x86_64' else 0.02, - savefig_kwarg=dict(dpi=100)) - def test_fancyarrow_dpi_cor_100dpi(): - """ -@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi(): - - - @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.02, -+ tol=0.018 if platform.machine() == 'x86_64' else 0.02, - savefig_kwarg=dict(dpi=200)) - def test_fancyarrow_dpi_cor_200dpi(): - """ -@@ -116,7 +116,7 @@ def test_fancyarrow_dash(): - - - @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.02) -+ tol=0.005 if platform.machine() == 'x86_64' else 0.02) - def test_arrow_styles(): - styles = mpatches.ArrowStyle.get_styles() - -diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index cd5cd08fbf..be426c6c70 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -1219,7 +1219,7 @@ def test_imshow(): - - - @image_comparison(['imshow_clip'], style='mpl20', -- tol=0 if platform.machine() == 'x86_64' else 1.24) -+ tol=1.24) - def test_imshow_clip(): - # As originally reported by Gellule Xg <gellule.xg@free.fr> - # use former defaults to match existing baseline image -@@ -2653,7 +2653,7 @@ def test_contour_hatching(): - - - @image_comparison(['contour_colorbar'], style='mpl20', -- tol=0 if platform.machine() == 'x86_64' else 0.54) -+ tol=0.54) - def test_contour_colorbar(): - x, y, z = contour_dat() - -@@ -5148,7 +5148,7 @@ def test_vertex_markers(): - - - @image_comparison(['vline_hline_zorder', 'errorbar_zorder'], -- tol=0 if platform.machine() == 'x86_64' else 0.026) -+ tol=0.015 if platform.machine() == 'x86_64' else 0.026) - def test_eb_line_zorder(): - x = list(range(10)) - -@@ -9133,7 +9133,7 @@ def test_zorder_and_explicit_rasterization(): - - - @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20", -- tol=0 if platform.machine() == 'x86_64' else 0.027) -+ tol=0.027) - def test_preset_clip_paths(): - fig, ax = plt.subplots() - -diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 24eeab6894..f140e031fe 100644 ---- a/lib/matplotlib/tests/test_colorbar.py -+++ b/lib/matplotlib/tests/test_colorbar.py -@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained): - - - @image_comparison(['contour_colorbar.png'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.054) -+ tol=0.01 if platform.machine() == 'x86_64' else 0.054) - def test_contour_colorbar(): - fig, ax = plt.subplots(figsize=(4, 2)) - data = np.arange(1200).reshape(30, 40) - 500 -diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 77f9f34bc2..805479a7de 100644 ---- a/lib/matplotlib/tests/test_constrainedlayout.py -+++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -655,11 +655,11 @@ def test_compressed1(): - fig.draw_without_rendering() - - pos = axs[0, 0].get_position() -- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3) -- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3) -+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3) -+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3) - pos = axs[1, 2].get_position() -- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3) -- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3) -+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3) -+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3) - - - def test_compressed_suptitle(): -diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py -index 543cff18c6..6e113bc897 100644 ---- a/lib/matplotlib/tests/test_contour.py -+++ b/lib/matplotlib/tests/test_contour.py -@@ -417,7 +417,7 @@ def test_contourf_log_extension(): - - - @image_comparison(['contour_addlines.png'], remove_text=True, style='mpl20', -- tol=0.03 if platform.machine() == 'x86_64' else 0.15) -+ tol=0.15) - # tolerance is because image changed minutely when tick finding on - # colorbars was cleaned up... - def test_contour_addlines(): -diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index c80f534131..d7686ce236 100644 ---- a/lib/matplotlib/tests/test_figure.py -+++ b/lib/matplotlib/tests/test_figure.py -@@ -26,7 +26,7 @@ import matplotlib.dates as mdates - - - @image_comparison(['figure_align_labels'], extensions=['png', 'svg'], -- tol=0 if platform.machine() == 'x86_64' else 0.01) -+ tol=0.02) - def test_align_labels(): - fig = plt.figure(layout='tight') - gs = gridspec.GridSpec(3, 3) -@@ -68,7 +68,7 @@ def test_align_labels(): - - @image_comparison(['figure_align_titles_tight.png', - 'figure_align_titles_constrained.png'], -- tol=0 if platform.machine() == 'x86_64' else 0.022, -+ tol=0.01 if platform.machine() == 'x86_64' else 0.022, - style='mpl20') - def test_align_titles(): - for layout in ['tight', 'constrained']: -diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 8baa7bb0f7..01f67d06e8 100644 ---- a/lib/matplotlib/tests/test_legend.py -+++ b/lib/matplotlib/tests/test_legend.py -@@ -165,7 +165,7 @@ def test_multiple_keys(): - - - @image_comparison(['rgba_alpha.png'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.03) -+ tol=0.02 if platform.machine() == 'x86_64' else 0.03) - def test_alpha_rgba(): - fig, ax = plt.subplots() - ax.plot(range(10), lw=5) -@@ -174,7 +174,7 @@ def test_alpha_rgba(): - - - @image_comparison(['rcparam_alpha.png'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.03) -+ tol=0.02 if platform.machine() == 'x86_64' else 0.03) - def test_alpha_rcparam(): - fig, ax = plt.subplots() - ax.plot(range(10), lw=5) -@@ -202,7 +202,7 @@ def test_fancy(): - - - @image_comparison(['framealpha'], remove_text=True, -- tol=0 if platform.machine() == 'x86_64' else 0.024) -+ tol=0.02 if platform.machine() == 'x86_64' else 0.024) - def test_framealpha(): - x = np.linspace(1, 100, 100) - y = x -diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py -index bbaea25102..7892c340c6 100644 ---- a/lib/matplotlib/tests/test_lines.py -+++ b/lib/matplotlib/tests/test_lines.py -@@ -184,7 +184,7 @@ def test_set_drawstyle(): - - - @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20', -- tol=0 if platform.machine() == 'x86_64' else 0.65) -+ tol=0.65) - def test_set_line_coll_dash_image(): - fig, ax = plt.subplots() - np.random.seed(0) -diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index cc71f68585..1fd3b50fea 100644 ---- a/lib/matplotlib/tests/test_units.py -+++ b/lib/matplotlib/tests/test_units.py -@@ -81,7 +81,7 @@ def quantity_converter(): - # Tests that the conversion machinery works properly for classes that - # work as a facade over numpy arrays (like pint) - @image_comparison(['plot_pint.png'], style='mpl20', -- tol=0 if platform.machine() == 'x86_64' else 0.03) -+ tol=0.002 if platform.machine() == 'x86_64' else 0.03) - def test_numpy_facade(quantity_converter): - # use former defaults to match existing baseline image - plt.rcParams['axes.formatter.limits'] = -7, 7 -@@ -108,7 +108,7 @@ def test_numpy_facade(quantity_converter): - - # Tests gh-8908 - @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20', -- tol=0 if platform.machine() == 'x86_64' else 0.02) -+ tol=0.02) - def test_plot_masked_units(): - data = np.linspace(-5, 5) - data_masked = np.ma.array(data, mask=(data > -2) & (data < 2)) -diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py -index 342face450..c7256586bc 100644 ---- a/lib/matplotlib/tests/test_usetex.py -+++ b/lib/matplotlib/tests/test_usetex.py -@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt - pytestmark = needs_usetex - - -+@pytest.mark.skip(reason="TODO: broken") - @image_comparison( - baseline_images=['test_usetex'], - extensions=['pdf', 'png'], -@@ -65,7 +66,7 @@ def test_mathdefault(): - fig.canvas.draw() - - --@image_comparison(['eqnarray.png']) -+@image_comparison(['eqnarray.png'], tol=23) - def test_multiline_eqnarray(): - text = ( - r'\begin{eqnarray*}' -@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError: - - - @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'], -- style='mpl20', tol=3.91 if _old_gs_version else 0) -+ style='mpl20', tol=30) - def test_rotation(): - mpl.rcParams['text.usetex'] = True - diff --git a/dev-python/matplotlib/matplotlib-3.10.1.ebuild b/dev-python/matplotlib/matplotlib-3.10.1.ebuild deleted file mode 100644 index f3736d54c9b3..000000000000 --- a/dev-python/matplotlib/matplotlib-3.10.1.ebuild +++ /dev/null @@ -1,323 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{10..14} ) -PYTHON_REQ_USE='tk?,threads(+)' - -inherit distutils-r1 pypi virtualx - -FT_PV=2.6.1 -DESCRIPTION="Pure python plotting library with matlab like syntax" -HOMEPAGE=" - https://matplotlib.org/ - https://github.com/matplotlib/matplotlib/ - https://pypi.org/project/matplotlib/ -" -SRC_URI+=" - test? ( - https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz - ) -" - -# Main license: matplotlib -# Some modules: BSD -# matplotlib/backends/qt4_editor: MIT -# Fonts: BitstreamVera, OFL-1.1 -LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" -IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets" - -DEPEND=" - media-libs/freetype:2 - >=media-libs/qhull-2013:= - >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}] -" -# internal copy of pycxx highly patched -# dev-python/pycxx -RDEPEND=" - ${DEPEND} - >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}] - >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}] - >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}] - >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}] - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}] - >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] - media-fonts/dejavu - media-fonts/stix-fonts - media-libs/libpng:0 - virtual/imagemagick-tools[jpeg,tiff] - cairo? ( - dev-python/cairocffi[${PYTHON_USEDEP}] - ) - excel? ( - dev-python/xlwt[${PYTHON_USEDEP}] - ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - latex? ( - virtual/latex-base - app-text/dvipng - app-text/ghostscript-gpl - app-text/poppler[utils] - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-luatex - dev-texlive/texlive-xetex - ) - qt6? ( - $(python_gen_cond_dep ' - || ( - dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] - dev-python/pyside:6[gui,widgets,${PYTHON_USEDEP}] - ) - ' 'python3*') - ) - webagg? ( - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - ) - wxwidgets? ( - $(python_gen_cond_dep ' - dev-python/wxpython:*[${PYTHON_USEDEP}] - ' python3_{10..12}) - ) -" - -BDEPEND=" - ${RDEPEND} - dev-python/pybind11[${PYTHON_USEDEP}] - >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}] - virtual/pkgconfig - test? ( - $(python_gen_impl_dep 'tk') - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - !hppa? ( !s390? ( - || ( - media-video/ffmpeg[openh264] - media-video/ffmpeg[x264] - ) - ) ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - # do not unpack freetype - unpack "${P//_/}.tar.gz" -} - -python_prepare_all() { - # Affects installed _version.py, bug #854600 - export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - - local PATCHES=( - "${FILESDIR}"/matplotlib-3.10.1-test.patch - ) - - # increase lock timeout to 30 s - sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die - - distutils-r1_python_prepare_all -} - -src_configure() { - unset DISPLAY # bug #278524 - export XDG_RUNTIME_DIR="${T}/runtime-dir" - mkdir "${XDG_RUNTIME_DIR}" || die - chmod 0700 "${XDG_RUNTIME_DIR}" || die - - DISTUTILS_ARGS=( - -Dsystem-freetype=true - -Dsystem-qhull=true - -Dmacosx=false - ) -} - -src_test() { - mkdir subprojects/packagecache || die - cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_DESELECT=( - # broken by -Wdefault - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]" - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]" - tests/test_testing.py::test_warn_to_fail - tests/test_legend.py::test_legend_nolabels_warning - # TODO? - tests/test_backend_qt.py::test_fig_sigint_override - tests/test_backend_qt.py::test_ipython - tests/test_backend_nbagg.py::test_ipynb - # leak tests are fragile - tests/test_backends_interactive.py::test_figure_leak_20490 - # major "images not close", new texlive perhaps - tests/test_contour.py::test_all_algorithms - # "no warnings" - tests/test_backend_pdf.py::test_invalid_metadata - tests/test_figure.py::test_too_many_figures - # Requires qt5 - tests/test_backends_interactive.py::test_qt5backends_uses_qt5 - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolmanager-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_thread_safety[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - # Tests mixing qt5 and qt6, requires installing all Qt4Py impl. - tests/test_backends_interactive.py::test_cross_Qt_imports - ) - - case ${EPYTHON} in - pypy3) - EPYTEST_DESELECT+=( - # TODO - tests/test_widgets.py::test_check_buttons - tests/test_widgets.py::test_check_buttons_lines - tests/test_widgets.py::test_check_radio_buttons_image - tests/test_widgets.py::test_radio_buttons - ) - ;& - pypy3.11) - EPYTEST_DESELECT+=( - # TODO: warning isn't passed through - tests/test_image.py::test_large_image - # TODO: regression in 7.3.18+ - tests/test_axes.py::test_axes_clear_reference_cycle - # TODO - tests/test_pickle.py::test_complete - tests/test_pickle.py::test_no_pyplot - tests/test_pickle.py::test_pickle_load_from_subprocess - tests/test_pickle.py::test_simple - tests/test_texmanager.py::test_openin_any_paranoid - ) - ;; - python3.11) - EPYTEST_DESELECT+=( - # https://github.com/matplotlib/matplotlib/issues/23384 - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]" - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]" - ) - ;; - python3.12) - EPYTEST_DESELECT+=( - tests/test_constrainedlayout.py::test_compressed1 - ) - ;; - esac - - case ${ABI} in - hppa) - EPYTEST_DESELECT+=( - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]' - 'tests/test_quiver.py::test_barbs[png]' - 'tests/test_quiver.py::test_barbs_pivot[png]' - 'tests/test_quiver.py::test_barbs_flip[png]' - 'tests/test_text.py::test_parse_math' - 'tests/test_text.py::test_parse_math_rcparams' - ) - ;; - arm) - EPYTEST_DESELECT+=( - tests/test_backend_ps.py::test_savefig_to_stringio - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - sparc64) - EPYTEST_DESELECT+=( - tests/test_backend_pgf.py::test_pdf_pages_metadata_check - tests/test_backend_pgf.py::test_minus_signs_with_tex - ) - ;; - alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86) - EPYTEST_DESELECT+=( - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - *) - ;; - esac - - # we need to rebuild mpl against bundled freetype, otherwise - # over 1000 tests will fail because of mismatched font rendering - local DISTUTILS_ARGS=( - "${DISTUTILS_ARGS[@]}" - -Dsystem-freetype=false - ) - distutils_pep517_install "${BUILD_DIR}"/test - cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die - cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/pyvenv.cfg" || die - local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH} - - pushd lib >/dev/null || die - local path - local sitedir=${BUILD_DIR}/test$(python_get_sitedir) - # sigh, upstream doesn't install these - while IFS= read -d '' path; do - cp -r "${path}" "${sitedir}/${path}" || die - done < <( - find \( \ - -name baseline_images -o \ - -name '*.ipynb' -o \ - -name '*.pfb' -o \ - -name '*.ttf' -o \ - -name tinypages \ - \) -print0 - ) - popd >/dev/null || die - - # speed tests up - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - # pretend we're on CI to increase timeouts - local -x CI=1 - nonfatal epytest --pyargs matplotlib -m "not network" \ - -p rerunfailures --reruns=3 \ - -o tmp_path_retention_policy=all || die -} diff --git a/dev-python/matplotlib/matplotlib-3.10.3.ebuild b/dev-python/matplotlib/matplotlib-3.10.3.ebuild index e285858a18a0..6848bf2fbb71 100644 --- a/dev-python/matplotlib/matplotlib-3.10.3.ebuild +++ b/dev-python/matplotlib/matplotlib-3.10.3.ebuild @@ -29,7 +29,7 @@ SRC_URI+=" # Fonts: BitstreamVera, OFL-1.1 LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets" DEPEND=" diff --git a/dev-python/matplotlib/matplotlib-3.10.5.ebuild b/dev-python/matplotlib/matplotlib-3.10.5.ebuild deleted file mode 100644 index d775725505c4..000000000000 --- a/dev-python/matplotlib/matplotlib-3.10.5.ebuild +++ /dev/null @@ -1,330 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{10..14} ) -PYTHON_REQ_USE='tk?,threads(+)' - -inherit distutils-r1 pypi virtualx - -FT_PV=2.6.1 -DESCRIPTION="Pure python plotting library with matlab like syntax" -HOMEPAGE=" - https://matplotlib.org/ - https://github.com/matplotlib/matplotlib/ - https://pypi.org/project/matplotlib/ -" -SRC_URI+=" - test? ( - https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz - ) -" - -# Main license: matplotlib -# Some modules: BSD -# matplotlib/backends/qt4_editor: MIT -# Fonts: BitstreamVera, OFL-1.1 -LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" -IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets" - -DEPEND=" - media-libs/freetype:2 - >=media-libs/qhull-2013:= - >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}] -" -# internal copy of pycxx highly patched -# dev-python/pycxx -RDEPEND=" - ${DEPEND} - >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}] - >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}] - >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}] - >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}] - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}] - >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] - media-fonts/dejavu - media-fonts/stix-fonts - media-libs/libpng:0 - virtual/imagemagick-tools[jpeg,tiff] - cairo? ( - dev-python/cairocffi[${PYTHON_USEDEP}] - ) - excel? ( - dev-python/xlwt[${PYTHON_USEDEP}] - ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - latex? ( - virtual/latex-base - app-text/dvipng - app-text/ghostscript-gpl - app-text/poppler[utils] - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-luatex - dev-texlive/texlive-xetex - ) - qt6? ( - $(python_gen_cond_dep ' - || ( - dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] - dev-python/pyside:6[gui,widgets,${PYTHON_USEDEP}] - ) - ' 'python3*') - ) - webagg? ( - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - ) - wxwidgets? ( - $(python_gen_cond_dep ' - dev-python/wxpython:*[${PYTHON_USEDEP}] - ' python3_{10..12}) - ) -" - -BDEPEND=" - ${RDEPEND} - dev-python/pybind11[${PYTHON_USEDEP}] - >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}] - virtual/pkgconfig - test? ( - $(python_gen_impl_dep 'tk') - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - !hppa? ( !s390? ( - || ( - media-video/ffmpeg[openh264] - media-video/ffmpeg[x264] - ) - ) ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - ) -" - -EPYTEST_PLUGINS=() -EPYTEST_RERUNS=3 -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - # do not unpack freetype - unpack "${P//_/}.tar.gz" -} - -python_prepare_all() { - # Affects installed _version.py, bug #854600 - export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - - # increase lock timeout to 30 s - sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die - # upstream uses 'x86_64' condition to require exact matches no their CI - # which doesn't match results from other x86_64 systems - find -name 'test_*.py' -exec \ - sed -i -e "s:platform.machine() == 'x86_64':False:" {} + || die - - distutils-r1_python_prepare_all -} - -src_configure() { - unset DISPLAY # bug #278524 - export XDG_RUNTIME_DIR="${T}/runtime-dir" - mkdir "${XDG_RUNTIME_DIR}" || die - chmod 0700 "${XDG_RUNTIME_DIR}" || die - - DISTUTILS_ARGS=( - -Dsystem-freetype=true - -Dsystem-qhull=true - -Dmacosx=false - ) -} - -src_test() { - mkdir subprojects/packagecache || die - cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_DESELECT=( - # broken by -Wdefault - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]" - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]" - tests/test_testing.py::test_warn_to_fail - tests/test_legend.py::test_legend_nolabels_warning - # TODO? - tests/test_backend_qt.py::test_fig_sigint_override - tests/test_backend_qt.py::test_ipython - tests/test_backend_nbagg.py::test_ipynb - # leak tests are fragile - tests/test_backends_interactive.py::test_figure_leak_20490 - # major "images not close", new texlive perhaps - tests/test_contour.py::test_all_algorithms - 'tests/test_usetex.py::test_usetex[png]' - 'tests/test_usetex.py::test_multiline_eqnarray[png]' - 'tests/test_usetex.py::test_rotation[png]' - # "no warnings" - tests/test_backend_pdf.py::test_invalid_metadata - tests/test_figure.py::test_too_many_figures - # Requires qt5 - tests/test_backends_interactive.py::test_qt5backends_uses_qt5 - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolmanager-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_thread_safety[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - # Tests mixing qt5 and qt6, requires installing all Qt4Py impl. - tests/test_backends_interactive.py::test_cross_Qt_imports - ) - - case ${EPYTHON} in - pypy3) - EPYTEST_DESELECT+=( - # TODO - tests/test_widgets.py::test_check_buttons - tests/test_widgets.py::test_check_buttons_lines - tests/test_widgets.py::test_check_radio_buttons_image - tests/test_widgets.py::test_radio_buttons - ) - ;& - pypy3.11) - EPYTEST_DESELECT+=( - # TODO: warning isn't passed through - tests/test_image.py::test_large_image - # TODO: regression in 7.3.18+ - tests/test_axes.py::test_axes_clear_reference_cycle - # TODO - tests/test_pickle.py::test_complete - tests/test_pickle.py::test_no_pyplot - tests/test_pickle.py::test_pickle_load_from_subprocess - tests/test_pickle.py::test_simple - tests/test_texmanager.py::test_openin_any_paranoid - ) - ;; - python3.11) - EPYTEST_DESELECT+=( - # https://github.com/matplotlib/matplotlib/issues/23384 - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]" - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]" - ) - ;; - python3.12) - EPYTEST_DESELECT+=( - tests/test_constrainedlayout.py::test_compressed1 - ) - ;; - esac - - case ${ABI} in - hppa) - EPYTEST_DESELECT+=( - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]' - 'tests/test_quiver.py::test_barbs[png]' - 'tests/test_quiver.py::test_barbs_pivot[png]' - 'tests/test_quiver.py::test_barbs_flip[png]' - 'tests/test_text.py::test_parse_math' - 'tests/test_text.py::test_parse_math_rcparams' - ) - ;; - arm) - EPYTEST_DESELECT+=( - tests/test_backend_ps.py::test_savefig_to_stringio - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - sparc64) - EPYTEST_DESELECT+=( - tests/test_backend_pgf.py::test_pdf_pages_metadata_check - tests/test_backend_pgf.py::test_minus_signs_with_tex - ) - ;; - alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86) - EPYTEST_DESELECT+=( - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - *) - ;; - esac - - # override BUILD_DIR used by meson, so that mpl is actually rebuilt - # against bundled freetype - local orig_build_dir=${BUILD_DIR} - local BUILD_DIR=${BUILD_DIR}-test - - # we need to rebuild mpl against bundled freetype, otherwise - # over 1000 tests will fail because of mismatched font rendering - local DISTUTILS_ARGS=( - "${DISTUTILS_ARGS[@]}" - -Dsystem-freetype=false - ) - distutils_pep517_install "${BUILD_DIR}"/install - cp -r {"${orig_build_dir}","${BUILD_DIR}"}/install"${EPREFIX}/usr/bin" || die - cp -r {"${orig_build_dir}","${BUILD_DIR}"}/install"${EPREFIX}/usr/pyvenv.cfg" || die - local -x PATH=${BUILD_DIR}/install${EPREFIX}/usr/bin:${PATH} - - pushd lib >/dev/null || die - local path - local sitedir=${BUILD_DIR}/install$(python_get_sitedir) - # sigh, upstream doesn't install these - while IFS= read -d '' path; do - cp -r "${path}" "${sitedir}/${path}" || die - done < <( - find \( \ - -name baseline_images -o \ - -name '*.ipynb' -o \ - -name '*.pfb' -o \ - -name '*.ttf' -o \ - -name tinypages \ - \) -print0 - ) - popd >/dev/null || die - - # pretend we're on CI to increase timeouts - local -x CI=1 - nonfatal epytest --pyargs matplotlib -m "not network" \ - -o tmp_path_retention_policy=all || die -} diff --git a/dev-python/matplotlib/matplotlib-3.10.6.ebuild b/dev-python/matplotlib/matplotlib-3.10.6.ebuild deleted file mode 100644 index d775725505c4..000000000000 --- a/dev-python/matplotlib/matplotlib-3.10.6.ebuild +++ /dev/null @@ -1,330 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=meson-python -PYTHON_COMPAT=( python3_{10..14} ) -PYTHON_REQ_USE='tk?,threads(+)' - -inherit distutils-r1 pypi virtualx - -FT_PV=2.6.1 -DESCRIPTION="Pure python plotting library with matlab like syntax" -HOMEPAGE=" - https://matplotlib.org/ - https://github.com/matplotlib/matplotlib/ - https://pypi.org/project/matplotlib/ -" -SRC_URI+=" - test? ( - https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz - ) -" - -# Main license: matplotlib -# Some modules: BSD -# matplotlib/backends/qt4_editor: MIT -# Fonts: BitstreamVera, OFL-1.1 -LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" -IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets" - -DEPEND=" - media-libs/freetype:2 - >=media-libs/qhull-2013:= - >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}] -" -# internal copy of pycxx highly patched -# dev-python/pycxx -RDEPEND=" - ${DEPEND} - >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}] - >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}] - >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}] - >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}] - >=dev-python/packaging-20.0[${PYTHON_USEDEP}] - >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}] - >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] - >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] - media-fonts/dejavu - media-fonts/stix-fonts - media-libs/libpng:0 - virtual/imagemagick-tools[jpeg,tiff] - cairo? ( - dev-python/cairocffi[${PYTHON_USEDEP}] - ) - excel? ( - dev-python/xlwt[${PYTHON_USEDEP}] - ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - latex? ( - virtual/latex-base - app-text/dvipng - app-text/ghostscript-gpl - app-text/poppler[utils] - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-luatex - dev-texlive/texlive-xetex - ) - qt6? ( - $(python_gen_cond_dep ' - || ( - dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] - dev-python/pyside:6[gui,widgets,${PYTHON_USEDEP}] - ) - ' 'python3*') - ) - webagg? ( - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - ) - wxwidgets? ( - $(python_gen_cond_dep ' - dev-python/wxpython:*[${PYTHON_USEDEP}] - ' python3_{10..12}) - ) -" - -BDEPEND=" - ${RDEPEND} - dev-python/pybind11[${PYTHON_USEDEP}] - >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}] - virtual/pkgconfig - test? ( - $(python_gen_impl_dep 'tk') - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] - >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}] - !hppa? ( !s390? ( - || ( - media-video/ffmpeg[openh264] - media-video/ffmpeg[x264] - ) - ) ) - gtk3? ( - >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - ) - ) -" - -EPYTEST_PLUGINS=() -EPYTEST_RERUNS=3 -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - # do not unpack freetype - unpack "${P//_/}.tar.gz" -} - -python_prepare_all() { - # Affects installed _version.py, bug #854600 - export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - - # increase lock timeout to 30 s - sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die - # upstream uses 'x86_64' condition to require exact matches no their CI - # which doesn't match results from other x86_64 systems - find -name 'test_*.py' -exec \ - sed -i -e "s:platform.machine() == 'x86_64':False:" {} + || die - - distutils-r1_python_prepare_all -} - -src_configure() { - unset DISPLAY # bug #278524 - export XDG_RUNTIME_DIR="${T}/runtime-dir" - mkdir "${XDG_RUNTIME_DIR}" || die - chmod 0700 "${XDG_RUNTIME_DIR}" || die - - DISTUTILS_ARGS=( - -Dsystem-freetype=true - -Dsystem-qhull=true - -Dmacosx=false - ) -} - -src_test() { - mkdir subprojects/packagecache || die - cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die - virtx distutils-r1_src_test -} - -python_test() { - local EPYTEST_DESELECT=( - # broken by -Wdefault - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]" - "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]" - tests/test_testing.py::test_warn_to_fail - tests/test_legend.py::test_legend_nolabels_warning - # TODO? - tests/test_backend_qt.py::test_fig_sigint_override - tests/test_backend_qt.py::test_ipython - tests/test_backend_nbagg.py::test_ipynb - # leak tests are fragile - tests/test_backends_interactive.py::test_figure_leak_20490 - # major "images not close", new texlive perhaps - tests/test_contour.py::test_all_algorithms - 'tests/test_usetex.py::test_usetex[png]' - 'tests/test_usetex.py::test_multiline_eqnarray[png]' - 'tests/test_usetex.py::test_rotation[png]' - # "no warnings" - tests/test_backend_pdf.py::test_invalid_metadata - tests/test_figure.py::test_too_many_figures - # Requires qt5 - tests/test_backends_interactive.py::test_qt5backends_uses_qt5 - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_backend[toolmanager-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - 'tests/test_backends_interactive.py::test_interactive_thread_safety[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]' - 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]' - # Tests mixing qt5 and qt6, requires installing all Qt4Py impl. - tests/test_backends_interactive.py::test_cross_Qt_imports - ) - - case ${EPYTHON} in - pypy3) - EPYTEST_DESELECT+=( - # TODO - tests/test_widgets.py::test_check_buttons - tests/test_widgets.py::test_check_buttons_lines - tests/test_widgets.py::test_check_radio_buttons_image - tests/test_widgets.py::test_radio_buttons - ) - ;& - pypy3.11) - EPYTEST_DESELECT+=( - # TODO: warning isn't passed through - tests/test_image.py::test_large_image - # TODO: regression in 7.3.18+ - tests/test_axes.py::test_axes_clear_reference_cycle - # TODO - tests/test_pickle.py::test_complete - tests/test_pickle.py::test_no_pyplot - tests/test_pickle.py::test_pickle_load_from_subprocess - tests/test_pickle.py::test_simple - tests/test_texmanager.py::test_openin_any_paranoid - ) - ;; - python3.11) - EPYTEST_DESELECT+=( - # https://github.com/matplotlib/matplotlib/issues/23384 - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]" - "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]" - ) - ;; - python3.12) - EPYTEST_DESELECT+=( - tests/test_constrainedlayout.py::test_compressed1 - ) - ;; - esac - - case ${ABI} in - hppa) - EPYTEST_DESELECT+=( - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]' - 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]' - 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]' - 'tests/test_quiver.py::test_barbs[png]' - 'tests/test_quiver.py::test_barbs_pivot[png]' - 'tests/test_quiver.py::test_barbs_flip[png]' - 'tests/test_text.py::test_parse_math' - 'tests/test_text.py::test_parse_math_rcparams' - ) - ;; - arm) - EPYTEST_DESELECT+=( - tests/test_backend_ps.py::test_savefig_to_stringio - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - sparc64) - EPYTEST_DESELECT+=( - tests/test_backend_pgf.py::test_pdf_pages_metadata_check - tests/test_backend_pgf.py::test_minus_signs_with_tex - ) - ;; - alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86) - EPYTEST_DESELECT+=( - # too large for 32-bit platforms - 'tests/test_axes.py::test_psd_csd[png]' - ) - ;; - *) - ;; - esac - - # override BUILD_DIR used by meson, so that mpl is actually rebuilt - # against bundled freetype - local orig_build_dir=${BUILD_DIR} - local BUILD_DIR=${BUILD_DIR}-test - - # we need to rebuild mpl against bundled freetype, otherwise - # over 1000 tests will fail because of mismatched font rendering - local DISTUTILS_ARGS=( - "${DISTUTILS_ARGS[@]}" - -Dsystem-freetype=false - ) - distutils_pep517_install "${BUILD_DIR}"/install - cp -r {"${orig_build_dir}","${BUILD_DIR}"}/install"${EPREFIX}/usr/bin" || die - cp -r {"${orig_build_dir}","${BUILD_DIR}"}/install"${EPREFIX}/usr/pyvenv.cfg" || die - local -x PATH=${BUILD_DIR}/install${EPREFIX}/usr/bin:${PATH} - - pushd lib >/dev/null || die - local path - local sitedir=${BUILD_DIR}/install$(python_get_sitedir) - # sigh, upstream doesn't install these - while IFS= read -d '' path; do - cp -r "${path}" "${sitedir}/${path}" || die - done < <( - find \( \ - -name baseline_images -o \ - -name '*.ipynb' -o \ - -name '*.pfb' -o \ - -name '*.ttf' -o \ - -name tinypages \ - \) -print0 - ) - popd >/dev/null || die - - # pretend we're on CI to increase timeouts - local -x CI=1 - nonfatal epytest --pyargs matplotlib -m "not network" \ - -o tmp_path_retention_policy=all || die -} diff --git a/dev-python/memory-allocator/Manifest b/dev-python/memory-allocator/Manifest index 55b8884f8be1..2b280ecc4394 100644 --- a/dev-python/memory-allocator/Manifest +++ b/dev-python/memory-allocator/Manifest @@ -1 +1,3 @@ DIST memory_allocator-0.1.4.tar.gz 19723 BLAKE2B 22643aa32ac43f0e80e76b9d214c5decb70fbb83ddf4e116739bd257df1a2f2f02cf33c4a8925d0a38af2c59b90ee4fb6ccdfe2256fccae00ad98b2a9596e1db SHA512 0cd8b4d5878fa86972f9aa91e1fef4c074c3a0afe25ac1e54a3ad5e3b1ec5e4907cdd067d790f4e2ab7706f5dc2ff44c43ca0bc8e03b1b4dc90d66d8aa49ba0f +DIST memory_allocator-0.2.0.tar.gz 22165 BLAKE2B ae49ff6893f4202214823dd5b1bdb0dc14f7dd4a5750f5a537770c0ecb879b6abdcad9bd0c4b1e0ed460b9d17542d6d2bb38936632a3e0db683d7896179a9981 SHA512 5c7dcedc347027f4918763ba5312f7994f90aff61fd44f17f1850f86f3aa0bb08d49fddadfb6555c08c52ac9c346e10c140dde3653f9c17c85dbea436ebeec13 +DIST memory_allocator-0.2.0.tar.gz.provenance 9501 BLAKE2B 0ef75267c5868b5b764a52d49b889772245bf276a32dfc4331f9f5efe70db703b964a0b6b2b504c32f76349ce40aaa64f99c466f79397e1aaa0bed9dbe348434 SHA512 15e92d597015c33ed093cfa4b21445d59aeac8e7321162f89975fd45f6d6dbceb721aa11203bc1f5db4b9609f7e83bacc02676249b19672ff5ab8987628e94f4 diff --git a/dev-python/memory-allocator/memory-allocator-0.2.0.ebuild b/dev-python/memory-allocator/memory-allocator-0.2.0.ebuild new file mode 100644 index 000000000000..7b8d3a37e7d3 --- /dev/null +++ b/dev-python/memory-allocator/memory-allocator-0.2.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=meson-python +PYPI_VERIFY_REPO=https://github.com/sagemath/memory_allocator +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="An extension class for memory allocation in cython" +HOMEPAGE=" + https://pypi.org/project/memory-allocator/ + https://github.com/sagemath/memory_allocator/ +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~riscv" + +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" + +python_test() { + # The test script tries to "import memory_allocator.test" which, so + # long as a memory_allocator directory exists inside CWD, will look + # for a memory_allocator/test.py there. But there is no such file; + # the "test" module is a compiled extension. To let the search fall + # back to the correct location, we temporarily rename the directory + # that misleads it. + rm -rf memory_allocator || die + "${EPYTHON}" test.py || die +} diff --git a/dev-python/nbclient/nbclient-0.10.2-r1.ebuild b/dev-python/nbclient/nbclient-0.10.2-r1.ebuild index ebabb782192d..131c7f36b253 100644 --- a/dev-python/nbclient/nbclient-0.10.2-r1.ebuild +++ b/dev-python/nbclient/nbclient-0.10.2-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-python/jupyter-client-6.1.12[${PYTHON_USEDEP}] diff --git a/dev-python/nbconvert/nbconvert-7.16.6-r1.ebuild b/dev-python/nbconvert/nbconvert-7.16.6-r1.ebuild index 0300a31bf23e..b090bf722998 100644 --- a/dev-python/nbconvert/nbconvert-7.16.6-r1.ebuild +++ b/dev-python/nbconvert/nbconvert-7.16.6-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" dev-python/beautifulsoup4[${PYTHON_USEDEP}] diff --git a/dev-python/pyqt-builder/pyqt-builder-1.19.1.ebuild b/dev-python/pyqt-builder/pyqt-builder-1.19.1.ebuild index 817ccd7b614f..58419ad22019 100644 --- a/dev-python/pyqt-builder/pyqt-builder-1.19.1.ebuild +++ b/dev-python/pyqt-builder/pyqt-builder-1.19.1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" RDEPEND=" dev-python/packaging[${PYTHON_USEDEP}] diff --git a/dev-python/pyqt5-sip/pyqt5-sip-12.17.2.ebuild b/dev-python/pyqt5-sip/pyqt5-sip-12.17.2.ebuild index 2d332fd114c9..c95a9bea11bf 100644 --- a/dev-python/pyqt5-sip/pyqt5-sip-12.17.2.ebuild +++ b/dev-python/pyqt5-sip/pyqt5-sip-12.17.2.ebuild @@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt5-sip/" LICENSE="BSD-2" SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" diff --git a/dev-python/pyqt6-sip/pyqt6-sip-13.10.3.ebuild b/dev-python/pyqt6-sip/pyqt6-sip-13.10.3.ebuild index 74144f98345e..8d5344c63f73 100644 --- a/dev-python/pyqt6-sip/pyqt6-sip-13.10.3.ebuild +++ b/dev-python/pyqt6-sip/pyqt6-sip-13.10.3.ebuild @@ -14,4 +14,4 @@ HOMEPAGE="https://pypi.org/project/PyQt6-sip/" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86" diff --git a/dev-python/pytest-jupyter/pytest-jupyter-0.11.0.ebuild b/dev-python/pytest-jupyter/pytest-jupyter-0.11.0.ebuild index 5bb2dd5bea3c..b1be4d7a0b96 100644 --- a/dev-python/pytest-jupyter/pytest-jupyter-0.11.0.ebuild +++ b/dev-python/pytest-jupyter/pytest-jupyter-0.11.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}] diff --git a/dev-python/pytest-reserial/Manifest b/dev-python/pytest-reserial/Manifest index f981f541a562..c184ac62dfd9 100644 --- a/dev-python/pytest-reserial/Manifest +++ b/dev-python/pytest-reserial/Manifest @@ -1,7 +1,6 @@ -DIST pytest_reserial-0.4.3.tar.gz 12625 BLAKE2B 09f3ee9706f06923d8edd53d19c956046f075b90675642c692c51dc65f66429413d756a902396f147f27cc547dc3487641645dedae6c6900f96b1c2c66dca33a SHA512 282a9edd457b6bc622aaa66ee7715671eeb945e8dab72c3c7898d7850fb6d151ebfbcddefaad25c1b3f10c13c52b6bc8438975484f1fecd87b5c224f431dba59 -DIST pytest_reserial-0.5.0.tar.gz 12931 BLAKE2B 4d91f1c367145d15ee5b64fc18ab43422aa42848f3df63826edbe12a016495d8add36667e83415d443cb8e4805e718634d127c0c38cd5890d1b537c37b053789 SHA512 96095b7ff8b9db661de9902ff2a8137f30af98696c9589e94ebbbc8367ae4dfa8cb1d116aa9f5e94913548189adda129634bcf8e4fee079c5358367c34e3bfb4 -DIST pytest_reserial-0.5.0.tar.gz.provenance 9263 BLAKE2B e5a8c86fb1eb70415a3627bc71037718bb1aaa36f6fb68fd0eae8bb45b4b56f66339f1036c78bcf6d4d6da0687f2de4545ce1ffa16031fe17094e8c41d64bf74 SHA512 859f2d9ffd1467276e5bbef41a2822574dbd80618784834e95c05ebfeabbf710d3ce7a709e482d1b24f3cfb7b2a01cabd7d3a7e1669671bcbc54574fec952984 DIST pytest_reserial-0.5.1.tar.gz 13597 BLAKE2B 9106559890f45fcf7b514f1b76366e6ef31db37d3d78d753920f166f30aaebcbe1ad11a4b8c8550f5c8a93625cbad21ffe9830ea15eca00e91bab5ee53728f29 SHA512 1cd0f729c64fc7269169e74bea21bf5d95bf7c571e99ff751461888e020fd5aa28644a7601876f7bda0dbb4bb48370a11ca03b84c538ed2e80f1133e93530641 DIST pytest_reserial-0.5.1.tar.gz.provenance 9455 BLAKE2B dd2ba2b62878f7a01025072a53b19949b22bbedd8220e7a974b32bef21e520acaf30c95be250991bb72a0f04dff058877bba5189041622ebdfee5f72b97cf51b SHA512 5c97339b60a18bde4e158d7cfca5ebf25a2867e4bffbbac82803818b9164b1a092ed22737335548b020bcad4ca31fc1c095d1b9dfec901f08bccb37941a19110 DIST pytest_reserial-0.6.0.tar.gz 14363 BLAKE2B 35476087496675676d0568b85f870c6964ee6a4ac4e77be5af214cddec6f8046aba3da40b7830111e7738b8785c5403927b893f1c2af95eb7dc559ace58035b0 SHA512 315e75a08bf5c0c99d5381f0b1188afee14038703e17570779b3386315603668654e9a7f1da94e6925f029fec4b40a9b9c5f9733ecfbe043c6f5f599f17907a1 DIST pytest_reserial-0.6.0.tar.gz.provenance 9578 BLAKE2B f5f636c78e09dbe9a53a0ab1df691864f63afee8c669d7714ea466b7d91083d76f9cdbb52c9e3f79c5a8a3b103679c4a6e1afa0394f410355b2d3d495031bbed SHA512 12db5104fe59417d6727cd0c92c0ec12e488bbd029d7ae0c87feae1bce9e48a3e04bc39c8863d2dda0fa1e730971944a8d61d08a3aa0094d08e42e11d3fd5aaf +DIST pytest_reserial-0.6.1.tar.gz 14432 BLAKE2B 5f265f01625cba3d66459f0ecb41c9aeafefce5ae85725e0264a78ab74c18ad4ccc8a4620163931ac543db6f29ebad266395af580ea2974295919cecb76c7771 SHA512 3a1d88f9ff1837acb6721eee96d4bfb0825738ad94ce73848cca5bc355b1f14eda93947d958bbeda24f38322c73117ff9a28931ebd490551f6ef3366986e4816 +DIST pytest_reserial-0.6.1.tar.gz.provenance 9527 BLAKE2B 25e46c15741c11076f1f81395f6885ae4bba75014c9e71eecffd9707e9766efba332d3fe3da604572f189d369c4acf3c60abe59264b85bbcf2485e246d0dcaf8 SHA512 4f380b7ec1a1fd06529073f8d174a8f52dba7ae82e2f6926021bd255b6efc6aab36f281b030f6ac2bc4428fa6388cb011de9bb501f2ff1f065bc986632addce1 diff --git a/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild deleted file mode 100644 index 4dec3f9274af..000000000000 --- a/dev-python/pytest-reserial/pytest-reserial-0.4.3.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Pytest plugin for recording and replaying serial port traffic during tests" -HOMEPAGE=" - https://pypi.org/project/pytest-reserial/ - https://github.com/bessman/pytest-reserial/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64" - -RDEPEND=" - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest diff --git a/dev-python/pytest-reserial/pytest-reserial-0.5.0.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.6.1.ebuild index 02f0af19ea52..8c72f8df8d41 100644 --- a/dev-python/pytest-reserial/pytest-reserial-0.5.0.ebuild +++ b/dev-python/pytest-reserial/pytest-reserial-0.6.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="~amd64" RDEPEND=" dev-python/pyserial[${PYTHON_USEDEP}] diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest index 25438172e16a..501621bb3770 100644 --- a/dev-python/scipy/Manifest +++ b/dev-python/scipy/Manifest @@ -1,4 +1,5 @@ DIST scipy-1.16.2.tar.gz 30580599 BLAKE2B aec4039fe5798365fbe5147a4d6acea61e408ad0a533da4a3602e3c03a5a495f693b9b998a0417524621e6414e3bc847339364d6536e6b489cff43931253c87d SHA512 6b5c1ab6236af5d40850f8b77f8d47494dda9bccf814908ba306b4b3710359d18eb0dd880c05dc4f334cc298d0a2d54d271d5cd5b519190fcfba58524b1d8dce DIST scipy-1.16.3.tar.gz 30597883 BLAKE2B ba026013ecfdc9329ec6140bf32f8de61e141b645c5a35ad5dc38276ac4df296fce0091675177daaf3d65f2cb797783365df306397e1643d50508e343daaa325 SHA512 7386670d2be598f46425a5f2ac0194748c83ec006be0b0395a850a613bc12731669469aefe503c9db2521aba956325d44e7a75fa82e4c1e629202cafd1966aa5 DIST scipy-1.17.0rc1.tar.gz 30393241 BLAKE2B aa98c2df9c10a456a47eda9cbeebded3e2a7c46e881fce6a8ede10ba232d5101392994e9f7a75f1312e7f7601eded977e803423fa60ee7b1ab0325c11b5683ae SHA512 91ecca179ad61ed7e584d90cdf4a2d918d86cc75a45ed12c761d1840a7cd1b2265d442e67de19dc271355c37f9bead00c3d55d4c9011eb9b898cd3ff6d9fd167 +DIST scipy-1.17.0rc2.tar.gz 30397866 BLAKE2B d49fcf7d5af8ffb10ca0615e8e43a6d36e2972fc4bc194905bfbfee88d44c8830d73373ec49cd5035ac73922f0122ebc97c2c3cfb3ba24d5a43a8002a05d2664 SHA512 6576b0aa4d7392f061249cf034f0497e64c3ac98314ad18499d63a8c41f1dc6a5dcfe8b09480e0eeda8bbcb2e688c8cd2b5aa8c5dd4918fb92f6800bc6a2dcc9 DIST scipy-html-1.16.2.zip 71516578 BLAKE2B 244537f823e39b52e0b00df63f8f36088f5ef17e365f98415d1573883e9c0eee3f4376b149eaea9b70b34b34a294aeafae9f849050ab8161a8ecdb24172c2876 SHA512 15df0c7211cc4d32007b54015efc17edd1c9b23e8892b748ab946c5c1ea3e1840a00d9005b585cc0c6416bcef1e490f54ff919d3c0140ed95d8e469836751d5c diff --git a/dev-python/scipy/scipy-1.17.0_rc2.ebuild b/dev-python/scipy/scipy-1.17.0_rc2.ebuild new file mode 100644 index 000000000000..f9a0fe19035b --- /dev/null +++ b/dev-python/scipy/scipy-1.17.0_rc2.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED=fortran +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=meson-python +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+)" + +inherit flag-o-matic fortran-2 distutils-r1 + +DESCRIPTION="Scientific algorithms library for Python" +HOMEPAGE=" + https://scipy.org/ + https://github.com/scipy/scipy/ + https://pypi.org/project/scipy/ +" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + # Need submodules, so git for now. + EGIT_REPO_URI="https://github.com/scipy/scipy" + EGIT_BRANCH="maintenance/$(ver_cut 1-2).x" + EGIT_SUBMODULES=( '*' ) +else + inherit pypi + + # Upstream is often behind with doc updates + DOC_PV=1.16.2 + + SRC_URI+=" + doc? ( + https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip + ) + " + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +LICENSE="BSD LGPL-2" +SLOT="0" +IUSE="doc +fortran test-rust" + +# pythran is needed in both BDEPEND (for /usr/bin/pythran) and in DEPEND +# to actually compile code generated by pythran (headers and such needed). +# +# umfpack is technically optional but it's preferred to have it available. +COMMON_DEPEND=" + >=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}] + >=media-libs/qhull-2020.2:= + virtual/cblas + >=virtual/lapack-3.8 +" +# Only boost.math is used, and meson.build doesn't even look up specific boost modules. +DEPEND=" + ${COMMON_DEPEND} + >=dev-libs/boost-1.89.0 +" +RDEPEND=" + ${COMMON_DEPEND} + dev-python/pillow[${PYTHON_USEDEP}] +" +DEPEND+=" + fortran? ( + >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + dev-lang/swig + >=dev-python/cython-3.0.8[${PYTHON_USEDEP}] + >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}] + >=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}] + >=dev-python/pytest-8.0.0[${PYTHON_USEDEP}] + >=dev-build/meson-1.5.0 + !kernel_Darwin? ( dev-util/patchelf ) + virtual/pkgconfig + doc? ( app-arch/unzip ) + fortran? ( + >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}] + ) + test-rust? ( + dev-python/pooch[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( hypothesis ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_unpack() { + default + + if use doc; then + unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die + fi +} + +src_prepare() { + distutils-r1_src_prepare + + # unpin system dependencies + sed -i -e "s@version : '@&>=@" meson.build || die +} + +python_configure_all() { + DISTUTILS_ARGS=( + -Dblas=blas + -Dlapack=lapack + -Duse-pythran=$(usex fortran true false) + -Duse-system-libraries=all + ) + + # https://bugs.gentoo.org/932721 + has_version '>=dev-python/numpy-2.0.0' && filter-lto +} + +python_test() { + # We run tests in parallel, so avoid having n^2 threads in lapack + # tests. + local -x BLIS_NUM_THREADS=1 + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + local -x OPENBLAS_NUM_THREADS=1 + + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + + local EPYTEST_DESELECT=( + # Network + scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all + scipy/datasets/tests/test_data.py::TestDatasets::test_ascent + scipy/datasets/tests/test_data.py::TestDatasets::test_face + scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram + + # Crashes with assertion, not a regression + # https://github.com/scipy/scipy/issues/19321 + scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object + + # Awfully slow tests + scipy/interpolate/tests/test_bsplines.py::TestBatch::test_batch + scipy/linalg/tests/test_basic.py::TestLstsq::test_random_complex_exact + scipy/sparse/linalg/_eigen/tests/test_svds.py::test_small_sigma_sparse + + # TODO: minor precision errors + 'scipy/linalg/tests/test_batch.py::TestBatch::test_solve[float32-bdim2]' + 'scipy/linalg/tests/test_batch.py::TestBatch::test_lu_solve[float32-bdim2]' + 'scipy/stats/tests/test_continuous.py::TestDistributions::test_funcs[cdf-methods11-x-Normal][' + + # Crashes, probably too big + 'scipy/interpolate/tests/test_fitpack2.py::TestRectBivariateSpline::test_spline_large_2d_maxit' + ) + local EPYTEST_IGNORE=() + + if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then + EPYTEST_IGNORE+=( + scipy/datasets/tests/test_data.py + ) + fi + + if has_version -b "sys-libs/zlib-ng[compat]"; then + EPYTEST_DESELECT+=( + # https://github.com/scipy/scipy/issues/23185 + scipy/io/matlab/tests/test_streams.py::TestZlibInputStream::test_all_data_read_bad_checksum + scipy/io/matlab/tests/test_streams.py::TestZlibInputStream::test_all_data_read_overlap + ) + fi + + # avoid other stuff being multithreaded when using xdist + local -x PYTHON_CPU_COUNT=1 + epytest scipy +} + +python_install_all() { + use doc && local HTML_DOCS=( "${WORKDIR}"/html/. ) + + distutils-r1_python_install_all +} diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest index cdd37884d973..aa93189c22d8 100644 --- a/dev-python/types-psutil/Manifest +++ b/dev-python/types-psutil/Manifest @@ -1,3 +1,4 @@ DIST types_psutil-7.1.3.20251125.tar.gz 23391 BLAKE2B c8f30870d822d9686dd23e893bb435cd2ce1bdecca8573ac7bfb7f871f76f5f285016a0c8cf6bd8fc871b07ae0e21e0259b3afa17e97ce7d28340eba281a6e5c SHA512 1b5e6d2e1f1f971a4b3bf52435f1eb115b6a2b845ea4c2c2f7061de4c7e6412568eddd82ad6a1465e880266b2a6b23d11031dccb1f315ba874120949f421c9d9 DIST types_psutil-7.1.3.20251211.tar.gz 25198 BLAKE2B fd12b6e16f9cd57568f069da420a1c500da0ccda515eec4197771ae23eabd0dfabaabe66c4335234ab297c7a86831c15ee5c7f4800c7e1c50e6fba8c54eebe61 SHA512 6bbe267aa2c90ff474fdd0c1949619fb7344aa4c0b9961dd63137813669f511abcc9871d499c6b74e36543b7007908a55e03754bbdbbfd128e5928911c6b89e3 DIST types_psutil-7.2.0.20251228.tar.gz 25400 BLAKE2B 93c589636c46a7034d73e898c5e912f7739147214aeedc091e5b92bbd4d8d95b7d4b2387cc78ecfcd37e98b10ba91a932125a0451ec1864113a0a9dc26b35165 SHA512 0f060ac56ba48062982dbf5d4ac6d010dceb8fe49b7b0817ff7834970f2b699077a7218d4d393c1f91924fce447942b89486daafd737faddf317d98d6187eec3 +DIST types_psutil-7.2.1.20251231.tar.gz 25620 BLAKE2B 6ca4bb77cd1d90a9eda26166aa38ff2b68c200b90f8d3cdeb731ec68a3145a3c5ba8c969983a5eeeeaf6adf92b0e32363c9908d1384413b266ccbc0c6b3cdfea SHA512 39e5c66245b9cdef7b08a42384baa16a9fcad06b2c284fcb97d290677c04d935e435c8a43b22b145a48e3af84a3a521caf5ff756268c06b805929309ae013951 diff --git a/dev-python/types-psutil/types-psutil-7.2.1.20251231.ebuild b/dev-python/types-psutil/types-psutil-7.2.1.20251231.ebuild new file mode 100644 index 000000000000..486007de99f8 --- /dev/null +++ b/dev-python/types-psutil/types-psutil-7.2.1.20251231.ebuild @@ -0,0 +1,16 @@ +# Copyright 2023-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="Typing stubs for psutil" +HOMEPAGE="https://pypi.org/project/types-psutil/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index e25663570fb1..97d138303cfb 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -4,6 +4,7 @@ DIST uv_build-0.9.15.tar.gz 354021 BLAKE2B a47350ead8d9672d09967bbd7f9ac2f8e231e DIST uv_build-0.9.17.tar.gz 356435 BLAKE2B 902d134f83026a68ef8600b21d9ce8bddab281ab8a34b7b836cce2b27ae393b24ddbafbbfa18332efc5cb8b5883c4a02435b62c29fb50923cb877834a2918e76 SHA512 7b536edcf9917055634f97150dba3e91d0fe71cb49922a3bf13fa480d6d17205de172242bb5e9dbd22de1984aec0c0f78955b37811d84a9ff765254719847d36 DIST uv_build-0.9.18.tar.gz 356832 BLAKE2B 61df9000eb4eb0dc147b4a18732937a459ff27ecbd6be19e1c4496632b8b79eaedb112dd2599d74ad111899d44070cf0acbdf4bc7b57d864823e202209a2b553 SHA512 093ece50dd3c89c56c7d61f35dbe66319ea23295e21b66b7cdb73ae669956d6a68684a183faad9c59cb96fc2b26747f40609570540b8ff158d1f8f3d32bfd15c DIST uv_build-0.9.20.tar.gz 357132 BLAKE2B eb64c2e9e0029cf8eb8f295e16897911c602f7bc3205188c224748352ec9f3843badb2407103508c2a8703f6141937e0f61d88ceaf8a31a551dad4b500c24731 SHA512 9caa5c33a8d563f4205022c0a978e8d0b1e53aa60c977dee9e83d227935675ab918de7eef96f8f6c3bf4adc4db70dbb99504cee5533cc66412c93f2263246f8b +DIST uv_build-0.9.21.tar.gz 357539 BLAKE2B 721e12e0260301d3234f3fbc76d5944c9b15e14b345876d3f231314f64f15c5e6c37c8c7155e24605c928dbe52b12b3b02cd2f0a1373b8d93b017f2c122ddf19 SHA512 1e2885f978fa45e1481a72a35d5734ef80d3ab7da0213fc41cad8c4e49756bf0b172cea570d25a6b0461c6dd13fead8a8fae356b11ec758f8bd7b915faa322c4 DIST uv_build-0.9.4.tar.gz 332506 BLAKE2B 3b65cc80192cf3abc33bcf01735c8b7f937a12f2dcd0557d0ae255ce8bd4cb7dbb15522e73802be0e17ac10c4acad6f9075f12d5f853bb1881b0c13f1d120b33 SHA512 c3be52cfbc1cf5a229df91d9e1125925a534e3fca3041e29a16edd2334fa28b055c73e21a6bd1a3d1d63924cf8f112645300530e8cb6139fb549499ca672070f DIST uv_build-0.9.7.tar.gz 332992 BLAKE2B 069e615f41e78098b61cc073cb01bc77e0e6778f3054ccfcf36985be3755d7e819cc1bd151e875db109461f423cc855cd336467015ec7103e47346f230564679 SHA512 d61249de00640f6e0ab62ab440a8aae1802acbd6cf8ecb8aca3efe26361d7191d057735ab91c174c5772fc04accf0ae3281f447d010c99e2f458829f4c618abc DIST uv_build-0.9.8.tar.gz 333344 BLAKE2B 4a841b4ca879734917bd09a7d1960dad322baa969fc55ec038c0318e8931ac129a0a3d03865a55ba4fa4a0f4beba398c1715c8faf1a275c1a4458317841253e6 SHA512 2c5f54a887ce7256911dabb54435618354f3caa1a941e77ed5a4b1c7015221a0009da08e8c46d569f92ac263bc544335ed2060de37ac5c27ee0789153f2edbac diff --git a/dev-python/uv-build/uv-build-0.9.21.ebuild b/dev-python/uv-build/uv-build-0.9.21.ebuild new file mode 100644 index 000000000000..fe8e9650d15e --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.21.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 574d1f2a029d..ea9eef7b4fd4 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -15,6 +15,8 @@ DIST uv-0.9.18-crates.tar.xz 48624732 BLAKE2B 5a890046ca810c9f0c3779310a413a0614 DIST uv-0.9.18.gh.tar.gz 4786468 BLAKE2B 3df1ca97128242a655a392cd61cd0b4c943f77804553f8722db058e3a2dc0698803f422609ae52bf64e5f8922d13fd596ca7b898756c8d360da5bed4b656c29a SHA512 e0d880d6cf946979fbc6333f086aa6a54893fca19bae6d62e82d831c7502c2150d829a861edeb4c29fe7320d7c7da902693039d597b945f58ae803eadc7f5a17 DIST uv-0.9.20-crates.tar.xz 48642776 BLAKE2B 4ce225a3639d02ea05014c2132a7fd8baf53f3bd0bf3cafc6ebde144f2cea982426835f91bcb587e8dba122afe381c5a0ffa654667d4677f0b0b18b4b63a2f2e SHA512 db391109602bf1afbe868740ee977e76f92911136f61a9db8918ca89bcabdad02b75f1892cef200a370ea91829e177fd6c775aff9522f72fb90f2fc9d3acb22a DIST uv-0.9.20.gh.tar.gz 4798126 BLAKE2B 5eea15de759c52386f7c610455a9ffd71ae040fc6ad19652b0a4c86c8ee6543ca6f5a680c6aac3f0119924dcc1fddbb486588697060af73974a058e683d96792 SHA512 4b9d1e6e6d89aa1901b26715e9c2bb720e8132134ac0516bf01a40576c6d6e7fb97205321d50e3fd0f35fb69309af437f23643261cc11d55c2c8cb1db22fdafb +DIST uv-0.9.21-crates.tar.xz 48642776 BLAKE2B 4ce225a3639d02ea05014c2132a7fd8baf53f3bd0bf3cafc6ebde144f2cea982426835f91bcb587e8dba122afe381c5a0ffa654667d4677f0b0b18b4b63a2f2e SHA512 db391109602bf1afbe868740ee977e76f92911136f61a9db8918ca89bcabdad02b75f1892cef200a370ea91829e177fd6c775aff9522f72fb90f2fc9d3acb22a +DIST uv-0.9.21.gh.tar.gz 4799580 BLAKE2B 88a65fd86bc3b124e6470c701c387bfe2b4a41c21d4eb82870966b94ab6db6fc5819aaaf2c04c04d1cd2ed367353e995185103ce145e88dc17f9bba507e9a162 SHA512 38c852dfca2bdfa839c37342ace2482d5182e2d4f7b4334ee32da200364912ccbedda04cf08cf89d974ad0f82c374444a19156c9df65ce11019d4a214bf26eb3 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.21.ebuild b/dev-python/uv/uv-0.9.21.ebuild new file mode 100644 index 000000000000..fe3eb6a3dc83 --- /dev/null +++ b/dev-python/uv/uv-0.9.21.ebuild @@ -0,0 +1,168 @@ +# 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=" + virtual/pkgconfig + 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 +} |
