diff options
Diffstat (limited to 'dev-python')
51 files changed, 1437 insertions, 83 deletions
diff --git a/dev-python/blessed/Manifest b/dev-python/blessed/Manifest index 332a73d19518..0d195ccbe483 100644 --- a/dev-python/blessed/Manifest +++ b/dev-python/blessed/Manifest @@ -1,3 +1,3 @@ -DIST blessed-1.49.0.tar.gz 14055928 BLAKE2B ddc5793230d896f6851999c1f519178a026b38002e1149eae03d4ccabdcb56612e536f312d557896725cb88e8cd94bf16a743248d54351b5e324aa2e16a0915e SHA512 6a74f7b5ac374eb34f0d6558aec506e197dc9df809f4460f1d10ac5febf84e7f07afef62dc7423901a9cf3463a2872c87669c8e939d8bcc69213c64d093f00ce DIST blessed-1.50.0.tar.gz 14062021 BLAKE2B a16609378d7b73de78ae07970119fa64a77c5dbe775d7edf62894b7cbbfbc9989fc0630b38398c8139a50ffcb40e579c3b9039dd7249b60ad526b9cb9e0065f2 SHA512 dc8d6805d04d8681b190c30481899e261aafa973129ce825c392142ea8b1e3dec476c7a9fe442d14cf9a712fe872dc0e14099047b787b5dc2349c586d6ca0e3c DIST blessed-1.51.0.tar.gz 14069432 BLAKE2B d7ade8e3e040f1e218139659d4dc843f8e1f67f9d79a342ca4c7dff9e6a653521ebc7851a32364f3db9f93164f817aaebf99f9ee471719b28ccaa4f6c8c995a6 SHA512 f4e1cfd9d88c5fc6aadb86b56c03b302832770c01a2d456cf016f3115e0d09377e21cae95b02cadc132635318cfd9ec340cb8ace74c57ea4be40d937a987d56c +DIST blessed-1.52.0.tar.gz 14069744 BLAKE2B 0467e1ecdc7dd626e793cd346ee5a7cf4be5ac08a4cdb9f01760697ce8165c3281f10ccc002fbdb844da005805407f08b47f00f6e41a4883f8c66375b7d7e70f SHA512 8da8bdc0b111d7cec8d065045e586cd0828cdf72ea796a46ed228b9c24b9a8c8ca86f78adc0885ba100ffa968556e599fb96d874f9f2055d232ffd73ceb0136e diff --git a/dev-python/blessed/blessed-1.49.0.ebuild b/dev-python/blessed/blessed-1.52.0.ebuild index 9fd01d486884..2d966eb57b93 100644 --- a/dev-python/blessed/blessed-1.49.0.ebuild +++ b/dev-python/blessed/blessed-1.52.0.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 ~riscv x86" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" RDEPEND=" >=dev-python/jinxed-2.1[${PYTHON_USEDEP}] diff --git a/dev-python/blurb/Manifest b/dev-python/blurb/Manifest index c68f725a6251..a8eeb5bcb0b8 100644 --- a/dev-python/blurb/Manifest +++ b/dev-python/blurb/Manifest @@ -1,4 +1,4 @@ -DIST blurb-2.1.0.tar.gz 28097 BLAKE2B 9ca21b64f994395de70f386e219600e714d3ef43e68db6153154ea126669c021097c3f81a19fd06bd3d52ec27d1f99730aa8c39a302573086e1accca74c365f8 SHA512 af7cdbb75f1c710f0a88cd3a410b6e80924239b6985c7650d5580ac27c54eca6cfcecc63d88c8c6362e2045758acfc962b97a76e5b4508f7974bd14b0ba0f39a -DIST blurb-2.1.0.tar.gz.provenance 9408 BLAKE2B 472859864202f4150a59bf701b29d55b34c965a8540acde6271bc8d1bfeb0a94b04eea7a4f623bbe76669babc0987c4ba66ff9564576b66aa3b0acade99242c4 SHA512 6ef52687c06feddd40e0d6f57212fc1553c25068bf407d647445d9ec4790e264786f6a80cd5c9f3b22a42a6bb3e16e16f80379cf2a3994618b2da2c300dedafe DIST blurb-2.2.0.tar.gz 28063 BLAKE2B 57cb6344b8dd4eb169eabc526d8ed074eddfa173867cd9a75a5b3f9dab153215a32d905ec8dcdbf08e6f1ff09cfd2c163813e9a87a23385370521acc7dd1729b SHA512 c3f6c0db26d380d5eb5246230e27c9f3702c72c945136d0f03111af6080cdda07c27f67e847e71c59d422f918d003065acea7bfeba122e32b86dd04e1eaf47bf DIST blurb-2.2.0.tar.gz.provenance 9374 BLAKE2B e1eab67d74340f7663c7ef68eb5b3f1d40ac322aa50e05f57650c7702dde1439a77bd8b15f4643d8b2a6d6873a8b2f19c9edda5076053bed7b5f48b18a087102 SHA512 0d8da6ebee66c836998f27d424789f65f5caa83e923e645b410773f08d6e37b1544472a0fa90b81e05e5399fef9eeb996ff0e1b353408d2ce2057dbaf5bb77c1 +DIST blurb-2.3.0.tar.gz 31075 BLAKE2B 3b4e3a667641780d84bc7602d1cf17ce09c029a6324a679b3fe66cacc68eb8ebe8388ebe55761bb6d7098d91eb75bd55579425d57de3e012aeeca8f6467a2948 SHA512 9a620b4d4c4e0729ba1a9f5cce4316e29ae4989bd5f4deb545f71c1f45c810fe196617650d366d22f1af3bbba5a59d651701ed14cc4141dd6a3093130534db94 +DIST blurb-2.3.0.tar.gz.provenance 9719 BLAKE2B 99f9136ac92c3d962d466dd6efaf174658a502c7662082b2c5211a16646b7b2a94d4a184ff43fd99150504b0042e12c700e538ca4246d92de3081218addcbc93 SHA512 ec69ff3ebf8875be89a0787c1f9c6eee4c331a99fa835b37d58f4e5d0ecea1a8f048b00de7965d252fc7351e626d92a5f222a1c701645c1da223b4996e0e4c61 diff --git a/dev-python/blurb/blurb-2.1.0.ebuild b/dev-python/blurb/blurb-2.3.0.ebuild index d633fc7040dd..d633fc7040dd 100644 --- a/dev-python/blurb/blurb-2.1.0.ebuild +++ b/dev-python/blurb/blurb-2.3.0.ebuild diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest index 43d8c9e65bbd..73c937ec0489 100644 --- a/dev-python/django-auth-ldap/Manifest +++ b/dev-python/django-auth-ldap/Manifest @@ -1,2 +1,4 @@ DIST django_auth_ldap-5.3.0.tar.gz 55272 BLAKE2B b7de6d7e94898168809561b5302712ff72e406c9b22f76bca7071cce6db311fafd63c4dc54ed0c4b61c175754342296a0e11803da1ff6d50cda45b2dab18d6f4 SHA512 00e122040c5ff4dc200256bb5b9186bd4e52edbe962129c2750144137beba1f77298c1aa1caa06318a65432a1ef8cb1340ea7d55082a8659bddef303d7a97e2b DIST django_auth_ldap-5.3.0.tar.gz.provenance 9810 BLAKE2B 5432005a44133d45ec52e40aa78f8e7d56954fed5e385e43cb27c2be51b68892d90488fbdbe68ad8925851bc6e4a122d0f41782fc78d5a3bb3dfc6ed09ca9e62 SHA512 da82cc226af0de3e78917bb8f69ccb139355f40696937c49578f214717b28b377d7f0098805e7f07a1f2659510ec8251ba54b02dabe01dd4742d044a03f5f41f +DIST django_auth_ldap-5.4.0.tar.gz 56416 BLAKE2B 670756f3e470bf78831860a6605987f9fc9e4d797aa27997836e5e57be511797602046a2a89b899386a561c31e0650a25ba8dec783b17e15ecf3596b72292ae0 SHA512 952228cb4cae34bea7a3edc0d187a17030568a2361e383692c17bc344170942194545840a2a8db420475968bd892dcffb3bc22f035c665f702a8c061a46f4b2c +DIST django_auth_ldap-5.4.0.tar.gz.provenance 10008 BLAKE2B a2edbc475bebc1ef255626253da02f9d1e075cd78c6bb6d65c7678cd15d7c8c4dae8104ae206fc69ae014f1aa5300327c381e098070d81a6aefc337a805ea30a SHA512 30428850499af84b39bb61f30069c22832e9fbad51a8eda2d771c2f23701b58ec393381f5b05b229cee9e50bfbcf00e5d7cf433a83610bb9fe43e4208ccbb92a diff --git a/dev-python/django-auth-ldap/django-auth-ldap-5.4.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-5.4.0.ebuild new file mode 100644 index 000000000000..6e8f7fd9f6b2 --- /dev/null +++ b/dev-python/django-auth-ldap/django-auth-ldap-5.4.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/django-auth-ldap/django-auth-ldap +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Django LDAP authentication backend" +HOMEPAGE=" + https://github.com/django-auth-ldap/django-auth-ldap/ + https://pypi.org/project/django-auth-ldap/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/django-5.2[${PYTHON_USEDEP}] + >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + $(python_gen_impl_dep sqlite) + net-nds/openldap[-minimal] + ) +" + +distutils_enable_sphinx docs \ + dev-python/sphinx-rtd-theme + +python_test() { + # for slapd and slapdtest + local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap + "${EPYTHON}" -m django test -v 2 --settings tests.settings || + die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest index 6a96866423bb..d0b8b25e59da 100644 --- a/dev-python/ensurepip-pip/Manifest +++ b/dev-python/ensurepip-pip/Manifest @@ -1,3 +1,4 @@ DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0 DIST pip-26.1.2.gh.tar.gz 9268753 BLAKE2B 8cbf0ecf25a2bdd148506ca0e2e778b9053759cf5fed3914b915454bd8810b1d7a27e3b2efb5fd29c4e6b189c7e8050f0da15ae6c259712446b5a35f44018ee0 SHA512 e29c98a7da5e329183b7eef86a66f9d6c3473051f64aa6e762714306148547eb0de4220824484071822a9a62bd01a62a09ab16bba4c26e4b847bfc2609728608 DIST pip-26.2.1.gh.tar.gz 9301563 BLAKE2B eb7b929de0e99c84c9b1257f1bf737f524eb6de01075d40b36519b082d8a49e107dbd0eded9a8bf737ce8f7d452c5e5cffb853b000d6ac2936b5b84dd607c770 SHA512 03a00bdc4387a4e7e4e54672e9198893500d279912ece4cd144f015c568c974ecc2c3c7bd6abf108df852302ddd49468ef0bc514ca4323ee037d754e2fbfaee0 +DIST pip-26.2.2.gh.tar.gz 9302280 BLAKE2B 862f37064e2a68be6ea672916fd02644928258547b1421fc5eecde442ac15242cf03d3b79f9a71fe6a8e9abc012ff7a9df74de27ce20197bf6876436a44fbb72 SHA512 b24050ef68595b4b1566614bb37908102b3ebaea5fefb33cbb30fde273c210750895a053ff58294f32450a6d09e4c92e555895362ced742a63cfea5720f2ea08 diff --git a/dev-python/ensurepip-pip/ensurepip-pip-26.2.2.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-26.2.2.ebuild new file mode 100644 index 000000000000..5987ad429465 --- /dev/null +++ b/dev-python/ensurepip-pip/ensurepip-pip-26.2.2.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +# PYTHON_COMPAT is used only for testing +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 pypi + +FLIT_CORE_PV=3.12.0 + +MY_P=${P#ensurepip-} +DESCRIPTION="Shared pip wheel for ensurepip Python module" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/ +" +SRC_URI=" + https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz + test? ( + $(pypi_wheel_url flit-core "${FLIT_CORE_PV}") + ) +" +S=${WORKDIR}/${MY_P} + +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 test-rust" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${RDEPEND} + test? ( + <dev-python/ensurepip-setuptools-80 + dev-python/ensurepip-wheel + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/scripttest[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + test-rust? ( + dev-python/cryptography[${PYTHON_USEDEP}] + ) + dev-vcs/git + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +declare -A VENDOR_LICENSES=( + [cachecontrol]=Apache-2.0 + [certifi]=MPL-2.0 + [distlib]=PSF-2 + [distro]=Apache-2.0 + [idna]=BSD + [msgpack]=Apache-2.0 + [packaging]="|| ( Apache-2.0 MIT )" + [pkg_resources]=MIT + [platformdirs]=MIT + [pygments]=BSD-2 + [pyproject_hooks]=MIT + [requests]=Apache-2.0 + [resolvelib]=ISC + [rich]=MIT + [tomli]=MIT + [tomli_w]=MIT + [truststore]=MIT + [urllib3]=MIT +) +LICENSE+=" ${VENDOR_LICENSES[*]}" + +python_prepare_all() { + local PATCHES=( + # remove coverage & pytest-subket wheel expectation from test suite + # (from dev-python/pip) + "${FILESDIR}/pip-26.0-test-wheels.patch" + ) + + distutils-r1_python_prepare_all + + if use test; then + local wheels=( + "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl + "${DISTDIR}/$(pypi_wheel_name flit-core "${FLIT_CORE_PV}")" + ) + mkdir tests/data/common_wheels/ || die + cp "${wheels[@]}" tests/data/common_wheels/ || die + fi + + # Verify that we've covered licenses for all vendored packages + cd src/pip/_vendor || die + local packages=( */ ) + local pkg missing=() + for pkg in "${packages[@]%/}"; do + if [[ ! -v "VENDOR_LICENSES[${pkg}]" ]]; then + missing+=( "${pkg}" ) + else + unset "VENDOR_LICENSES[${pkg}]" + fi + done + + if [[ ${missing[@]} || ${VENDOR_LICENSES[@]} ]]; then + [[ ${missing[@]} ]] && + eerror "License missing for packages: ${missing[*]}" + [[ ${VENDOR_LICENSES[@]} ]] && + eerror "Vendored packages removed: ${!VENDOR_LICENSES[*]}" + die "VENDOR_LICENSES outdated" + fi + + local upstream_count=$(wc -l < vendor.txt || die) + if [[ ${#packages[@]} -ne ${upstream_count} ]]; then + eerror "VENDOR_LICENSES: ${#packages[@]}" + eerror "vendor.txt: ${upstream_count}" + die "Not all vendored packages matched" + fi +} + +python_test() { + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + tests/functional/test_lock.py::test_lock_archive + tests/functional/test_lock.py::test_lock_vcs + # broken by system site-packages use + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # require cmake wheel + tests/functional/test_build_env.py::test_build_env_can_still_access_python_tools_on_system_path + tests/functional/test_build_env.py::test_build_env_isolation[venv-inprocess] + tests/functional/test_build_env.py::test_build_env_isolation[venv-subprocess] + tests/functional/test_install_config.py::test_build_dependency_install_uses_same_keyring_as_root[legacy-isolation] + ) + local EPYTEST_IGNORE=( + # from upstream options + src/pip/_vendor + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + # rerunfailures because test suite breaks if packages are installed + # in parallel + epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \ + --use-venv +} + +src_install() { + if [[ ${DISTUTILS_WHEEL_PATH} != *py3-none-any.whl ]]; then + die "Non-pure wheel produced?! ${DISTUTILS_WHEEL_PATH}" + fi + # TODO: compress it? + insinto /usr/lib/python/ensurepip + doins "${DISTUTILS_WHEEL_PATH}" +} diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest index 8995f30d0b22..aa3a8270e7b4 100644 --- a/dev-python/ensurepip-setuptools/Manifest +++ b/dev-python/ensurepip-setuptools/Manifest @@ -1,3 +1,4 @@ DIST setuptools-79.0.1-py3-none-any.whl 1256281 BLAKE2B 8ae51bdd1c0ccada116757c2bd765225fcf4bedc7ada18567ae12f09b6978cdbcddd4f635a39a5568b6d3ed4388e4f73af5c33a7060f2ac0d0907fc82d8fd74f SHA512 fef6cfc6f95a5bb7320f1680e1c665cb8d9a4e4227cde4d8aab8a50bed4bcf04320085b9d7d5343359f887008db5c5a861e57f3d08b7b0b2311a28adaeee6b4a DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad DIST setuptools-84.2.0.tar.gz 1227656 BLAKE2B c6f89587af28b64029dfcc0a3a511e30abec3b60d00a272f699ff2df2032e0cdc04c546b9bac6a8928cf7a6cbcd3a3a856815ee18bcc178f05a53fcc59bee6eb SHA512 ac5c9daf5cf445a2bb220072efed426e0af38caa601d544389181a3f53bc39575cf0cf7aa69addca239eb8c8f51e3410cad0b9ff9c9787d0c4c6a54fbc3a256e +DIST setuptools-84.2.1.tar.gz 1230289 BLAKE2B fcac5229c8764d97159934030e996a6791e508b363a13f8358471256f2a73168ff177a52fcda57be308ef1062b0e2b9e78fcc68616e12613c939e818b5208647 SHA512 9e4c9a9ec45c69abe6f8953b6c6490eb1ffe2aea9a666beab45bdd7d5e2acbb2dbfddf6d7797c01c3e5a47b10bee519c029587fb45000ebb5c5b72468498ef0b diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.2.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.2.1.ebuild new file mode 100644 index 000000000000..ce9b184f5ef2 --- /dev/null +++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-84.2.1.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYPI_PN=${PN#ensurepip-} +# PYTHON_COMPAT used only for testing +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Shared setuptools wheel for ensurepip Python module" +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 )" + +BDEPEND=" + ${RDEPEND} + test? ( + >=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/pyproject-hooks[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +declare -A VENDOR_LICENSES=( + [autocommand]=LGPL-3 + [backports.tarfile]=MIT + [importlib_metadata]=Apache-2.0 + [jaraco_context]=MIT + [jaraco_functools]=MIT + [jaraco.text]=MIT + [more_itertools]=MIT + [packaging]="|| ( Apache-2.0 MIT )" + [platformdirs]=MIT + [tomli]=MIT + [wheel]=MIT + [zipp]=MIT +) +LICENSE+=" ${VENDOR_LICENSES[*]}" + +src_prepare() { + distutils-r1_src_prepare + + # Verify that we've covered licenses for all vendored packages + cd setuptools/_vendor || die + local packages=( *.dist-info ) + local pkg missing=() + for pkg in "${packages[@]%%-*}"; do + if [[ ! -v "VENDOR_LICENSES[${pkg}]" ]]; then + missing+=( "${pkg}" ) + else + unset "VENDOR_LICENSES[${pkg}]" + fi + done + + if [[ ${missing[@]} || ${VENDOR_LICENSES[@]} ]]; then + [[ ${missing[@]} ]] && + eerror "License missing for packages: ${missing[*]}" + [[ ${VENDOR_LICENSES[@]} ]] && + eerror "Vendored packages removed: ${!VENDOR_LICENSES[*]}" + die "VENDOR_LICENSES outdated" + fi +} + +python_compile() { + # If we're testing, install for all implementations. + # If we're not, just get one wheel built. + if use test || [[ -z ${DISTUTILS_WHEEL_PATH} ]]; then + distutils-r1_python_compile + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_py_modules_when_wheel_dir_is_cwd + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' + ) + + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} + +src_install() { + if [[ ${DISTUTILS_WHEEL_PATH} != *py3-none-any.whl ]]; then + die "Non-pure wheel produced?! ${DISTUTILS_WHEEL_PATH}" + fi + # TODO: compress it? + insinto /usr/lib/python/ensurepip + doins "${DISTUTILS_WHEEL_PATH}" +} diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest index 7e9ad727fe4f..b77ca9390610 100644 --- a/dev-python/fastapi/Manifest +++ b/dev-python/fastapi/Manifest @@ -1,3 +1,4 @@ DIST fastapi-0.143.3.tar.gz 469834 BLAKE2B 6384f8b551b38c1fc83779ef2a4a318e0cb4b01067e852e876b809d8dc8c2bf59dcbb109780337df3dd83b70ff61b30676fceb95745478439f580de2ad544c16 SHA512 f70e98e10e6d5d5b1db0fd6795179dff1bf7f737a0fee452732a49a22dca092efded647d27cf8fdb61b5eeba29311230fcca9d974ac258dc131d05080a134e7e DIST fastapi-0.146.0.tar.gz 471622 BLAKE2B dc332799da2b2c3da0c0374bd4dba73d5189357664dbb4bdc34a0facb229fb13507835e8a04d829ef80eae1c1ea8e8657f73ba2d15c222d4a1119d5e2abd4e1e SHA512 bf7c8a7e137ac5541bc36e7cd0c0042ca02da6d8b7bd6bd5b7fea11578d69854bbfde980981a81735b5dc889611a3a21364be4c5388add324d1552550a2736cc DIST fastapi-0.150.0.tar.gz 483799 BLAKE2B e3c7522a21be4a890abc9344a090e3d005791d318ea2a6616bb4dd39bace457c630cfd8d9c96df6166f98fe74e221e2d5912a904cc39a068428ab26a09bc0ca2 SHA512 926b2e6261725efb705ebb3a2048b36a9c18efc55598208c3de1541ce5de130d0c418cdb63d5be98ea20d1e7ec4959903308655f4154f40567ee00755bd1ce32 +DIST fastapi-0.156.4.tar.gz 500884 BLAKE2B b566123362fbd40001981e13d6df980956c8d2b58ffc494caa724eca4c6910cd5b7dd784a6191c90610e12ed8ac5ce69d9790b66b94338b02a1a96711b381ded SHA512 443976e73fd51878d6f6dc5d92fdecad0d7f31734eecbf5bbf64b32dd4281253ad2bb3f90cf3b5aa288ef4386b30aeddd509903c31204f7439657714ba35e5fc diff --git a/dev-python/fastapi/fastapi-0.156.4.ebuild b/dev-python/fastapi/fastapi-0.156.4.ebuild new file mode 100644 index 000000000000..1e1bf586041a --- /dev/null +++ b/dev-python/fastapi/fastapi-0.156.4.ebuild @@ -0,0 +1,130 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{13..14} ) +#may be not stricly required +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="High performance framework, easy to learn, fast to code, ready for production" +HOMEPAGE=" + https://fastapi.tiangolo.com/ + https://github.com/fastapi/fastapi/ + https://pypi.org/project/fastapi/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}] + >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] +" + +#FIXME: add missing deps +BDEPEND=" + test? ( + dev-python/a2wsgi[${PYTHON_USEDEP}] + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/httpx2[${PYTHON_USEDEP}] + dev-python/pydantic-settings[${PYTHON_USEDEP}] + dev-python/python-multipart[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/typer[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio inline-snapshot pytest-timeout ) +# workaround broken toml config +: ${EPYTEST_TIMEOUT:=30} +# the test suite is flaky as hell +EPYTEST_RERUNS=5 +# 3k tests+, so use xdist to speed them up +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# There are some JSON response tests that will exercise orjson or ujson if they are available. +# These are properly skipped if the optional dependencies are not installed at the cost of a little spam. +python_test() { + local EPYTEST_IGNORE=( + # python/strawberry-graphql (in guru, test dep only) + tests/test_tutorial/test_graphql/test_tutorial001.py + # dev-python/sqlmodel (in guru, test dep only) + tests/test_tutorial/test_sql_databases/test_tutorial001.py + tests/test_tutorial/test_sql_databases/test_tutorial002.py + # dev-python/fastapi-cli (missing, test and optfeature) + tests/test_fastapi_cli.py + # dev-python/pwdlib (in guru, test dep only) + tests/test_tutorial/test_security/test_tutorial004.py + tests/test_tutorial/test_security/test_tutorial005.py + # Wants dev-python/multipart _just_ to complain that it's not the right multipart lib. + tests/test_multipart_installation.py + # scripts/tests use CliRunner.isolated_filesystem() removed in recent typer + scripts/tests + ) + local EPYTEST_DESELECT=( + # Requires investigation - missing ./image.png test file (?) + tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img + # Broken by brotli being available, also fragile to random ordering + tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore + # opentelemetry-* + tests/test_telemetry/test_background.py::test_background_task_integrations + tests/test_telemetry/test_data.py::test_request_objects_are_not_exported + tests/test_telemetry/test_environment_integrations.py + tests/test_telemetry/test_integrations.py::test_current_contrib + tests/test_telemetry/test_integrations.py::test_current_logfire + tests/test_telemetry/test_integrations.py::test_current_sentry + tests/test_telemetry/test_integrations.py::test_inactive_sentry_does_not_disable_native + tests/test_telemetry/test_integrations.py::test_logfire_global_provider_without_fastapi_instrumentor + tests/test_telemetry/test_native_integrations.py + tests/test_telemetry/test_runtime.py::test_concurrent_provider_owner_wins + tests/test_telemetry/test_runtime.py::test_environment_export_initializes_after_fork + tests/test_telemetry/test_runtime.py::test_failed_registration_closes_new_exporter + tests/test_telemetry/test_runtime.py::test_real_otlp_exception_export_without_traces_or_metrics + tests/test_telemetry/test_runtime.py::test_real_otlp_export_and_repeated_lifespans + tests/test_telemetry/test_runtime.py::test_registration_provider_prefers_public_metric_reader + tests/test_telemetry/test_runtime.py::test_unsupported_provider_warns_without_preventing_startup + # TODO + tests/test_dependency_contextmanager.py::test_{a,}sync_state + tests/test_dependency_contextmanager.py::test_{a,}sync_raise_other + # tutorial tests are flaky + tests/test_tutorial/ + ) + epytest +} + +pkg_postinst() { + # not part of any upstream extra + optfeature "alternative JSON library" "dev-python/ujson" # orjson, too but it's deprecated + + # pyproject.toml:project.optional-dependencies.standard + # Following optfeatures should be exposed, but missing deps + # optfeature "fastAPI CLI" "dev-python/fastapi-cli" - missing - depends on this package! + # optfeature "compressed file support" "dev-python/fastar" - missing + # optfeature "pydantic extra types support" "dev-python/pydantic-extra-types" - in guru + optfeature_header "standard extras" + optfeature "ASGI server support" "dev-python/uvicorn" + optfeature "email validation support" "dev-python/email-validator" + optfeature "TestClient for testing FastAPI applications" "dev-python/httpx" + optfeature "templating support" "dev-python/jinja2" + optfeature "multipart form data support" "dev-python/python-multipart" + optfeature "settings management support" "dev-python/pydantic-settings" + + # pyproject.toml:project.optional-dependencies.all - includes all the above plus: + optfeature_header "all extras" + optfeature "session middleware support" "dev-python/itsdangerous" + optfeature "YAML support" "dev-python/pyyaml" +} diff --git a/dev-python/jsonpath-ng/Manifest b/dev-python/jsonpath-ng/Manifest index 66d92c5e6f76..bafc2b18e3a0 100644 --- a/dev-python/jsonpath-ng/Manifest +++ b/dev-python/jsonpath-ng/Manifest @@ -2,6 +2,8 @@ DIST jsonpath_ng-1.10.1.tar.gz 87626 BLAKE2B 10a401c35d97b616f12ddfb855978115adf DIST jsonpath_ng-1.10.1.tar.gz.provenance 9931 BLAKE2B 68d303044b6bafe2d1be9721006724defe86f2e124f9cfe79d974ae57f0d1a748777206122966c30af3fd00a068fa31bc46f1682399e403a06f02caf8971674d SHA512 cc6ac5c046a47241c2ca5217218447f3b88efb4fd6ddf1eadd4104642e86af8fa5aa1bacf1033185fb3a4ccc6bfc18eae64e2ca9ce6e31f5229e93639b30d103 DIST jsonpath_ng-1.11.0.tar.gz 94460 BLAKE2B a39a80a3a2578009accb07f998c9b0e6f10890c8c98477df8a9d1d7340f3d1d2869c4a7a57c72e9f9155c28df0349689cce55c4b4795ab88639ff656c0810411 SHA512 c92f0daeb492d9879546187c4140dbace4cccb16bc1921424408387971dc0b8dfe11a322455cc427d0aea1cf01438874996dad9eba1e6512be51ca302f1728a4 DIST jsonpath_ng-1.11.0.tar.gz.provenance 10162 BLAKE2B 540c03e1c53cbbb13add1158fda0e003cb3be66508be8e9caa109983a04d507df50c97a07b0b3c0dd02a8849e2e5dfac13ce7ed9967ef6dc8c446e809b4e7032 SHA512 cea2bd388f2967e8e551f860b0a846e55cb56e6f5cae41e73470505fe1a990f65c71d00d12b84c964dc5e783605e1ad8113d9e2d06ebb27c1af727cb1aa30f80 +DIST jsonpath_ng-1.12.0.tar.gz 103683 BLAKE2B 7a8cfa241ef094e8224cbbae82e87c6229a3e96a0d84ac2cadf7d24afc31719ffa4fa8140aac5ee261f3c3295e288df27bdef246499b10056639ea0e435502eb SHA512 e993ff209c63d5585faee94ae6c817ed3d2e4b3eeb09bc46c89a437d8a948369ce85b3a8288b6175e3f0bb7bbd29416862688a702a3ccdca0effd6d8ccf84c41 +DIST jsonpath_ng-1.12.0.tar.gz.provenance 9782 BLAKE2B 3525e2b7911a5fd02ffeffc8cff5bb9290ab0fb559aea060e002965d3ec9130d20009790098d8c0061739d21051a52006a791a4aed854a1793973227aa3c7f7b SHA512 c0191e5786f5347bdded0d2a191c8ecdba0773e4509a5cd25f75bd74bcec2094e48e45b648f0e07d6a68d884b455f412669c0a212f5669c241135108939a68da DIST jsonpath_ng-1.8.0.tar.gz 74513 BLAKE2B f8ba3f19bd106c7246a115175515f0b1ef066954356e06f7b289b754eac05aa7c91f56d44d36e4c04765e0ab7a2fc01ed887ee4c08c3b1d17f54087e73a21ada SHA512 64bf0c98193aff8f390c18f53713fbb41da075f93369f1d81c38d22ac63a86d1e502f59a67aaf1d39d0dc8d1b482bd1f73cc8e1bdf54b68a43b8725d109c9b7f DIST jsonpath_ng-1.9.0.tar.gz 78042 BLAKE2B 5fc11ee6847e16d9bd019d53a12345ebd3e5ee0f80a47c537468c139e57e0c3aaaafc3c446aa2731edea3daf14495b71416f78392529ea4775980e8019ad76c6 SHA512 c9c266e19cb279c1f0c0b7ae36f906baeb118bc7fa51909e36a23481fd1326b3ef79adc9904ee66315dcc1e96393a9e88330fd9a76f21d1c8962340d27c49cc9 DIST jsonpath_ng-1.9.1.tar.gz 78077 BLAKE2B b0585cd6afbc376a015e2cc3f6be910f1a51807d35de15df02b95c3755af6ba9c8e97e7c01ecb37bb4d8bfcef4b98a883cb4632b744ae6715acae99c3c1e1ce8 SHA512 1da84dd66bd69652532cb2e0216484b7fccf3b3a6ce5d8d363f21ae71d3f81ce82d3b72974a640cc812c495a105b28958c088fcfe6ba8dc03375499313daaa63 diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.12.0.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.12.0.ebuild new file mode 100644 index 000000000000..b78d8e57577b --- /dev/null +++ b/dev-python/jsonpath-ng/jsonpath-ng-1.12.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/jsonpath-ng/jsonpath-ng +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python JSONPath Next-Generation" +HOMEPAGE=" + https://github.com/jsonpath-ng/jsonpath-ng/ + https://pypi.org/project/jsonpath-ng/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/ply[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( hypothesis ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests/benchmarks/ + # flaky timing tests + tests/jsonpath/descendants/test_time_scaling.py +) + +src_prepare() { + distutils-r1_src_prepare + + # unbundle ply (sigh) + rm -r src/jsonpath_ng/_ply || die + find -name '*.py' -exec \ + sed -i -e 's:jsonpath_ng[.]_ply[.]:ply.:' {} + || die +} diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest index d1679061e2af..528b6f15a12f 100644 --- a/dev-python/nox/Manifest +++ b/dev-python/nox/Manifest @@ -1,2 +1,2 @@ -DIST nox-2026.08.10.gh.tar.gz 4076351 BLAKE2B 3167238fe7ec495c6bae8f1effde518e85dce9e55df22c47a1af09f7c1b55a2a65570532138604e791ae8cbc31cfd896110a4c7670864bba6f24bf044430d936 SHA512 ffe1053023e1fa48f115b3aeacf1c771ae8f12ff58217eeb304604f4702ac763317b572652094d2a7c76f3f5af5a6478bc0bcc870c8dc66e4af71f98358d05d9 DIST nox-2026.08.17.gh.tar.gz 4077021 BLAKE2B e65055d549d99224b014a1c8f0ed5882234bc4410c4ea2a18257dc52a5ab5058a06433791ac83ec48981292ca00dd68eea488c1230d77ad34e672a9ae443cf5a SHA512 5e5273dd7b1a8781d48adc91ef12c732982a03c52bc02a4005e25f44ad769b2124a38b36c8f4673fc2978fae51fe3788145e517b876272958cc851f496f26694 +DIST nox-2026.10.20.gh.tar.gz 4087491 BLAKE2B 78a35d496816f04f58862b98817742e75d5a9ca2f1b15d2ce4598a88b9e7044f02c522571ced4b90d7fa8571e5d6dc6bb885a41854aecff169ebaa1044e1c40d SHA512 3d8bb139e7580925a1c087f4342c51c549a757190c7ecc7d313d2cd590b579a2fde4d59526e2f106da228979c47c2c66640293556a9ff70b5d8c930fa4481f65 diff --git a/dev-python/nox/nox-2026.08.10.ebuild b/dev-python/nox/nox-2026.10.20.ebuild index b06178bbc2e4..b06178bbc2e4 100644 --- a/dev-python/nox/nox-2026.08.10.ebuild +++ b/dev-python/nox/nox-2026.10.20.ebuild diff --git a/dev-python/parse/Manifest b/dev-python/parse/Manifest index a78fc0eba08c..7eecb2f8423f 100644 --- a/dev-python/parse/Manifest +++ b/dev-python/parse/Manifest @@ -1,2 +1,3 @@ DIST parse-1.22.2.tar.gz 37675 BLAKE2B 5db3a9da69016fe6db06473c2301b690f7520babe22baedfe7957cb881e155cdf22321143dcb3742852afaac57556e6202a75d81d2d76e974632455162a3830f SHA512 6370c28c90cd452d094be43f5e745c474d700f069bcf631d4dcc77d9861633e6916e9699bfb00988a15221388c7a21a9c967f47de964567c8f7c09edd5958dc3 DIST parse-1.22.3.tar.gz 37944 BLAKE2B 3f602047c62d173d8f013a658646f9178ed5405efd6d4cb66c0a09d69851c84ee8b99c2e4a91675ce8c26cc5642d8cd3fb407b2e1f565c50fe2db4e53affca43 SHA512 fd79c50286a205549f158581487067ac1011cca84e5945c984da27cabf4d232dcf507a8985666bc25869a31e4d1a154ab18d7983d9eb6bfd0f5c0662b0a30abe +DIST parse-1.22.4.tar.gz 40279 BLAKE2B 3bd7676f17ce38a2a52eca3681be584b042e98599dd22f90534c4ccfb0703ce20d2616000a9192a5470e2512119c536e66e1e28d6cea072a23a1ed8e73372646 SHA512 8797a8dd2e42dea731094e5af72cc265e71df8c8ab73b958b8520032598002de57067eaaaa4c6755b139b997f4e8752ef7c17b045bbe9c644e46b87eea5bd885 diff --git a/dev-python/parse/parse-1.22.4.ebuild b/dev-python/parse/parse-1.22.4.ebuild new file mode 100644 index 000000000000..b535eb96f205 --- /dev/null +++ b/dev-python/parse/parse-1.22.4.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="Parse strings using a specification based on the Python format() syntax" +HOMEPAGE=" + https://github.com/r1chardj0n3s/parse/ + https://pypi.org/project/parse/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # drop unnecssary extra pytest requirements + sed -i '/tool.pytest.ini_options/,/^$/d' pyproject.toml || die +} diff --git a/dev-python/patiencediff/Manifest b/dev-python/patiencediff/Manifest index 789aac4b6919..2e6481aed400 100644 --- a/dev-python/patiencediff/Manifest +++ b/dev-python/patiencediff/Manifest @@ -1,20 +1,30 @@ DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 +DIST libc-0.2.191.crate 855401 BLAKE2B 04788709363e27f063bd30d2e568d27b8a217d2702ccc32c28ac0f82c5f786e534f053d9133aa086d2186c060724adf0bd2c6fdf705ac6cde563561ecaba4e94 SHA512 f90bff0e667425a6680514097c44ad99454dfe9d2bec02a72633e94f300a6e39cba0a7887a7124ee3c2235d41836faff706649fa86b9970df7a7f72a460ea964 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 -DIST patiencediff-0.2.1.crate 21717 BLAKE2B 839dab29b4a5f830df1edc2eb9b46373e8adf6a2f2474b3cb7622899e5cad4de9d19d2b6ace3e6b44d3772a934c3469c85cdd9d2bb31d138f8a28edcd52e7ab3 SHA512 500b3f42a6fd936a3a2fa6b65f5ea0f6b8e37f50be5f002dd2ae76d2138765e45547a6aac68586ded2d5970609e5c2238ce0f5b2fb5b7396e7ca8914f0c1c2c1 DIST patiencediff-0.3.0.crate 21921 BLAKE2B c0e705774dffcec9cb23996a164694c2d833afcc654816d16e6911eabb1db5d3a3f11f61f9cd72fdf1549341227923e9fd5a62b673ef16be2e80f053a14a4ecc SHA512 3ce6cc95c4eea6b84bb0618126f3234edd75090bcfc1bdf13e7e2e26d1a7478c03d82a0fe247d14febec9316e565d9525a161fab6448643d2411c30a85817e8d -DIST patiencediff-1.0.0.tar.gz 24575 BLAKE2B 0dc4c27fbc4302e3f1b8eb4c09633b0dc877a4322f361fe71e8c728355bd7536b1f9efcabea3534a6ca690eae9811594e7e3b96bcb98a1fe20578612dd0ccdb4 SHA512 f1a5da1fc2d133e0168749ee4199a27e70912544fc3441015915b1979611e588ea910f9a44f76b17205b7136cf863261fa10a82ec29d93f7a102a743c61aed81 -DIST patiencediff-1.0.0.tar.gz.provenance 9909 BLAKE2B 0eb43459b98a91bdfc999328c7cacff200a3b9f552239df466faf82c1d5b9dab4dd5e006887ea8e104a6ef90afcec3a9316b00ba5c4afbba7c0ec2ae1bddd197 SHA512 168bd4d76461db66f504fc0c4dfa62ad2b5e52d46348fb5d0cd303e56c54260662c739b99f5f94d89ad3618a81787dad626d3dde07b75abae1e22507a8de3e50 DIST patiencediff-1.0.1.tar.gz 24596 BLAKE2B 0016918d0cf5deeb9c4623e9c1f18c2d8831262aa9ea6dbebee2ea038d773e262687c83a31b536627d5b8450073de023040f7f99705478cfad72b9f7b3b0a7ce SHA512 c054f9a586121337b2a0e3f7f940b7700cadc7417d44f57d6ddcc55994738113260b581860699c9b42d6befae81868a7f392b73b246bb57bddda568899dc2d50 DIST patiencediff-1.0.1.tar.gz.provenance 10081 BLAKE2B b533956fe6566fed23ba45c22cbf44a369707a583da7ef0d9ba0a1248eef08cdcb237af1fba042b23f375ed38681e40aa08054d0d66ed4cf55c9f661384b534f SHA512 b3ca1caa0bc547dbde6ccc060461abfa71dee8f3217d56ebe58e35bfbb58edfb221a5949e57c29a160b23857be886d196c19d8887fe4fde42d8e5d402aca48aa +DIST patiencediff-1.0.2.tar.gz 25852 BLAKE2B c026bea838aeba697ba3e10f91bb8d69d72a0ef78f72b507b50d07d9435b4ba8e2715e9843fd507005df8b2e4d801fa4248e0fef0a195c33befc3b37b38badaa SHA512 0713a5cdf64fb38f56804c1d0d1cb56c2e48d97d8e970d690dd8c08887d17d4fabf38eff9a6a6703dcb353b947b803984e6c55a4295ea66bd74fccc8d37de767 +DIST patiencediff-1.0.2.tar.gz.provenance 10140 BLAKE2B 327f71328634b3d2b23eab93d6efd7659ac9b0b63db634a66344fe0ea19517a4d3eb3d633c2659ad502dc6bae1a51d78cbf1b8719045fc4ae4a8fbcff5c231b0 SHA512 ddcca4a7fe250e607ff393bf7bba97c5d1ee410cfe426d75a390052efd1904dc1616429a54b8470c2fd27d3a9c06a0411fdd137cd96d9feefedc37c0dab5fad4 DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 +DIST portable-atomic-1.15.0.crate 202705 BLAKE2B bf956c2bf08953b0ae1384d5c1703edf12c4a9b9d1f035b49043f4fb5e0a1ad005263affaf02331a77f098471fe2da8eee7b16861c33df9ef0d76444c614e291 SHA512 257cd168d0362b7b1d5e6ed9032cde9b0ac6e69d90b7e27347c39702a5ea020159c271e37e8045cf10661170f9354638791cfc972587bff3cba01da137f5a2c0 DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744 +DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903 DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67 +DIST pyo3-0.30.1.crate 1345706 BLAKE2B 42f28e632d23a90b6e1ec4eae54ee17c1c75312f3f53d896dcfc43e047f0fe72d94e33c793f47f108a5b3c98885bc78d978e347a68f771d710228c3e1d97ba9e SHA512 68799fc448f68b204d4825ce4e1a0b000febf18d968740fa9f94df9507b3a2697fb1c4b642d88ad1f1fb2b214fcd1b9a3a8089eccd8b0418c08b4ae69b7bfdec DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8 +DIST pyo3-build-config-0.30.1.crate 42996 BLAKE2B e49f6b13e5a4379f3a0db2c305a96cd0b19955f22b3fd08fba4373a1ec886847abf619beddb7fc111e99bc174b47211d9de68230db8ea03e12e534bb5ceab7bf SHA512 9801d582931f1d6b835792ffa04439310544b068c9f94f1329487328d43010646dd81233575a4338c44e7fe86714a579186c04ee07604b94f8af5066730eb699 DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76 +DIST pyo3-ffi-0.30.1.crate 93717 BLAKE2B 383cac05d9e768c9059cfd5f714e30848c87584bfcb0b8e421805f2da9f3b5a9a3f27d467cf9432b0f41b68003f9141dfdfeb29cdb1248cc68b01072dc01ec34 SHA512 32945d4b6f08723ae1129810ac71e12f5dc9c5de3710cadedb91bba17cbcf21acbf269598241117b45dc36141d28e6d1a58f1c07957b8664de62e991f30c82e9 DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2 +DIST pyo3-macros-0.30.1.crate 9055 BLAKE2B f49eedcd8922df4e0b9b0e119a6b5d06be3afe3f0d6d3fcd332716aae593fffc8fea94b02a4de7410bd678f7ab0ffb499c3e11bc45f72c2d8fa4e41c400dca9b SHA512 26f3b4d1aa86da4a305b01d780ce7de3359d3bfeadcbdbb39b9803d0a7634cf3611dfd5a285d21e97d51f61a6c590fdef8ddda45ec9abe870575519e6bbb4f33 DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f +DIST pyo3-macros-backend-0.30.1.crate 97593 BLAKE2B 6ff2e6e445f40b15ab8347a13b4786359875d16621ada11c0b8a5fc0efca84e306f95c1f2d5e87431bbd6303ead0d80aa469e3c53e0cb4360d6ea9524e0c9eb7 SHA512 29f96ff877d55ea3141435a30b8482743590f2dfd3fd9d24291cba8c834148cc2e0790125c8c0c3af650bf1c9b5e521a1a2ff3874dfa58bb3673dc11876ddf89 DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0 +DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441 DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416 +DIST syn-3.0.9.crate 313970 BLAKE2B 63ba393b429909b75de710e1da70bbf5b5d4ba76917786ae5ac165ad57806a02b54af3fb7eaa5213f1e59e086ddf6807f08d4e37de2fc4b0a7270a290850fa91 SHA512 94ff1cfd429e4ca9c3a72c7e7012c5ccac2178134d4fb82683601bf466094e6178dd5bbc558e973a7f03e890e4e08cf8622dba2a2898fdde608a33b244e42cc5 DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259 +DIST unicode-ident-1.0.27.crate 48807 BLAKE2B 2f756c8e8a8a4653e616e15c217d72a01af3e6538105c6cfbad6e89b1cf6bb5ba591855b5b7580989b44eef37279789a550331778ed924ee4906cd68dc8d2aa8 SHA512 c952d72be2eea9d70114072a1aabd17573ac672e23f3a549d2a2b6375d14215eb1f0a2dc00c89819eb40f26341a6e24c54cb7be1fe92494d9c01b5941ce25670 diff --git a/dev-python/patiencediff/patiencediff-1.0.0.ebuild b/dev-python/patiencediff/patiencediff-1.0.2.ebuild index 852641dae8a1..a757c9146c7a 100644 --- a/dev-python/patiencediff/patiencediff-1.0.0.ebuild +++ b/dev-python/patiencediff/patiencediff-1.0.2.ebuild @@ -11,20 +11,20 @@ PYTHON_COMPAT=( python3_{13..14} ) RUST_MIN_VER="1.83.0" CRATES=" heck@0.5.0 - libc@0.2.186 + libc@0.2.191 once_cell@1.21.4 - patiencediff@0.2.1 - portable-atomic@1.13.1 - proc-macro2@1.0.106 - pyo3-build-config@0.29.0 - pyo3-ffi@0.29.0 - pyo3-macros-backend@0.29.0 - pyo3-macros@0.29.0 - pyo3@0.29.0 - quote@1.0.45 - syn@2.0.117 + patiencediff@0.3.0 + portable-atomic@1.15.0 + proc-macro2@1.0.107 + pyo3-build-config@0.30.1 + pyo3-ffi@0.30.1 + pyo3-macros-backend@0.30.1 + pyo3-macros@0.30.1 + pyo3@0.30.1 + quote@1.0.47 + syn@3.0.9 target-lexicon@0.13.5 - unicode-ident@1.0.24 + unicode-ident@1.0.27 " inherit cargo distutils-r1 pypi diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest index 6a96866423bb..d0b8b25e59da 100644 --- a/dev-python/pip/Manifest +++ b/dev-python/pip/Manifest @@ -1,3 +1,4 @@ DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0 DIST pip-26.1.2.gh.tar.gz 9268753 BLAKE2B 8cbf0ecf25a2bdd148506ca0e2e778b9053759cf5fed3914b915454bd8810b1d7a27e3b2efb5fd29c4e6b189c7e8050f0da15ae6c259712446b5a35f44018ee0 SHA512 e29c98a7da5e329183b7eef86a66f9d6c3473051f64aa6e762714306148547eb0de4220824484071822a9a62bd01a62a09ab16bba4c26e4b847bfc2609728608 DIST pip-26.2.1.gh.tar.gz 9301563 BLAKE2B eb7b929de0e99c84c9b1257f1bf737f524eb6de01075d40b36519b082d8a49e107dbd0eded9a8bf737ce8f7d452c5e5cffb853b000d6ac2936b5b84dd607c770 SHA512 03a00bdc4387a4e7e4e54672e9198893500d279912ece4cd144f015c568c974ecc2c3c7bd6abf108df852302ddd49468ef0bc514ca4323ee037d754e2fbfaee0 +DIST pip-26.2.2.gh.tar.gz 9302280 BLAKE2B 862f37064e2a68be6ea672916fd02644928258547b1421fc5eecde442ac15242cf03d3b79f9a71fe6a8e9abc012ff7a9df74de27ce20197bf6876436a44fbb72 SHA512 b24050ef68595b4b1566614bb37908102b3ebaea5fefb33cbb30fde273c210750895a053ff58294f32450a6d09e4c92e555895362ced742a63cfea5720f2ea08 diff --git a/dev-python/pip/pip-26.2.2.ebuild b/dev-python/pip/pip-26.2.2.ebuild new file mode 100644 index 000000000000..534c3cd3e7a2 --- /dev/null +++ b/dev-python/pip/pip-26.2.2.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# please bump dev-python/ensurepip-pip along with this package! + +DISTUTILS_USE_PEP517=flit-core +PYTHON_TESTED=( python3_{13..14} ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 pypi shell-completion +FLIT_CORE_PV=3.12.0 + +DESCRIPTION="The PyPA recommended tool for installing Python packages" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/ +" +SRC_URI=" + https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz + test? ( + $(pypi_wheel_url flit-core "${FLIT_CORE_PV}") + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test test-rust" +RESTRICT="!test? ( test )" + +# see src/pip/_vendor/vendor.txt +RDEPEND=" + >=dev-python/cachecontrol-0.14.3[${PYTHON_USEDEP}] + >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}] + >=dev-python/distlib-0.4.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.1.1[${PYTHON_USEDEP}] + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.3.8[${PYTHON_USEDEP}] + >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.33.1[${PYTHON_USEDEP}] + >=dev-python/rich-14.1.0[${PYTHON_USEDEP}] + >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}] + >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}] + >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/ensurepip-setuptools + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/scripttest[${PYTHON_USEDEP}] + <dev-python/setuptools-80[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + test-rust? ( + dev-python/cryptography[${PYTHON_USEDEP}] + ) + dev-vcs/git + ' "${PYTHON_TESTED[@]}") + ) +" + +python_prepare_all() { + local PATCHES=( + # prepare to unbundle dependencies and remove redundant test wheels + "${FILESDIR}/pip-26.2.1-unbundle.patch" + ) + + distutils-r1_python_prepare_all + + # unbundle dependencies + rm -r src/pip/_vendor || die + find -name '*.py' -exec sed -i \ + -e 's:from pip\._vendor import:import:g' \ + -e 's:from pip\._vendor\.:from :g' \ + {} + || die + sed -i -e '/_vendor.*\(COPYING\|LICENSE\)/d' pyproject.toml || die + + if use test; then + local wheels=( + "${BROOT}"/usr/lib/python/ensurepip/setuptools-*.whl + "${DISTDIR}/$(pypi_wheel_name flit-core "${FLIT_CORE_PV}")" + ) + mkdir tests/data/common_wheels/ || die + cp "${wheels[@]}" tests/data/common_wheels/ || die + fi +} + +python_configure() { + if use test && has_version "dev-python/pip[${PYTHON_USEDEP}]"; then + "${EPYTHON}" -m pip check || + die "${EPYTHON} -m pip check failed, tests will fail" + fi +} + +python_compile_all() { + # 'pip completion' command embeds full $0 into completion script, which confuses + # 'complete' and causes QA warning when running as "${PYTHON} -m pip". + # This trick sets correct $0 while still calling just installed pip. + local pipcmd='if True: + import sys + sys.argv[0] = "pip" + __file__ = "" + from pip._internal.cli.main import main + sys.exit(main()) + ' + "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + tests/functional/test_lock.py::test_lock_archive + tests/functional/test_lock.py::test_lock_vcs + # broken by system site-packages use + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_install.py::test_install_subprocess_output_handling + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # broken by unbundling + "tests/functional/test_debug.py::test_debug[vendored library versions:]" + tests/functional/test_debug.py::test_debug__library_versions + tests/functional/test_freeze.py::test_freeze_multiple_exclude_with_all + tests/functional/test_install.py::test_install_package_with_same_name_in_curdir + tests/functional/test_pep517.py::test_nested_builds + tests/functional/test_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_basic_uninstall + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + tests/functional/test_install.py::test_install_warns_on_unexpected_post_install_import + # TODO + tests/functional/test_build_env.py::test_build_env_can_still_access_python_tools_on_system_path + tests/functional/test_build_env.py::test_build_env_console_scripts_use_venv_python[subprocess] + tests/functional/test_build_env.py::test_build_env_isolation[venv-inprocess] + tests/functional/test_build_env.py::test_build_env_isolation[venv-subprocess] + tests/functional/test_build_env.py::test_build_env_requirements_check[venv] + tests/functional/test_self_update.py::test_self_update_editable + ) + local EPYTEST_IGNORE=( + # from upstream options + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + local EPYTEST_PLUGINS=() + # rerunfailures because test suite breaks if packages are installed + # to system site-packages while it's running + local EPYTEST_RERUNS=5 + local EPYTEST_XDIST=1 + epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \ + --use-venv +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + newzshcomp completion.zsh _pip +} diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest index f3c51e8ae3ca..aeac2c31fb42 100644 --- a/dev-python/pycares/Manifest +++ b/dev-python/pycares/Manifest @@ -1,3 +1,4 @@ DIST pycares-5.0.1.tar.gz 652222 BLAKE2B 29680da5ce1bfef6bd3fa6ad0d03cbbd4948cccf7d7d4deaa44960ccb33085b2ac3f8de7411239062e829cd8920fee84e7a5ce41e1e2d1da974aba10e1e60b33 SHA512 3cb23e36e9526b44398b1ffdf9223f0eec5f6e085b6276188329239d1e9a9ee173239691e39cbc9d7a4854a54e181bd200e2011bb3bf6741f79be81b46665348 DIST pycares-5.1.0.tar.gz 674882 BLAKE2B 670de260fe4d6a34d8fa20ffdf6ef21f6753adb0d2e37aacb04dfe1984a0f4112af4dd7f3eee1341c7b82d907ce123db5a892e4d095cc11e3f8aee9993ef2ad0 SHA512 858d50f4620d12fb9ad4a7c8dc6d150da8a7ac39c4618672c995e8a4fe685a30ad1723f419a99b8c2a71d915b3f7af54b0726819907c4a343239c2f5d754a642 DIST pycares-5.2.0.tar.gz 675045 BLAKE2B f03794a3dd6aad9e903d686529c8c846174a0f61056cd25df36fd15d6d9ebd2e289e966c1f99baab33d201f0c1f71bd15e4071366d07642dfecad50154ee3ac3 SHA512 4e7a7981c3c7c5c86fde5c8d8547a361beca1615626b5ad97f707b6b1a94f63e0bb07745232d13f4f4de9961b6ab06007c5bbc789ded8910fcf3bd333ac47728 +DIST pycares-5.2.1.tar.gz 723791 BLAKE2B 51322eda454c9b1a956edbbe57a55621addabd66c9f8a160844539ed8542879f29e0bf3e66c6c7dcde79bb1dd0b90eaf22163f9982e50c6a211b04a9fb088ef7 SHA512 4e7d6969525cea436798cd0e003eb0fe7cc649e827feffab1b51035ef4a65e78e094117d991c31c2a0716f239d14ce3a00a426d2394fa22d75864a564235698c diff --git a/dev-python/pycares/pycares-5.2.1.ebuild b/dev-python/pycares/pycares-5.2.1.ebuild new file mode 100644 index 000000000000..372158830647 --- /dev/null +++ b/dev-python/pycares/pycares-5.2.1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python interface for c-ares" +HOMEPAGE=" + https://github.com/saghul/pycares/ + https://pypi.org/project/pycares/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" +# Tests fail with network-sandbox, since they try to resolve google.com +PROPERTIES="test_network" +RESTRICT="test" + +DEPEND=" + net-dns/c-ares:= +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] +" +RDEPEND=" + dev-python/idna[${PYTHON_USEDEP}] + ${DEPEND} + ${BDEPEND} +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +export PYCARES_USE_SYSTEM_LIB=1 + +EPYTEST_DESELECT=( + # https://github.com/saghul/pycares/issues/287 + # looks like forgotten to update the expected class + tests/test_all.py::DNSTest::test_idna2008_encoding +) diff --git a/dev-python/pydantic-settings/Manifest b/dev-python/pydantic-settings/Manifest index dede56afe0f8..1c45e0d073f1 100644 --- a/dev-python/pydantic-settings/Manifest +++ b/dev-python/pydantic-settings/Manifest @@ -2,3 +2,5 @@ DIST pydantic_settings-2.15.0.tar.gz 261253 BLAKE2B aa1157d8ec21ecde15039d47f42b DIST pydantic_settings-2.15.0.tar.gz.provenance 10063 BLAKE2B c3641f3e2a7c3228432642986199e848da9fdea371e32de40c8ebd9dd0b3ba8ae27694c116fa04dedf8a37fb5a780d8a84777d848a4838d724a180ac66e94473 SHA512 a403278deca993c39e789b02ecc9e2493e1220f5e75c4324abddbcd4a0c9e9f2f7f8ed1aed36c3f5687a031789fe17fd2f5a6b0fbc8ec6f3641db3fe64f98255 DIST pydantic_settings-2.16.0.tar.gz 301031 BLAKE2B d29990234fb6dbdd314cad75eb27df29fbbf01efeb068bd1b31c58daefbb2e2a7789304b1decf2e6a3ec48fc068189663fef633775b6efbf1f0d19d60c4f68a4 SHA512 ab66b0d217d8b4a95ba1471da8d4732632394fb23e128f774b46bf53155af824a16a7bbbaff047a992aa4db36cce9a4026cde467b5bb25c610fd316837c77100 DIST pydantic_settings-2.16.0.tar.gz.provenance 9906 BLAKE2B 186a7fd34d1f5c2e1aedb0fe84abed1148742318f09c5e1ce3f0b6fa9d3d371766f9ceb5e1c9c34c80fb7212c483c4beafd17f3884a2c248e0d875a19e098d60 SHA512 36fe224d730e77b3dbf521b94149bfdb6fe74a94566f230b45bac3303da26163b2eef4dd21a90316df142067650df31df04bc9f85fc7a39033953fcec4a553e3 +DIST pydantic_settings-2.16.1.tar.gz 303436 BLAKE2B 254866be4654cbaf5fdb55b160d6794e13ccadd62d13298481c6c027ad090c083ce1f970591f4573acdf10a575ac03fbb79e3b8c0f19fb862d4c5861788eae05 SHA512 f6b164a995d5eff3746541f1721e9f47eb940e302f008a69b88dc3b4ab5475c24e4c0d3a40eb5e057ba0ca36907dddf6eee113a76e3e70b8df27005b739d30c8 +DIST pydantic_settings-2.16.1.tar.gz.provenance 10047 BLAKE2B 9b200587324c5503fb00bfcbce15b0d5668b66d36c18def94bf28a5d36f8fb3d330d9f9486fca8a2caf99b4a4f685d8f153f7fe89211f74bf96ddb4226558101 SHA512 b5c649a2b99a9f89200a29c5e4b9c9d9c51923925e0c80cb02de8eb83b6abb517107bbe82511bd3954559539f2c9c9cfb2e9cc6786aaa8dcaa72445fe3c0e763 diff --git a/dev-python/pydantic-settings/pydantic-settings-2.16.1.ebuild b/dev-python/pydantic-settings/pydantic-settings-2.16.1.ebuild new file mode 100644 index 000000000000..1971884da040 --- /dev/null +++ b/dev-python/pydantic-settings/pydantic-settings-2.16.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic-settings +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Settings management using Pydantic" +HOMEPAGE=" + https://github.com/pydantic/pydantic-settings/ + https://pypi.org/project/pydantic-settings/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-1.2.2[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # TODO; can't repro in venv + tests/test_precedence_and_merging.py::test_merging_preserves_earlier_values +) + +EPYTEST_IGNORE=( + # require pytest-examples + tests/test_docs.py +) diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest index 726b8c8ea7b9..ee4a78a05943 100644 --- a/dev-python/pyrate-limiter/Manifest +++ b/dev-python/pyrate-limiter/Manifest @@ -1,4 +1,4 @@ -DIST pyrate_limiter-4.4.0.tar.gz 90955 BLAKE2B 1ba672f860f6cd7f537a6e0c67bdaa619c1ef4e3b0d074b0e6c6c2c6aa64471af9eb4f035a17393bd580fd2003060c65a5b51b0aab370cc059d63243d325f588 SHA512 e4b6d63ebaec949c154f117ab30d04e3b94cb4b771299a08ba8bad1bd92ed004ceb89c352c66914c9fb8ae29dbe33b8ef5103a74d174dc83398a45f733ac5f84 -DIST pyrate_limiter-4.4.0.tar.gz.provenance 9907 BLAKE2B 44623ed73e9c1d358712fc5df80a87952572a3a9c86dc7beb34d6a873aef69c802891ba5d541bb14ffc6a75346f387df34292103f34329b42f09b4d4fb8e06f0 SHA512 4904cb915dfc2120b53554620a7e033ee35e84ff61cd84433e01d28bb0edcd9c854d49dc19a765f5a20fb69555f70bfed8e8b0b2da874f07d38c8a6eae1084e4 DIST pyrate_limiter-4.5.0.tar.gz 123240 BLAKE2B 34df6cd1cd3418eab417a8004387e86d4a8a69040ca4b86b5792e5b142b3112a41398848bc6f8c593486d832663f29f36ed5d198470950cd27f9d4ec62ed3e7e SHA512 35ee3bef555260df68ad1881d64b72f7a51535e164abf640c133ac96c5caa4073b56a43edc30cdb982d1e322f9b01f6eccc8edbb6d94be84046be11a305074b7 DIST pyrate_limiter-4.5.0.tar.gz.provenance 9909 BLAKE2B 87f0804069814fb29851a7dd7e9ae2d79f72d820aae7e87487f807192213d871e01c7a9a83ecc4ea4cf702b3bf3bc9a76926f52b7109aceaf49c0e112d69b5b5 SHA512 af120195db71c1a7407238188319d9ce6acae15c9b59998f5aa6cfdf244d837ee10e79635ef9388b28e8811eb781018151ac3cc577fe587b78618e777f57ea55 +DIST pyrate_limiter-4.5.1.tar.gz 129966 BLAKE2B 713aaf1314a28d9fc44a3f693c72d1c0944cced559b12334c674b5c167fc0be32484e0e0d0cf8321f85cb0285bb8dc6f0d1f0a5e5dc78c897ef8c4b223a715b6 SHA512 3f0663ef99c347750ee1cc4e7a629d64b898b4dcf92760672e3cab3d7399430caf6ada1c4e5fb9f2af0fff4e60c9e1546878bd7ed8a34f9f297653fef9cd6140 +DIST pyrate_limiter-4.5.1.tar.gz.provenance 10028 BLAKE2B 4ddc49ab21420835d502926714ba006ff16e1154ba577112ac6d83b9356b582a325791d7594bd8869fee4145ff2b37535c3dacdcb4d2a8bbe4f829436df7e96e SHA512 b1ced56f02aa6202aa6353773a53cf6e5e378aba3293c2e31b069947f41e13dce8cf03418305634f26fab69f1a180d2b31904a6da5ed7d6b7c4d2abc7f8946c6 diff --git a/dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-4.5.1.ebuild index f9afcbb57539..bc734d16c191 100644 --- a/dev-python/pyrate-limiter/pyrate-limiter-4.4.0.ebuild +++ b/dev-python/pyrate-limiter/pyrate-limiter-4.5.1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="~amd64 ~arm64 ~x86" RDEPEND=" dev-python/filelock[${PYTHON_USEDEP}] @@ -41,6 +41,7 @@ EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} ) EPYTEST_RERUNS=5 : "${EPYTEST_TIMEOUT:=60}" EPYTEST_XDIST=1 +distutils_enable_tests pytest distutils_enable_sphinx docs \ dev-python/sphinx-autodoc-typehints \ @@ -49,7 +50,6 @@ distutils_enable_sphinx docs \ dev-python/myst-parser \ dev-python/sphinxcontrib-apidoc \ dev-python/sphinxcontrib-mermaid -distutils_enable_tests pytest src_test() { local redis_pid="${T}"/redis.pid diff --git a/dev-python/python-gammu/Manifest b/dev-python/python-gammu/Manifest index efb841727de0..7c639773dc7b 100644 --- a/dev-python/python-gammu/Manifest +++ b/dev-python/python-gammu/Manifest @@ -1,2 +1,3 @@ DIST python-gammu-3.4.1.gh.tar.gz 153695 BLAKE2B 7159b635266524c5b3c4f734e28ca81d676f3009c6244cfea4b7c2cd9a00de35c3144d7d21e3f3d5b8495abe14219d76b7f77afb1cf1738f3aa5202f7add86a6 SHA512 a74056bdf9b9ab84079a08dae62563fcee8045dabcb80505116feaaacaa98ddbd1101decee33ae90af8eb71b84df6c6470ff725efe321f19377fa46258e63ded DIST python-gammu-3.5.0.gh.tar.gz 163017 BLAKE2B 0acc8ba0e3e3d1f7b59703f332f4a0b67b7c8a044c9fe8fb9db63c3fb4fa0bcf92263bbd5df58b28e2a89ce52c4064c33488ebfe4201f8736be185d9d0367ba1 SHA512 88b5171750a94057a42651f0f7b2df5417980104da558b1205c52e85a7886d900fd58c87f3ef44286d6f5234df38939c7709e15406332007d566dfd7343b11c0 +DIST python-gammu-3.5.1.gh.tar.gz 163243 BLAKE2B 1d246bb71ac9e6f0d1afebfd4288aea5651b069e15c95ef55e197bc9b72720e059cecfc969232a9e78bf241ba80e754c085d45e06759ce42200e186bd22ef81c SHA512 8df5eb962e40826992940a61a9e56a92ecdec125ecdf65bdbf786e68394d8e36955c92d82068ee0b3734ed0c7202bd2f36cf4226b18db86f394bb8d17534d145 diff --git a/dev-python/python-gammu/python-gammu-3.5.1.ebuild b/dev-python/python-gammu/python-gammu-3.5.1.ebuild new file mode 100644 index 000000000000..c174431c91a2 --- /dev/null +++ b/dev-python/python-gammu/python-gammu-3.5.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Python bindings for Gammu" +HOMEPAGE=" + https://wammu.eu/python-gammu/ + https://github.com/gammu/python-gammu/ + https://pypi.org/project/python-gammu/ +" +SRC_URI=" + https://github.com/gammu/python-gammu/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=app-mobilephone/gammu-1.44.1 +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + test? ( + $(python_gen_impl_dep sqlite) + app-mobilephone/gammu[dbi] + ) +" + +DOCS=( AUTHORS NEWS.rst README.rst ) + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + rm -rf gammu || die + epytest +} + +python_install_all() { + distutils-r1_python_install_all + if use examples; then + docompress -x /usr/share/doc/${P}/examples + dodoc -r examples + fi +} diff --git a/dev-python/python-pkcs11/Manifest b/dev-python/python-pkcs11/Manifest index 1dad23e73363..feb72ee9575f 100644 --- a/dev-python/python-pkcs11/Manifest +++ b/dev-python/python-pkcs11/Manifest @@ -1,4 +1,4 @@ DIST python_pkcs11-0.10.0.tar.gz 207600 BLAKE2B e2011a9acb95b0db9e13e3e4493a4fa0591f04784763316ed54502305b5834122fb28ccac893781b2485ca474dade56ca2045b239746114fb24c2204f9ae10fd SHA512 3e60a087696ba6f2c09c4ffaf647421d0fc32cb5de2fce926a1788c9f91fa89867fad352ac00c4975c9fe06e3be557777b0224ebecd631eeea8c778a9bc7db6e DIST python_pkcs11-0.10.0.tar.gz.provenance 9613 BLAKE2B d3a329b6a51a1fb502086830e34763c76a65a37fd6f2ffccb9ec6dbdfef1e03e445880d1fec504487e1ae0cddab353acad03c1602a64abb9b8b4aadc3214fe9c SHA512 7992d02968333a52cfb92a7c2a3ef7d21ddd4def15235287068d52d9f55d615cfd631d48c4af08a8383cb98aa47ebecfee77e8d0c8f96ffa72968af685dc1beb -DIST python_pkcs11-0.9.5.tar.gz 194453 BLAKE2B 6f66073c81530e04254a70625a03070c483f222824fdea3dbfb5e8fc9799b3d475e67be5dde83f596d7ca0e658313b148bf3768111dbd8eee87e0549605b2ae1 SHA512 be9dc6b274cff71c2e2290768181c2cb91de7089ed27619144914ea44067f6746c1094b755b7a719f260a1e4c5f799c1844ebb3f5912c1fbcba77efa73f6eb73 -DIST python_pkcs11-0.9.5.tar.gz.provenance 9689 BLAKE2B 9945987fa757769bd75036420a4add670be7b0b9ac5f826338de5726a425e385b493a898ba58890310a34dbc052d1ba595da89d6416cc8dcb2161c595ba1733f SHA512 f37d60b1e6f2f51a3c5e34598ed3738aa6cea5da380719ddcc314422fb5a7ef7ce33c670e5edee19f987684767a02b61ac05e9d0b33871aad023be868f90640a +DIST python_pkcs11-0.10.1.tar.gz 207635 BLAKE2B d71676a964e011ddf7a1dfc2db4e417844765f19e12534e03c6c5974095ef18fc4d8728b43c7cb6b7321ddb9d49679ad051c908f39e30998921267beb842e7f8 SHA512 23f99aa8d463c0998c6dbc9cae43953f7b5d0d8fd554099a475385d478e50f78adbae64c5f5bb49411ca0be1913d7df849da05e5ed42e0c42da09a77dd633076 +DIST python_pkcs11-0.10.1.tar.gz.provenance 9689 BLAKE2B 9f1c39f89f8741f50e509861e8c9346e32fc09430c1ef1a06e2cdcdb2bed18af0e282b0bbb4f327c25e036f487cf258a89aef146b44413518e509d1c13bf54df SHA512 339a9281a3fe9ba9c6eb88b13ec40b9041abdd2fac10bfe41e389b8cab83ba61983251ac3ce1971e5ed6bdb5cf2b5500c5b991da674a3b4fdae696b50e17dc96 diff --git a/dev-python/python-pkcs11/python-pkcs11-0.9.5.ebuild b/dev-python/python-pkcs11/python-pkcs11-0.10.1.ebuild index 8dc002629cc9..8dc002629cc9 100644 --- a/dev-python/python-pkcs11/python-pkcs11-0.9.5.ebuild +++ b/dev-python/python-pkcs11/python-pkcs11-0.10.1.ebuild diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest index 558da6db40ba..e717cdea2aba 100644 --- a/dev-python/python-utils/Manifest +++ b/dev-python/python-utils/Manifest @@ -8,3 +8,5 @@ DIST python_utils-4.1.2.tar.gz 79647 BLAKE2B ef5df83d75ee7991832cb8b9a6273e94281 DIST python_utils-4.1.2.tar.gz.provenance 9629 BLAKE2B f73f96ad9f6b88446a83798e554afe1171d68308dab6df060ba69d43a01b9ada1c7d8a32acdf0713b2ae651a5b053d15ab1850695b2f4f8a98685cb9b9d099a7 SHA512 7e146619a3f0d83f39cb37b34a87145023ce29becbb4263855b8a83160393eac1f0789bd56632d3a3ce69be37ff610125dab07097d39949d416c7257ca058223 DIST python_utils-4.1.3.tar.gz 80215 BLAKE2B a1599bc07579805e3ba7a2e7b001cce0379564448a3422401dfcff4ecc83064cc0792659ef861f7c429c7ef2d5aa715dc4197907070e3650facffdb9cf43ac17 SHA512 8f2b8f04c30557425aff53963b273f20ff1fe93727b31936fa77c232a0686684ea94abdaff0614cf14c79d1719b59af1c3fa7f04a5c8127f036140a20decc242 DIST python_utils-4.1.3.tar.gz.provenance 9398 BLAKE2B 9196ab28b097c4a0b2352d03803667661509871201f4ceff3f1c216e7f9efd050da1ebbce7c83116a5903a6598ac07fcf8e7ca7d611e3d7a515ca5d428659a3c SHA512 7427a84db0337b48f9d497012620f227c0bab23b92a91c00b437bc68e1923ac171f60b6faec39c374fbb74111ba5f5e68d045e3196271549ecc0681e87560eb4 +DIST python_utils-4.1.4.tar.gz 80130 BLAKE2B 9ab469a656ede0fa8423db42e7699fbbd3d93a530ef030c225affe4c90a883882b19cd4f2a63214f687ae2828b39283c705afb17d0f9d7840dd543c1ecf34d05 SHA512 42867b6fcdde78da6f0e073a6095dff33cbcd8d6acc86c3fb7a4336297c866e5c9672dd9573d8d2f636e3f637757810a0d316689ed5b4dac60a2b8aca9700d5e +DIST python_utils-4.1.4.tar.gz.provenance 9586 BLAKE2B 8309c282fe4835e82391aca7eedf5feef8e131bdbcff9e3def042961b56df68c3ca2d0141f87ad93239290d0b860569081a3a84af58f3350ac7eb778ce152e45 SHA512 54cbc11606f638a29177d8441e3700c1dcf18f5538d5a729b13b08330929e4157264f51faeb4712bfc82aeb59b36f5d4d4ccc9d3739d2f4e8e187d46b6d9d0b9 diff --git a/dev-python/python-utils/python-utils-4.1.4.ebuild b/dev-python/python-utils/python-utils-4.1.4.ebuild new file mode 100644 index 000000000000..05d102d2521e --- /dev/null +++ b/dev-python/python-utils/python-utils-4.1.4.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYPI_VERIFY_REPO=https://github.com/wolph/python-utils +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of small Python functions & classes" +HOMEPAGE=" + https://github.com/WoLpH/python-utils/ + https://pypi.org/project/python-utils/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + docs + _python_utils_tests/test_logger.py + python_utils/loguru.py +) + +EPYTEST_DESELECT=( + # fragile + _python_utils_tests/test_time.py::test_timeout_generator +) + +python_prepare_all() { + sed -i -e '/--cov/d' pyproject.toml || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/securesystemslib/Manifest b/dev-python/securesystemslib/Manifest index fbb4fe2810c6..61230c69f69a 100644 --- a/dev-python/securesystemslib/Manifest +++ b/dev-python/securesystemslib/Manifest @@ -1,6 +1,4 @@ -DIST securesystemslib-1.4.0.tar.gz 934332 BLAKE2B 3e1ca3556da70e4c70041e902655e74a207ed43519a141d51d8b64cd1d57338bb63cfd659b50ac8e303fdb2abe7ccdab7e73613b170b6d03bf5adce8db630254 SHA512 b2d45e24f131f07392476beaad21587f506352c98c8ddb3f60cc52bffb6cd0f299be3edb28276f55703548392b8f23ed5155965b21df5500bdf100bfcd7406ad -DIST securesystemslib-1.4.0.tar.gz.provenance 10069 BLAKE2B e63f55a768b84875fc28920e9db7a5b98096bca53d8bb4e83344e93ed1dc92fa9d89402952f433c8101f970f6362524326a6bec68339ac68deaeed8cc0f49c75 SHA512 a79fdfebc7e7c8732b4bab22ba58a26ad16d07b2412b942daca73e6ecfa92685e855073ea73ef1a1aa51b5136ced69a62ca2dadbc497a9298336680d3b2e90e9 -DIST securesystemslib-1.5.0.tar.gz 945978 BLAKE2B 0b60f6dba91c93c8dbe94fcbbf58ec07cd2f821c980366ecbcb073bf36c998ecad50b2e26b4d03cbca18e187b39b5f2b179521c3adb83065a98d6ed412513a87 SHA512 437303996bd36f3880061b0c5b5b33a994c5bd94b77117de78e25933586c46133cbff7aec260de8f387b142ca6557e679c6a18d59180ffacfc1938a0679a3eda -DIST securesystemslib-1.5.0.tar.gz.provenance 9938 BLAKE2B c0d0240993dba23ae2de6481c87cbee39407c129e2c9fc9fdb0eba13db9ce3f526a3fc58d16e7263f2ba551da6fb8682f3f0fb0eda4583a6e26519329351ae6a SHA512 8242c8fc280f520494521495d9ed753aaa62faa64c5e36e0d11b7ff1784ac67bb667fcf9350d80c1ff7ccf3ef231db15572d45c3dc843f84408c40f96580b397 DIST securesystemslib-1.5.1.tar.gz 947087 BLAKE2B c99016cfcdf264b24160b7a5455207028ad3539b246969ed65ebfc868df583396e089d67e71bc6fbbb8b09195bde4f96681dcb6ed81cfc3a7d61a1d1b6c427e2 SHA512 90aa2a51fefac4fe05d7609459dac3c82a29589a627ca5e8055d85fd6145b92abb14796934b47fb3ecff96e1a495c06e6375b448cf13ef1f04ddfb3a3385d504 DIST securesystemslib-1.5.1.tar.gz.provenance 10169 BLAKE2B e132f65da0b33b91011ce1f0688b31aa81e1be35f4198653b64037c4cba8d8851eba9b40670d3d6611e5023df72d52326a3d17b4d43ca53cf5b2836e54609a14 SHA512 4a9a2a6ba4145424f08cb8e016b7328d2dcc281ff00a983da6007ab9648d523ece604ef1f10b27350accbd75c50f32c4507905731b7acaae98c70e92ac53776e +DIST securesystemslib-1.6.0.tar.gz 950902 BLAKE2B 40d30628ee7a51f42381b95da9129429d3096812562501359814fa55931ca4c1b69076ed84ee9310942d7c8af532e5e73db44b5e4e97275f004051d457753f34 SHA512 0eb228431ed771480065659e8f75c36681adc1fded58c05e5a0409f7be4f7c58b2ad950d55a65a13e961c61d96f4085723355dcba0f057ebf5a22104050d6e7c +DIST securesystemslib-1.6.0.tar.gz.provenance 10190 BLAKE2B 583da29aa49aa9e57255563b055bfeaad33e40bd5cfa1ef9274154c86c9b43ae84aa5bfb6d2ccac347a2660fe3a0e0812a6f6a3dc8ba6842ac34750fc770d0b3 SHA512 96398d1c2309f200b2c8f7a9564a407f7232071c29845483eac5e8f6706c7f784f2245e4ea4d3ab9a37e542f743a6561f9dbae3cf27a1048097d9588bde3fc5e diff --git a/dev-python/securesystemslib/securesystemslib-1.4.0.ebuild b/dev-python/securesystemslib/securesystemslib-1.4.0.ebuild deleted file mode 100644 index d992b4f0fe31..000000000000 --- a/dev-python/securesystemslib/securesystemslib-1.4.0.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2024-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYPI_VERIFY_REPO=https://github.com/secure-systems-lab/securesystemslib -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Cryptographic routines for Secure Systems Lab projects at NYU" -HOMEPAGE=" - https://github.com/secure-systems-lab/securesystemslib/ - https://pypi.org/project/securesystemslib/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -RDEPEND=" - >=dev-python/cryptography-40.0.0[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest - -# TODO: unbundle https://github.com/pyca/ed25519 (wtf? not on PyPI?) - -python_test() { - local EPYTEST_DESELECT=( - # requires pyspx - tests/test_signer.py::TestSphincs::test_sphincs - ) - local EPYTEST_IGNORE=( - # requires PyKCS11 - tests/test_hsm_signer.py - ) - - epytest tests -} diff --git a/dev-python/securesystemslib/securesystemslib-1.5.0.ebuild b/dev-python/securesystemslib/securesystemslib-1.6.0.ebuild index cd15fa53a520..85f990a37fe9 100644 --- a/dev-python/securesystemslib/securesystemslib-1.5.0.ebuild +++ b/dev-python/securesystemslib/securesystemslib-1.6.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" RDEPEND=" >=dev-python/cryptography-48.0.0[${PYTHON_USEDEP}] diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest index d34dc560b078..905607716c8b 100644 --- a/dev-python/setuptools/Manifest +++ b/dev-python/setuptools/Manifest @@ -1,3 +1,4 @@ DIST setuptools-79.0.1.tar.gz 1367909 BLAKE2B d495a22753400b3b0ef71423e2c9b5adaad1a065d1f9638b5da8161b29c453495701c3efaa3abd2482777e186ba992bd7b57090dfc711d9cdfdaa8254616a8ff SHA512 5b68d7cc775f4318e178f7d7f69c60a01b1abc607411e88c88e3507a08bd85eed241b915d4be5f3ada90df4b68718056c2ba032943c1f53fe68d171c7d728179 DIST setuptools-84.0.0.tar.gz 1168449 BLAKE2B b4dc28c42ea271dc2cac7f7218bec0819d043d52100df8c1ac7672092c2f45b62e731d18d76bc00a6392b60f8afb8c1f7e961050ee23b0e1c77bbd94e42481db SHA512 67721834362dd88c256cbd523413dbdcb99ca871bcc873ffa29c7667687973e1d5e15b0ea8ef4529711418b14d3d660771846877543001d4ab0fe8b4585ac9ad DIST setuptools-84.2.0.tar.gz 1227656 BLAKE2B c6f89587af28b64029dfcc0a3a511e30abec3b60d00a272f699ff2df2032e0cdc04c546b9bac6a8928cf7a6cbcd3a3a856815ee18bcc178f05a53fcc59bee6eb SHA512 ac5c9daf5cf445a2bb220072efed426e0af38caa601d544389181a3f53bc39575cf0cf7aa69addca239eb8c8f51e3410cad0b9ff9c9787d0c4c6a54fbc3a256e +DIST setuptools-84.2.1.tar.gz 1230289 BLAKE2B fcac5229c8764d97159934030e996a6791e508b363a13f8358471256f2a73168ff177a52fcda57be308ef1062b0e2b9e78fcc68616e12613c939e818b5208647 SHA512 9e4c9a9ec45c69abe6f8953b6c6490eb1ffe2aea9a666beab45bdd7d5e2acbb2dbfddf6d7797c01c3e5a47b10bee519c029587fb45000ebb5c5b72468498ef0b diff --git a/dev-python/setuptools/setuptools-84.2.1.ebuild b/dev-python/setuptools/setuptools-84.2.1.ebuild new file mode 100644 index 000000000000..6c0512ec12b4 --- /dev/null +++ b/dev-python/setuptools/setuptools-84.2.1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2026 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_{13..14} ) +PYTHON_COMPAT=( python3_{13..14} ) +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/jaraco-functools-4.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-text-4.0.0[${PYTHON_USEDEP}] + >=dev-python/more-itertools-10.8.0[${PYTHON_USEDEP}] + >=dev-python/packaging-26.3[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.4.0[${PYTHON_USEDEP}] + >=dev-python/wheel-0.45.1[${PYTHON_USEDEP}] +" +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/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=( + # https://github.com/abravalheri/validate-pyproject/pull/221 + "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch" + ) + + distutils-r1_src_prepare + + # remove bundled dependencies + rm -r */_vendor || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + return + fi + + local EPYTEST_DESELECT=( + # broken by unbundling (e.g. installs self-wheel into venv) + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta + setuptools/tests/test_distutils_adoption.py + setuptools/tests/test_editable_install.py + setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist + setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata + setuptools/tests/test_virtualenv.py::test_no_missing_dependencies + setuptools/tests/config/test_setupcfg.py::TestOptions::test_entry_points + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_build_py.py::TestTypeInfoFiles::test_type_files_included_by_default + setuptools/tests/test_dist.py::test_dist_fetch_build_egg + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + # broken by scikit-build-core somehow + 'setuptools/tests/test_extern.py::test_distribution_picklable' + ) + + local EPYTEST_XDIST=1 + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + local EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest index 201cadca3ccd..9fcad5a86074 100644 --- a/dev-python/sigstore/Manifest +++ b/dev-python/sigstore/Manifest @@ -1,2 +1,2 @@ -DIST sigstore-python-4.4.0.gh.tar.gz 416489 BLAKE2B 918bfb9fd7361eef97db6249c4984edc5c4e832d1103bef5f19a49e379178be7c36204436ce5df4232a6f36cc96a6931433a7d9604adadf071544e549bb42d96 SHA512 c79f484f997e3d1cbfee2891696a4bc5ec3c665a1887dc01269403a1de56fb1a09a2379325a4bbcb0250451dc6d52728d47c43ef6796fd2eeb7775f78511bbe0 DIST sigstore-python-4.5.0.gh.tar.gz 417593 BLAKE2B bbe75700ebb4e3a1336a15fde91c95fd18316c45c403ef2ec66c3cab2ca4473097e39629a70d4fd20b3f7ddba3d5a85714b187310bd7d0ba54429675d411ad1d SHA512 38fc8ace17cb753f80b81e7fbc3aa84a9d5f9765148fefeac5de177ea45e21b8e0afb9afd361ee7e3641deaed42b88d591b8eb63570f0324d619d15a777b45c9 +DIST sigstore-python-4.5.1.gh.tar.gz 422956 BLAKE2B 4a807cd56d451de80a12f28e9336326618a9ff1d22d45ac41575c592eaae7137c1099ef65804271f729fd9574c47d0e526e0823df78521a90d94ffe216ba893e SHA512 cbd690da7d95b217a830f7394869cd340db5088477ef0bf8b6fa64e0504843246146e66870ce097c676f0e0910596bf2c9130998679c91bd2b92e93ec42305eb diff --git a/dev-python/sigstore/sigstore-4.4.0-r1.ebuild b/dev-python/sigstore/sigstore-4.5.1.ebuild index cf9dff2f1302..d57f189b1063 100644 --- a/dev-python/sigstore/sigstore-4.4.0-r1.ebuild +++ b/dev-python/sigstore/sigstore-4.5.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit-core +DISTUTILS_USE_PEP517=uv-build PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 @@ -23,14 +23,12 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" RDEPEND=" - >=dev-python/cryptography-42[${PYTHON_USEDEP}] + >=dev-python/cryptography-47[${PYTHON_USEDEP}] >=dev-python/id-1.1.0[${PYTHON_USEDEP}] >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}] - >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}] >=dev-python/pydantic-2[${PYTHON_USEDEP}] >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] diff --git a/dev-python/sphinxcontrib-jsmath/Manifest b/dev-python/sphinxcontrib-jsmath/Manifest index de5ba9031a36..0a132d59c4b7 100644 --- a/dev-python/sphinxcontrib-jsmath/Manifest +++ b/dev-python/sphinxcontrib-jsmath/Manifest @@ -1 +1,2 @@ DIST sphinxcontrib-jsmath-1.0.1.tar.gz 5787 BLAKE2B 055ff298e11678d7d30975e4bef509ece0128be30ca0c5fd2be1323c2eb4fe92f861826ea5ddfcbd2d3e3a80535b374d2b1a13446c2604f3e448d5a8982b9881 SHA512 c1e6488f5c0ca4567c27ec7c597c9db321ac32ce354c4ad62fea534b2ae1c0acb183a921f46216bbc3891f14acfaac05ddf324b8fdaf99828df07bc91aa7e5c7 +DIST sphinxcontrib_jsmath-2.0.0.tar.gz 14511 BLAKE2B f96717d28571670d2f42e4d50bc2081955eeecc22c4f3b2d432fdade88f14703d4aa77fbbb74cbfb477ded27917c2bbd4adf8c0b008d7e304fc642ebe7ca15b0 SHA512 927410420c93171ae6b1bd6a8d40d6823cdab3e5caf788e3918bf185ee0da1df2ac6668212c8b6dad2778d920df9c03fc6966420b23968a6ab4aacbb05e3b4cb diff --git a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-2.0.0.ebuild b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-2.0.0.ebuild new file mode 100644 index 000000000000..2cb260318bc8 --- /dev/null +++ b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-2.0.0.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Sphinx extension which renders display math in HTML via JavaScript" +HOMEPAGE=" + https://www.sphinx-doc.org/ + https://github.com/sphinx-doc/sphinxcontrib-jsmath/ + https://pypi.org/project/sphinxcontrib-jsmath/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" + +PDEPEND=" + >=dev-python/sphinx-5.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( ${PDEPEND} ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + cd "${T}" || die + epytest "${S}"/tests +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 955208ef979c..93f8ed5b8554 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -1,2 +1,2 @@ -DIST sqlglot-30.22.0.tar.gz 6088770 BLAKE2B bca7d80d5fde475419a4bae31dca2f1be4a4e5b90d2312d9c9b283bbb2927c013a0f849be17142860124b3f830e3adb4b7854c4a4a2ecb2ea1d961ed80145bd8 SHA512 40186858888fe174ec9371b78bd8f72fb04c371341f5ce746b10026feb59530c0477f7f9022edff37ef447e5cb9ef60cc9d20804aa69ddd8a88de9a68b8d0a0f DIST sqlglot-30.23.0.tar.gz 6108071 BLAKE2B aa470c23542deb3793b208746e480cf642bc1aaea00c5f2a0049f0ad1401e6b50b492826a406a8d7f21607618db57edd9923ab11ad66ee457cc812903292e678 SHA512 dc4c43c751a1cfa2fd703e5d047d8b1ba5eb143996de6c235c165ad8c77180572946bb1ff59c4c4bdf8f441a3e3a08f81a07f147788e2134476214437867a6a2 +DIST sqlglot-30.24.0.tar.gz 6131857 BLAKE2B 0e63234e61a2970f42ec8764458a2b2d865fdfc735f15f6708daa9059b8114148c679f9e616ef86d2bc4b39065d52ce716a9a62aa898fa6609375733b2e1859a SHA512 0709c541cda6d610f5d68ca9638178b80bcff6e8727dfeadfabd5569e569762b9a24b8110a6bcff57a622f645bccd746811b1bf2235279f8b0e0dab42ef1cfed diff --git a/dev-python/sqlglot/sqlglot-30.22.0.ebuild b/dev-python/sqlglot/sqlglot-30.24.0.ebuild index 063fa5096326..063fa5096326 100644 --- a/dev-python/sqlglot/sqlglot-30.22.0.ebuild +++ b/dev-python/sqlglot/sqlglot-30.24.0.ebuild diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index 4966413124b7..69bbc2faff51 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -7,3 +7,4 @@ DIST uv_build-0.12.7.tar.gz 418759 BLAKE2B 94aa33b2644f849a686d80d7f7d365ca84336 DIST uv_build-0.12.9.tar.gz 423446 BLAKE2B 8f32f7527633f5853a11a0f798a2aa075f9e96c2b34144f986a639dbd042bac7c5e33853287ef43273352a3ee84da852062c42daead1f188281295b635694177 SHA512 3aa6ea5b4e60218e7cbc3c5ed8ff7fbeeace36eb0d2c75627fb7a0ce7c060e8d6405378e9713f7164319cce55dc96b1a335ccb3032cfc7e9e60e99862295e79e DIST uv_build-0.13.1.tar.gz 446632 BLAKE2B 543350d4a3d6ba53ea5d52f0f840245a6865f029a48f4f095d4d191b0ca502960526660f9255d60bb8e15b00c6daba9afbe7a8c19e61ca841fa5524a9b63c10b SHA512 42f4739a21e068af66b884a22f7fd57f278ebfe37a5561d5fdf95dc0c443456e5436a3ce49b26b96c70b7431c0422af37a33b529a0f6ab09e3ad108a9982350d DIST uv_build-0.13.3.tar.gz 464136 BLAKE2B 4bcffe9228283c2c6388627d9ded292855c506aebb97efae931a6aecafdd1c5a680dc65a47651496409dde59c896e846b76f5abf4d67e2483d024f5cd93e9ffa SHA512 2fc5b9fe0e23172636b2fb927634619f5b93f1e1173ae2a8ea3ce14b4194bd2dba7bf6da6e46723c90a945a47273b8e67114398bc958e94f68bc4895af7a6574 +DIST uv_build-0.13.4.tar.gz 464427 BLAKE2B 899bd8d7628bc5a291a6f974e569484a61d1aff51745e004cb663167128470147f2dae454457e010fa495e9d9de19527e9185e90c88018e51b4352359ceca349 SHA512 2e74b38cd01468281f481fa3b1ea289e1d262986e97bf3bfd27812c08676825567c547144bc9ed090bede4eb8db3114e6e8330eeaf96a91602bdd5212ae76433 diff --git a/dev-python/uv-build/uv-build-0.13.4.ebuild b/dev-python/uv-build/uv-build-0.13.4.ebuild new file mode 100644 index 000000000000..65d94f2051ae --- /dev/null +++ b/dev-python/uv-build/uv-build-0.13.4.ebuild @@ -0,0 +1,100 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/pyproject.toml +uv_build-${PV}/pyproject.toml.orig +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 944f72f4b4f6..c4a745b045b1 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -16,3 +16,5 @@ DIST uv-0.13.1-crates.tar.xz 44234800 BLAKE2B 78e734286467404e4289cff568565e1ef1 DIST uv-0.13.1.gh.tar.gz 8877918 BLAKE2B 43c1726bf6b277b57d154a0bba917cd6762c5dd3e4fbc5293c49372725e12b6980ef34fc44013c68a0956fa9bde368d3a6f45c4e658f27fe98506f22c987a7f2 SHA512 de0bf17d6ddc081e2b3904ed04aeb6ab7e9745880dd2cf78fd9f70e01241d28701246bb2db2b524c76549a0a53af899ad291dec7e957c6a96a344c285c1c4e29 DIST uv-0.13.3-crates.tar.xz 44006060 BLAKE2B f93beea37edc6642d352b1c497cdfbce32e2fc5d7606ebf648c9ad72b1c2a6bd000e9fe3f682794f54fa6c6968559351ddebe29ab4e1dbfc1555f401e0aa994f SHA512 d695cdc1090382cb559665e1c84f5d4f9cc7486437d0de2ac6c71669edc0bdbfa6181b617ca550b0f421ca33db7f308313b2527766f7435e4cf4f8481e769a77 DIST uv-0.13.3.gh.tar.gz 8927836 BLAKE2B f6795d91b43ae3ea8c43b07027f8436c730476355c3e354ed72e9cb92c90e5a9d7480e4c3de008fd9ee317e5c03b257c1e9d6938af48706b530caf5c637a85c7 SHA512 7c91b766ef394fcdf562457516cb6556d29b3a25f84a52f00afd23a4c9399b74a65dec701b13fee06996b77bcec895278683ce1dc967961abd2d46228b8d34cd +DIST uv-0.13.4-crates.tar.xz 44003088 BLAKE2B 671f829d9f64a3f5aa2d1ec7e3f705eadb63529c43f65796a25ef0307f763ce4611f2ee41ee38ffeb19a2eac91d918129be4deb128c6a879c5bcd204862854ea SHA512 94d07b0fa8edbf6364366268be678055125e7baa854c8bc30aaf6721210fc63a1ef0dd5f07e0a511b2cd132f2fcf25690b6c2fa828b97b3893785ed18d40a51e +DIST uv-0.13.4.gh.tar.gz 8930524 BLAKE2B 6db88a4d14037a65f0c2f1a5e98a1a3a6c0697300906af3f753d7ce87320b4086067abe13a60fd335d713f427fc1e2bda7a4917eb1d985daf03aa795672eb188 SHA512 06bc16f6e10b31cbdf1265623990cfe52bc0e040a53edd63b952807b340aec274d412ff7f17111e235596c7f054186fb7024abb0e563f43abb03309df7070f8a diff --git a/dev-python/uv/uv-0.13.4.ebuild b/dev-python/uv/uv-0.13.4.ebuild new file mode 100644 index 000000000000..f2ffd74bfde2 --- /dev/null +++ b/dev-python/uv/uv-0.13.4.ebuild @@ -0,0 +1,156 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.97.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +# git/curl: https://bugs.gentoo.org/984287 +BDEPEND=" + virtual/pkgconfig + test? ( + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~dev-python/uv-0.5.0 + || ( + >=dev-vcs/git-2.57 + <net-misc/curl-8.23 + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/zstd-sys-*/ -name '*.c' -delete || die +} + +src_configure() { + local myfeatures=( + test-git + test-pypi + test-python + ) + + cargo_src_configure --no-default-features + # otherwise, rustc/llvm runs out of address space + use arm && export RUSTFLAGS="${RUSTFLAGS} -Copt-level=0" +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + dobin "$(cargo_target_dir)"/{uv,uvx} + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest index 22f1f5cdceb4..4a9ff7b62921 100644 --- a/dev-python/wcwidth/Manifest +++ b/dev-python/wcwidth/Manifest @@ -1,4 +1,4 @@ -DIST wcwidth-0.8.3.tar.gz 1458450 BLAKE2B 19a6b8d3fcf0f1d59865860a8efaa7fa14b958ac24b79bc04f9a27988f8fde78497b3ed761e1a7f076a7ab992c71e1d45d088cbb19836d1f73abee6e2f81e5b8 SHA512 d5477dd2a1f6dc6e14dc0e5e34f08b8c78c008ee2390b670155bc163f2c67f1a58ffab2ed35bbe7434d4b4ebef0c91f02cdeae15337d380c28b94858c72692dd DIST wcwidth-0.8.4.tar.gz 414609 BLAKE2B 492540a34734e65266211b1412a2b6150c8598e46db05ab099e954c57af2c351ff13df09c43f79c4627060ee86c6220014b0f087a5712f3fef10eff63dca1ddb SHA512 29b89f55efc308d1b1b9dd16ef7224964c7c02aa729e2bd6779b0fa56ac2eb89054c29087a4dd410d183294d06f6217451b1ca693b549483fb0b732edb3c6f70 DIST wcwidth-0.9.1.tar.gz 952410 BLAKE2B d98f75582df5e520676fe5d08b46af6546094455ba3d93d61ebfe07eb7edc10ad37eb35c3825f62d5e09c3b0b872cd15bb38fb8668b02e295debed14f9bb4350 SHA512 b367202fc2abf81a62547cd209658161805cd2eb5e4d42cb46367c0424045af67820bd134265eef8c648e8545e59bf5e74c8e96c516a794bd6e02896d72b9dc5 DIST wcwidth-0.9.2.tar.gz 955039 BLAKE2B 394c246203eb8d0d79ab6626ce138b2cb3269c928e2d49677cc63469bd492393be95aad569b02bca7aec13b45a811a524d45fab511164045bade41058142038e SHA512 e6ef4f6f89e6430d6f4179b09bf4866ac4d0b57b160b2f7dc8f1c810de19ce3f46b79a122ec0aa6f06ea0e29b9a6623aba3159ca2d5d763c512ec0268533307b +DIST wcwidth-0.9.3.tar.gz 956320 BLAKE2B 4b0678f3a1fab19b3b1d85a0f8f5cfa5852046ed4d3422777904d29b844fe933e55505b13e23214853e01277d6c68789e030f26c618df147258b2bbf320aae3f SHA512 1b288ba6d920a9c9e0ce243def0e34193ef0f5b845ef4afbbf57769ea9793b7fb9f26a8a4a8018ac09cd4b2e3049e854f27870a8f2b6a38663e9149daef600b4 diff --git a/dev-python/wcwidth/wcwidth-0.8.3.ebuild b/dev-python/wcwidth/wcwidth-0.9.3.ebuild index 5fac730da5ca..84dd9c3e323c 100644 --- a/dev-python/wcwidth/wcwidth-0.8.3.ebuild +++ b/dev-python/wcwidth/wcwidth-0.9.3.ebuild @@ -3,7 +3,8 @@ EAPI=8 -DISTUTILS_USE_PEP517=hatchling +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 pypi @@ -16,12 +17,25 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="+native-extensions" EPYTEST_PLUGINS=() distutils_enable_tests pytest +src_configure() { + if ! use native-extensions; then + # do not build extension + export WCWIDTH_NO_EXTENSION=1 + # test without extension + export WCWIDTH_PYTHON=1 + fi + # make extension builds fatal + export CIBUILDWHEEL=1 +} + python_test() { + rm -rf wcwidth || die epytest -o addopts= } |
