diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-18 19:32:02 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-18 19:32:02 +0000 |
| commit | b122a4c89ce5a5ed415047f73079ed8fe92d13b8 (patch) | |
| tree | 6a7177d8633ec7ef1748b2a3f9dccf6d9685fd59 /dev-python | |
| parent | 924c6a6e377c71895de209229d6b0f08c13ece36 (diff) | |
| download | baldeagleos-repo-b122a4c89ce5a5ed415047f73079ed8fe92d13b8.tar.gz baldeagleos-repo-b122a4c89ce5a5ed415047f73079ed8fe92d13b8.tar.xz baldeagleos-repo-b122a4c89ce5a5ed415047f73079ed8fe92d13b8.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
56 files changed, 1370 insertions, 511 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 9d9cccacde84..56c28a34dbee 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,3 +1,4 @@ DIST boto3-1.37.13.gh.tar.gz 913692 BLAKE2B cc8b3dbe1f30d5969b8d0abb64b0ff6b7b6c72596c23dee90ad3ca08a0ac09b0b509dfb038ca4434461dd7375f155e5afaf541ed4224610f14793d5cf9a15ed6 SHA512 25fc69799cbabf7e834ddfda5e1a1dadaab42731721a64a09020a58b2c12ddae489eef5a28c687a7f04d39a3fb3ef007739acb3c59882f7d1cc04d64f6211e67 +DIST boto3-1.37.14.gh.tar.gz 914511 BLAKE2B 0c175c4213ccb02e338fa42733032c6578983a313d3f1a6b0efdc90d1cd99b736af0a241959afe48ed16a4e16ca6202e2e4de4efe0a8b38b42a830f76001d794 SHA512 a238502382f19c697f6d6a1b8ea3293ead6232654a20a193fde6866a7a1915b3355bd0dec810eecad2b9023640623ae5ce1fdfa473743eeda89936eebd959ded DIST boto3-1.37.4.gh.tar.gz 908620 BLAKE2B ed63365ccd6da9b97715e4110be2b562285a123139a90ddb10c1411d5bd5ba0de9c110177a31f03ecb7e257fd79a0de89a8be97493a83f3207050676f7022e04 SHA512 dbf40cb809ee1d3ef352b97f62c111d113293211226a63298979d8ea14833c83ac2e321714dac349bfe095f75120c2752d08a01c19e51d9b0fc947e27a910005 DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe diff --git a/dev-python/boto3/boto3-1.37.14.ebuild b/dev-python/boto3/boto3-1.37.14.ebuild new file mode 100644 index 000000000000..dfe05b3d9a81 --- /dev/null +++ b/dev-python/boto3/boto3-1.37.14.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_{9,10,11,12,13} ) + +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.11.0[${PYTHON_USEDEP}] +" + +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() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 1441437621c2..bdf7a911453f 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,3 +1,4 @@ DIST botocore-1.37.13.gh.tar.gz 14365580 BLAKE2B 5dac1351dde66b7a2591faedd6ff9f0a05b02d7fa5f2d9f212a25e979f8b6f2a177c23843ee9d5949e83ce9cb44cdb1c9b75a9ee3e9e21ad69fa99458d733fcf SHA512 6635b42a6c29e6fc8293535f939463a77bcfb9abd7211a3043d9da60ecf291fc7bd8704902bfca0667be37448b1d5230393afaf1d32ef5be821d8d60a8578144 +DIST botocore-1.37.14.gh.tar.gz 14368684 BLAKE2B 43d5adc8f5fa3647246a2bd581f3ac1f14f90f96e8ece75e678d2a468baaaa3e1045698a09b8c41a5134028a4b6cb59b5a6cbc394b928d9309269784a3f3b1f9 SHA512 1df5055f3bedcc7f7120f041b707eff5622071b3ba6aa6954c239ec1a6b8295014961e99d6ceb817b051d15144ef0064262d1c2dc1768e48273875993a5a2e8d DIST botocore-1.37.4.gh.tar.gz 14291786 BLAKE2B ab55a62f2291e623e61a0ec6712241815279ae6d8f25e678adbf6cf167265d216f44b0eae78f2b66a454253dc4ef977b90c38f1aa329c855b38fa844eaa478b7 SHA512 07921ca8d51ff2afd8a4dafa77b40b5c24afa0351d71dbf68cef716573ba1f695a331634734fb6d9822eee55c91829128dbf215920e3da92ea2b40b727d0a0f6 DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9 diff --git a/dev-python/botocore/botocore-1.37.14.ebuild b/dev-python/botocore/botocore-1.37.14.ebuild new file mode 100644 index 000000000000..df85ee0d220c --- /dev/null +++ b/dev-python/botocore/botocore-1.37.14.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_{9,10,11,12,13} ) + +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_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 + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest index d3cf27d0ad4f..7db2c60e30a4 100644 --- a/dev-python/clang/Manifest +++ b/dev-python/clang/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda +DIST llvm-project-1c3a9a853ce68c3c539e7cab21380b9d8b18f426.tar.gz 229448743 BLAKE2B c1eacc2ed05c460f56cf83f16b982e3fa4ac530483d7cf003034239aff3b3dbffbdd3042a3f295a83ec94fcf32f802714e4937fd3761a5e03d4ed1b4093e81bf SHA512 98b7e9fa330a6fce33ca9757caf5d2e41d0b73117cb24b2aed880274c2d6f8a8c1a0028dd0e773fa42deb61dbe3b9dd4fb2f44e50814b966fcdeae8e5b417e6d DIST llvm-project-20.1.0.src.tar.xz 147206476 BLAKE2B 8e8bd8aa995a84d17ac7d634098a6b72a47c30f1752029b620f4541a2de4039edf09117286094ae7bc59c4e84374dcffb8e5ee6ef5feaf4ea7ddb58dd04ea803 SHA512 c90fbc43c40e148357912adc40d799a79cce3d3a929136c137421f6342ed7338659e651f1dedfa8e10b94b9f2897e25b2962e17709add02857f89f10615a2397 DIST llvm-project-20.1.0.src.tar.xz.sig 566 BLAKE2B 98979ce89f3fe6e95eef6096066cf855245a585608e7d1fddb5bbb2c73077f3ee28204260e18d7e45e3051daae3639520c39bc3d0dc51524873ac213e2511456 SHA512 68da1c2a13aaa48a67bbb9e716f9f030cf372edc651bca2861453378a6a9172a207ff59e29b175001f042888bf1f9c118fbf938f757e1f4c966943baa7e2696a DIST llvm-project-cb7298f66d62a3548fcf3bd230304067ecf30d17.tar.gz 229200711 BLAKE2B 1910569812e7423cf566b0dec67269404ba8db8232ab293bc603a88914f2b756e3088bf2133c0fca612cc58d39691c7b813b3c5839a7ac9a3d177fe6bde766c6 SHA512 07c3f6ce34e7d32c5ebce1d2efb77e6a1dde49f9eedf7191733a20bdcb6ffd0c03f8fc8de85fd00bd9465b209f140639a68a367d2218c028bfa6e06067cc3e14 diff --git a/dev-python/clang/clang-21.0.0_pre20250317.ebuild b/dev-python/clang/clang-21.0.0_pre20250317.ebuild new file mode 100644 index 000000000000..a99c5601e047 --- /dev/null +++ b/dev-python/clang/clang-21.0.0_pre20250317.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +inherit llvm.org python-r1 + +DESCRIPTION="Python bindings for llvm-core/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +DEPEND=" + >=llvm-core/clang-${PV}:* + !llvm-core/llvm:0[clang(-),python(-)] + !llvm-core/clang:0[python(-)] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + llvm-core/clang:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( clang/bindings/python ) +llvm.org_set_globals + +python_test() { + # tests rely on results from a specific clang version, so override + # the search path + local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir) + local -x CLANG_NO_DEFAULT_CONFIG=1 + "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" +} + +src_test() { + python_foreach_impl python_test +} + +src_install() { + python_foreach_impl python_domodule clang +} diff --git a/dev-python/cloudflare/Manifest b/dev-python/cloudflare/Manifest index f6b85cb49255..4a80f432a005 100644 --- a/dev-python/cloudflare/Manifest +++ b/dev-python/cloudflare/Manifest @@ -1,3 +1,5 @@ DIST cloudflare-2.19.4.gh.tar.gz 151397 BLAKE2B c91c95f52314c5177d823ef8f827ea2f76f6cc703260449aea12d54c1b77d061feca15d4bb845f84cfb4fd80789e5064e54d7530daf546d54d17054b9e0b4fda SHA512 8ae11e73760c57b610abfe5e2c8fdc83c2e0b9e07340884925ec9ac3bf5b40b4edf39b2b8ce7330538369d7573146a2ddac195efb0efb4ff657f75fdacb31aed DIST cloudflare-4.0.0.gh.tar.gz 1715334 BLAKE2B 3ec5ace00c173caec36e75001a7f0fb08e3747902cfbd45a29958c7d4a124b93b24c431ed0967d2100056de7b3063625379723512aee4be7a03dfeb2c4bdbc5a SHA512 ac156af42cadfd1c63568df485c816de0b3720af18ec12b25cb88e06476e817707a29de91bfce8da3b7f7b4e690b6c33aa6c38bc2b485901e81e032dae0d0109 +DIST cloudflare-4.1.0.gh.tar.gz 1919098 BLAKE2B 00282a75357e1b6368b9c36f9abdf52547d42850f74c52d0cd2b1b02b26a717942167db59ba025eb1a6e874697299c79257c8e796874abcc742a9350374e2511 SHA512 bc61518791adc30b472b64407f336f5dd94ad5961c7c1fa474750b8d2579411db78592dd30ac731b05023c29105928bda0005185b07d54cf8b88f100eb1bf5ca DIST cloudflare-python-4.0.0-prism.tar.gz 10687934 BLAKE2B d8696ec3f20d56e8ed5578d96ff41e4b90faf8d440b734b76d7217b8127f1c428e523f75f266cd9a677a3501b961844107afb03b2ec06f9940aadbf369a3567e SHA512 0d622922f26f9a6749858f226ff8ac5baee613a771e9cbe16787932304b5c1654c1a6d928ce7fe4734bc0710f3357160dcbe441f9238ae8c33cde02435e169e8 +DIST cloudflare-python-4.1.0-prism.tar.gz 10768260 BLAKE2B baf23e1010417b770a7c26f7e806305a6431c917df527feb7277f72e35220e210b570cc67791fca911b450b0056c9d10824f6f90893abd6bd4b9bef933b4088d SHA512 05742179f53ce22bb9d3318069415bba9e94110ba14ea6a0eda991107c448fe35fb653d2863c4e3421e1062be2c8a963d2cc6bbe1187d9057378d144ce1fb3ac diff --git a/dev-python/cloudflare/cloudflare-4.1.0.ebuild b/dev-python/cloudflare/cloudflare-4.1.0.ebuild new file mode 100644 index 000000000000..059986187715 --- /dev/null +++ b/dev-python/cloudflare/cloudflare-4.1.0.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +# upstream doesn't yet officially claim 3.13 support but passes tests and works +DISTUTILS_USE_PEP517="hatchling" +inherit distutils-r1 +DESCRIPTION="Python wrapper for the Cloudflare v4 API" +HOMEPAGE="https://pypi.org/project/cloudflare/" +if [ "${PV}" == 9999 ]; then + EGIT_REPO_URI="https://github.com/cloudflare/cloudflare-python" + inherit git-r3 +else + MYPV=$(ver_rs 3 -) + MYPV=${MYPV/beta/beta.} + MYPN="cloudflare-python" + SRC_URI="https://github.com/cloudflare/cloudflare-python/archive/refs/tags/v${MYPV}.tar.gz -> ${P}.gh.tar.gz + test? ( https://github.com/Phoenix591/${MYPN}/releases/download/${PV}/${MYPN}-${PV}-prism.tar.gz )" + #Prism archive generated by workflow + # https://github.com/Phoenix591/cloudflare-python/blob/master/.github/workflows/test-tar.yml + S="${WORKDIR}/${MYPN}-${MYPV}" + KEYWORDS="~amd64 ~arm64" +fi +LICENSE="MIT test? ( ISC Apache-2.0 MIT BSD CC0-1.0 0BSD )" +# nodejs module and deps used to test +SLOT="0" +RDEPEND=" ${DEPEND} + >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-2.9.2[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}] + >=dev-python/anyio-4.3.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.7.0[${PYTHON_USEDEP}] + >=dev-python/sniffio-1.3.1[${PYTHON_USEDEP}] + " + +BDEPEND="test? ( + >=net-libs/nodejs-18.20.1 + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/time-machine[${PYTHON_USEDEP}] + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/respx[${PYTHON_USEDEP}] + ${RDEPEND} +)" + +distutils_enable_tests pytest +RESTRICT+=" !test? ( test )" + +src_unpack() { + unpack "${P}.gh.tar.gz" + use test && cd "${S}" && unpack "cloudflare-python-${PV}-prism.tar.gz" +} + +#python_prepare_all() { +# # don't install tests or examples +# sed -i -e "s/'cli4', 'examples'/'cli4'/" \ +# -e "s#'CloudFlare/tests',##" \ +# setup.py || die +# sed -i -e "/def test_ips7_should_fail():/i@pytest.mark.xfail(reason='Now fails upstream')" \ +# -e "2s/^/import pytest/" \ +# CloudFlare/tests/test_cloudflare_calls.py || die +# distutils-r1_python_prepare_all +#} + +python_test() { + # these 2 tests fail in an ebuild environment for some reason + # help appreciated + local EPYTEST_DESELECT=( + tests/test_client.py::TestCloudflare::test_validate_headers + tests/test_client.py::TestAsyncCloudflare::test_validate_headers ) + #intermittently fail for unknown reasons, passed along to upstream + EPYTEST_DESELECT+=( + tests/test_client.py::TestAsyncCloudflare::test_copy_build_request + tests/test_client.py::TestCloudflare::test_copy_build_request + tests/test_client.py::TestAsyncCloudflare::test_get_platform +) + epytest +} + +src_test() { + start_mock + distutils-r1_src_test + stop_mock +} +start_mock() { +# Run prism mock api server, this is what needs nodejs + node --no-warnings node_modules/@stainless-api/prism-cli/dist/index.js mock \ + "cloudflare-spec.yml" >prism.log || die "Failed starting prism" & + echo $! >"${T}/mock.pid" || die + # Wait for server to come online + echo -n "Waiting for mockserver" + while ! grep -q "✖ fatal\|Prism is listening" "prism.log" ; do + echo -n "." || die + sleep 0.5 + done + if grep -q "✖ fatal" prism.log; then + die "Prism mock server failed" + fi +} +stop_mock() { + kill $(cat "${T}/mock.pid") || die +} diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest index 955cd4b693fa..d6c47b6dffb6 100644 --- a/dev-python/deepdiff/Manifest +++ b/dev-python/deepdiff/Manifest @@ -1,2 +1,3 @@ DIST deepdiff-8.3.0.tar.gz 509468 BLAKE2B 24e6f610c1d90fdb2b9d20939e2bb053db690b284ce00d76f0859e504dfa6dd434c52c424b7da2b01688647791e336a53209dc31dab5adb51b48a92e598da7da SHA512 5327a738d182a9e546d5a827d3a5d1e04323e7765d49f9f7d51dc20c8fc13869bb16b84ee193c478f43bb47901e16cc6ec45c890967de061a839a33d636040eb DIST deepdiff-8.4.1.tar.gz 514141 BLAKE2B f2dd5910c35f949f34c7846228a04eeb16a90315181bccdaf53a7fd5e518c79ea67da6da60481ba3f39515f226c2fb71ebf25a12b31cef59f80c7fa8f4f36687 SHA512 fc7f16c4dd5b66430a6aaa5e2ecb089ad7b5713ef57b190a4d74f686ac101baf6fd7d5e6655f15b526b410666d0fd05b7b369f473d2f8f7de3731c044fdcd0dc +DIST deepdiff-8.4.2.tar.gz 515380 BLAKE2B e044d45c4a2ba68e399d506a801912ef0169be3b6a41df9a9f47a5ffb2dfc588d0eed35e984f8e36616709235f26537290bc7e5953d61823291eebfc52951574 SHA512 ec0b495afb57bbaf7b4785dda5367a1f87e5940afb801e2e71aa478562cda597005780bf2733b2e913dce5932996fdb548203922b4b6613e3daed751aa89d885 diff --git a/dev-python/deepdiff/deepdiff-8.4.2.ebuild b/dev-python/deepdiff/deepdiff-8.4.2.ebuild new file mode 100644 index 000000000000..8a727daa1349 --- /dev/null +++ b/dev-python/deepdiff/deepdiff-8.4.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects" +HOMEPAGE=" + https://github.com/seperman/deepdiff/ + https://pypi.org/project/deepdiff/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/click-8.1.3[${PYTHON_USEDEP}] + <dev-python/orderly-set-6[${PYTHON_USEDEP}] + >=dev-python/orderly-set-5.3.0[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}] +" + +DEPEND=" + test? ( + >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}] + dev-python/pydantic[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # benchmarks + tests/test_lfucache.py::TestLFUcache::test_lfu + # requires polars + tests/test_hash.py::TestDeepHashPrep::test_polars + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/django-bootstrap5/django-bootstrap5-24.3.ebuild b/dev-python/django-bootstrap5/django-bootstrap5-24.3-r2.ebuild index ae615b824290..a31af3360d1e 100644 --- a/dev-python/django-bootstrap5/django-bootstrap5-24.3.ebuild +++ b/dev-python/django-bootstrap5/django-bootstrap5-24.3-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2024 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -17,6 +17,13 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" +RDEPEND=" + dev-python/django[${PYTHON_USEDEP}] + dev-python/jinja2[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( sci-libs/gdal )" + distutils_enable_tests pytest python_test() { diff --git a/dev-python/django-bootstrap5/metadata.xml b/dev-python/django-bootstrap5/metadata.xml index 697d76fa2747..0225857e75c2 100644 --- a/dev-python/django-bootstrap5/metadata.xml +++ b/dev-python/django-bootstrap5/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - </maintainer> <maintainer type="person"> <email>tupone@gentoo.org</email> <name>Tupone Alfredo</name> diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest index 6b3175e1e369..f86c71792667 100644 --- a/dev-python/django-polymorphic/Manifest +++ b/dev-python/django-polymorphic/Manifest @@ -1 +1,2 @@ DIST django-polymorphic-3.1.gh.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125 +DIST django-polymorphic-4.0.0.gh.tar.gz 104146 BLAKE2B 10b80b40e93048df9e116e0c6a5f9b38e6e31c2c40644d2066176f8d17649b8af7091a4fa8fdff3c16a32163707adbcb52d6a247592630d85336cd2c9ff11321 SHA512 ca21831a2acc6775568898d53d47b221c8b971eb2a41c3b621ea8af3ae52875cfa2b98d04bd4cd8f1d556fe2c9932a3de44bdb8554302cb82ce0dc19d06abdb2 diff --git a/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild new file mode 100644 index 000000000000..6fcd9090cdc4 --- /dev/null +++ b/dev-python/django-polymorphic/django-polymorphic-4.0.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Seamless Polymorphic Inheritance for Django Models" +HOMEPAGE=" + https://github.com/jazzband/django-polymorphic/ + https://pypi.org/project/django-polymorphic/ +" +SRC_URI=" + https://github.com/jazzband/django-polymorphic/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/django-3.2[$PYTHON_USEDEP] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + dev-python/dj-database-url[${PYTHON_USEDEP}] + dev-python/pytest-django[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + # ecb85b3539c71e376eb0a111e98b5b374d5c9532 + "${FILESDIR}/${P}-test.patch" +) diff --git a/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch b/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch new file mode 100644 index 000000000000..022c0b3881d9 --- /dev/null +++ b/dev-python/django-polymorphic/files/django-polymorphic-4.0.0-test.patch @@ -0,0 +1,23 @@ +From ecb85b3539c71e376eb0a111e98b5b374d5c9532 Mon Sep 17 00:00:00 2001 +From: Jonathan he <jonathan.he@oracle.com> +Date: Wed, 5 Feb 2025 16:02:04 -0500 +Subject: [PATCH] PolymorphicQuerySet: Prevent NoneType error in test___lookup + +--- + polymorphic/query.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/polymorphic/query.py b/polymorphic/query.py +index 8e93281..ba67529 100644 +--- a/polymorphic/query.py ++++ b/polymorphic/query.py +@@ -277,7 +277,8 @@ class PolymorphicQuerySet(QuerySet): + tree_node_test___lookup(self.model, a) + elif hasattr(a, "get_source_expressions"): + for source_expression in a.get_source_expressions(): +- test___lookup(source_expression) ++ if source_expression is not None: ++ test___lookup(source_expression) + else: + assert "___" not in a.name, ___lookup_assert_msg + diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest index 5e1ee319596a..f35fa4a2cc4a 100644 --- a/dev-python/ensurepip-setuptools/Manifest +++ b/dev-python/ensurepip-setuptools/Manifest @@ -1,2 +1,3 @@ DIST setuptools-75.8.2-py3-none-any.whl 1229385 BLAKE2B e2890604e9acbf23aefc94ee99927bafdc189e45c84b0e4e0b48737d120ba60590438603195e180988b26e3e8fb378812507e2a0b513bf886c3b1eb673853da5 SHA512 083447a6bd375ca99e017ec4c5e3083ee4eee32b65d911b4d5ccadfa587ec213d43562d21d0f238753cc5c54354027b8425880d7248fbbd170b0c006613f4327 DIST setuptools-76.0.0-py3-none-any.whl 1236106 BLAKE2B 783411ca7c3ee2f2aaaba2d40abb010f7014eb640e6ebee125e0d80afd863634eb01a10343c086b46a7b928db14d5edc6270c92129d2b20bbf0ce36229de932a SHA512 6b2af35acbd3c73f19a5eac91cc13329ef6b0c9b9dbad18fdcfabb0625215a661d320d164a08018a08a3578c5bc3aedfd9ed9ecdaaf62ef08e30fcae34a3eefb +DIST setuptools-76.1.0-py3-none-any.whl 1236933 BLAKE2B c8e1d368f50aea8ed819d6c828505bbbecfd1d2f320c108df3910f8f49133aa12cbafbed5e626572232812671650cb4398a6771a21ed37d7d1ea882e87a08dbc SHA512 44330c0b2bf22a6cdc9b3cf087fbd7695a5e15a4e0e013c88252258fabb69ed89d9550b35b407f01711c66b45a964f687ce7c8f373ed0860e93842e70aa9e55b diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild new file mode 100644 index 000000000000..b76c3f6972d8 --- /dev/null +++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-76.1.0.ebuild @@ -0,0 +1,20 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pypi + +DESCRIPTION="Shared setuptools wheel for ensurepip Python module" +HOMEPAGE="https://pypi.org/project/setuptools/" +SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")" +S=${DISTDIR} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +src_install() { + insinto /usr/lib/python/ensurepip + doins "${A}" +} diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest index efe7517d8ce2..0b39d92b05a8 100644 --- a/dev-python/googleapis-common-protos/Manifest +++ b/dev-python/googleapis-common-protos/Manifest @@ -1,2 +1,3 @@ DIST googleapis_common_protos-1.68.0.tar.gz 57367 BLAKE2B 65888384edbe6b246fe8c6e17f13e3cbd8079f042914ead9c5315ab80889d72ce619e42089c5aa2aed528a38f99953d73be0ec5daf04aea5f2221d2bf09a2e1b SHA512 a602ca0d2daef9c265eb4654adeb698ce66fa26db707650d09c7da3474e263b995431a89d0908c70a9d356f0bdcccd1d6b7b5f51f05ae2c98f58b8a41f782d35 DIST googleapis_common_protos-1.69.1.tar.gz 144514 BLAKE2B 0e3a57a916202d7831e41081c5af759ba3976c2db349ad7def08bb9c9e085850182a5fc5e5d969498129f01c4275d7817e66015de29f9bbc96c8495402cb1ba7 SHA512 5f11d230e0d5503e32aee5832481a1ff3241a987911b0e3ca44c083f9e53eca916f9b07a9d02743fbe7508da478c1b87743c1c18c0afa0f92fb8f81481ddc385 +DIST googleapis_common_protos-1.69.2.tar.gz 144496 BLAKE2B 0f6eeef6fc124062db6214fa4d90b9717e4c4fce6b61faa0864ba8946a6c1de4ff7941b8dae6e1a0fb09821ae79927cd1a45eb5768a7ea22a7d866e58fc9b489 SHA512 a8f6f6ab551813e05db06af9ec404e4e87dcf2ebdeeecc6976b11a7cf0ccf0e6ca500ba0c263dcb6b71290b3919c84e5af8c2705ae3f4a5b630831aea8ddb668 diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild new file mode 100644 index 000000000000..d681063f2c36 --- /dev/null +++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.69.2.ebuild @@ -0,0 +1,31 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python classes generated from the common protos in the googleapis repository" +HOMEPAGE=" + https://github.com/googleapis/python-api-common-protos/ + https://pypi.org/project/googleapis-common-protos/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + <dev-python/protobuf-7[${PYTHON_USEDEP}] + >=dev-python/protobuf-3.15.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +python_compile() { + distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index a78ae683637b..0d8fd9b72843 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -5,3 +5,4 @@ DIST hypothesis-6.129.0.gh.tar.gz 9526187 BLAKE2B 632fa6dfa60725caab11e12682389d DIST hypothesis-6.129.1.gh.tar.gz 9526811 BLAKE2B fe69773a70d8c6615f586dda7acacfbc2f9309659faedcecfd12317124c5c868f53987f9e56670f09a44de96d9baec08a43823d15ad7dc847f4260ed8deb0486 SHA512 3745d590dcfc968a96eb62a6f159214b5741f2de1e03bd57bb22663237801f7d4d5df98c0da9f798d1b127e7c43039527f903994e3b9a884d1f654d2a842fea8 DIST hypothesis-6.129.2.gh.tar.gz 9527087 BLAKE2B 675261d8ed0c77ead1555e0ae26b6a199886b3189cb46f193af492313428c171d129b5aefd6f52e3f6ecd634302c4356643b0324547aa19cd4bb190114887354 SHA512 c71342ea5f53ca7374b0311a8185b7ab40802cc68c76225d87db7a8f2911942768bca37a6f229b22c6f2c53fcf531d4d5a7a72de69d4172db598a298d4aa8681 DIST hypothesis-6.129.3.gh.tar.gz 9527091 BLAKE2B e4baafe9e9af45d940a207d55d1a03bd2998d9bdabcdc724830d52bf9fd6ded528606fd7d82a17684fc58ed2ea3db3ae96f7da342fdf45aacd354a99af18ffd3 SHA512 7a3fdc7e7353a2b5fb8c5e98008218d1ed58112839f1afc88678eb0fb5bde7efd77a763bb2174e5b6acdc3edd3043d69eed74f2453e5fddb1bdf05efd07ee442 +DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d diff --git a/dev-python/hypothesis/hypothesis-6.129.4.ebuild b/dev-python/hypothesis/hypothesis-6.129.4.ebuild new file mode 100644 index 000000000000..08befcf116e3 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.129.4.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + # TODO + 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]' + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index d3cf27d0ad4f..7db2c60e30a4 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda +DIST llvm-project-1c3a9a853ce68c3c539e7cab21380b9d8b18f426.tar.gz 229448743 BLAKE2B c1eacc2ed05c460f56cf83f16b982e3fa4ac530483d7cf003034239aff3b3dbffbdd3042a3f295a83ec94fcf32f802714e4937fd3761a5e03d4ed1b4093e81bf SHA512 98b7e9fa330a6fce33ca9757caf5d2e41d0b73117cb24b2aed880274c2d6f8a8c1a0028dd0e773fa42deb61dbe3b9dd4fb2f44e50814b966fcdeae8e5b417e6d DIST llvm-project-20.1.0.src.tar.xz 147206476 BLAKE2B 8e8bd8aa995a84d17ac7d634098a6b72a47c30f1752029b620f4541a2de4039edf09117286094ae7bc59c4e84374dcffb8e5ee6ef5feaf4ea7ddb58dd04ea803 SHA512 c90fbc43c40e148357912adc40d799a79cce3d3a929136c137421f6342ed7338659e651f1dedfa8e10b94b9f2897e25b2962e17709add02857f89f10615a2397 DIST llvm-project-20.1.0.src.tar.xz.sig 566 BLAKE2B 98979ce89f3fe6e95eef6096066cf855245a585608e7d1fddb5bbb2c73077f3ee28204260e18d7e45e3051daae3639520c39bc3d0dc51524873ac213e2511456 SHA512 68da1c2a13aaa48a67bbb9e716f9f030cf372edc651bca2861453378a6a9172a207ff59e29b175001f042888bf1f9c118fbf938f757e1f4c966943baa7e2696a DIST llvm-project-cb7298f66d62a3548fcf3bd230304067ecf30d17.tar.gz 229200711 BLAKE2B 1910569812e7423cf566b0dec67269404ba8db8232ab293bc603a88914f2b756e3088bf2133c0fca612cc58d39691c7b813b3c5839a7ac9a3d177fe6bde766c6 SHA512 07c3f6ce34e7d32c5ebce1d2efb77e6a1dde49f9eedf7191733a20bdcb6ffd0c03f8fc8de85fd00bd9465b209f140639a68a367d2218c028bfa6e06067cc3e14 diff --git a/dev-python/lit/lit-21.0.0_pre20250317.ebuild b/dev-python/lit/lit-21.0.0_pre20250317.ebuild new file mode 100644 index 000000000000..4230fa63b2a4 --- /dev/null +++ b/dev-python/lit/lit-21.0.0_pre20250317.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + llvm-core/llvm + ) +" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from llvm-core/llvm) + +src_prepare() { + # flaky test + # https://github.com/llvm/llvm-project/issues/72022 + rm tests/progress-bar.py || die + + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/loky/Manifest b/dev-python/loky/Manifest index 6f1944666588..155ee8aba772 100644 --- a/dev-python/loky/Manifest +++ b/dev-python/loky/Manifest @@ -1 +1,2 @@ DIST loky-3.4.1.gh.tar.gz 143933 BLAKE2B b55dc9fe431769de6bc7f8d9854c40a361566d9c0325c7037255c5ce2b9875ff071743892ec5db53be7744955558195eb40fc5467917eeba3d533c68f285a1ec SHA512 435dc24a0532e6a40a67613fd1e13a06439ffe00c28b90fa36ff02255b67e0dd99d515f5659a36aa1049a9df73b16c1088989a1379a8492ebc5dbf1e53a37a06 +DIST loky-3.5.1.gh.tar.gz 145759 BLAKE2B 3fd1a254051a25e0556c29c50d9153e6894150d0eb39094fa3b7128439889777026aea6e001b73d825b6c18c8d7e6e49e0feb6e7fb508696c0694cf5321fa6fd SHA512 9c90fda5af45a89142866a3ec4a2e77425b20f248d55a56f5e78acf09dbf3b61ba04cf4b72c416e1eb343e23ab0d73a0139804a9fd92e27044debf97b8920635 diff --git a/dev-python/loky/loky-3.5.1.ebuild b/dev-python/loky/loky-3.5.1.ebuild new file mode 100644 index 000000000000..aa0c71082143 --- /dev/null +++ b/dev-python/loky/loky-3.5.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Robust and reusable Executor for joblib" +HOMEPAGE=" + https://github.com/joblib/loky/ + https://pypi.org/project/loky/ +" +SRC_URI=" + https://github.com/joblib/loky/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" + +RDEPEND=" + dev-python/cloudpickle[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + EPYTEST_DESELECT=( + # docker, seriously? + tests/test_loky_module.py::test_cpu_count_cfs_limit + tests/test_loky_module.py::test_cpu_count_cgroup_limit + # hangs, and even pytest-timeout does not help + tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill + tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize + # Python 3.12 raises an additional warning due to the use of fork() + # in a multithreaded process, the additional warning breaks this test + # since the expected warning is no longer the first. + # This is harmless, skip test for now + tests/test_worker_timeout.py::TestTimeoutExecutor::test_worker_timeout_shutdown_no_deadlock + tests/test_reusable_executor.py::TestResizeExecutor::test_resize_after_timeout + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # high memory test needs a lot of memory + is broken on 32-bit platforms + epytest --skip-high-memory \ + -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest index 6315ff5be6b9..2289e76cc4ff 100644 --- a/dev-python/mkdocs-material/Manifest +++ b/dev-python/mkdocs-material/Manifest @@ -1,3 +1,4 @@ DIST mkdocs-material-9.6.5.gh.tar.gz 14920108 BLAKE2B 50b7565c2a170e62e27b33fffa1bce3536d0b090162d30f113ca45101ab63f4a2f972a01962f362bd267f627e9f62a392b0bba5b21d464c9aaa94dd9580acb3b SHA512 472f07c1f4986062b785af026e5c7c7645bf16bfa172fc5813c6ba9a03ebc0c5d43f099ef7a04c5494dbe4f8a628397c4bff2a16c0e4632ebc439e77697c4785 DIST mkdocs-material-9.6.7.gh.tar.gz 14923962 BLAKE2B 52ca0a74100f0fac0722bbf030d2ea95d62e98017135f1bd29853dea7e17e3f1cd8254bc96da4c06b9498896b99b5134a816a5c686fc8e0a42afbc133dbfb2e1 SHA512 638fd9e61675378343da6f61762046d299a775932ebdf8b5a24cdef25e42ff0689d5189532adaf81987900470b85a8e5fa65557ace24c3a416e2e42ada190224 DIST mkdocs-material-9.6.8.gh.tar.gz 14926223 BLAKE2B ce5f0ccc1f19787bbf631f0e71f1b252920e32b6e99616066c18d417e5086f8f612411fb8ba41909df8ee1fc24907879ec87234c42cd8fd6088555b46b7c7d67 SHA512 26d9677d95903c4c3a7890decb11557168dbf26c1fbd7ba1406bebf29a813283ccf43c7173a69136508ff753d61fad2ee3f49a897514fb7f6fa914070d2570b6 +DIST mkdocs-material-9.6.9.gh.tar.gz 14809122 BLAKE2B 14c07f44c93de9c74ca6ee64b9be0ef2b7c06f40fa3bca95fbd935cec783ee16d02c50c77ed6b0b62fddaa9f0dcba769db1d86ca4da4363aa48c4940d5eb83f9 SHA512 166c7a5fe445e07286ccc36040a3caf4e070ad86fbcb556fa380ed91b6adfd96c881762f0cb7b96ee1f5d04ff4d65018ad119973e07920c8dd037f32c1322c46 diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild new file mode 100644 index 000000000000..7faef3c81d56 --- /dev/null +++ b/dev-python/mkdocs-material/mkdocs-material-9.6.9.ebuild @@ -0,0 +1,71 @@ +# 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_{9,10,11,12,13} pypy3 ) + +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" +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() { + echo "__version__ = '${PV}'" > gentoo_version.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest index 3569e6e08262..19b71c8393c7 100644 --- a/dev-python/multidict/Manifest +++ b/dev-python/multidict/Manifest @@ -1 +1,2 @@ DIST multidict-6.1.0.gh.tar.gz 73800 BLAKE2B 9e3531633b0a35bbb8a97ec2dfe040080fe67efae3b3a16436b0984d6c3a4dc38df1cf5b91bd7b1f750f7a27bd2726667935fa30eefa7b070534fd70f390ee8a SHA512 48e97f442c28c2dfc0b5e19376ae9c8c46b20939ac4f72c07b650450286156dcbe03166f7d238d7a77b438a154022e9d98a38a4c0596aefab7d40fbdda0687dc +DIST multidict-6.2.0.gh.tar.gz 82115 BLAKE2B 37b509d409278396f52e39d63b671b3b447039f2f98fa6f1b80b1ff4189105ca5a80b9027e8fcfbb95734b3c5531c1fd4a0cbfd778cdfab85ea5c127fb735717 SHA512 211dfe4900d815be1365284e18183f82f34783b777cbca929e2f8468b6748e237825febe9baa7a6d3e2a97476a8c6e061d2d7d2de94c48a2c526809224379656 diff --git a/dev-python/multidict/multidict-6.2.0.ebuild b/dev-python/multidict/multidict-6.2.0.ebuild new file mode 100644 index 000000000000..86186dcd602d --- /dev/null +++ b/dev-python/multidict/multidict-6.2.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="multidict implementation" +HOMEPAGE=" + https://github.com/aio-libs/multidict/ + https://pypi.org/project/multidict/ +" +SRC_URI=" + https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="+native-extensions" + +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}] + ' 3.10) +" + +distutils_enable_tests pytest + +python_prepare_all() { + # don't enable coverage or other pytest settings + sed -i -e '/cov/d' pytest.ini || die + distutils-r1_python_prepare_all +} + +python_compile() { + if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then + local -x MULTIDICT_NO_EXTENSIONS=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + tests/test_multidict_benchmarks.py + ) + + rm -rf multidict || die + + local cext=--c-extensions + if ! use native-extensions || [[ ${EPYTHON} == pypy3* ]]; then + cext=--no-c-extensions + fi + epytest "${cext}" +} diff --git a/dev-python/patatt/patatt-0.6.3.ebuild b/dev-python/patatt/patatt-0.6.3.ebuild index 89000ea5d912..6f405d47385d 100644 --- a/dev-python/patatt/patatt-0.6.3.ebuild +++ b/dev-python/patatt/patatt-0.6.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2024 Gentoo Authors +# Copyright 2021-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pecan/Manifest b/dev-python/pecan/Manifest index 008301ada527..173764548f6f 100644 --- a/dev-python/pecan/Manifest +++ b/dev-python/pecan/Manifest @@ -1 +1,2 @@ DIST pecan-1.5.1.tar.gz 124161 BLAKE2B 441c4fcc94409aef93324ab8dfb727fc09a3e0f8802ba804d3d5f52237d4f089c3eed23f55a8ad82a9d372d28d622faf8b196b59936e7fc9feb69c4f87883084 SHA512 87fff8657268accda3a53f156338332e3d23df8055cc62d77d9f1641f692c1d7e4013f564b0108541e5df69e1d3d2c8e3df87486e0b4316e437f67d010013fa9 +DIST pecan-1.6.0.tar.gz 123756 BLAKE2B 779705fed5c0832feac98469f6e873996332ce2376929ed819dfc228a0b99aaaef09e9b531698f5fed07675d1f13f0cdd9cd8a742977acf83ee3d9c963b3436e SHA512 f10878fb219086cc34109e9c4b1ce201da28c648120affbb890579e2d8f4d18231c5784ede6c465738aa2066fc54fecade41d2d4681ed1b6f376d0912afc60b4 diff --git a/dev-python/pecan/pecan-1.6.0.ebuild b/dev-python/pecan/pecan-1.6.0.ebuild new file mode 100644 index 000000000000..3bbdf2829364 --- /dev/null +++ b/dev-python/pecan/pecan-1.6.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A WSGI object-dispatching web framework, lean, fast, with few dependencies" +HOMEPAGE=" + https://github.com/pecan/pecan/ + https://pypi.org/project/pecan/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/webob-1.4[${PYTHON_USEDEP}] + >=dev-python/mako-0.4.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/webtest-1.3.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/pillow-heif/Manifest b/dev-python/pillow-heif/Manifest index eb79d4e0a9d0..8d4ad21d222a 100644 --- a/dev-python/pillow-heif/Manifest +++ b/dev-python/pillow-heif/Manifest @@ -1 +1,2 @@ DIST pillow_heif-0.21.0.tar.gz 16178019 BLAKE2B 1ac057f4485331c36348f277b31d073dfe5d3aab69baaef0947449002fb095c81ffd562442f059afc29a19cafb3fa898b011c17a622963e6813a53dd2779c2f7 SHA512 9683b3eea9ea4dc0730bfab2e1163545ea31719b62cfd90a4f58aaf7ab401aef27afb7b9458c93daf9e5fa445b8f7f1ec3b3174fa9ae44513d9baaa10e777913 +DIST pillow_heif-0.22.0.tar.gz 18551571 BLAKE2B 60edcd7f1e6427651f85a2d8604b2a478646ba90cc1aeb09b768b7cf94b333d14e0d0d118d26d7ef68e6a79873d2d18f7f85ad0ae02ae81b8298e6c758ae01d0 SHA512 072de5e3afbfb373e36b51898f67e12d1abcd9a391e33b2dafe19372bb0f3ffca20ab1a7f7f8dcd0dc163a7c8aee27040613deb5d2adba0fd3b6c774cbff8c85 diff --git a/dev-python/pillow-heif/pillow-heif-0.22.0.ebuild b/dev-python/pillow-heif/pillow-heif-0.22.0.ebuild new file mode 100644 index 000000000000..fcdac6383881 --- /dev/null +++ b/dev-python/pillow-heif/pillow-heif-0.22.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +inherit distutils-r1 pypi + +DESCRIPTION="Python interface for libheif library" +HOMEPAGE=" + https://github.com/bigcat88/pillow_heif + https://pypi.org/project/pillow-heif/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + !test? ( + dev-python/pillow[${PYTHON_USEDEP}] + >=media-libs/libheif-1.17.6:= + ) + test? ( + dev-python/pillow[jpeg,lcms,webp,zlib,${PYTHON_USEDEP}] + >=media-libs/libheif-1.17.6:=[x265] + ) +" +BDEPEND=" + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + media-libs/opencv[png,python,${PYTHON_USEDEP}] + ) +" + +PATCHES=( "${FILESDIR}/${PN}-0.21.0-respect-cflags.patch" ) + +EPYTEST_DESELECT=( + # only works with libeif-1.19.5 + # https://github.com/bigcat88/pillow_heif/pull/312/commits/d740dcce7d967d025c4100611cc7a4632aa3fc3a + "tests/read_test.py::test_heif_read_images" +) + +distutils_enable_tests pytest diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest index cb19b6192f51..0a0de65d558c 100644 --- a/dev-python/plotly/Manifest +++ b/dev-python/plotly/Manifest @@ -1,2 +1 @@ -DIST plotly.py-5.24.0.gh.tar.gz 32084853 BLAKE2B 87371902c0f654a16e0d2b97655614b99e05511a298839b244d3147bd2330b70275d1235f4b75eb3bb1dc13289e4d6dab71ec68710d59f1cec467e05e998c609 SHA512 42071af552f666dcc98efe4995a156212971ca92a6320e18861c6e804ab5cd0641c8b772958d3080780aab48e779fc02a13c327c18b36c5077cd137f59f86aff DIST plotly.py-5.24.1.gh.tar.gz 32096988 BLAKE2B 79c1f3350bb43780f5f5f2f54955591875c2819a4b819e667e8df14ae72e42cf2939167a3425bd725e80af8823c8578a9cf286f4e4d82881578ca13f7e1cd860 SHA512 dc1484f5b0630bd4d936ab23231be7a577b887701f1f3c33d8f6501dc65718d871bee7af9f467fe130d2e7dcdded22717562352ce4ec70d25bc368faeb51d0e8 diff --git a/dev-python/plotly/plotly-5.24.0.ebuild b/dev-python/plotly/plotly-5.24.0.ebuild deleted file mode 100644 index 2dc1e6689c42..000000000000 --- a/dev-python/plotly/plotly-5.24.0.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) -DISTUTILS_USE_PEP517=setuptools - -inherit distutils-r1 - -MY_P=plotly.py-${PV} -DESCRIPTION="Browser-based graphing library for Python" -HOMEPAGE=" - https://plotly.com/python/ - https://github.com/plotly/plotly.py/ - https://pypi.org/project/plotly/ -" -SRC_URI=" - https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S="${WORKDIR}/${MY_P}/packages/python/plotly" -# The tests are not included in the PyPI tarball, to use the GitHub tarball -# we have to skip npm, which means that the resulting install will -# unfortunately lack the jupyterlab extension. - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/versioneer[${PYTHON_USEDEP}] - test? ( - dev-python/ipykernel[${PYTHON_USEDEP}] - dev-python/ipython[${PYTHON_USEDEP}] - dev-python/ipywidgets[${PYTHON_USEDEP}] - dev-python/jupyter[${PYTHON_USEDEP}] - dev-python/jupyterlab[${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pandas[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/scipy[${PYTHON_USEDEP}] - dev-python/shapely[${PYTHON_USEDEP}] - dev-python/statsmodels[${PYTHON_USEDEP}] - dev-python/xarray[${PYTHON_USEDEP}] - dev-python/scikit-image[${PYTHON_USEDEP}] - ) -" - -# There are sphinx docs but we are missing a bunch of dependencies. -# distutils_enable_sphinx ../../../doc/apidoc -distutils_enable_tests pytest - -# README ends up a broken symlink -DOCS=() - -python_prepare_all() { - local PATCHES=( - # https://github.com/plotly/plotly.py/pull/4622 - "${FILESDIR}/${PN}-5.23.0-numpy-2.patch" - ) - - distutils-r1_python_prepare_all - - # unbundle versioneer - rm versioneer.py || die - # Do not try to fetch stuff with npm - export SKIP_NPM=1 -} - -python_test() { - local EPYTEST_IGNORE=( - # kaleido not packaged - plotly/tests/test_optional/test_kaleido - - # plotly-orca not packaged - plotly/tests/test_orca - ) - - local EPYTEST_DESELECT=( - # kaleido not packaged - plotly/tests/test_orca/test_to_image.py::test_bytesio - - # fails in non-isolated env - test_init/test_dependencies_not_imported.py::test_dependencies_not_imported - test_init/test_lazy_imports.py::test_lazy_imports - - # Minor matplotlib incompatibility - plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots - plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - - # TODO - plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json - - # two subtests that require 'vaex' and 'polars' respectively - plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars - plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars - - # the usual recursion problem - plotly/tests/test_optional/test_utils/test_utils.py::test_masked_constants_example - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} - -python_install_all() { - distutils-r1_python_install_all - - mv "${ED}"/{usr/etc,etc} || die -} diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index cf2f5c12bc62..3baef54233c8 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -1,3 +1,4 @@ DIST pydantic-2.10.6.tar.gz 761681 BLAKE2B 1ddb057cd40f50d09dc870aae937bc4d5d41529601c26b84bbd5223d75adca43e14e779ef40ef88dbeab3dc66ae960b662a3244ffa38bf8718d6f9d50b966aed SHA512 69c5cdfb9047875497cf2ac0107f0aaa8d1d91a354d514277e913cc13081e1a76f72a154b50339c95240c82d2a262f4b8dcf71c1e5762449bd344054dba449ce DIST pydantic-2.11.0a2.tar.gz 768863 BLAKE2B 2da69490f8dc711e3835a902789cce9fac9a6eba5d827bd8efa7ea8498a5661dd31a17734408d693d78a0b0588170302c76905228aa05dd771a62f581862971c SHA512 9ad26a85c659b5b5d76c1ff7b9267c641deb91b5f3f4c6f65e1ef4035dc73599e300c03b76770ec958847f89040e38bdad87f4119c585d159e95920805c826b7 DIST pydantic-2.11.0b1.tar.gz 774826 BLAKE2B 047f4075760fa679b8e183c5450c3cd423d17672372b9c306a7e1e3e8fc4ce087c781aa905924659ca6be0cfdba6614ce04028c8715156b6fa297c323d68cef3 SHA512 0eda99f3a296a3dee7db0bd65918a97780fdb19850b6138405fb2ed320fb4efb7d484b2c1a2fa1b3199684c49917f30c6bd7abb60d594d7e760fdcf2eda7f9c7 +DIST pydantic-2.11.0b2.tar.gz 776762 BLAKE2B 6632a96d46b71519527bacffe99e07c0a548b03bfda1980dbab005bf7bc2169b89140ba894eb1fab1216b5ad9155ade13ded32606ed5a781549c59da949db6ea SHA512 8bcdf95a1a90a4b7b7c42e338f16ee3268e2bdf5d7c1c72df6ab81db82a79a273c858103068cfc13a3728b1f3c720faf4118e6ae2a4fd762f12eb7dea36b7d5f diff --git a/dev-python/pydantic/pydantic-2.11.0_beta2.ebuild b/dev-python/pydantic/pydantic-2.11.0_beta2.ebuild new file mode 100644 index 000000000000..7323b5e29971 --- /dev/null +++ b/dev-python/pydantic/pydantic-2.11.0_beta2.ebuild @@ -0,0 +1,71 @@ +# 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] + ~dev-python/pydantic-core-2.32.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/cloudpickle[${PYTHON_USEDEP}] + ' 'python3*' pypy3) + dev-python/dirty-equals[${PYTHON_USEDEP}] + >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] + >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/benchmark/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # -Werror, sigh + tests/test_types_typeddict.py::test_readonly_qualifier_warning + ) + local EPYTEST_IGNORE=( + # require pytest-examples + tests/test_docs.py + # benchmarks + tests/benchmarks + ) + + if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/test_pickle.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} diff --git a/dev-python/pygresql/pygresql-6.0.1.ebuild b/dev-python/pygresql/pygresql-6.0.1.ebuild index b4ec0e8f2b3e..a9f8a2cdbb66 100644 --- a/dev-python/pygresql/pygresql-6.0.1.ebuild +++ b/dev-python/pygresql/pygresql-6.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pypax/pypax-0.9.5-r2.ebuild b/dev-python/pypax/pypax-0.9.5-r2.ebuild index 776fb2d5a436..e54b191f5208 100644 --- a/dev-python/pypax/pypax-0.9.5-r2.ebuild +++ b/dev-python/pypax/pypax-0.9.5-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pypax/pypax-9999.ebuild b/dev-python/pypax/pypax-9999.ebuild index 5d4447f066f5..5f8f6264e6e9 100644 --- a/dev-python/pypax/pypax-9999.ebuild +++ b/dev-python/pypax/pypax-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/rich-click/Manifest b/dev-python/rich-click/Manifest index 54995b3a3014..54778bdc462e 100644 --- a/dev-python/rich-click/Manifest +++ b/dev-python/rich-click/Manifest @@ -1,2 +1,2 @@ -DIST rich-click-1.8.6.gh.tar.gz 8140359 BLAKE2B ab5ddbad68cae208797a7893fdd8092035d8b4a428926fd55ffb01ebdd1ea83a510c1bf0622f01fd9f84da791425d1ac5647febc16bc55781c28d3fac96c70d3 SHA512 922c0c133104cb1aba9aca439aa81835202bf055c0b652339f3eb0c66bf71e7cb201881e03eb585f3eb1c0dedf1aa943df18917ce86f0d8d607ea7f9208ab0e2 DIST rich-click-1.8.7.gh.tar.gz 8140585 BLAKE2B f9d05ff78b4daad478cf9c7dad8ee66f4d970a80943e1ae5740d67c2a8c0f3e34ac2d06c8a50e39284782d801eb9435f9ef4b6037ba65fcde173e2da4dc4c702 SHA512 130787a0ae19363463d32e40e7b53513a1be919afcf3cfc7fec90ce2f3a75b948be4584ad7efda89161044ec0e3ee3a69cca255d4b41fdcda11a665508d9f65e +DIST rich-click-1.8.8.gh.tar.gz 8141426 BLAKE2B 9288f7818849b82e65c4c589597dbf0493e37d18f4cbbb81469a0b43ca611c091b4fce5df968d428c4733ce213d52cffddbb2d0516051275544b7e865771d3ff SHA512 45b954bb2f402fc4d9b837750250d92d0fd547f83bd893df75f5a2cb350177ae65f665112e8727c47c5ad31d974b66a685641574d7aa88a52a93098cbae9ff94 diff --git a/dev-python/rich-click/rich-click-1.8.6.ebuild b/dev-python/rich-click/rich-click-1.8.8.ebuild index d52764d97ac3..d52764d97ac3 100644 --- a/dev-python/rich-click/rich-click-1.8.6.ebuild +++ b/dev-python/rich-click/rich-click-1.8.8.ebuild diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest index 8a9a2a399bc4..8c5b6f19c9ee 100644 --- a/dev-python/setuptools/Manifest +++ b/dev-python/setuptools/Manifest @@ -1,2 +1,3 @@ DIST setuptools-75.8.2.tar.gz 1344083 BLAKE2B 7d4dff2c0948bb411ef5f70e5f5f91bc0e230b155a97419d263f88e54a94390fd7dcadad14105f4d886a25024bf4c95e776ae7b25e4b1d6f17e45e6060b99da2 SHA512 adf7f5d2eab7621b03c86e3f96857b176631108dc8a0eba2b16b87e394bff0b607998bc24cc074cd3f7b0ed6dbe0bd753cce5af2f108fce2473fb50b22f32913 DIST setuptools-76.0.0.tar.gz 1349387 BLAKE2B 4293d1b0719c70c17bde8b6091f394420a300175b787f0a1aa5a42cc81b4dfad186f1d0927b32124f37f78a730a049e16cfd87dbc71fa1ed5c1bb632634ece84 SHA512 8272f0f2823d8f093d24eeb12270f978dab52d1a609c08275248024decf2b47bc5b1ce352f22ea198bd93eb3375c829757e573921721e05f5269651669df9b2e +DIST setuptools-76.1.0.tar.gz 1350273 BLAKE2B ba4a2b83b793394fdddaa1ce817b8ea65db395d9f5ef5b2293f54b56d88570bc5db307d609c1f1531d720ece5333808a38fc1788832b2d5783ffd2b498a2b7ee SHA512 3e937bbf68c313ac8fe7dedbd3f644598dca623d564a943edc53fddf6726c3d8dd1f6efcd5bc9350ee1c98e0d8005c9854eefc162baefb1aaabd7d8cff9893d9 diff --git a/dev-python/setuptools/setuptools-76.1.0.ebuild b/dev-python/setuptools/setuptools-76.1.0.ebuild new file mode 100644 index 000000000000..85474085b864 --- /dev/null +++ b/dev-python/setuptools/setuptools-76.1.0.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +# please bump dev-python/ensurepip-setuptools along with this package! + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !<dev-python/setuptools-rust-1.8.0 + dev-python/jaraco-collections[${PYTHON_USEDEP}] + >=dev-python/jaraco-functools-4[${PYTHON_USEDEP}] + >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}] + >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.2.2[${PYTHON_USEDEP}] + >=dev-python/wheel-0.44.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] + ' 3.10) + !<=dev-libs/gobject-introspection-1.76.1-r0 + !=dev-libs/gobject-introspection-1.78.1-r0 + !=dev-libs/gobject-introspection-1.80.1-r1 +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pip-run[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}] + dev-python/pytest-subprocess[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" +# setuptools-scm is here because installing plugins apparently breaks stuff at +# runtime, so let's pull it early. See bug #663324. +# +# trove-classifiers are optionally used in validation, if they are +# installed. Since we really oughtn't block them, let's always enforce +# the newest version for the time being to avoid errors. +# https://github.com/pypa/setuptools/issues/4459 +PDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] +" + +src_prepare() { + local PATCHES=( + # TODO: remove this when we're 100% PEP517 mode + "${FILESDIR}/setuptools-62.4.0-py-compile.patch" + # https://github.com/abravalheri/validate-pyproject/pull/221 + "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch" + ) + + distutils-r1_src_prepare + + # breaks tests + sed -i -e '/--import-mode/d' pytest.ini || die + + # remove bundled dependencies + rm -r */_vendor || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + return + fi + + local EPYTEST_DESELECT=( + # network + setuptools/tests/test_build_meta.py::test_legacy_editable_install + setuptools/tests/test_distutils_adoption.py + setuptools/tests/test_editable_install.py + setuptools/tests/test_virtualenv.py::test_no_missing_dependencies + setuptools/tests/test_virtualenv.py::test_test_command_install_requirements + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # expects bundled deps in virtualenv + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel + # fails if python-xlib is installed + setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # broken by unbundling + setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata + # fails on normalized metadata, perhaps different dep version? + setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config + # TODO + setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + ) + + local EPYTEST_XDIST=1 + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 5553369bace9..fdbccdb23c5b 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -1,2 +1,4 @@ DIST sqlglot-26.10.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e DIST sqlglot-26.10.1.tar.gz 5334132 BLAKE2B 09050744362cd6096b761f97d67230e9908b88f074958b23c3c5eeae10adc5319a69134d68f41d5d181fea0e7d16aaaed224a6c786426da36a60fba5b6bbda16 SHA512 cee6ff027bbeb21d1a325f90f2d64f9d87bd221e2e5a1c0a9f11ddb3f11a898dc570b278be157ebd1050cb810338057bd6595fec322c97a98937c2c9ee008a09 +DIST sqlglot-26.11.1-crates.tar.xz 8327388 BLAKE2B 69213d11940f9d4e743b169ef831b8b52a771f012e247570cf0703580a14af435d4d033b4b3ddfca6f4022b741261a24f3b47e5137de644d863714006520f857 SHA512 5de0781c54265b369e5e46b7cfbcc04a3118aa8d1323bff14f2841c95d471f545c923eedb88dbbb81a910801c5a505ff37a25701af936c06cf55a1659cd8822e +DIST sqlglot-26.11.1.tar.gz 5335079 BLAKE2B fad8c5cf7f9e4b092bdcb73d3ed476b9e9d8260db3fff6679d8b325529b2164cdc0ca6368f45f7e351ebd31062037e1c78c9070b84a8347caaa5968d1108a2be SHA512 b7db28026c5f28b6e23e3f517daed08158315acb5965975ecf8ce43cb3cdaeeda8799ca60606037197d09c23338d9f6a10c95a33212c1106576860b1b17974f7 diff --git a/dev-python/sqlglot/sqlglot-26.11.1.ebuild b/dev-python/sqlglot/sqlglot-26.11.1.ebuild new file mode 100644 index 000000000000..e6d6333f80ba --- /dev/null +++ b/dev-python/sqlglot/sqlglot-26.11.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +CARGO_OPTIONAL=1 + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 +" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" + +pkg_setup() { + use native-extensions && rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # timing, sigh + # https://github.com/tobymao/sqlglot/issues/3961 + tests/test_generator.py::TestGenerator::test_generate_nested_binary + ) + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/superqt/Manifest b/dev-python/superqt/Manifest index 2aaa0a71596d..e120026cd89d 100644 --- a/dev-python/superqt/Manifest +++ b/dev-python/superqt/Manifest @@ -1,2 +1 @@ -DIST superqt-0.6.7.tar.gz 96733 BLAKE2B 3c189989c1bdbd1dd35bcb5a80951c817fefe19b61e4c8d44878fbfc7cc850b272149219b995a1a1b808e11063c8c16e4dafc7eaafa772c4912936a3708971e9 SHA512 054df016442cb72327218f4d73fbcfd2335178c10cb09f7c5e645721189403580f082ad2853527f84bf1513b1605b470b16fc08848bff077b5a5e1746df60f24 DIST superqt-0.7.0.tar.gz 97558 BLAKE2B 7210f0b96858a78d6798fbf19ff260d9954ced05f2e82902acc6c897fef64dd604282a435c2a8d06c085bbc88f286e5ac93682e7bf08c1c332646842e389f2be SHA512 3594ecff511285f7df0a44be5f6fb97128a2724c0d90053a3fa008f47237dee294ad062997053abcba6d54ddb73a0c21f9a0f51e824ebf22cad97e686d5e54c1 diff --git a/dev-python/superqt/superqt-0.6.7.ebuild b/dev-python/superqt/superqt-0.6.7.ebuild deleted file mode 100644 index a09f8607431f..000000000000 --- a/dev-python/superqt/superqt-0.6.7.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi virtualx - -DESCRIPTION="Missing widgets and components for PyQt/PySide" -HOMEPAGE=" - https://github.com/pyapp-kit/superqt - https://pypi.org/project/superqt/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}] - >=dev-python/qtpy-1.1.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}] -" - -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pytest-qt[${PYTHON_USEDEP}] - ) -" - -EPYTEST_IGNORE=( - # pint and pyconify not packaged - tests/test_quantity.py -) - -EPYTEST_DESELECT=( - # fails in the sandbox, but works outside of it - tests/test_eliding_label.py::test_wrapped_eliding_label -) - -distutils_enable_tests pytest - -python_test() { - virtx distutils-r1_python_test -} diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest index 2552f2335940..9385862cabcd 100644 --- a/dev-python/twisted/Manifest +++ b/dev-python/twisted/Manifest @@ -1,4 +1,3 @@ DIST twisted-24.10.0.tar.gz 3525999 BLAKE2B 4d274a4b5989597c2789e05774bad3595ac5284f5da25fb488d46b87a4bb0e0ab311fcab228eaf070530451a28098bbefc326f6d4806378b2fe076adf5b07199 SHA512 dad7c1301c3b31f096db8c4796e064e864c2c28107c46c202b4f4b123c99a0e69f9b43afbf582997dd2c15a08e95b41213e4bc67ea1fe9fd8137c76656a20162 DIST twisted-24.11.0.tar.gz 3526722 BLAKE2B cd874da038e3cbc369283de5d598b99680e3122ed9bdd0bbb8e541793b739b88281708c618c8f0cf9b4bf13684188b0b893ec5f744ae510c1af446822652a866 SHA512 cfd17cad9573b47b43761625ab529a1a0b27ce75545d9bc277622a7ce138b5dccf554d3c8764de1baafc07192e1172e50f4c6d19dc65590b5318a603a808efb9 -DIST twisted-24.7.0.tar.gz 3516844 BLAKE2B 169347260b473ea1c50806ce50324ebd51388186098886ccaad1f94e55f6b14eb7a7fc42728dbeaf4b5649d0e6dc1e4624cd5ab6d79feeaa733e18d09cfd689f SHA512 cd5a993c8f1dfdc82597bdc095e07c1016a2a86d1ce5b011b27f9f760db428fcba4579dda5733244979827f9c772c2480d1d419d2d24ae7af8697e2b8e852f62 DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03 diff --git a/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch b/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch deleted file mode 100644 index 9dabba43391a..000000000000 --- a/dev-python/twisted/files/twisted-24.3.0-skip-dsa-tests.patch +++ /dev/null @@ -1,75 +0,0 @@ -From b948467c3f01cc46b5dcda8802b913295b7c8999 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz> -Date: Wed, 31 Jul 2024 18:05:01 +0200 -Subject: [PATCH] Skip tests requiring DSA if SSH does not support DSS - -Modern OpenSSH no longer supports DSA/DSS. We need to skip tests that -use DSA if it is not supported by the installed SSH. The availability of -DSA can be checked by querying `ssh -Q key`, which includes `ssh-dss` in -the output if DSS is available, as suggested in [1]. - -[1] https://github.com/twisted/twisted/issues/12273#issuecomment-2260799255 - -Issue: https://github.com/twisted/twisted/issues/12273 - -Based on upstream PR https://github.com/twisted/twisted/pull/12274 - -diff --git a/src/twisted/conch/test/test_cftp.py b/src/twisted/conch/test/test_cftp.py -index 40b2deaedb..51a978de4b 100644 ---- a/src/twisted/conch/test/test_cftp.py -+++ b/src/twisted/conch/test/test_cftp.py -@@ -20,6 +20,7 @@ from zope.interface import implementer - - from twisted.conch import ls - from twisted.conch.interfaces import ISFTPFile -+from twisted.conch.test.test_conch import HAS_DSA - from twisted.conch.test.test_filetransfer import FileTransferTestAvatar, SFTPTestBase - from twisted.cred import portal - from twisted.internet import defer, error, interfaces, protocol, reactor -@@ -1436,6 +1437,7 @@ exit - @skipIf(skipTests, "don't run w/o spawnProcess or cryptography") - @skipIf(not which("ssh"), "no ssh command-line client available") - @skipIf(not which("sftp"), "no sftp command-line client available") -+@skipIf(not HAS_DSA, "needs ssh supporting dsa") - class OurServerSftpClientTests(CFTPClientTestBase): - """ - Test the sftp server against sftp command line client. -diff --git a/src/twisted/conch/test/test_conch.py b/src/twisted/conch/test/test_conch.py -index 45b357c995..9e77c9b2e9 100644 ---- a/src/twisted/conch/test/test_conch.py -+++ b/src/twisted/conch/test/test_conch.py -@@ -59,6 +59,21 @@ except ImportError as e: - else: - StdioInteractingSession = _StdioInteractingSession - -+def _has_dsa(): -+ has_dsa = False -+ try: -+ output = subprocess.check_output( -+ [which("ssh")[0], "-Q", "key"], stderr=subprocess.STDOUT, text=True -+ ) -+ keys = output.split() -+ if "ssh-dss" in keys: -+ has_dsa = True -+ except BaseException: -+ pass -+ return has_dsa -+ -+HAS_DSA = _has_dsa() -+ - - def _has_ipv6(): - """Returns True if the system can bind an IPv6 address.""" -@@ -551,6 +566,9 @@ class OpenSSHClientMixin: - if not which("ssh"): - skip = "no ssh command-line client available" - -+ if not HAS_DSA: -+ skip = "needs ssh supporting dsa" -+ - def execute(self, remoteCommand, process, sshArgs=""): - """ - Connects to the SSH server started in L{ConchServerSetupMixin.setUp} by --- -2.44.2 - diff --git a/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch b/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch deleted file mode 100644 index c469f7883f71..000000000000 --- a/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2f14c47947206d7f2e53af85567938601728abbd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org> -Date: Fri, 28 Jun 2024 06:48:23 +0000 -Subject: [PATCH] skip failing test in py3.13 - -Let's skip failing test for now, Fedora does it as well [1]. - -[1] https://src.fedoraproject.org/rpms/python-twisted/blob/c8c63fe475594326f50fd748b40ae65f925c1325/f/0010-Skip-failing-tests.patch - -Upstream-Issue: https://github.com/twisted/twisted/issues/12099 - -diff --git a/src/twisted/test/test_failure.py b/src/twisted/test/test_failure.py -index 9a3daae306..a7a3ce29bd 100644 ---- a/src/twisted/test/test_failure.py -+++ b/src/twisted/test/test_failure.py -@@ -17,7 +17,7 @@ from io import StringIO - from traceback import FrameSummary - from types import TracebackType - from typing import Any, Generator, cast --from unittest import skipIf -+from unittest import skipIf, skip - - from cython_test_exception_raiser import raiser - -@@ -990,6 +990,7 @@ class ExtendedGeneratorTests(SynchronousTestCase): - - self.assertEqual(traceback.extract_tb(stuff[0][2])[-1][-1], "1 / 0") - -+ @skip("Fails with Python 3.13") - def test_findFailureInGenerator(self) -> None: - """ - Within an exception handler, it should be possible to find the --- -2.45.2 - diff --git a/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch b/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch deleted file mode 100644 index 9be4283567ec..000000000000 --- a/dev-python/twisted/files/twisted-24.7.0_rc1-skip-py313-tests.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 314fb5e18cbcaa11040a129d6ffaee3c376f55e7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org> -Date: Wed, 31 Jul 2024 15:08:20 +0200 -Subject: [PATCH] skip py3.13 incompatible tests - -Based on upstream changes in PR https://github.com/twisted/twisted/pull/12092 - -diff --git a/src/twisted/internet/test/test_inlinecb.py b/src/twisted/internet/test/test_inlinecb.py -index 355572b566..11c09c6996 100644 ---- a/src/twisted/internet/test/test_inlinecb.py -+++ b/src/twisted/internet/test/test_inlinecb.py -@@ -6,11 +6,13 @@ - Tests for L{twisted.internet.inlineCallbacks}. - """ - -+import sys - import traceback - import unittest as pyunit - import weakref - from enum import Enum - from typing import Any, Generator, List, Set, Union -+from unittest import skipIf - - from twisted.internet import reactor, task - from twisted.internet.defer import ( -@@ -1122,6 +1124,9 @@ class NonLocalExitTests(TestCase): - - - class ForwardTraceBackTests(SynchronousTestCase): -+ HAVE_PY3_12_OR_OLDER = sys.version_info < (3, 13) -+ -+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older") - def test_forwardTracebacks(self): - """ - Chained inlineCallbacks are forwarding the traceback information -@@ -1171,6 +1176,7 @@ class ForwardTraceBackTests(SynchronousTestCase): - - return d - -+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older") - def test_forwardLotsOfTracebacks(self): - """ - Several Chained inlineCallbacks gives information about all generators. -@@ -1218,6 +1224,7 @@ class ForwardTraceBackTests(SynchronousTestCase): - self.assertIn("Error Marker", tb) - self.assertIn("in erroring", f.getTraceback()) - -+ @skipIf(not HAVE_PY3_12_OR_OLDER, "Needs Python 3.12 or older") - def test_forwardLotsOfTracebacksCoro(self): - """ - Several chained inlineCallbacks mixed with coroutines gives information --- -2.44.2 - diff --git a/dev-python/twisted/twisted-24.7.0.ebuild b/dev-python/twisted/twisted-24.7.0.ebuild deleted file mode 100644 index 7876c6016080..000000000000 --- a/dev-python/twisted/twisted-24.7.0.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing pypi virtualx - -DESCRIPTION="An asynchronous networking framework written in Python" -HOMEPAGE=" - https://twisted.org/ - https://github.com/twisted/twisted/ - https://pypi.org/project/Twisted/ -" -SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" -IUSE="conch http2 serial ssl test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] - >=dev-python/automat-0.8.0[${PYTHON_USEDEP}] - >=dev-python/constantly-15.1[${PYTHON_USEDEP}] - >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}] - >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}] - >=dev-python/zope-interface-5[${PYTHON_USEDEP}] - conch? ( - >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}] - >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}] - >=dev-python/cryptography-3.3[${PYTHON_USEDEP}] - dev-python/pyasn1[${PYTHON_USEDEP}] - ) - http2? ( - <dev-python/h2-5.0[${PYTHON_USEDEP}] - >=dev-python/h2-3.0.0[${PYTHON_USEDEP}] - <dev-python/priority-2.0[${PYTHON_USEDEP}] - >=dev-python/priority-1.1.0[${PYTHON_USEDEP}] - ) - serial? ( - >=dev-python/pyserial-3.0[${PYTHON_USEDEP}] - ) - ssl? ( - >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}] - >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}] - >=dev-python/idna-2.4[${PYTHON_USEDEP}] - ) -" -IDEPEND=" - >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] - >=dev-python/constantly-15.1[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}] - >=dev-python/zope-interface-5[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] - >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - $(python_gen_cond_dep ' - >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}] - >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}] - >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}] - <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}] - >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}] - >=dev-python/idna-2.4[${PYTHON_USEDEP}] - >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}] - dev-python/pyasn1[${PYTHON_USEDEP}] - >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}] - >=dev-python/pyserial-3.0[${PYTHON_USEDEP}] - virtual/openssh - ssl? ( - >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}] - >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}] - ) - ' "${PYTHON_TESTED[@]}") - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-24.3.0-skip-dsa-tests.patch" - "${FILESDIR}/${PN}-24.3.0_p20240628-skip-py313-test.patch" - "${FILESDIR}/${PN}-24.7.0_rc1-skip-py313-tests.patch" -) - -python_prepare_all() { - # upstream test for making releases; not very useful and requires - # sphinx (including on py2) - rm src/twisted/python/test/test_release.py || die - - # multicast tests fail within network-sandbox - sed -e 's:test_joinLeave:_&:' \ - -e 's:test_loopback:_&:' \ - -e 's:test_multiListen:_&:' \ - -e 's:test_multicast:_&:' \ - -i src/twisted/test/test_udp.py || die - - distutils-r1_python_prepare_all -} - -src_test() { - # the test suite handles missing file & failing ioctl()s gracefully - # but not permission errors from sandbox - addwrite /dev/net/tun - virtx distutils-r1_src_test -} - -python_test() { - if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then - einfo "Skipping tests on ${EPYTHON} (xfail)" - return - fi - - # breaks some tests by overriding empty environment - local -x SANDBOX_ON=0 - # for py3.13, see - # https://github.com/twisted/twisted/pull/12092#issuecomment-2194326096 - local -x LINES=25 COLUMNS=80 - "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" twisted || - die "Tests failed with ${EPYTHON}" -} - -python_install() { - distutils-r1_python_install - - # own the dropin.cache so we don't leave orphans - > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die - - python_doscript "${WORKDIR}"/twisted-regen-cache -} - -python_install_all() { - distutils-r1_python_install_all - - newconfd "${FILESDIR}/twistd.conf" twistd - newinitd "${FILESDIR}/twistd.init" twistd -} - -python_postinst() { - twisted-regen-cache || die -} - -pkg_postinst() { - if [[ -z ${ROOT} ]]; then - python_foreach_impl python_postinst - fi -} - -python_postrm() { - rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die -} - -pkg_postrm() { - # if we're removing the last version, remove the cache file - if [[ ! ${REPLACING_VERSIONS} ]]; then - python_foreach_impl python_postrm - fi -} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 27d8fff1c4ae..fa553236b551 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -7,3 +7,5 @@ DIST uv-0.6.4-crates.tar.xz 60120880 BLAKE2B 67e7cba1df7e8c18e55d7d1a5748db7995c DIST uv-0.6.5.gh.tar.gz 3782938 BLAKE2B 82528fbd5c65cc07dd4ba647dd86d81673370afe8568690601e54faa54ad0ffa42db375b63580b0ae67f1fda67a66f54d990ce97704c614e80bf54666ed3e11e SHA512 cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5 DIST uv-0.6.6-crates.tar.xz 60230976 BLAKE2B 9b0dcb0d8246fc275f5b508c48661f0844622ee9280b9000e0131e6101d548b92f983502fa21070fd41aa20854aa0931b3a5be13fc96def5bafab6d0eebe943f SHA512 b1925417eb34135e9e9d92a8d832055cd3677142ac9e7369d9e1f64ceba02632914c6ddc669257a5d75dd27b8cea4612db2bb295d2b747a74e169a8e23fc5a6b DIST uv-0.6.6.gh.tar.gz 3767860 BLAKE2B 09bcb296f10ecebc9bda81091ea9c7f589b9b44169981676b5013088c001301d2302bab8514d4c6fb9542ba0bc0d07377e68a46c35f667a6a408f86e499a1a89 SHA512 49ad9fdb411e719b5a2aae6d48750932c8ad65bace2b0a747a54b475bcd0a40da368712d074b4b3afdf28cc8003532aca712b3714d54323f184ee1358521d7c5 +DIST uv-0.6.7-crates.tar.xz 60339544 BLAKE2B 5bde165c809ee9a66c23a1811d461502021b2038c747deaa250b2f30e947712e6ccad23f188fc93b000edaaf53b657d90971803acff94ade6c61a29684cf5601 SHA512 d339b9cc8b4b19ba802d203f476da311d060962e07cffaeedd0aed05b21125b6a959a971d3654db3e26087c15331588dd6ebba2ab9e52fcd91b1a38a2dc8e9e7 +DIST uv-0.6.7.gh.tar.gz 3791242 BLAKE2B ca24f6945d6a442c32a574b901cf47dac3ede08603255b62feded82d36179a578aada04fca402d7738d2b3b78adfe22e4d1dbded502cafb2c5d4eb0407a5b5d4 SHA512 992f8a64f3d0c8f57be6959f91242ce7420c6ee94839f067dc142f895fb2c0b9ab4161b6a51112241e30c8836eefb7e5bc747f867c28bf09b95e0aaa52de8350 diff --git a/dev-python/uv/uv-0.6.7.ebuild b/dev-python/uv/uv-0.6.7.ebuild new file mode 100644 index 000000000000..3a051e0e30a2 --- /dev/null +++ b/dev-python/uv/uv-0.6.7.ebuild @@ -0,0 +1,166 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.83.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz +" + +# 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 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.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + !!~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 + + # 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 +} |
