diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-16 07:34:20 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-10-16 07:34:20 +0000 |
| commit | fe923440723177a33e774e89ffe269b1017ee3ce (patch) | |
| tree | 075866216ca6ae63cd7077d83cd44fadf0fe982a /dev-python | |
| parent | 86478e788fb36152770b208ece6adb68a5050838 (diff) | |
| download | baldeagleos-repo-fe923440723177a33e774e89ffe269b1017ee3ce.tar.gz baldeagleos-repo-fe923440723177a33e774e89ffe269b1017ee3ce.tar.xz baldeagleos-repo-fe923440723177a33e774e89ffe269b1017ee3ce.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
42 files changed, 1647 insertions, 102 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index b4fa2c1a3e0b..e7e15d17664e 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -8,3 +8,4 @@ DIST boto3-1.40.45.gh.tar.gz 1007074 BLAKE2B b6b36715046fc1468ad02770b31c88276d3 DIST boto3-1.40.50.gh.tar.gz 1009112 BLAKE2B a5c1be6c13cacb8b0fa1a7b4c64a9fec9caabd6b17ba9cdceb45da4954e21d4020a707d72eb2de52e8d83b78990adf5ce8a82dc166d84f5e98fa5289304dadee SHA512 7955190f7a55b47293b25b15e1b5c86e79a3a468aba20999a114de99df3af57cf6a2d23acbc90dde056aa2f557db938fa8f6638d3de939009b6a6ec69d691a18 DIST boto3-1.40.51.gh.tar.gz 1009591 BLAKE2B 1b574f5c14eb8e8274f51764b587c8dc6cd4be95445cd5988cbfd1930ba970643653b7b2343e0c9f28c8ec906d714da662df7ed5743fc4d732e62d39f862e967 SHA512 d2564dce5a656b5f0eff78f2953c1407150e67f92fb01df0ca45f1e62ad0e343ea09fa362e64ecf688f091017ff068eb7a77d37c908d23215c61bcc28bb5cfaa DIST boto3-1.40.52.gh.tar.gz 1010268 BLAKE2B 83b1ca1b5b65bd8e058fea5a97dc37b6bef6a4243bf0fc2cc1c6d9be1b9808852e5b854ac902e7a97ded4a65cb25279ae43ca39c179c6552b83f859522859f80 SHA512 8e18f4c9ba9101babd0ca83a7094daa1e1302ef2e46c49d67a3b61b00f89983698a0dd2632d2d566138031cf6cbe3924202b60e5aaee4a9d48ace83fa77b8e86 +DIST boto3-1.40.53.gh.tar.gz 1011133 BLAKE2B c2b93b36d9ed83c442ee2f2f873668947c06f27122b77eec925ca23b52753ac2056dbfb49aed7793b95c8bba7d8bf5b19df85f9bd7160270f72039dd4c61e412 SHA512 b595ec51307c5d218a25fe88cd26f01786d4b0afb7b160f6c42f256f7fdd1789ed9a05d0b2e77c4967384413328caa7fda43981567ad562ba3230e25844f92ae diff --git a/dev-python/boto3/boto3-1.40.53.ebuild b/dev-python/boto3/boto3-1.40.53.ebuild new file mode 100644 index 000000000000..cb388ebe6570 --- /dev/null +++ b/dev-python/boto3/boto3-1.40.53.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.14.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 e1f90d69cb81..1c302cca8ea5 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -8,3 +8,4 @@ DIST botocore-1.40.45.gh.tar.gz 15197014 BLAKE2B 6b44913005d75f22b0ff993b1fea47a DIST botocore-1.40.50.gh.tar.gz 15222465 BLAKE2B 626b040c06531d96c1e0276e4bf6a70747b2c8184d9178b24333b1b7e91e833175114d31e7ee1b48b83597b22b2869132b50f3834a4bdaa082a111a7a9f41a10 SHA512 91ac7467c8b1cc58d2b29a0bb34d7374a7c8987eb73caccc3b3becb782995d64a874d099ea74a5e0c046d0aae2497211a0a84d3a8e7f42efc1252fa6ab517872 DIST botocore-1.40.51.gh.tar.gz 15225894 BLAKE2B c4524ecc477f6d21b87040792f4c123e8b1f6dfcee1a8fa04374ced27f685251028a8aa43a5f608bb0a46aa51b2d19d00e46cceaa5822e2a28a701782d8a9109 SHA512 1091fbe9c63b9990367886d937f93392bae720682c0471496cca1c841ef177157e3191575b70f40c721f787b25ea4747df0d1b26c12b9b7eae62db93127695d9 DIST botocore-1.40.52.gh.tar.gz 15233376 BLAKE2B 42b98caa71139cc3893a99216caa5eb3553d37419c24ddf1f8f21798652ef7c61611d887b7b4d2d0d68a6060a7e96c2847f0858d1c9445ad224a586db864d1c2 SHA512 799393c26e105a64fb6e83259f2a4ade3fdddd334056a5bf4f77f7b51eda548687e9fe1de9dad4e95a0258302d63d84a66d2b3e0296643bd96234ec96c31ace3 +DIST botocore-1.40.53.gh.tar.gz 15251620 BLAKE2B ff4e660e6b2ab94e1ddc2f7a8c9a888ebc9be3833f672e49dc7fa9960f51caddf6e1ad5d0a7453a8948bcd016f2bbe995c1a06509341713c863b64e92fef01b0 SHA512 f64a034fa916b7cd49a21a3248b888c63635bafbce3034ca1ee144f80a92ccc94ac7f51cb5a459399449259d2f20d6f39efb126d6c19aa6c8200dd87e190e772 diff --git a/dev-python/botocore/botocore-1.40.53.ebuild b/dev-python/botocore/botocore-1.40.53.ebuild new file mode 100644 index 000000000000..ee8074e67dce --- /dev/null +++ b/dev-python/botocore/botocore-1.40.53.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest index c4666fd9d549..96a4b2ea6195 100644 --- a/dev-python/coverage/Manifest +++ b/dev-python/coverage/Manifest @@ -1,5 +1,7 @@ DIST coverage-7.10.5.tar.gz 821662 BLAKE2B 36fa0ecff03d140b36efdc93ddfdd8ae9d2cd3aa7a414a73afcda6e1f23c3f02ce5b36cf93250d83b2733c00a438984d7b2428454998238942ca44e0af1ca4a8 SHA512 885454d5b38f523e968df953e7008da23c110c7a8af42aab2fd1c8882784acd587f7f97a0f28bc58b14792ba5177e670683206f413ad4552c632b689b90aac2c DIST coverage-7.10.6.tar.gz 823736 BLAKE2B fbe443d98426213c275b3c32c6f0457f0e7994477da9a6fe95140c6876dfb42499e95d1239dc8e7ed796b17b81b9296e7a72962bf2b322fe97a09c6b8d4c6e7d SHA512 9b53246be27e009ba8639da2fdb9c975d743da6782f1d20a9f0da3ab07f4ebf2747124f3bb75c2694685c5b7fcdd09377a4611c85819123b9cc4defcf05c1cc3 DIST coverage-7.10.7.tar.gz 827704 BLAKE2B a1361d23e192c6207a817d3cf0d6fc269292b6a5fe7c6d8ef453c554c64ba338449e75503aad912e61f34fb32046839760d1768dc13a718f625ea7748e0e8fca SHA512 3fd187c014d1eb3edd3aa91ff1946a325daa0cdec02f61d19fd8acd5bd65f8b3cb21d48a8875bce2f47543a1494b02f8d96070045a37d928c8e76d8563e776a1 +DIST coverage-7.11.0.tar.gz 811905 BLAKE2B 58ddf4598171d25363fbef08b19dfbb101d77f59bf61e7101b5c5f9f4fe71ca458d04b934ffbd1661f4e343e7b48988748a26259dfc294cd8133b918fa155af6 SHA512 35eb8239a7a32570d6d04f537ee22a0edc63f4ae621595a3404fc267919d7b468cad1398c1a7c8d320cf449dd8ddcfe03900812365e135e0839b120e142a364a +DIST coverage-7.11.0.tar.gz.provenance 9413 BLAKE2B 8a864e66d1ec7e96b334264bcc93a394ab44c33d192b4feab14126007425793c1e3c6c018f07026604ab135422aa372c581b1672e71ba38182a1da81a8403a97 SHA512 c01b2a2fdca8ce56e0f69eaf412a006a08f22c227abf74f1c30eab8ae1d33e2cf88df63abacb44fee3cc3d4e00247e7c78814b09cfacd3b747e762e65a3288b2 DIST coverage-7.9.1.tar.gz 813650 BLAKE2B 42ea77277135a98d812c690aad744db427d6832ff01af68197015e4ff932c7ca88d2f804c0bceaca28b86087cb24245e5f57600444d064f1f008fc8b0a2353b5 SHA512 0bccbf802cdbd7d4df7c88cd7573466b024f7fb4cbf41fc5166a3e2dd70cd107caad01529971eb061cd571faadb342de057d0929f02b3b3e513666c052ecf591 DIST coverage-7.9.2.tar.gz 813556 BLAKE2B 6ed57a0011f7d05634c2a5c1e023f9ccfbb40d9a4bdd9011f2eaf03b658468a18df2044417f15108ec6429b6b62c63cd6a73e31904c0266137a4c6e65557207f SHA512 33ace642aada4b0ff5a72c3df628fe60fcc8b5f586f4851bfecc2ffa237cf019cbd78413c133aa8454e168b8895bfbc1363b722cf072eaf90979935b1982662c diff --git a/dev-python/coverage/coverage-7.11.0.ebuild b/dev-python/coverage/coverage-7.11.0.ebuild new file mode 100644 index 000000000000..fa0e0a269ba6 --- /dev/null +++ b/dev-python/coverage/coverage-7.11.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/nedbat/coveragepy +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+),sqlite(+)" + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="Code coverage measurement for Python" +HOMEPAGE=" + https://coverage.readthedocs.io/en/latest/ + https://github.com/nedbat/coveragepy/ + https://pypi.org/project/coverage/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="+native-extensions" + +BDEPEND=" + test? ( + >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( hypothesis pytest-{rerunfailures,xdist} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_compile() { + if ! use native-extensions; then + local -x COVERAGE_DISABLE_EXTENSION=1 + fi + + distutils-r1_python_compile +} + +test_tracer() { + local -x COVERAGE_CORE=${1} + einfo " Testing with the ${COVERAGE_CORE} core ..." + epytest -o addopts= "${@:2}" tests +} + +python_test() { + local EPYTEST_DESELECT=( + # broken because of pytest plugins explicity loaded + tests/test_debug.py::ShortStackTest::test_short_stack{,_skip} + # these expect specific availability of C extension matching + # COVERAGE_CORE (which breaks testing pytracer on CPython) + tests/test_cmdline.py::CmdLineStdoutTest::test_version + tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer + # mismatch of expected concurrency in error message + # TODO: report upstream? + tests/test_concurrency.py::ConcurrencyTest::test_greenlet + tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code + # packaging tests, fragile to setuptools version + tests/test_setup.py + # looks like a difference in exit status reporting? + # https://github.com/nedbat/coveragepy/issues/2008 + tests/test_process.py::ProcessTest::test_save_signal_usr1 + ) + local EPYTEST_IGNORE=( + # pip these days insists on fetching build deps from Internet + tests/test_venv.py + ) + + "${EPYTHON}" igor.py zip_mods || die + + local -x COVERAGE_TESTING=True + # TODO: figure out why they can't be imported inside test env + local -x COVERAGE_NO_CONTRACTS=1 + + local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)} + local xdist_args=() + if [[ ${jobs} -gt 1 ]]; then + # required upstream to avoid cross-test conflicts + xdist_args+=( --dist=loadgroup ) + fi + + local prev_opt=$(shopt -p nullglob) + shopt -s nullglob + local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so ) + ${prev_opt} + + if [[ -n ${c_ext} ]]; then + cp "${c_ext}" coverage/ || die + test_tracer ctrace "${xdist_args[@]}" + fi + + test_tracer pytrace "${xdist_args[@]}" + + case ${EPYTHON} in + *3.11) + ;; + *) + # available since Python 3.12 + test_tracer sysmon "${xdist_args[@]}" + ;; + esac + + if [[ -n ${c_ext} ]]; then + rm coverage/*.so || die + fi +} diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest index f37841bfce51..cb186c668814 100644 --- a/dev-python/humanize/Manifest +++ b/dev-python/humanize/Manifest @@ -1,2 +1,4 @@ DIST humanize-4.12.3.tar.gz 80514 BLAKE2B 23faa42db0005376509c7b756613ee139a0ddb2038d61be90e35ba85cc61bd47dda32edbd61e98ad8192cd29863b7a97b211c7192e9ba1cf3f7df4cea1959fc9 SHA512 530ea137f0176e1765eabf9adca353fb1616e3701f6e618822cffa70f731f59854dc629f17188edbb9dc82f37b80e643e87508ea0ef8c51ec889e5ad0c0c1dfe DIST humanize-4.13.0.tar.gz 81884 BLAKE2B 9c149c537e6cca5b21add970b3ec00124ad814cbb8c09dc9e4094bb1ba62031de80a81a5690e10ea8d08986925e1401ffd2d0f0df3c0eba49ebad7d68301b30c SHA512 9992907a55cd691060ec9f0cdd630830d3f5aa219b0afa521c05cdcdf34ad52858f1848eb8a0521bc00e1b4f2f95f35dfcf17c528f83071ed5281e9c04be711e +DIST humanize-4.14.0.tar.gz 82939 BLAKE2B 370df0ff2a518eb0931957ff468d2977f6f063f2497afd38608fdfb9596411a2bb5063cffc81f313280782db1994753266d6581ffe9d40df005a2a6d7ed50785 SHA512 af2b5247a4c87748e53228c181905e500f4607dcafb7dfafffef94b57eae639c3e6b96e8f8cc137611ffa98d27da2fd2479748a9c2caaaff26c1a56fc1639d91 +DIST humanize-4.14.0.tar.gz.provenance 9459 BLAKE2B 4542cd3c8afb921a185e0a750426c5f925f2cb1f108c39eb7294954005594e4d7d56e812e5ca813c9dd307c86539739980a7c2d026789a94bc25c77dcc962423 SHA512 90fed28bf27bd7a3835d4e005c80cc5e9576d34ddc4f12c23bd270444783e311cb11976ff2a2fd17d0d58f7f6f22b6dfb96c05098cd469b9402af96acbc8f45a diff --git a/dev-python/humanize/humanize-4.14.0.ebuild b/dev-python/humanize/humanize-4.14.0.ebuild new file mode 100644 index 000000000000..558713fe9963 --- /dev/null +++ b/dev-python/humanize/humanize-4.14.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/python-humanize/humanize +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Common humanization utilities" +HOMEPAGE=" + https://github.com/python-humanize/humanize/ + https://pypi.org/project/humanize/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 4120ffea133c..5aa50296f7ba 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -6,3 +6,4 @@ DIST hypothesis-6.140.0.gh.tar.gz 9624664 BLAKE2B 9600322c753095501d64595030dc2a DIST hypothesis-6.140.2.gh.tar.gz 9625203 BLAKE2B f9ca33c1ad7522ab0250e7b453aba0d4c5ae0322e478d6199e26a084b75f6a43358fb2e3b2344bf1f9fd44f8707d554b159705e26f26eced97ad0d475687b1cf SHA512 13024dfc4a633fb973e4846122bfc1e25ff45fc7c4b5e2696c6efc548d827c82a253662586cd79aaae94f6d81e4b00bd5c41cca71f0c7546296fed0e4ba4780e DIST hypothesis-6.140.3.gh.tar.gz 9625658 BLAKE2B 4316d4aa5f4b2b2a476c6d978d0934450b95f8260efefe6b8d2b2551af504ba2bbff761ac89bdd60fa1b7cc35b6d746c1f24419b56548aa33476960157ec078e SHA512 49be610c4c0af443a9c29262e04649fa4d3a810c386ccc4f570aac82f0289bab34718ae09e80bf10bb91654104b0d57c829d6b4facb8a22da09bfb921de15762 DIST hypothesis-6.141.0.gh.tar.gz 9626287 BLAKE2B 0bf4fcc59f7212a4ba78e052527eda19937d31bc22d311a72ee1fb934bf28fd2b1d292438e1dcd3177457b17337f6bfa8d06ee275f47cd1ee129e68833ef5f97 SHA512 f1b9125669e163c98f9c95767129d149bdd357db5adba66bb6867feffb14ab26395d1494bdd437ff18ef41e798ecda04952050b570ce9ff2e487387ca7d8d79d +DIST hypothesis-6.141.1.gh.tar.gz 9626528 BLAKE2B f7a45ec59649a616cec57f4ceb4d956a4a3c5bf7bdf264873b5244720118160b6b80309336fd58ca6714e6ba70aa9592f5e68eea4f20cd127840bbadb43d68fe SHA512 efec8874ca2f492f067156b18486deb3930b319d69f04decb99de1c01bd3b9cbcd086243b5be5620711486d94b127043a7311019adaa6b10b597f3d079aecb36 diff --git a/dev-python/hypothesis/hypothesis-6.141.1.ebuild b/dev-python/hypothesis/hypothesis-6.141.1.ebuild new file mode 100644 index 000000000000..69da4112ef36 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.141.1.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + python3.13t) + EPYTEST_DESELECT+=( + # TODO: missing warning + 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns' + ) + ;; + python3.14*) + EPYTEST_DESELECT+=( + 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]' + 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]' + hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds + hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence + hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression + hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types + hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic + hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic + hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense + hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns + hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope + hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type + hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest -o filterwarnings= tests/{cover,pytest,quality} +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest index 33feea618aa9..473a62cde521 100644 --- a/dev-python/inline-snapshot/Manifest +++ b/dev-python/inline-snapshot/Manifest @@ -4,3 +4,5 @@ DIST inline_snapshot-0.29.2.tar.gz 2596750 BLAKE2B 7aa549af79a6b807dac628a5d7e6e DIST inline_snapshot-0.29.3.tar.gz 2596900 BLAKE2B de126916e4413245848d467042dd6cbc79e6d43225204a2df8cb96dae0dffcc822b9e26c3024fed45ea82e90c4ef5db60b6162f073df86d4d978f388685f644f SHA512 d0a6538d1fd192e149aeb68435c2b2e2b56d2ecaba776d43d2ccebb566ab15b32ff57aacfbeaa0d941d54e4a6c1146b514f36742777ccd9636db016ed98e288b DIST inline_snapshot-0.29.4.tar.gz 2598478 BLAKE2B e9dea3721042b4cee764cc9ea79111dbbf68edc274e2b9ad30d570378b180ff0e3c3d42a914168d879b5757eb429cbd0ea1f8368bb64405ee010cb2a35063d54 SHA512 ce7e8ba83e348d1d078dc1c5d50c86b894b62cbc2c474559ec1460b73d1542aa977f0d6d6487cb3c50f17102d05808e9b579c8e051c8a6e33376a078d04e2f04 DIST inline_snapshot-0.29.4.tar.gz.provenance 9499 BLAKE2B b54184f05942c3b965fffd5cabbaa140b63e9478397bce6d4ba4e6875cb75d3349bc0743fbb05d70e13a6ab0cf85d1909b3169a5c9f4bb82b294fd9463a54d30 SHA512 d3512cb09708b241ab5a8e13f4561ac02ebd565f5c9cab858fd3ba39b805fc53e46f1758cf9a27806d2965bf0bb082f2a0151b7cd2e3d7dadd4d16d13e11accb +DIST inline_snapshot-0.30.0.tar.gz 2598970 BLAKE2B 41d4fef8d3c27037d69b1ab1b411040af2d2a90755996488605323526614811ce5321db9231c9ff8095ab75ed778a71363b4f9a47c54b7479c5d0fe9a1ed4ce2 SHA512 2eb143bd2f1c73bf831a5ad3213958c0f98ea4603dd4315ed51233334923f27c106c8bf0f4c78ed0279c2cdd3dbae8326ccd05dd9ad991375a8f0e6497e9c941 +DIST inline_snapshot-0.30.0.tar.gz.provenance 9291 BLAKE2B e5297037e80ec97cea84895d1aca6faa6398be2b5344dbc384f3846a1fd6545f3599a3c05d0eea0c15dc12d9e0d31fc7af0ebdf1720775a2ebcecd1af6b276a3 SHA512 de61f68d54ea64d7dfa491d04d835077ddf6f8f360124fd86f19f18fa00af5adf38d05e33adf1da58b78a2c72747dfda23ae1dbf03e16c6bad240c1e09a08039 diff --git a/dev-python/inline-snapshot/inline-snapshot-0.30.0.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.30.0.ebuild new file mode 100644 index 000000000000..0a032b3e9337 --- /dev/null +++ b/dev-python/inline-snapshot/inline-snapshot-0.30.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/15r10nk/inline-snapshot +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Create and update inline snapshots in your Python tests" +HOMEPAGE=" + https://15r10nk.github.io/inline-snapshot/ + https://github.com/15r10nk/inline-snapshot/ + https://pypi.org/project/inline-snapshot/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}] + >=dev-python/executing-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}] + >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/attrs[${PYTHON_USEDEP}] + >=dev-python/black-23.3.0[${PYTHON_USEDEP}] + >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/mypy[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/pydantic-2[${PYTHON_USEDEP}] + >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}] + >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # requires pyright + 'tests/test_typing.py::test_typing_args[pyright]' + 'tests/test_typing.py::test_typing_call[pyright]' + # TODO + tests/test_formating.py::test_format_command_fail + ) + + local -x COLUMNS=80 + local -x PYTHONPATH=${S}/src + epytest +} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index d12ab8aeaca8..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch new file mode 100644 index 000000000000..637368d2f237 --- /dev/null +++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch @@ -0,0 +1,13 @@ +Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." + +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ setup( + author_email='michal.danilak@gmail.com', + url='https://github.com/Mimino666/langdetect', + keywords='language detection library', +- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], ++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], + include_package_data=True, + install_requires=['six'], + license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 271137de443d..7100f5f39dd8 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,4 +19,6 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" +PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) + distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..c0f74ac187e2 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,11 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>pastalian46@gmail.com</email> + <name>Takuya Wakazono</name> </maintainer> - <upstream> - <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest index 42d272decc56..84157d59d332 100644 --- a/dev-python/mkdocs-material/Manifest +++ b/dev-python/mkdocs-material/Manifest @@ -1,2 +1,3 @@ DIST mkdocs-material-9.6.20.gh.tar.gz 14933529 BLAKE2B bb4bd67e3d29d3528406bfd21f34614b8aa11b442714711c96589afbb3f758a90eaefa7a4784c0ab4d5c6befbb4e1d1625c702237242b488a0c7fc63be367c44 SHA512 2336ede01937aff3bc47117deb96423d2c115430a77343f3de3668898d47240e6d06286b76d9342ac31eac5369cdc9b7f4bf80cbf3a5b49c9dec76c6a547aca3 DIST mkdocs-material-9.6.21.gh.tar.gz 14941581 BLAKE2B cfb1182279ec2a5ac7fbb6970b9f6724893f17b529d2857d0cf8dfa4d0527c3527a49235cb29a636dc5110ca57279206904f94c36012d14156f4b055f0a6857c SHA512 5cc2f0da266627b901788ecccd759bff535bfed83086fcfe73da92dbc0789c1c77286ae37fcfb07385bc7fdebbd1770e709cf1ee2746e11f36325add14fa97ed +DIST mkdocs-material-9.6.22.gh.tar.gz 14941613 BLAKE2B bc7a76f70d3813dc3a7881703335fa94ff19ca24aca1a69e6b5800aefc6f62d26b4c912f652dfdf045ec11e9623a743c5a2058118d987a9fdf693b337428be09 SHA512 e516fb0400edbc1f59befb43d81245baa97d6e95b3538e19e53845816dc4b13833907df910a10dbab93fcf8df600bccd4fff099cc01f762767882d8d5655ae47 diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.22.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.22.ebuild new file mode 100644 index 000000000000..13045bd1c123 --- /dev/null +++ b/dev-python/mkdocs-material/mkdocs-material-9.6.22.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +DOCS_BUILDER="mkdocs" +DOCS_DEPEND=" + dev-python/mkdocs-material-extensions + dev-python/mkdocs-minify-plugin + dev-python/mkdocs-redirects +" + +inherit distutils-r1 docs + +DESCRIPTION="A Material Design theme for MkDocs" +HOMEPAGE=" + https://github.com/squidfunk/mkdocs-material/ + https://pypi.org/project/mkdocs-material/ +" +SRC_URI=" + https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +# bundled icons +LICENSE+=" Apache-2.0 CC0-1.0 CC-BY-4.0 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="social" + +RDEPEND=" + >=dev-python/babel-2.10.3[${PYTHON_USEDEP}] + >=dev-python/colorama-0.4[${PYTHON_USEDEP}] + >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}] + >=dev-python/lxml-4.6[${PYTHON_USEDEP}] + >=dev-python/markdown-3.2[${PYTHON_USEDEP}] + >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}] + >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}] + >=dev-python/pygments-2.16[${PYTHON_USEDEP}] + >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}] + >=dev-python/readtime-2.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/requests-2.26[${PYTHON_USEDEP}] + social? ( + >=dev-python/pillow-10.2[${PYTHON_USEDEP}] + >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}] +" +# mkdocs-material-extensions depends on mkdocs-material creating a circular dep +PDEPEND=" + >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}] +" + +PATCHES=( + # simplify pyproject to remove extra deps for metadata + "${FILESDIR}/${PN}-8.5.7-simplify-build.patch" + # import backrefs only when used (i.e. never) + "${FILESDIR}/${PN}-9.6.7-backrefs.patch" +) + +src_prepare() { + distutils-r1_src_prepare + echo "__version__ = '${PV}'" > gentoo_version.py || die +} diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index 18f38419a41b..1ff253e65f07 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -3,3 +3,5 @@ DIST numpy-2.2.6.tar.gz 20276440 BLAKE2B 597ebbc72b2b3901bba4e0946f4f63ff13baf3b DIST numpy-2.3.1.tar.gz 20390372 BLAKE2B a52f39f8b7e4cf75bed3bbf32b92be7d118c7bab0b3cdbb1428b24daf71d4813641ade390bb20848156fc0ead3768383f272b755d130fb36348859b8c435c954 SHA512 aedb917cc6d8fcb923edb5b32e8b84bddb31fcf0159cfbda88b7ea9a5bc9e0ef58f27391746c6e9140777daf928c3e9de2a73758555130e5c00725d7082f7c2a DIST numpy-2.3.2.tar.gz 20489306 BLAKE2B 66a683a62daf3971c01a484d6e8c56e592744b93ec2648b61246d9969b02c62256153fb7c643002d7f82ebf1bfd5c9f34c14449b9daf85007e6cb854e97852dd SHA512 8f315a681704f1a18712828b5b9d5cd602576230fb08ff00c293ce129656faa49c9e01a446989dbd4d678166975432b531915e4838be66655ead1f0fc05be861 DIST numpy-2.3.3.tar.gz 20576648 BLAKE2B 285c3ea4852618c9a7af339f117b12e06c736a765c6b97437ac8b2c0c02085126a89cc8d6d9e0e6f7d5ebb69d63a972c1619bf6c407197882e01c7cddfb8d79b SHA512 5555f68d75342054c240695a7a7aaaaec09c45e04965b4100732a7f8f49f53a203ec438e35c12040481d6ee9f4649e43c83ac96fdc08526cdcf93463b9fe7bd9 +DIST numpy-2.3.4.tar.gz 20582187 BLAKE2B 268754c3e50049a9a3c8a9d5bc3159a7bf635bf62ceacfd46c51cd860dbcbad6bbe790f13ea9f2ba8292e0ea3eedb4d597e4a97060cba57cd5daa263b2fe2a31 SHA512 62d1b2be15e8b23487d384438bbffa26c1bd25ee7b800f4f7cbe3cff3f7d196329efdfdd08e66acc557cea050cc125437ca621cd84a9d06aab497060ab36949a +DIST numpy-2.3.4.tar.gz.provenance 9933 BLAKE2B f25013995927114ba965e6297725d3d0cfdf70a2080e90c05b7297c8451b1cfe6a03bf81dc9cfb678e64ec4eaf0ec7fd3892fdf2ebb75ddb052bbf451b44870f SHA512 1689825964ca90f5af3ff2493df889b61b8ec4ca6e36b8c8ab1fede5ddac8f2606109c9434163dde92e9a6f0b0f7f2c328ffb322dc8f19b69b5de4a1c5a35cd7 diff --git a/dev-python/numpy/numpy-2.3.4.ebuild b/dev-python/numpy/numpy-2.3.4.ebuild new file mode 100644 index 000000000000..e92bbccc5868 --- /dev/null +++ b/dev-python/numpy/numpy-2.3.4.ebuild @@ -0,0 +1,358 @@ +# 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 +PYPI_VERIFY_REPO=https://github.com/numpy/numpy-release +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+)" +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 pypi + +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE=" + https://numpy.org/ + https://github.com/numpy/numpy/ + https://pypi.org/project/numpy/ +" + +LICENSE="BSD" +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# +lapack because the internal fallbacks are pretty slow. Building without blas +# is barely supported anyway, see bug #914358. +IUSE="big-endian +cpudetection index64 +lapack" + +# upstream-flag[:gentoo-flag] +ARM_FLAGS=( neon{,-fp16} vfpv4 asimd{,hp,dp,fhm} sve ) +PPC_FLAGS=( vsx vsx2 vsx3 vsx4 ) +X86_FLAGS=( + sse{,2,3,4_1,4_2} ssse3 popcnt avx{,2} xop fma{3,4} + f16c avx512{f,cd,pf,er,dq,bw,vl,ifma,vbmi} + avx512_{vpopcntdq,4vnniw,4fmaps,vbmi2,bitalg,fp16,vnni} +) +IUSE+=" + ${ARM_FLAGS[*]/#/cpu_flags_arm_} + ${PPC_FLAGS[*]/#/cpu_flags_ppc_} + ${X86_FLAGS[*]/#/cpu_flags_x86_} +" + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8[index64(-)?] + >=virtual/lapack-3.8[index64(-)?] + ) +" +BDEPEND=" + ${RDEPEND} + >=dev-build/meson-1.5.2 + >=dev-python/cython-3.0.6[${PYTHON_USEDEP}] + lapack? ( + virtual/pkgconfig + ) + test? ( + $(python_gen_cond_dep ' + >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] + ' 'python*') + dev-python/charset-normalizer[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # https://bugs.gentoo.org/925367 + vrndq_f32 +) + +EPYTEST_PLUGINS=( hypothesis pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/numpy/numpy/pull/29459 + "${FILESDIR}"/${PN}-2.3.2-no-detect.patch + # https://github.com/numpy/numpy/pull/29579 + "${FILESDIR}"/${PN}-2.3.2-arm-asimddp.patch +) + +has_all_x86() { + local flag + for flag; do + if ! use "cpu_flags_x86_${flag}"; then + return 1 + fi + done + return 0 +} + +python_configure_all() { + local cpu_baseline=() + local map flag + case ${ARCH} in + arm) + # every flag implies the previous one + for map in NEON:neon NEON_FP16:neon-fp16 NEON_VFPV4:vfpv4; do + if ! use "cpu_flags_arm_${map#*:}"; then + break + fi + cpu_baseline+=( "${map%:*}" ) + done + ;& + arm64) + # on 32-bit ARM, ASIMD implies all NEON* flags + # on 64-bit ARM, they are all linked together + if use arm64 || + [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == NEON_VFPV4 ]] + then + cpu_baseline+=( $(usev cpu_flags_arm_asimd ASIMD) ) + fi + + # these two imply ASIMD + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMD ]]; then + for flag in dp hp; do + cpu_baseline+=( + $(usev "cpu_flags_arm_asimd${flag}" "ASIMD${flag^^}") + ) + done + fi + + # these two imply ASIMDHP + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMDHP ]]; then + for flag in asimdfhm sve; do + cpu_baseline+=( + $(usev "cpu_flags_arm_${flag}" "${flag^^}") + ) + done + fi + ;; + ppc64) + # every flag implies the previous one + for flag in '' 2 3 4; do + if ! use "cpu_flags_ppc_vsx${flags}"; then + break + fi + cpu_baseline+=( "VSX${flag}" ) + done + ;; + amd64|x86) + # every flag implies the previous one + for flag in sse{,2,3} ssse3 sse4_1 popcnt sse4_2 avx; do + if ! use "cpu_flags_x86_${flag}"; then + break + fi + flag=${flag/_} + cpu_baseline+=( "${flag^^}" ) + done + + # these imply AVX + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == AVX ]]; then + for flag in xop fma4 f16c; do + if use "cpu_flags_x86_${flag}"; then + cpu_baseline+=( "${flag^^}" ) + fi + done + fi + + # another chain started on implying F16C + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == F16C ]]; then + for flag in fma3 avx2 avx512f avx512cd; do + if ! use "cpu_flags_x86_${flag}"; then + break + fi + cpu_baseline+=( "${flag^^}" ) + done + fi + + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == AVX512CD ]]; then + # upstream combines multiple instructions into per-CPU sets + local -A avx512_mapping=( + [AVX512_KNL]="avx512pf avx512er" + [AVX512_KNM]="avx512_vpopcntdq avx512_4vnniw avx512_4fmaps" + [AVX512_SKX]="avx512dq avx512bw avx512vl" + [AVX512_CLX]="avx512_vnni" + [AVX512_CNL]="avx512ifma avx512vbmi" + [AVX512_ICL]="avx512_vbmi2 avx512_bitalg" + [AVX512_SPR]="avx512_fp16" + ) + + # 1. AVX512CD -> AVX512_KNL -> AVX512_KNM + if has_all_x86 ${avx512_mapping[AVX512_KNL]}; then + cpu_baseline+=( AVX512_KNL ) + if has_all_x86 ${avx512_mapping[AVX512_KNM]}; then + cpu_baseline+=( AVX512_KNM ) + fi + fi + # 2. AVX512CD -> AVX512_SKX -> [AVX512_CLX, AVX512_CNL] + if has_all_x86 ${avx512_mapping[AVX512_SKX]}; then + cpu_baseline+=( AVX512_SKX ) + if has_all_x86 ${avx512_mapping[AVX512_CLX]}; then + cpu_baseline+=( AVX512_CLX ) + fi + if has_all_x86 ${avx512_mapping[AVX512_CNL]}; then + cpu_baseline+=( AVX512_CNL ) + fi + fi + # 3. [AVX512_CLX, AVX512_CNL] -> AVX512_ICL -> AVX512_SPR + if [[ ${cpu_baseline[-1]} == AVX512_CNL && + ${cpu_baseline[-2]} == AVX512_CLX ]] + then + if has_all_x86 ${avx512_mapping[AVX512_ICL]}; then + cpu_baseline+=( AVX512_ICL ) + if has_all_x86 ${avx512_mapping[AVX512_SPR]}; then + cpu_baseline+=( AVX512_SPR ) + fi + fi + fi + fi + ;; + *) + cpu_baseline=MIN + ;; + esac + + DISTUTILS_ARGS=( + -Dallow-noblas=$(usex !lapack true false) + -Duse-ilp64=$(usex index64 true false) + -Dblas=$(usev lapack $(usex index64 cblas64 cblas)) + -Dlapack=$(usev lapack $(usex index64 lapack64 lapack)) + -Dcpu-baseline="${cpu_baseline[*]}" + -Dcpu-baseline-detect=disabled + # '-XOP -FMA4' is upstream default, since these are deprecated + -Dcpu-dispatch="$(usev cpudetection 'MAX -XOP -FMA4')" + ) + + # bug #922457 + filter-lto + # https://github.com/numpy/numpy/issues/25004 + append-flags -fno-strict-aliasing +} + +python_test() { + # We run tests in parallel, so avoid having n^2 threads in lapack + # tests. + local -x BLIS_NUM_THREADS=1 + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + local -x OPENBLAS_NUM_THREADS=1 + + # don't run tests that require more than 2 GiB of RAM (per process) + local -x NPY_AVAILABLE_MEM="2 GiB" + + local EPYTEST_DESELECT=( + # Very disk-and-memory-hungry + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load + + # Precision problems + numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals + + numpy/typing/tests/test_typing.py + + # Flaky, reruns don't help + numpy/f2py/tests/test_crackfortran.py + numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli + numpy/f2py/tests/test_data.py::TestData{,F77}::test_crackedlines + ) + + if [[ $(uname -m) == armv8l ]]; then + # Degenerate case of arm32 chroot on arm64, bug #774108 + EPYTEST_DESELECT+=( + numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features + ) + fi + + case ${ARCH} in + arm) + EPYTEST_DESELECT+=( + # TODO: warnings + numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception + + # TODO + numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers + numpy/f2py/tests/test_kind.py::TestKind::test_real + numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision + + # require too much memory + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + ) + ;; + hppa) + EPYTEST_DESELECT+=( + # https://bugs.gentoo.org/942689 + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]" + "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]" + numpy/f2py/tests/test_kind.py::TestKind::test_real + numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision + numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles + numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union + ) + ;; + ppc|x86) + EPYTEST_DESELECT+=( + # require too much memory + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + ) + ;; + esac + + if [[ ${CHOST} == powerpc64le-* ]]; then + EPYTEST_DESELECT+=( + # long double thingy + numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128 + ) + fi + + if use big-endian; then + EPYTEST_DESELECT+=( + # ppc64 and sparc + numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases + numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]" + ) + fi + + if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then + # depends on importing numpy.random from system namespace + EPYTEST_DESELECT+=( + 'numpy/random/tests/test_extending.py::test_cython' + ) + fi + + if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then + # msvccompiler removal + EPYTEST_DESELECT+=( + numpy/tests/test_public_api.py::test_all_modules_are_expected_2 + numpy/tests/test_public_api.py::test_api_importable + ) + EPYTEST_IGNORE+=( + numpy/distutils/tests/test_mingw32ccompiler.py + numpy/distutils/tests/test_system_info.py + ) + fi + + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} + +python_install_all() { + local DOCS=( LICENSE.txt README.md THANKS.txt ) + distutils-r1_python_install_all +} diff --git a/dev-python/patiencediff/Manifest b/dev-python/patiencediff/Manifest index a024d07a4ff8..3a13afbe50b0 100644 --- a/dev-python/patiencediff/Manifest +++ b/dev-python/patiencediff/Manifest @@ -1 +1,22 @@ +DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08 +DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 +DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9 +DIST libc-0.2.177.crate 792045 BLAKE2B ecea1ade26b0faa9cb5fb025e237f3a59dfb562e7b3de3682b42a41038b1d436e83b42b53158c1fc1cc4b1cc64ab55ba1497e869ae850a677c089fcce9138912 SHA512 9d737091dba80244137987d06a52ffcd44a968c96b59ae9af9cfa40c38cb9675d023f6324fbf25c436ce1b9592ebf26248f85b0a7c97ee02360ca624b0efb3e0 +DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa +DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 +DIST patiencediff-0.2.1.crate 21717 BLAKE2B 839dab29b4a5f830df1edc2eb9b46373e8adf6a2f2474b3cb7622899e5cad4de9d19d2b6ace3e6b44d3772a934c3469c85cdd9d2bb31d138f8a28edcd52e7ab3 SHA512 500b3f42a6fd936a3a2fa6b65f5ea0f6b8e37f50be5f002dd2ae76d2138765e45547a6aac68586ded2d5970609e5c2238ce0f5b2fb5b7396e7ca8914f0c1c2c1 DIST patiencediff-0.2.15.tar.gz 27483 BLAKE2B 34b2303be6c65975d9e2f93b089853883db91d7b0570784814e25f74a964427757ad0342db40c8ed02310e0243e51e42edeb1c2787377feff3280c3bd8c5ca80 SHA512 d0cecf461075e3965db16624978b260660bd3444e83fc6121d3efebb96d31b323b7b61fc9e65a4a0098a95284a342a2f321b92f2073c0264cdb1f4b05771938d +DIST patiencediff-0.2.18.tar.gz 24521 BLAKE2B 6b0fd39874b2fc95ab0b964471a129fac3e80be979a3683a14672508ed9e3ec74c2c7e805796e8f33bc7f43bcc2ee3b8dadadaa4c6482d23d261f362ff0e573a SHA512 9eaddfb4533bb213f982b83c4d82fc9235d32b587820af9b1575395ce8b53bb05818b16cb9e721eb41880ffa4cf614f420332aeb2c2823f4fe78372fa629c2e7 +DIST patiencediff-0.2.18.tar.gz.provenance 9668 BLAKE2B ba3581f670a4718310effdb9d12e8ed1c064add4d1f39ae2dd67538171bf1a6c76fbbc91f64d2ac04d962a2314046777263e17df473c99e21dc33470971c5438 SHA512 4eb8229d71937b66217601385891ebe7b3703e6547f49b3efffc5cf5e2841055917f942551314587d8b921541b4a2820d5be046c25e40d387a5dfe16fbd40d0c +DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1 +DIST proc-macro2-1.0.101.crate 53886 BLAKE2B db566c4fb6a197e0aa45cc074310853eaa24ceeafe9fb91f2014ba47cf6b1cbc34e4e9391456c946587540c8e270e1a37f5195cf03bd15ea5d4f171bba9772db SHA512 3171c807d24371da2931f9c706fb3129bb9bf3ac40418e5d14cfc372baf96e5fee9ede72091163858e3ba0b4f88594efa1031b0bb7128ca68e7b847dead6856c +DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194 +DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b +DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e +DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43 +DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367 +DIST quote-1.0.41.crate 31408 BLAKE2B 9d496e0878fc329ac9492ecbd470e762bd807ec8ca4e17a856b4d1c776351434778f519977137a67b8c143ee60b20774c09768d480cff51b22f2cfcb364a20d9 SHA512 64374d70eb29f7d7e02e535ba383586d93f68a9b6464c79840fa6c42a1ac47be7ba14e415a40e158f845e486ed33d5c564c882913780d296360b30a56301ff7e +DIST syn-2.0.106.crate 301514 BLAKE2B 6b28b30ee067c23dc4bd1b38365d14c1700245c974e785173965b0822301966d642b36bdda25210d61f17a99fc71eb81e29a56c89d1649773908bae32778fb1f SHA512 e07e1058770fa3f1039eaf335340cefb597c0dd11bb90fec9fa777ca5815d0e0bb1711bb4db52cac77e205dd68fbe2bce0e1aa9895c2a52a1ea6d7758d13424c +DIST target-lexicon-0.13.3.crate 28498 BLAKE2B 397315667737abde41949081f8377f704c3a1105790162249a9f0c08b60f012e67d66550e9063d900ac98f5191d13c5ed23d1a8045f99373e7a673a3cfc029e7 SHA512 23422df6edb2a8cb0a9f048864faf76ccb27d6e97fbed7b208b77206941b196f155896a0381150e387142e976439a0a296dcf4cbb4df6bc0e11c65f97f979443 +DIST unicode-ident-1.0.19.crate 47480 BLAKE2B d1b9d26833fcd1f3a8498abe2f4ba4202e4547315e48aa927c0f6e4a760c6c7000ff0c18d0cf45af362323c42843d745958c1b0419835f39e13dbc1559487026 SHA512 b17fcf6bffdb4745e0b1bf4983a0dcc4c84f8b4e2c2c618eefbbeae83f94ec75df87b55f9e2dede8c3b4c6e22107fcfc589475c0cbc2c58dfb8630db8d362183 +DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b diff --git a/dev-python/patiencediff/patiencediff-0.2.18.ebuild b/dev-python/patiencediff/patiencediff-0.2.18.ebuild new file mode 100644 index 000000000000..328cc15f34fa --- /dev/null +++ b/dev-python/patiencediff/patiencediff-0.2.18.ebuild @@ -0,0 +1,71 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/breezy-team/patiencediff +PYTHON_COMPAT=( python3_{10..14} ) + +CRATES=" + autocfg@1.5.0 + heck@0.5.0 + indoc@2.0.6 + libc@0.2.177 + memoffset@0.9.1 + once_cell@1.21.3 + patiencediff@0.2.1 + portable-atomic@1.11.1 + proc-macro2@1.0.101 + pyo3-build-config@0.26.0 + pyo3-ffi@0.26.0 + pyo3-macros-backend@0.26.0 + pyo3-macros@0.26.0 + pyo3@0.26.0 + quote@1.0.41 + syn@2.0.106 + target-lexicon@0.13.3 + unicode-ident@1.0.19 + unindent@0.2.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Python implementation of the patiencediff algorithm" +HOMEPAGE=" + https://github.com/breezy-team/patiencediff/ + https://pypi.org/project/patiencediff/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-2+" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions GPL-2+ MIT Unicode-3.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/patiencediff/_patiencediff_rs.*.so" + +src_unpack() { + pypi_src_unpack + cargo_src_unpack +} + +src_configure() { + # makes extension builds fatal + export CIBUILDWHEEL=1 +} + +python_test() { + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + eunittest +} diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest index 2b2ce0d48a12..256a376c93c6 100644 --- a/dev-python/pbs-installer/Manifest +++ b/dev-python/pbs-installer/Manifest @@ -6,3 +6,5 @@ DIST pbs-installer-2025.10.07.gh.tar.gz 94098 BLAKE2B af4bc8cd06f65f591f7f681d57 DIST pbs-installer-2025.10.10.gh.tar.gz 96641 BLAKE2B baa508106956df9a5305a15d1e202e2b3fbb9ff82d1e25d0d34798eb233fdfa2a67e2e6777081487ab7a6e5757eb22ba39ddac7a31eaaf83137aef476e5c1166 SHA512 d8d9403b592b536ca1bc7dc73efe30e9de961e4e9711e6f39afb4c4c6485a26377fd3ec63f22a382ded5ffcef6334b7c8f5ba52a5ef6f229d3c5e82d7488aaf9 DIST pbs_installer-2025.10.10.tar.gz 62929 BLAKE2B db9d10f819a93ed8bebaa409f847a2bd4fd052d1582a0746f0a0fda3db69c710c8350df541a55a3ac9c8041c8c5c0a37bae7ba40fe57125b0ad36555e8472799 SHA512 545582365be4b167c7087977e0b706bd6db31742551fcfcefecb0b8fbcf992838ced9315a24a8f5034a29b1cf65b232c7b46c5dca31c14079d64dbf227684a22 DIST pbs_installer-2025.10.10.tar.gz.provenance 9417 BLAKE2B fab923988b1175ad6db5ed1a4e32dd487d755fbbc359cbbd50186cd1c282fed2a658962b055256e98cd74170a90b32e591c31aab8ea31e9e677dc59f546a2171 SHA512 d78ddcd590364ed15b8a2b1cc97fa0edc560248c76f226e698a8a6f1257e288441eba6f5d331d25c63f3b2158f026570df773294060b11724124330ddb17838e +DIST pbs_installer-2025.10.14.tar.gz 63626 BLAKE2B 043053c36750378cde810222ba00b56ff3440939310d77133366bbe9651c8a931850b85271b1fba57ee647ebdfa2df832666bd7d680c8a23952248bd19ed73c6 SHA512 9383b40b159bfe5b3ff41d5791ca61b7f880f42e0dd302195766026449c012e55d3561ae433cc7b859def152203387768aa2a399d00a970e9651a2ea3a0a128d +DIST pbs_installer-2025.10.14.tar.gz.provenance 9758 BLAKE2B 04771a558d84fdafdd67ce9e441cd34446cffc18a7ff51f9ffc0e3b34f73545cf0ce5e98684ee341aa41bc43c598ae172b8fdc16da95998cced8ef04e25a4442 SHA512 86c1c8109dc21719c571f8f94f5b197c1a4385945b5575f3af77ae287a181bc00e8754eac7d630e507207f27d56ff88eecc301a0568a945d3a2f50f84937f581 diff --git a/dev-python/pbs-installer/pbs-installer-2025.10.14.ebuild b/dev-python/pbs-installer/pbs-installer-2025.10.14.ebuild new file mode 100644 index 000000000000..ba26c68ac2a0 --- /dev/null +++ b/dev-python/pbs-installer/pbs-installer-2025.10.14.ebuild @@ -0,0 +1,31 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYPI_VERIFY_REPO=https://github.com/frostming/pbs-installer +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Installer for Python Build Standalone" +HOMEPAGE=" + https://pypi.org/project/pbs-installer/ + https://github.com/frostming/pbs-installer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# httpx is needed to download builds +# zstandard is needed to install them +RDEPEND=" + <dev-python/httpx-1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}] + >=dev-python/zstandard-0.21.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-import-check ) +distutils_enable_tests import-check diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest index 09ccbd135851..af5b38e2111a 100644 --- a/dev-python/pillow/Manifest +++ b/dev-python/pillow/Manifest @@ -1,4 +1,3 @@ -DIST pillow-11.2.1.gh.tar.gz 47086538 BLAKE2B 306c3f4292681caea75835dc972229854e12260190f7e7b63ad5292091fcbb28a16fe102c9b2359fe72b99ad97821fa37715f5934bfe79a983efa81b07abf2a4 SHA512 4b5eee712b6cedf175e251ca29bb6e6dda27491585d343ef71ed416819e91510c4add6be50fe1151ab5f178f4686968de111beff4143a978b7a32519293a5725 DIST pillow-11.3.0.gh.tar.gz 47173056 BLAKE2B 1260c7025e6013c50782024756a0c891d3735bd7d4c1c9d0a89d9eb1c94bd2f762369086f7269d487100e8a0e2678a73012bf29172697c1a1a18e58f9019a9bd SHA512 7d97e623bd41da94dd89a66dc600cea016d0a4f33fbf036175768ea96b2031c1968acf4fc3d9b2835ce93f9533838a9ce68a6579a7397f4aeccafb6032adb3db +DIST pillow-12.0.0.gh.tar.gz 47078314 BLAKE2B 14540f6b016004de56e5736f66f23999ebc2683c4be5053631fd6890502d7416d05e9ef858460fec4473d873893303b51f251ed3b50facb11616211b0629e79c SHA512 816237bf65b65a8f7ec941db6ea07814af602efe6f214e2a253b1d0b6b9dbbe9895a9822c6de67af40bd507e658b8c088707440f689d5fd237985f4ee0f7bfc2 DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b -DIST pillow-test-images-716bdc4adaf97601e5b9a31c9be25f8975381ee1.gh.tar.gz 57416881 BLAKE2B 8ea5fff2231567f957fc911120c1b50610722477da99559639317e4513e4bc4e73b8b49368a6d95c6938333f0c48db7672c3713eaef70494f7896dadd07cc42d SHA512 b00009be0f5ca85ec0c761fa780f0e650c1877b456b9a9426a4d2300a0c5654358495299e129ded411fccb641e4add7e460bcb3ca7be055f3b207407ccefb33c diff --git a/dev-python/pillow/files/pillow-11.2.1-py314.patch b/dev-python/pillow/files/pillow-11.2.1-py314.patch deleted file mode 100644 index b9fe40d47046..000000000000 --- a/dev-python/pillow/files/pillow-11.2.1-py314.patch +++ /dev/null @@ -1,49 +0,0 @@ -https://github.com/python-pillow/Pillow/pull/8948 -https://github.com/python-pillow/Pillow/commit/3c71559804e661a5f727e2007a5be51f26d9af27 - -From c7193f74fc5ce1a0fe1742a0845165024be45ef5 Mon Sep 17 00:00:00 2001 -From: Andrew Murray <radarhere@users.noreply.github.com> -Date: Thu, 8 May 2025 20:10:34 +1000 -Subject: [PATCH 1/3] Updated error message - ---- - Tests/test_image_resample.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Tests/test_image_resample.py b/Tests/test_image_resample.py -index ce6209c0da4..73b25ed51b2 100644 ---- a/Tests/test_image_resample.py -+++ b/Tests/test_image_resample.py -@@ -462,7 +462,7 @@ def test_wrong_arguments(self, resample: Image.Resampling) -> None: - im.resize((32, 32), resample, (20, 20, 20, 100)) - im.resize((32, 32), resample, (20, 20, 100, 20)) - -- with pytest.raises(TypeError, match="must be sequence of length 4"): -+ with pytest.raises(TypeError, match="must be (sequence|tuple) of length 4"): - im.resize((32, 32), resample, (im.width, im.height)) # type: ignore[arg-type] - - with pytest.raises(ValueError, match="can't be negative"): - -From 215069af5ddec6f4d3b92b8bc7554a10e2efb669 Mon Sep 17 00:00:00 2001 -From: Andrew Murray <radarhere@users.noreply.github.com> -Date: Thu, 8 May 2025 22:13:13 +1000 -Subject: [PATCH 3/3] Added support for Python 3.14 - ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 5ecd6b8160a..5d41e27d981 100644 ---- a/setup.py -+++ b/setup.py -@@ -46,7 +46,7 @@ def get_version() -> str: - ZLIB_ROOT = None - FUZZING_BUILD = "LIB_FUZZING_ENGINE" in os.environ - --if sys.platform == "win32" and sys.version_info >= (3, 14): -+if sys.platform == "win32" and sys.version_info >= (3, 15): - import atexit - - atexit.register( - diff --git a/dev-python/pillow/pillow-11.2.1.ebuild b/dev-python/pillow/pillow-12.0.0.ebuild index 8a95ca3fff96..d4406744a448 100644 --- a/dev-python/pillow/pillow-11.2.1.ebuild +++ b/dev-python/pillow/pillow-12.0.0.ebuild @@ -15,7 +15,7 @@ MY_PN=Pillow MY_P=${MY_PN}-${PV} # upstream always fetches from main -TEST_IMAGE_COMMIT="716bdc4adaf97601e5b9a31c9be25f8975381ee1" +TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0" DESCRIPTION="Python Imaging Library (fork)" HOMEPAGE=" @@ -35,7 +35,7 @@ S=${WORKDIR}/${MY_P} LICENSE="HPND" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" RESTRICT="!test? ( test )" @@ -60,13 +60,13 @@ RDEPEND=" dev-python/olefile[${PYTHON_USEDEP}] " BDEPEND=" + dev-python/pybind11[${PYTHON_USEDEP}] >=dev-python/setuptools-77[${PYTHON_USEDEP}] dev-python/wheel[${PYTHON_USEDEP}] virtual/pkgconfig test? ( dev-python/defusedxml[${PYTHON_USEDEP}] dev-python/packaging[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] || ( media-gfx/imagemagick[png] media-gfx/graphicsmagick[png] @@ -74,6 +74,7 @@ BDEPEND=" ) " +EPYTEST_PLUGINS=( pytest-timeout ) EPYTEST_XDIST=1 distutils_enable_tests pytest @@ -81,8 +82,6 @@ src_prepare() { local PATCHES=( # https://github.com/python-pillow/pillow/pull/7634 "${FILESDIR}/${PN}-10.2.0-cross.patch" - # https://github.com/python-pillow/Pillow/pull/8948 - "${FILESDIR}/${PN}-11.2.1-py314.patch" ) distutils-r1_src_prepare @@ -150,9 +149,9 @@ python_test() { esac "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 # leak tests are fragile and broken under xdist - epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}" + # nonfatal implied by xvfb + nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}" } python_install() { diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest index 26d1c93c3fce..6b0d6a55782e 100644 --- a/dev-python/pyghmi/Manifest +++ b/dev-python/pyghmi/Manifest @@ -1,3 +1,2 @@ -DIST pyghmi-1.6.2.tar.gz 277107 BLAKE2B 41d6f5301675407b96bd3c6f612b1baab9066cf945053ff47f930161794c5bd7848a279a349ec7494cd2f85731e077a4414c8b6507c0b8c418a0554e467a8376 SHA512 b37d92fdb83e44b5ca14119134cf57345fcd8eea9fb667099339d248fb197f09e0ee1404cf68d87583813b1e1ef049f8ee5d896bd00723a991c006839fd76607 -DIST pyghmi-1.6.3.tar.gz 277404 BLAKE2B 1b3572e0be87de18a3ed066defbea9475c621fbb8d3cd2e96dd255ec3b79c1498a226c3e0a5454cec5b8b3469ccf00af34c0a2c9111f67709d0619b8f4d12326 SHA512 9acb9e06d2acada93550065db877311cc361da8bdb11b3f3048b88e59c37abe8a93b666e057e53c705df1df45f3f928561f6789175d85c83943c2150e337b8db DIST pyghmi-1.6.5.tar.gz 277990 BLAKE2B 5e989a78762153614605dce7a9d4028854add8cfdab5cdf6a69d3c2bc1905324f119c84e57d24ca5699033b5db0102ae19d493ec348690c746477df044e030f9 SHA512 7c506f249564f7f5ff1f247e843314017f4a6925c706901c7fae8b4d90bbb997d03b8fcd4191af1c1001e881499c9727daf003f204017453d018d001d01ac041 +DIST pyghmi-1.6.6.tar.gz 280557 BLAKE2B da746222d0f281c899e9e7ef4458294e538eefe9036f51f81afd342e12a3b0fe8f650eb14aed5fab13c2ddb7e5a39567f0e72f48c35aae4cd1c4959e8426aa18 SHA512 0d3269e90467315c9767cae158bd1b6f89870337325cf7541e62b755adac2c7c263d9b6cef681f66747ddd80bbfdbb5338b85a16a2157a7ec74dd51ace076464 diff --git a/dev-python/pyghmi/pyghmi-1.6.3.ebuild b/dev-python/pyghmi/pyghmi-1.6.3.ebuild deleted file mode 100644 index 9946b26c54e4..000000000000 --- a/dev-python/pyghmi/pyghmi-1.6.3.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A pure python implementation of IPMI protocol" -HOMEPAGE=" - https://opendev.org/x/pyghmi/ - https://pypi.org/project/pyghmi/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -RDEPEND=" - >=dev-python/cryptography-2.1[${PYTHON_USEDEP}] - dev-python/pbr[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] - >=dev-python/six-1.10.0[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest diff --git a/dev-python/pyghmi/pyghmi-1.6.2.ebuild b/dev-python/pyghmi/pyghmi-1.6.6.ebuild index 9946b26c54e4..9946b26c54e4 100644 --- a/dev-python/pyghmi/pyghmi-1.6.2.ebuild +++ b/dev-python/pyghmi/pyghmi-1.6.6.ebuild diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest index 2cf8f9e259dd..574be6f73a78 100644 --- a/dev-python/pylint/Manifest +++ b/dev-python/pylint/Manifest @@ -1,3 +1,4 @@ DIST pylint-3.3.8.gh.tar.gz 1460704 BLAKE2B 9444f6f98278b300744de27796afc366a53a295f101f22dab454dd0c4eb1a755954d06a71d42effb5139c7d4f3821421bf0734602c2ff0ecd520e5bb8edf44cf SHA512 be796582d8b7ffac2c1ec8be6f4c40422ad4353ccc83a43f31d149cb124ee7a29294ea81457cd173be85be37d94c0472c7599cb2b002b7188cfa3c70185c4e98 DIST pylint-3.3.9.gh.tar.gz 1462472 BLAKE2B b32fcb6c0d910d74c157717aa7c6d43d8edb13aad93e48543a974ce4461f38062acd8033ff390e614bf1388ebe78de004698669d082f51861421667529c71b2b SHA512 c775cfc20540e189f5e11a15eec58687dc6c7fce4e0d75f3c984977404c758d3c6903f176f057234585e6fe2dd36f40ed0e70703d228b99ae465a03d2ccebf19 DIST pylint-4.0.0.gh.tar.gz 1506202 BLAKE2B 4a934202c6dba64e91e011c081d91d2812df720171e1f49e4e5440a8d6f8f17a431df6483f86bd25a593d85e171f8ce1cf936c3f2171c4817733f1067cc6324c SHA512 b6a92bb88d212aef142c686da53443300d9191fc61cd423082d3fb4760ff30ee8639354ec32a121a73c57cf917b7928d6982cfe02c2bdf0dac296593a1837eed +DIST pylint-4.0.1.gh.tar.gz 1506598 BLAKE2B 942368eb242b7992b1bf2ecef059c248f713ce985f453ccd95df7af63a86295b7a1e3b386fcd14c9d442a927e0d41fea6a3a2b97362d2e28df7600992899c0f2 SHA512 120bbf8d5e2379f60625de6186819969cd9fde6745e451084f652bdadd908bf7894689997969eee15842a002fd4775af88bb6810ec84f50f3e275511da00ece2 diff --git a/dev-python/pylint/pylint-4.0.1.ebuild b/dev-python/pylint/pylint-4.0.1.ebuild new file mode 100644 index 000000000000..550c8cddbe0c --- /dev/null +++ b/dev-python/pylint/pylint-4.0.1.ebuild @@ -0,0 +1,85 @@ +# 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} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +MY_P=${P/_beta/b} +DESCRIPTION="Python code static checker" +HOMEPAGE=" + https://pypi.org/project/pylint/ + https://github.com/pylint-dev/pylint/ +" +SRC_URI=" + https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="examples" + +RDEPEND=" + <dev-python/astroid-4.1[${PYTHON_USEDEP}] + >=dev-python/astroid-4.0.1[${PYTHON_USEDEP}] + >=dev-python/dill-0.3.7[${PYTHON_USEDEP}] + >=dev-python/isort-5.14[${PYTHON_USEDEP}] + <dev-python/isort-8[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.6[${PYTHON_USEDEP}] + <dev-python/mccabe-0.8[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + >=dev-python/gitpython-3[${PYTHON_USEDEP}] + ' 'python*' ) + >=dev-python/pytest-8.3[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + 'tests/test_functional.py::test_functional[dataclass_with_field]' + 'tests/test_functional.py::test_functional[no_name_in_module]' + 'tests/test_functional.py::test_functional[shadowed_import]' + 'tests/test_functional.py::test_functional[use_yield_from]' + ) + local EPYTEST_IGNORE=( + # No need to run the benchmarks + tests/benchmark/test_baseline_benchmarks.py + ) + + if ! has_version "dev-python/gitpython[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/profile/test_profile_against_externals.py + tests/testutils/_primer/test_package_to_lint.py + tests/testutils/_primer/test_primer.py + ) + fi + + epytest +} + +python_install_all() { + if use examples ; then + docompress -x "/usr/share/doc/${PF}/examples" + docinto examples + dodoc -r examples/. + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest index 8faf315e8721..cbdfd68c220b 100644 --- a/dev-python/pyproject-fmt/Manifest +++ b/dev-python/pyproject-fmt/Manifest @@ -69,6 +69,7 @@ DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288 DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486 DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367 DIST pyproject_fmt-2.10.0.tar.gz 45764 BLAKE2B 488f5115681de9015a9e22834e4ecf407720707fd532da7ed8122740e3071d433e9542b919391a4a04fc2ea31f17c07996db25b91ff210832a84ce630ce6bf1d SHA512 d966ba619fa8f7e8e28666ea9c2ee24f75b239af85ba37ebf269552296dcf93beedd64c40756aa11b07036e609709dca5b4268f8b061c4ff0a0f8da43f30c064 +DIST pyproject_fmt-2.11.0.tar.gz 46894 BLAKE2B 66a289b54d5ebfccd4dc978e38a2532670e290ec730dd4d611540383fa59b74b30d440375f7c5e6457bf28f5726fd2ad3594cb3baa6afd9f687e5f750b7813bd SHA512 7ba73ad4445249c02359a534c1cac83130b6d7633223ef3466072253ae184fd80d484eb8a0be61c94f313652fa80badeecb4af5baa9aadf209d19d804a47b2e7 DIST pyproject_fmt-2.6.0.tar.gz 43484 BLAKE2B 06091446129ef75ad4b41249d4ef9f89965007dfd48bfbdad581fe295021fef06297fc4944f413f353aabf290fb695d09e2878a340129f853c2594a21865f40c SHA512 cfd8a1dcf149895adeced72dcd7036b6f18498f05f55c8148234c95f52868276e4cf1fa1453353ecc311c478321903a577f6056b756b469f52210d9ba3016bfc DIST pyproject_fmt-2.7.0.tar.gz 45559 BLAKE2B 9d7defa66c7bbb0399476cf3303e0bfd3cfcfb312c8a11d50cbfd6ab0eff2163b2e35fec2eb9467a729a218386526f5b1e307fc7e9d306c33dd9f35939a5fd06 SHA512 3fa88282b4ef28031d2f1b6c2891bb84cc6a1631875938b6a0268a8cd13e37cf04379e2ac29182ae86afdb86d3eb2d81c3da7fe1d23a1fe8ec278a1f16eb5cd9 DIST pyproject_fmt-2.9.0.tar.gz 45704 BLAKE2B 80ba12a6fc90ad9baffe00f7b0ad3380a520bd9db54c0192021be9d92c65f1fdedb73ae5f2f18835bd7f5fe4120ba7504cf3fbeb8f0795236adc378399e89b06 SHA512 a55b869589d127c488469408cb0e8837d7ecf7e9b73f39d22953a050828cdaa1ce66d61088dd7148168ddb989150a0b560f7a622ca6ee78b29c2e00d1483e535 diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.11.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.11.0.ebuild new file mode 100644 index 000000000000..9af79a880240 --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.11.0.ebuild @@ -0,0 +1,150 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..14} ) + +RUST_MIN_VER="1.77.0" +CRATES=" + ahash@0.8.12 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.4.0 + beef@0.5.2 + bitflags@2.9.1 + bstr@1.12.0 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.4.0 + either@1.15.0 + equivalent@1.0.2 + fnv@1.0.7 + futures-core@0.3.31 + futures-macro@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + getrandom@0.3.3 + glob@0.3.2 + globset@0.4.16 + hashbrown@0.14.5 + hashbrown@0.15.3 + heck@0.5.0 + indexmap@2.9.0 + indoc@2.0.6 + itertools@0.10.5 + itoa@1.0.15 + lexical-sort@0.3.1 + libc@0.2.172 + log@0.4.27 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.4 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.21.3 + pin-project-lite@0.2.16 + pin-utils@0.1.0 + portable-atomic@1.11.0 + powerfmt@0.2.0 + proc-macro-crate@3.3.0 + proc-macro2@1.0.95 + pyo3-build-config@0.26.0 + pyo3-ffi@0.26.0 + pyo3-macros-backend@0.26.0 + pyo3-macros@0.26.0 + pyo3@0.26.0 + quote@1.0.40 + r-efi@5.2.0 + regex-automata@0.4.9 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + relative-path@1.9.3 + rowan@0.15.16 + rstest@0.26.1 + rstest_macros@0.26.1 + rustc-hash@1.1.0 + rustc_version@0.4.1 + ryu@1.0.20 + semver@1.0.26 + serde@1.0.219 + serde_derive@1.0.219 + serde_json@1.0.140 + slab@0.4.9 + syn@1.0.109 + syn@2.0.101 + taplo@0.14.0 + target-lexicon@0.13.2 + text-size@1.1.1 + thiserror-impl@1.0.69 + thiserror@1.0.69 + time-core@0.1.4 + time-macros@0.2.22 + time@0.3.41 + toml_datetime@0.6.9 + toml_edit@0.22.26 + tracing-attributes@0.1.28 + tracing-core@0.1.33 + tracing@0.1.41 + unicode-ident@1.0.18 + unindent@0.2.4 + version_check@0.9.5 + wasi@0.14.2+wasi-0.2.4 + winnow@0.7.10 + wit-bindgen-rt@0.39.0 + zerocopy-derive@0.8.25 + zerocopy@0.8.25 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt/ + https://pypi.org/project/pyproject-fmt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-3.0 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + ~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}] +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/tox + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" + +src_prepare() { + distutils-r1_src_prepare + sed -i -e '/strip/d' pyproject.toml || die +} + +python_test_all() { + # default features cause linking errors because they make pyo3 + # wrongly assume it's compiling a Python extension + # https://github.com/tox-dev/toml-fmt/issues/23 + cargo_src_test --no-default-features +} diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest index 6ee4b5e4d5b7..a5193731f9df 100644 --- a/dev-python/sphinx-autodoc-typehints/Manifest +++ b/dev-python/sphinx-autodoc-typehints/Manifest @@ -1,3 +1,5 @@ DIST sphinx_autodoc_typehints-3.2.0.tar.gz 36724 BLAKE2B fccbb551c0aa9bb7b242185fa2f8255e64736c97f9ed476dab95cb25f0e95dc385f384ca4bd4f69ac42a48c2022053c86091c01937d48f023cebac3f0faff86d SHA512 110b4ec94e748e13916eda39b9f66af9823467b688df2f522b7dd5004a9534977cb72b8f4b2b0ed7f651df69e18a12e57c0f13e1c55d62baf7c1f2241880b133 DIST sphinx_autodoc_typehints-3.4.0.tar.gz 37526 BLAKE2B 1eaaa8323282c35bdd95d28b61768bdb64f2db741b5fe4e62c8ec5174a0de3523e897de1214c005540b277f80ab5a9fc5f32e4bb22071193c1e9ca7d0b5a4063 SHA512 fca36b7094ed1f1c831d9958e6601d680fee5a9d86dd9ed8f098c8c221d3bc2fc369c1ab998090a0bffca9ac51fa44005c78abf54e07d137c1ae1fdca8bca756 DIST sphinx_autodoc_typehints-3.5.1.tar.gz 37620 BLAKE2B a126f98214b4578494e016bf6f42f687f90683bdd86aa48cb50ceeeeee7e28f550040faa624a0a1e7a145cd91ca53e88d032a647de220bedc471af2f8c426a20 SHA512 22c5a6e2e4bd63ac2f292f73357de5eb908a0576e1f5ec47b9d720fa0b25e324dac44ef3d34d61312b97dfa2405c3553ccaf91ec7d9b4d5de0537aa5680e2782 +DIST sphinx_autodoc_typehints-3.5.2.tar.gz 37839 BLAKE2B 6eccf336927e2f1ff1f3f6049901e60217779423268c24367d0f33f993e6ec7249888f8481d1da04a899a92fcff038dffcb08c4f8effce2587d0eec95e6b7940 SHA512 7fe9bd391cf76ed3a0cab4283c0c70017cafe74d8b8870c874dfdda781e13b80f3b5102341aeeb94c26ce13c971a411d872480cb17c89e2fdb70a628246a6ab9 +DIST sphinx_autodoc_typehints-3.5.2.tar.gz.provenance 9747 BLAKE2B 20b3c0973ab0d9a7f9a7882fb71493dc8a44f0275b29b18fd1dfccd2613264cdd33ccc057e53623290b5d25b0d5f34cb7bbd71597add3be963f7a5c277faf1bd SHA512 7164949ba9b937ff57ab0ef472939db2b056426e8afe8a10abb66712efa691a0ebeada9c32be63b94ed208006bd0ee6fd135f66cbe84e279d5596b769e9d1805 diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.2.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.2.ebuild new file mode 100644 index 000000000000..71e3c875e6cc --- /dev/null +++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.5.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/sphinx-autodoc-typehints +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Type hints support for the Sphinx autodoc extension" +HOMEPAGE=" + https://github.com/tox-dev/sphinx-autodoc-typehints/ + https://pypi.org/project/sphinx-autodoc-typehints/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/sphinx-8.2.0[${PYTHON_USEDEP}] +" +# skipping optional test dep on dev-python/nptyping as that package +# is horribly broken and on its way out +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + tests/test_sphinx_autodoc_typehints.py::test_format_annotation +) diff --git a/dev-python/unearth/Manifest b/dev-python/unearth/Manifest index 6e6566e030c7..f04ce65cfbf7 100644 --- a/dev-python/unearth/Manifest +++ b/dev-python/unearth/Manifest @@ -2,3 +2,5 @@ DIST unearth-0.17.5.tar.gz 284542 BLAKE2B 091813721c1d2218a75cf47c5cf07a818e9f21 DIST unearth-0.17.5.tar.gz.provenance 9059 BLAKE2B 05dd9970903e4c87fdb2b1ece357ad309dce351b7d461ce9409e34a333576fe3c230afcc675997272015c5f25f390f54fa1b6ec19249edd12c2938d5f1674379 SHA512 ffbc09e43ecbdf3260157226e9d1b1a39bed90e20c6b9542ab5531ef853d3c1d3a1ef6a671f3dbfaeb90aec62432d85af266c1b55327e4d690155e85fb6d25d5 DIST unearth-0.18.0.tar.gz 285062 BLAKE2B abd76a0c697566157fca2dcce3b2957b821b335470cb1742040b8188054f50d23411cb5196604d1c1ef39a0119974408a683e8dca675fe9cb9b67af18e2d37ef SHA512 196c91fa146b0a02cfcf3cf75846e41aa422cf9866847f2575eedb6f45e4a4b451f55e1f8104ac424c384a7e11c6601b4df655ed5db6d48b44b020f96b38df98 DIST unearth-0.18.0.tar.gz.provenance 9156 BLAKE2B 8c2536d8af2f31a7248b432f6317fbe01314b8a2d61d9a004af905e66ca7af108a6bfdae8e87ab6018e933d123e98185140a30385fd536341b9d98725d4830ec SHA512 9452c562af79fe633619ec61e3b85cef3f82ae9360244dcf320d197945b783f290b2d41d1bd725d02575fc99e2123cc4670512ee1db142f993e38919b4401c66 +DIST unearth-0.18.1.tar.gz 285044 BLAKE2B 492d3bdd4eb56a007c9fa8efa095e6f6f4ab6c10099923de69ec90543d4cfbb8b5581716976d652ab0fe3be93d98e78fc200ad53ee143270892dc558b5f7be40 SHA512 0e48b0830eedea887fad992c7a4209b95f59e26da96775dfe40e143d808f58a2cf8dc6f0e97b950659802f99b180f353731527fbfd7061fb3bda46a0f36214c5 +DIST unearth-0.18.1.tar.gz.provenance 9219 BLAKE2B 1142df01d1b06245b78ca8aa1cf100a7270f86b635edab92c5e1f7030b6e285af02d93d8884b28acd29574dac9026adfe7f652db9b0cff973efb3a5b9d20c03c SHA512 9790c25b42c153faebc8e7ea15b4b54696df650173b1453a1ec583f9a03c4eea2c640b18a812c457d06bbe0be69250bfd67ed687c5486f0b8c0b5e794c1d3a14 diff --git a/dev-python/unearth/unearth-0.18.1.ebuild b/dev-python/unearth/unearth-0.18.1.ebuild new file mode 100644 index 000000000000..edd0fbab7bd2 --- /dev/null +++ b/dev-python/unearth/unearth-0.18.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYPI_VERIFY_REPO=https://github.com/frostming/unearth +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A utility to fetch and download python packages" +HOMEPAGE=" + https://pypi.org/project/unearth/ + https://github.com/frostming/unearth/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + <dev-python/httpx-1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{httpserver,mock} ) +distutils_enable_tests pytest diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index c7d4a8d34451..e64b71e860fc 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -11,3 +11,4 @@ DIST uv_build-0.8.6.tar.gz 318772 BLAKE2B faf4f36b32cf308d3c70d52b84bd135d108db4 DIST uv_build-0.9.0.tar.gz 332461 BLAKE2B 422c100a5eec0d8973e676be25cdee06c2cfb7e5be1509a4dc1eeb60293633a8e541396125f884809af0e6b5f5135b7841bee7951207d0052a354c61aa5eca4a SHA512 2eaac5ab194e222bd12d569611fc3c1f1238f90f0fc634b529bed004979b8782db506f110563995ad1df0d960246d5db85260f772db62098ece178325ed6f5b0 DIST uv_build-0.9.1.tar.gz 332775 BLAKE2B 29808da2a83560a3d75d233dd5671a93b532881366dac9fc7963cf8a85b2c84cd8085b7ec9f6275adf1bef75c81700f39ea36f0d713f1ab0a028d9365cd231da SHA512 4dfb14ece44d6f8ed8a9381306d69161e6acea58800c12299af051ede93274869591b482f64023ae4b2f525e5f91b579dbcfef688279f8551988bd563df64944 DIST uv_build-0.9.2.tar.gz 332728 BLAKE2B b2f6d546cfddf19f53ec10d144ed4f46dcf60f28a85271877742f19668056277fbff51838fc56c6dba7a2dca52524bf07895d264937c7a100913908c82cb87f3 SHA512 71321eb3485b1056b0a152c82765932379ca9f33de19ad4dcaa760e34d1217558fb3367724a9f1ee99324d9fc828445a80969e20536bc192b4715a02c37663d6 +DIST uv_build-0.9.3.tar.gz 332769 BLAKE2B 8e813d289d59d2bf8ad4eaffaeb1c8525acaa36215ff9d8e1088ec4fd2ba6d7ac971251c144748805950c0934c24e9c141a860e5ef7332e71d049080852817f1 SHA512 bc1231a3aaaf77b80404281675241b8a27a328100128ec12160f29b574c1f6505a021d18bb5d8a4a23017d73cb8804d6bca5b1c8f27deba823d248744a231cc8 diff --git a/dev-python/uv-build/uv-build-0.9.3.ebuild b/dev-python/uv-build/uv-build-0.9.3.ebuild new file mode 100644 index 000000000000..500741a7f540 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.3.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" +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 2ca18d2bae8e..3a6b4221a3fe 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -25,3 +25,5 @@ DIST uv-0.9.0.gh.tar.gz 4724344 BLAKE2B 43a8c9d46cb374aa2c6b3f021c2b8f7c38bbadde DIST uv-0.9.1-crates.tar.xz 46038732 BLAKE2B 83f7e8b0649341354e24e20d530640ac4bd07759bcf764526faff034e39e63f9a4efcaf4dec3c8b06dc93f86f9a767f07118332373a3adf4983abb9a7f9ee944 SHA512 27ebecd20669a5e45c8dcb770daed7e7ec4f985d871d73dc7a3378882ced3e704c02153a66a8351a5706514c9ae0174ab6c25c269a2aa2ec376834799073b87a DIST uv-0.9.1.gh.tar.gz 4729329 BLAKE2B f859b68ca6d4da3df30cf4f17a7741e17da029195d1caade5017a599ef1227ea8824ff95aef0fa4669c2532440cefa5b05a528c9767728fcb4a8c05f13b4de37 SHA512 82ebac748368b08fcb9841c28de0a86f11510518c73f8c062bc6e960cdfa2da0a612ce24599893cc5072c46a31dabffd1358b803f16ed78ffd31b83694a99212 DIST uv-0.9.2.gh.tar.gz 4737210 BLAKE2B f2f74fa8015aa05073f317a96abf0e8b1177d16401a5e42c279cd7edc2c992b392cb2be953ae9d1f43279577d313e7104359851ce4b8b695d5c3915d1abbeede SHA512 197cbb4503fbd353b6f2f28db8d0a2a47040f15829164b1fc6827a8772f6ab354b502852b41f2217b824febada7c8c8e5287dec2f9b1dcc94c42cb9adab35f23 +DIST uv-0.9.3-crates.tar.xz 46057388 BLAKE2B 1fb8f46cdbebed4877d68a32e03932d3c7a5b552a455e4976feabbcb71280e3573a346fdab8e60a481e132367a9da671b44d30937534d992961a07154bcd55b8 SHA512 7331be26b967dedb2de3c873bbce0e7583ea21cc1cf6f09522c3c6539f50dd2df2fef6e59fce1d977b53d7568bcab2beef6e14df4730fcb77d6d10d989ecfb0e +DIST uv-0.9.3.gh.tar.gz 4746738 BLAKE2B 9a1e40dab76aeb3d1378ecc373470ceba6eaf69d1a40bcfff66530857af88f2609d2e13c433142a9cdfcea97d7eab36d6b86f9673270f8b101ab9f4b3a4720de SHA512 1557b620c089c8871e5c3f9507c96a8aaf4f81cf6d3b8fe7b83fd170fcd9cd7eb2d404d6ee0cde92e4ec298817a0cb329bbfc0217525a1bd3745783bf909c56e diff --git a/dev-python/uv/uv-0.9.3.ebuild b/dev-python/uv/uv-0.9.3.ebuild new file mode 100644 index 000000000000..d134fbe8f1aa --- /dev/null +++ b/dev-python/uv/uv-0.9.3.ebuild @@ -0,0 +1,183 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.88.0" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/astral-sh/rs-async-zip;285e48742b74ab109887d62e1ae79e7c15fd4878;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%' + [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-middleware' + [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;7650ed76215a962a96d94a79be71c27bffde7ab2;reqwest-middleware-%commit%/reqwest-retry' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;d8efd77673c9a90792da9da31b6c0da7ea8a324b;pubgrub-%commit%/version-ranges' +) + +inherit cargo check-reqs + +CRATE_PV=0.9.3 +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # replace upstream crate substitution with our crate substitution, sigh + local pkg + for pkg in reqwest-middleware reqwest-retry; do + local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die) + sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die + done + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} |
