diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-02-01 07:17:03 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-02-01 07:17:03 +0000 |
| commit | 24e6b49e8a21980cabc19ea50b1820e0a7cb84fd (patch) | |
| tree | e66b8ea173107ce084b1dee4d4ae932651f7cbd9 /dev-python | |
| parent | 99f36064db93831496ebd7fd2e2a1ac76c064921 (diff) | |
| download | baldeagleos-repo-24e6b49e8a21980cabc19ea50b1820e0a7cb84fd.tar.gz baldeagleos-repo-24e6b49e8a21980cabc19ea50b1820e0a7cb84fd.tar.xz baldeagleos-repo-24e6b49e8a21980cabc19ea50b1820e0a7cb84fd.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
26 files changed, 1118 insertions, 40 deletions
diff --git a/dev-python/clang/Manifest b/dev-python/clang/Manifest index f69c7c75cb85..ef60b79d7e97 100644 --- a/dev-python/clang/Manifest +++ b/dev-python/clang/Manifest @@ -16,4 +16,5 @@ DIST llvm-project-22.1.0-rc1.src.tar.xz 166976000 BLAKE2B eec2cf8822aa6937c751d9 DIST llvm-project-22.1.0-rc1.src.tar.xz.sig 119 BLAKE2B e3d5a6c00d7960b0694919ff083e02f0273e97da6a40ad452fbb8261b9edfc52d4262733d82a59f03ad7d15b3b62de743b37a1b2e191417443ecb730520be376 SHA512 51326b9402d7719c491ac5c6ab80a678896743dd88e3f997245adb77e7b3f5e0f84f6389c75872aea268de8a7a049684c84cdf575c1f19c4971bb280a9374de6 DIST llvm-project-22.1.0-rc2.src.tar.xz 166979860 BLAKE2B d4d58b2615ce596f97ad743ba43a774a7b1e69f8aa394411cfdfdae6abf76ef23c9f483a8db590eac6012a965dbe720111c3c779cf20d1483bd216a3fe5111a0 SHA512 2690f582950a2b8b4dccfce849080b841b34068bbd07acd25ae7d18ef0bc6919f83cd57edda8b90a00327b73aa5cb3411d413ea800247cf541c89143ca26ef98 DIST llvm-project-22.1.0-rc2.src.tar.xz.sig 119 BLAKE2B 797d0fb36d5ff979504bf094c574ab6473d6d428b0ee0f80c95f6b700c534b8d390f0685e01bd9681fd0b33c0fe39af2d6a8b79372d05af1d87b0a602ba7ff2f SHA512 619a9ef733d7f89ed1e7564d027b4d1ad714dbe7912cd7ff258436e9ee6b878cc806d2856f00b600f982a472644cd9ba54739f8d034f5b5033c1036fcddf9a09 +DIST llvm-project-424bebd9c784b8490e63290feeeceb42dfdaeb49.tar.gz 259881041 BLAKE2B 3ad34527e65de98be5153d97c7604e0aa8187907f0361bcdf98d37eceaad3a2f152243f5a89ba65f76aba83a69ad3b51f98832095caa7845e7dd5d369611405e SHA512 023581069f5b1f29e1160567df5e365addcf3763829562f7b751d44e0bb0c7adb962101967ae69b2b6a01680af8c833077cd04285727f5fb0292ee7fc61789fc DIST llvm-project-9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc.tar.gz 259436517 BLAKE2B effc5d342ef8440834d03ca7f9d56dc9f5a0aaa10f62aa81fb3d468cfcd0f28a41b343dc12d91e087a5e509a8bb6aa00b477582f42b87efbf22ea580b48a981e SHA512 fda87f688a8a3626c3b025d2a783d7deb0c64ae83cb9c9c89adb73eba764435981545844eb654d7094361fb3786ea955101ba261f0e4af5ee4beffdd9c2449d7 diff --git a/dev-python/clang/clang-23.0.0_pre20260131.ebuild b/dev-python/clang/clang-23.0.0_pre20260131.ebuild new file mode 100644 index 000000000000..bdbb6bbefa8b --- /dev/null +++ b/dev-python/clang/clang-23.0.0_pre20260131.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +inherit llvm.org python-r1 + +DESCRIPTION="Python bindings for llvm-core/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +DEPEND=" + >=llvm-core/clang-${PV}:* + !llvm-core/llvm:0[clang(-),python(-)] + !llvm-core/clang:0[python(-)] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + llvm-core/clang:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( clang/{bindings/python,include} ) +llvm.org_set_globals + +python_test() { + # tests rely on results from a specific clang version, so override + # the search path + local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir) + local -x CLANG_NO_DEFAULT_CONFIG=1 + "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" +} + +src_test() { + python_foreach_impl python_test +} + +src_install() { + python_foreach_impl python_domodule clang +} diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest index 5d4d976f3427..c3f4a5b3d483 100644 --- a/dev-python/ensurepip-pip/Manifest +++ b/dev-python/ensurepip-pip/Manifest @@ -1,2 +1,3 @@ DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0 DIST pip-25.3.gh.tar.gz 9115712 BLAKE2B 87d848c497163a45ee3de8f6f75c80b5051b07062c5a15450ae98b59a6cebc6bf03ca8525d57929493f2cfeb28d5623401eba69f0bdfc734389efbb84eafdf53 SHA512 f50db092213ec3bb819d3da5669f73d119b5ec7f7ac5e8a587a17c27eafa32bc17a057df09389c526a3769ef3577f5553187d54ceffa89aed63f4b4498ff044e +DIST pip-26.0.gh.tar.gz 9226836 BLAKE2B fe24bd8fca7fa2b64ed865a880a430c420a9e73e35a9f1f2405473d4778467f48a8bc0607c1423760ff23706d3e11ddfeb20cd5a7f6522530a679994278ee1d8 SHA512 62a62b2db4e7a6c795cf01ab553b94068f0d1c62470c1f5c2b3164344a84fa68f7854eec99d93b9f56193c61276d95d8af21a3cb6b78f0db4f013d9997e78199 diff --git a/dev-python/ensurepip-pip/ensurepip-pip-26.0.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-26.0.ebuild new file mode 100644 index 000000000000..723df9e4771f --- /dev/null +++ b/dev-python/ensurepip-pip/ensurepip-pip-26.0.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +# PYTHON_COMPAT is used only for testing +PYTHON_COMPAT=( python3_{10..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 + [dependency_groups]=MIT + [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 + ) + local EPYTEST_IGNORE=( + # from upstream options + src/pip/_vendor + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # unexpected tempfiles? + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + # wrong path + tests/functional/test_install.py::test_install_editable_with_prefix_setup_py + # wrong exception assumptions + tests/unit/test_utils_datetime.py::test_parse_iso_datetime_invalid + ) + ;; + esac + + 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-pip/files/pip-26.0-test-wheels.patch b/dev-python/ensurepip-pip/files/pip-26.0-test-wheels.patch new file mode 100644 index 000000000000..55fb04f8f65f --- /dev/null +++ b/dev-python/ensurepip-pip/files/pip-26.0-test-wheels.patch @@ -0,0 +1,74 @@ +From f8f2b7760bfc8d64607b3bf2cdc9867fcce8276a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Thu, 31 Jul 2025 05:10:08 +0200 +Subject: [PATCH] Disable coverage & socket plugins inside test venvs + +--- + tests/conftest.py | 33 --------------------------------- + 1 file changed, 33 deletions(-) + +diff --git a/tests/conftest.py b/tests/conftest.py +index 1b65e9d57..69b6f38c9 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -440,25 +440,6 @@ def setuptools_install( + return _common_wheel_editable_install(tmpdir_factory, common_wheels, "setuptools") + + +-@pytest.fixture(scope="session") +-def coverage_install( +- tmpdir_factory: pytest.TempPathFactory, common_wheels: Path +-) -> Path: +- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage") +- +- +-@pytest.fixture(scope="session") +-def socket_install(tmpdir_factory: pytest.TempPathFactory, common_wheels: Path) -> Path: +- lib_dir = _common_wheel_editable_install( +- tmpdir_factory, common_wheels, "pytest_subket" +- ) +- # pytest-subket is only included so it can intercept and block unexpected +- # network requests. It should NOT be visible to the pip under test. +- dist_info = next(lib_dir.glob("*.dist-info")) +- shutil.rmtree(dist_info) +- return lib_dir +- +- + def install_pth_link( + venv: VirtualEnvironment, project_name: str, lib_dir: Path + ) -> None: +@@ -474,8 +455,6 @@ def virtualenv_template( + pip_src: Path, + pip_editable_parts: tuple[Path, ...], + setuptools_install: Path, +- coverage_install: Path, +- socket_install: Path, + ) -> VirtualEnvironment: + venv_type: VirtualEnvironmentType + if request.config.getoption("--use-venv"): +@@ -489,10 +468,6 @@ def virtualenv_template( + + # Install setuptools, pytest-subket, and pip. + install_pth_link(venv, "setuptools", setuptools_install) +- install_pth_link(venv, "pytest_subket", socket_install) +- # Also copy pytest-subket's .pth file so it can intercept socket calls. +- with open(venv.site / "pytest_socket.pth", "w") as f: +- f.write(socket_install.joinpath("pytest_socket.pth").read_text()) + + pth, dist_info = pip_editable_parts + +@@ -505,14 +480,6 @@ def virtualenv_template( + # detects changed files. + venv.site.joinpath("easy-install.pth").touch() + +- if request.config.getoption("--cov"): +- # Install coverage and pth file for executing it in any spawned processes +- # in this virtual environment. +- install_pth_link(venv, "coverage", coverage_install) +- # zz prefix ensures the file is after easy-install.pth. +- with open(venv.site / "zz-coverage-helper.pth", "a") as f: +- f.write("import coverage; coverage.process_startup()") +- + # Drop (non-relocatable) launchers. + for exe in os.listdir(venv.bin): + if not exe.startswith(("python", "libpy")): # Don't remove libpypy-c.so... diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index f69c7c75cb85..ef60b79d7e97 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -16,4 +16,5 @@ DIST llvm-project-22.1.0-rc1.src.tar.xz 166976000 BLAKE2B eec2cf8822aa6937c751d9 DIST llvm-project-22.1.0-rc1.src.tar.xz.sig 119 BLAKE2B e3d5a6c00d7960b0694919ff083e02f0273e97da6a40ad452fbb8261b9edfc52d4262733d82a59f03ad7d15b3b62de743b37a1b2e191417443ecb730520be376 SHA512 51326b9402d7719c491ac5c6ab80a678896743dd88e3f997245adb77e7b3f5e0f84f6389c75872aea268de8a7a049684c84cdf575c1f19c4971bb280a9374de6 DIST llvm-project-22.1.0-rc2.src.tar.xz 166979860 BLAKE2B d4d58b2615ce596f97ad743ba43a774a7b1e69f8aa394411cfdfdae6abf76ef23c9f483a8db590eac6012a965dbe720111c3c779cf20d1483bd216a3fe5111a0 SHA512 2690f582950a2b8b4dccfce849080b841b34068bbd07acd25ae7d18ef0bc6919f83cd57edda8b90a00327b73aa5cb3411d413ea800247cf541c89143ca26ef98 DIST llvm-project-22.1.0-rc2.src.tar.xz.sig 119 BLAKE2B 797d0fb36d5ff979504bf094c574ab6473d6d428b0ee0f80c95f6b700c534b8d390f0685e01bd9681fd0b33c0fe39af2d6a8b79372d05af1d87b0a602ba7ff2f SHA512 619a9ef733d7f89ed1e7564d027b4d1ad714dbe7912cd7ff258436e9ee6b878cc806d2856f00b600f982a472644cd9ba54739f8d034f5b5033c1036fcddf9a09 +DIST llvm-project-424bebd9c784b8490e63290feeeceb42dfdaeb49.tar.gz 259881041 BLAKE2B 3ad34527e65de98be5153d97c7604e0aa8187907f0361bcdf98d37eceaad3a2f152243f5a89ba65f76aba83a69ad3b51f98832095caa7845e7dd5d369611405e SHA512 023581069f5b1f29e1160567df5e365addcf3763829562f7b751d44e0bb0c7adb962101967ae69b2b6a01680af8c833077cd04285727f5fb0292ee7fc61789fc DIST llvm-project-9eaa1ff11ccde52f2e3bf86f253b6b646548c7cc.tar.gz 259436517 BLAKE2B effc5d342ef8440834d03ca7f9d56dc9f5a0aaa10f62aa81fb3d468cfcd0f28a41b343dc12d91e087a5e509a8bb6aa00b477582f42b87efbf22ea580b48a981e SHA512 fda87f688a8a3626c3b025d2a783d7deb0c64ae83cb9c9c89adb73eba764435981545844eb654d7094361fb3786ea955101ba261f0e4af5ee4beffdd9c2449d7 diff --git a/dev-python/lit/lit-23.0.0_pre20260131.ebuild b/dev-python/lit/lit-23.0.0_pre20260131.ebuild new file mode 100644 index 000000000000..2cc4b6485aed --- /dev/null +++ b/dev-python/lit/lit-23.0.0_pre20260131.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + llvm-core/llvm + ) +" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from llvm-core/llvm) + +src_prepare() { + # flaky test + # https://github.com/llvm/llvm-project/issues/72022 + rm tests/progress-bar.py || die + + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index e59315d56426..35aff20c5e22 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -13,3 +13,5 @@ DIST numpy-2.4.0rc1.tar.gz 20658299 BLAKE2B ffefdc86ebdf77c503f7be7228efec64b095 DIST numpy-2.4.0rc1.tar.gz.provenance 9749 BLAKE2B a554580b5d9ddffeca3ddce5edb49130de5b27bb3678acc44ad9d1c0f3b0617f5cb723f1803e31048641e3647e950ea85a469fe08c0b8467b0419d882639a228 SHA512 0758b3bb844433ec7fc662901c63768e6ca6f43dda784a405124aceaf25cae20d885cd2f0cfecd7897874953e9c21c42337159f7174c024d30bb8511c0ff1f98 DIST numpy-2.4.1.tar.gz 20721320 BLAKE2B 57e51640bf8cfc53fb9f661a7d26dadf5c1d1317be05e211b7a894cf29c545335ed55c809c585a0ba3598774b4e8753bd517ab8016012c51c7de7604bd3a4632 SHA512 3168d9cf6286f8590cb7a3e58a6f4b51ebda906c5a3cff900bcab20962721684bd65b929fe24cc238c46934f9bf7fd8c2ae091d624b03d44652f49ad61ccab32 DIST numpy-2.4.1.tar.gz.provenance 9688 BLAKE2B 92eca7634e6bc4371e459c5314877e69f5190af8231031695d1b5061ff2da55c4ed9b90eee3ee50a40014324f70719a95647282b73efd68f7d67e9211137aee4 SHA512 cc259fce3e35c892866cebfe488723990f8fe28c1fb1004986865a765272c630a536b7723c4f22103d8cbb7886f27fb45887e84e0ebf747cc48f5c490fee9e28 +DIST numpy-2.4.2.tar.gz 20723651 BLAKE2B 3a73eacc37903573640bdbd2cbb96ac5f224e454bad994445fb1389e7871273d7217378a01d8899a129478aa9b69b284926799cb21503071067a63c53b04c780 SHA512 dbb1a95737695e7c93c2c0fc9c666ee9681b5fb5b720f4dd2fe448e18732bd4679c0932386acc9720968c1c6df2377501a0d0a9d5c2610c6f6a994c08cdab6d0 +DIST numpy-2.4.2.tar.gz.provenance 9884 BLAKE2B 258a28d22687be9785ab915149d4667d82b9581edcdc86bb8c76c688129f2a3cc6e75fe98c86f08fc603dc4bb27599b65e5be51799ddd09418163b39367fc778 SHA512 85bb5dd40a3babbef7c7d9496109dbe36eaec8b77a9db641c24da40f08c684d281ab89b48200614ca851ef0197dafb775e5b16554c5a77acd0bab755cbd4e7f3 diff --git a/dev-python/numpy/numpy-2.4.2.ebuild b/dev-python/numpy/numpy-2.4.2.ebuild new file mode 100644 index 000000000000..dc4b1246224f --- /dev/null +++ b/dev-python/numpy/numpy-2.4.2.ebuild @@ -0,0 +1,309 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=meson-python +PYPI_VERIFY_REPO=https://github.com/numpy/numpy-release +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="threads(+)" +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 pypi + +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE=" + https://numpy.org/ + https://github.com/numpy/numpy/ + https://pypi.org/project/numpy/ +" + +LICENSE="BSD 0BSD MIT ZLIB CC0-1.0" +SLOT="0/2" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +# +lapack because the internal fallbacks are pretty slow. Building without blas +# is barely supported anyway, see bug #914358. +IUSE="big-endian +cpudetection index64 +lapack" + +# upstream-flag[:gentoo-flag] +ARM_FLAGS=( neon{,-fp16} vfpv4 asimd{,hp,dp,fhm} sve ) +PPC_FLAGS=( vsx vsx2 vsx3 vsx4 ) +X86_FLAGS=( + avx2 avx512{bw,dq,vl} avx512_{bf16,bitalg,fp16,vbmi2} sse4_2 +) +IUSE+=" + ${ARM_FLAGS[*]/#/cpu_flags_arm_} + ${PPC_FLAGS[*]/#/cpu_flags_ppc_} + ${X86_FLAGS[*]/#/cpu_flags_x86_} +" + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8[index64(-)?] + >=virtual/lapack-3.8[index64(-)?] + ) +" +BDEPEND=" + ${RDEPEND} + >=dev-build/meson-1.5.2 + >=dev-python/cython-3.0.6[${PYTHON_USEDEP}] + lapack? ( + virtual/pkgconfig + ) + test? ( + $(python_gen_cond_dep ' + >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] + ' 'python*') + dev-python/charset-normalizer[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + # https://bugs.gentoo.org/925367 + vrndq_f32 +) + +EPYTEST_PLUGINS=( hypothesis pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +has_all_x86() { + local flag + for flag; do + if ! use "cpu_flags_x86_${flag}"; then + return 1 + fi + done + return 0 +} + +python_configure_all() { + local cpu_baseline=() + local map flag + case ${ARCH} in + arm) + # every flag implies the previous one + for map in NEON:neon NEON_FP16:neon-fp16 NEON_VFPV4:vfpv4; do + if ! use "cpu_flags_arm_${map#*:}"; then + break + fi + cpu_baseline+=( "${map%:*}" ) + done + ;& + arm64) + # on 32-bit ARM, ASIMD implies all NEON* flags + # on 64-bit ARM, they are all linked together + if use arm64 || + [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == NEON_VFPV4 ]] + then + cpu_baseline+=( $(usev cpu_flags_arm_asimd ASIMD) ) + fi + + # these two imply ASIMD + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMD ]]; then + for flag in dp hp; do + cpu_baseline+=( + $(usev "cpu_flags_arm_asimd${flag}" "ASIMD${flag^^}") + ) + done + fi + + # these two imply ASIMDHP + if [[ ${cpu_baseline[@]} && ${cpu_baseline[-1]} == ASIMDHP ]]; then + for flag in asimdfhm sve; do + cpu_baseline+=( + $(usev "cpu_flags_arm_${flag}" "${flag^^}") + ) + done + fi + ;; + ppc64) + # every flag implies the previous one + for flag in '' 2 3 4; do + if ! use "cpu_flags_ppc_vsx${flags}"; then + break + fi + cpu_baseline+=( "VSX${flag}" ) + done + ;; + amd64|x86) + # upstream combines multiple instructions into sets + local mapping=( + # for these, we just check the newest instruction set, + # since all earlier instruction sets imply it + "X86_V2=sse4_2" + "X86_V3=avx2" + # from here on, we check all features that were added + # in the lowest CPU supporting them all + # https://en.wikipedia.org/wiki/AVX-512 + "X86_V4=avx512bw avx512dq avx512vl" + "AVX512_ICL=avx512_vbmi2 avx512_bitalg" + "AVX512_SPR=avx512_bf16 avx512_fp16" + ) + + local m + for m in "${mapping[@]}"; do + local feature=${m%=*} + local sets=${m#*=} + + if has_all_x86 ${sets}; then + einfo "${feature} enabled: all of ${sets} enabled" + cpu_baseline+=( "${feature}" ) + else + einfo "${feature} disabled: not all of ${sets} enabled" + break + fi + done + ;; + *) + cpu_baseline=MIN + ;; + esac + + DISTUTILS_ARGS=( + -Dallow-noblas=$(usex !lapack true false) + -Duse-ilp64=$(usex index64 true false) + -Dblas=$(usev lapack $(usex index64 cblas64 cblas)) + -Dlapack=$(usev lapack $(usex index64 lapack64 lapack)) + -Dcpu-baseline="${cpu_baseline[*]}" + -Dcpu-baseline-detect=disabled + -Dcpu-dispatch="$(usev cpudetection MAX)" + ) + + # bug #922457 + filter-lto + # https://github.com/numpy/numpy/issues/25004 + append-flags -fno-strict-aliasing +} + +python_test() { + # We run tests in parallel, so avoid having n^2 threads in lapack + # tests. + local -x BLIS_NUM_THREADS=1 + local -x MKL_NUM_THREADS=1 + local -x OMP_NUM_THREADS=1 + local -x OPENBLAS_NUM_THREADS=1 + + # don't run tests that require more than 2 GiB of RAM (per process) + local -x NPY_AVAILABLE_MEM="2 GiB" + + local EPYTEST_DESELECT=( + # Very disk-and-memory-hungry + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid + numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load + + # Precision problems + numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals + + numpy/typing/tests/test_typing.py + + # Flaky, reruns don't help + numpy/f2py/tests/test_crackfortran.py + numpy/f2py/tests/test_data.py::TestData{,F77}::test_crackedlines + numpy/f2py/tests/test_f2py2e.py::test_gen_pyf + numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli + ) + + if [[ $(uname -m) == armv8l ]]; then + # Degenerate case of arm32 chroot on arm64, bug #774108 + EPYTEST_DESELECT+=( + numpy/_core/tests/test_cpu_features.py::Test_ARM_Features::test_features + ) + fi + + case ${ARCH} in + arm) + EPYTEST_DESELECT+=( + # TODO: warnings + numpy/_core/tests/test_umath.py::TestSpecialFloats::test_unary_spurious_fpexception + + # TODO + numpy/_core/tests/test_function_base.py::TestLinspace::test_denormal_numbers + numpy/f2py/tests/test_kind.py::TestKind::test_real + numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision + + # require too much memory + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + ) + ;; + hppa) + EPYTEST_DESELECT+=( + # https://bugs.gentoo.org/942689 + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[int]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype[float]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[datetime64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[timedelta64]" + "numpy/_core/tests/test_dtype.py::TestBuiltin::test_dtype_bytes_str_equivalence[<f]" + "numpy/_core/tests/test_dtype.py::TestPickling::test_pickle_dtype[dt28]" + numpy/f2py/tests/test_kind.py::TestKind::test_real + numpy/f2py/tests/test_kind.py::TestKind::test_quad_precision + numpy/tests/test_ctypeslib.py::TestAsArray::test_reference_cycles + numpy/tests/test_ctypeslib.py::TestAsArray::test_segmentation_fault + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_scalar + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_subarray + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_structure_aligned + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_union + numpy/tests/test_ctypeslib.py::TestAsCtypesType::test_padded_union + ) + ;; + ppc|x86) + EPYTEST_DESELECT+=( + # require too much memory + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + 'numpy/_core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + ) + ;; + esac + + if [[ ${CHOST} == powerpc64le-* ]]; then + EPYTEST_DESELECT+=( + # long double thingy + numpy/_core/tests/test_scalarprint.py::TestRealScalars::test_ppc64_ibm_double_double128 + ) + fi + + if use big-endian; then + EPYTEST_DESELECT+=( + # ppc64 and sparc + numpy/linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases + numpy/linalg/tests/test_linalg.py::TestDet::test_sq_cases + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]" + "numpy/f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]" + ) + fi + + if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then + # depends on importing numpy.random from system namespace + EPYTEST_DESELECT+=( + 'numpy/random/tests/test_extending.py::test_cython' + ) + fi + + if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then + # msvccompiler removal + EPYTEST_DESELECT+=( + numpy/tests/test_public_api.py::test_all_modules_are_expected_2 + numpy/tests/test_public_api.py::test_api_importable + ) + EPYTEST_IGNORE+=( + numpy/distutils/tests/test_mingw32ccompiler.py + numpy/distutils/tests/test_system_info.py + ) + fi + + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + epytest +} + +python_install_all() { + local DOCS=( LICENSE.txt README.md THANKS.txt ) + distutils-r1_python_install_all +} diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest index 5d4d976f3427..c3f4a5b3d483 100644 --- a/dev-python/pip/Manifest +++ b/dev-python/pip/Manifest @@ -1,2 +1,3 @@ DIST flit_core-3.12.0-py3-none-any.whl 45594 BLAKE2B 7c6cb6eb03d45bbba27f27b3728881b57fe82dd38e03f884d3b7c46116eb2b9dd76f92bdaf7f594ef8ccbe12ec8f9a56424ff9e9fc7a839c4818a113fdf0c3d3 SHA512 790c12b1f43201e365fb3f8f2f0a54e1a578876799dfdf8bfeea679a25ea096bf62946d006618c1458ae6e37ce6d00998f37e9aba426d5ab80d32ef2d75da4e0 DIST pip-25.3.gh.tar.gz 9115712 BLAKE2B 87d848c497163a45ee3de8f6f75c80b5051b07062c5a15450ae98b59a6cebc6bf03ca8525d57929493f2cfeb28d5623401eba69f0bdfc734389efbb84eafdf53 SHA512 f50db092213ec3bb819d3da5669f73d119b5ec7f7ac5e8a587a17c27eafa32bc17a057df09389c526a3769ef3577f5553187d54ceffa89aed63f4b4498ff044e +DIST pip-26.0.gh.tar.gz 9226836 BLAKE2B fe24bd8fca7fa2b64ed865a880a430c420a9e73e35a9f1f2405473d4778467f48a8bc0607c1423760ff23706d3e11ddfeb20cd5a7f6522530a679994278ee1d8 SHA512 62a62b2db4e7a6c795cf01ab553b94068f0d1c62470c1f5c2b3164344a84fa68f7854eec99d93b9f56193c61276d95d8af21a3cb6b78f0db4f013d9997e78199 diff --git a/dev-python/pip/files/pip-26.0-test-wheels.patch b/dev-python/pip/files/pip-26.0-test-wheels.patch new file mode 100644 index 000000000000..55fb04f8f65f --- /dev/null +++ b/dev-python/pip/files/pip-26.0-test-wheels.patch @@ -0,0 +1,74 @@ +From f8f2b7760bfc8d64607b3bf2cdc9867fcce8276a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Thu, 31 Jul 2025 05:10:08 +0200 +Subject: [PATCH] Disable coverage & socket plugins inside test venvs + +--- + tests/conftest.py | 33 --------------------------------- + 1 file changed, 33 deletions(-) + +diff --git a/tests/conftest.py b/tests/conftest.py +index 1b65e9d57..69b6f38c9 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -440,25 +440,6 @@ def setuptools_install( + return _common_wheel_editable_install(tmpdir_factory, common_wheels, "setuptools") + + +-@pytest.fixture(scope="session") +-def coverage_install( +- tmpdir_factory: pytest.TempPathFactory, common_wheels: Path +-) -> Path: +- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage") +- +- +-@pytest.fixture(scope="session") +-def socket_install(tmpdir_factory: pytest.TempPathFactory, common_wheels: Path) -> Path: +- lib_dir = _common_wheel_editable_install( +- tmpdir_factory, common_wheels, "pytest_subket" +- ) +- # pytest-subket is only included so it can intercept and block unexpected +- # network requests. It should NOT be visible to the pip under test. +- dist_info = next(lib_dir.glob("*.dist-info")) +- shutil.rmtree(dist_info) +- return lib_dir +- +- + def install_pth_link( + venv: VirtualEnvironment, project_name: str, lib_dir: Path + ) -> None: +@@ -474,8 +455,6 @@ def virtualenv_template( + pip_src: Path, + pip_editable_parts: tuple[Path, ...], + setuptools_install: Path, +- coverage_install: Path, +- socket_install: Path, + ) -> VirtualEnvironment: + venv_type: VirtualEnvironmentType + if request.config.getoption("--use-venv"): +@@ -489,10 +468,6 @@ def virtualenv_template( + + # Install setuptools, pytest-subket, and pip. + install_pth_link(venv, "setuptools", setuptools_install) +- install_pth_link(venv, "pytest_subket", socket_install) +- # Also copy pytest-subket's .pth file so it can intercept socket calls. +- with open(venv.site / "pytest_socket.pth", "w") as f: +- f.write(socket_install.joinpath("pytest_socket.pth").read_text()) + + pth, dist_info = pip_editable_parts + +@@ -505,14 +480,6 @@ def virtualenv_template( + # detects changed files. + venv.site.joinpath("easy-install.pth").touch() + +- if request.config.getoption("--cov"): +- # Install coverage and pth file for executing it in any spawned processes +- # in this virtual environment. +- install_pth_link(venv, "coverage", coverage_install) +- # zz prefix ensures the file is after easy-install.pth. +- with open(venv.site / "zz-coverage-helper.pth", "a") as f: +- f.write("import coverage; coverage.process_startup()") +- + # Drop (non-relocatable) launchers. + for exe in os.listdir(venv.bin): + if not exe.startswith(("python", "libpy")): # Don't remove libpypy-c.so... diff --git a/dev-python/pip/pip-26.0.ebuild b/dev-python/pip/pip-26.0.ebuild new file mode 100644 index 000000000000..ef036e237ade --- /dev/null +++ b/dev-python/pip/pip-26.0.ebuild @@ -0,0 +1,204 @@ +# 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 +PYTHON_TESTED=( pypy3_11 python3_{11..14} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +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-25.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.3.8[${PYTHON_USEDEP}] + >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.4[${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-70.1.0[${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=( + # remove coverage & pytest-subket wheel expectation from test suite + "${FILESDIR}/pip-26.0-test-wheels.patch" + # prepare to unbundle dependencies + "${FILESDIR}/pip-25.0.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,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 +} + +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 + ) + local EPYTEST_IGNORE=( + # from upstream options + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # unexpected tempfiles? + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + # wrong path + tests/functional/test_install.py::test_install_editable_with_prefix_setup_py + # wrong exception assumptions + tests/unit/test_utils_datetime.py::test_parse_iso_datetime_invalid + ) + ;; + esac + + 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/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest index b09db6e8955a..393b974bfb53 100644 --- a/dev-python/pyproject-fmt/Manifest +++ b/dev-python/pyproject-fmt/Manifest @@ -1,5 +1,6 @@ DIST ahash-0.8.12.crate 43413 BLAKE2B 3e3ff0a91c538a063a09f1d71c0bd4df7d3b4cda3ba0945d3dad746430e0940979375e90ae5da7d585ffa44f387b17f38fc506ade0e0847feebe10d5c62f2b61 SHA512 872e5fa0d1334abac96d10eca18f32c2b1a1e0b38671c132b6effd029e9f0147ddcef79f4d85c8baf0537ddfb8c39a85f61d073e1fb3143dba659a8385641e1b DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 +DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac3964a538cda62d12b723a263fe0e588406af0b710cf87ef67b0ccb9aa3bf69f42e0e5225ade47abe93c73fcaca69ec1 SHA512 c77e35191b00546f5e499fab154170cedd619599e7250f92db9fba0a41c833eb426f214e58b00c5c39f8757406b33492b3241cb8cb233ce384ad0683c3ee4b62 DIST any_ascii-0.1.7.crate 220683 BLAKE2B 77342934676213b4898158ab03f1f73826d8aba212c47ded874d42c7ff8a0d95ccd88950381348fddf895bfc5570fa81ad3459fe10f52ba630c0e50c75dcacaf SHA512 3fe4e0c10c32983c3c725a5930f0bf7c752942c6dd0818b93bae9808e72d5a87725733a85b11cabb8fea630f524fd4b7a13160112f8bb7cc24515bcc384d6dbc DIST arc-swap-1.7.1.crate 68512 BLAKE2B 5ddeffd2ae8af4125a5b43d4a0a1afc7948533bf037d8cd3e47603c13b57b156618280d99b840bf318b25b6eb29400ad68499695e182acdc05bc5f621c42ee16 SHA512 070fa8dd17b380b6d7d72f6f45c84e591de9a9770b9662351e7a41af03798bf5e34d185a5fcb948f4d8ac5e210a33acd465c39eff6097662c2442b34ee3dbdff DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c @@ -25,6 +26,7 @@ DIST hashbrown-0.15.3.crate 140413 BLAKE2B c67ca4d608e82126b7411349135409d4bc6e4 DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST indexmap-2.9.0.crate 91214 BLAKE2B c1ff1f45814b84daa854a692e22d385598bf30121e39cdc3de800282b187a39588797a4b187cfe8075eec77ae64bb5ce6a80939cc2cbbdbe6e17e42459ca71cd SHA512 ac474dea5da1dc14a61a28f5b4c850073875030ffad3aa871211a8b075a3e9a64cc748310b4554657f45a70d526010febaf3d3992a80502db389c2347aeeb2c6 DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9 +DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73 DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3 DIST itoa-1.0.15.crate 11231 BLAKE2B 17c261baf95bff2f6cf0dbc33ab78ebbab0cf5dc56aeb7f8977377af868deb5957918f1763c2fe8c080e931489ea89ebcc16b3ebd976eeeb7663ff74989a1071 SHA512 158ca5dd4b04cb12d9292a4df63c72443adaf5aab1bd9aacdb964dc58878d847a64251f84897cb25c34648d4c973b44fef5b4c175d7c04cabc2c13b4631c2e42 DIST lexical-sort-0.3.1.crate 63689 BLAKE2B 801e69d0643785e82a86d25620a2e97330d0adf17e82aa1130aa30d1b885f58bebab3751ce7fb7e82986388464af9cd958ed9adfb422ae10840f256d7b4a1aac SHA512 ca7885bc22b4b67053aa7c83299459d5b1f5e627eddbde4827b6a5bf09827ef81d506a445a5a742bc6736cb9e02d7f9b458f16b87ad1af038ea4559ca0184c69 @@ -33,6 +35,7 @@ DIST log-0.4.27.crate 48120 BLAKE2B 09a2159032baaff7eede480062da30ffec1c1d4c77e7 DIST logos-0.12.1.crate 8973 BLAKE2B 344780990917e2c15caeebab955e98ec155f240056b3239bdc9db723e44929c135d4e783a5d3a5af256d7bea2363bfb74a3002ace1865fdd4840bb03a4d79ece SHA512 011bcf2bed59e5c707adb8ce50b26bb845631595426429e741231613e215286c2c05f3ae9fc5b7336b7e7fd0690a9fae2579413b750f7694b6c475d0fca3278d DIST logos-derive-0.12.1.crate 32282 BLAKE2B e4f6a72c73abb8a02995214dc8f29e9296ee40e4a03f055091256beabce54cd8100b10e8e2459db1fa359dc85c9893e7662fe0eb9cd3af2e27062b34f8e5c602 SHA512 bf78b10d511adf523edcb7c9cc0401d49417f728e82dce5a3cf2679d897f5a089adc72616e77c9d51b1661ee39b925eea1365f3f924114aff091593a4960ce87 DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 +DIST memchr-2.7.6.crate 97616 BLAKE2B 3429786e97f1aa078892e417c8ed8198ec727969517309049b842e44097e58038583508aa974e6246888c18e11f9d23863c1bb012b542c5685250fe34e250d7b SHA512 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100 DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990 @@ -47,20 +50,24 @@ DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ff DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43 DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367 -DIST pyproject_fmt-2.11.0.tar.gz 46894 BLAKE2B 66a289b54d5ebfccd4dc978e38a2532670e290ec730dd4d611540383fa59b74b30d440375f7c5e6457bf28f5726fd2ad3594cb3baa6afd9f687e5f750b7813bd SHA512 7ba73ad4445249c02359a534c1cac83130b6d7633223ef3466072253ae184fd80d484eb8a0be61c94f313652fa80badeecb4af5baa9aadf209d19d804a47b2e7 DIST pyproject_fmt-2.11.1.tar.gz 47310 BLAKE2B f066e5222da660e988abc1abf9425eb54864e83872f5317b1eac625433449dd753e76b0ec05905b7051b542bfc42ceebda8f3d41dbdfcde13f8fe5e295933b47 SHA512 c9e63d9494cb9560bb8d404aee78e6a3db3dd1bd019fb16ade7810665084f2e0396d4ec9f2ce84e1c6567ad95ddf26db6d3c9feaf99791291436ce2351cd9b43 +DIST pyproject_fmt-2.12.1.tar.gz 83062 BLAKE2B 4011b76e449c833653d7e366c5bd9c95b95a79a26ce66c18b5eda623d9df698787cf62c33b0364d03fb52e4cba5790248d010172ae101122b8a8613fb740e429 SHA512 bebc73b705c02df6667a18b3e2c625362d395cffe8aa8423747d42d8fdda8e7c7cfc3994e2edd904c2682d9aa5cf845d3528b6d85c895848a4926aac5b645915 DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99 DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158 DIST regex-1.11.1.crate 254170 BLAKE2B 5cf41012fc2ba8a006c0eb4a922cbbf1614bf300be361c9e2d98956a9a5e9b140e37bea09132fab7bfb633d4439158723624bcf45e8c619c4061b399253c1b82 SHA512 d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 +DIST regex-1.12.2.crate 163843 BLAKE2B 4e36124886e35c2e06ecf3310c32f45bb80fff978a99509abd7d7eb6378f81123819470c227d5c234fd6e3bc7a8e7baa331ee0ed3137f9256c76cb32413ecb7f SHA512 c459657944679350369462c3c7686dcdf412597f75bc13c450a131bfceebfe2cd1e1d7f95f0f55b4aa16bfc1acb5c777f344fcfd6a5927aa76b8a2d7aa954d3c +DIST regex-automata-0.4.13.crate 625250 BLAKE2B e8682eff5df93737430a783cd913265dd45a9692fc4623a956557cd7d6553f34eff731f6f3ec5fed5c0dc6b7f8f31236203ad9f459a998fede053d990d9faea6 SHA512 f76939dc573a88d17b4cf37fedfcdf95202171ca8607374a5c2bcdc515abd1ef9231376175c6cf11cc567eddda34e0c5f90ed1c592f2c5efbd1dee883954a932 DIST regex-automata-0.4.9.crate 618525 BLAKE2B ee3fc41c8c445be4c1aa3e5b19a3e61efd641b1a24e7a1ed55f837c1fba9c816272cb4645c13232b66b170bc7c413802928beb22e3891500141ad4ede65b60b0 SHA512 40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2 DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e DIST regex-syntax-0.8.5.crate 357541 BLAKE2B fc6d125f7a8574c37d81c75cbfd447cbcff736f2d9991b19814ffc1a414ebc5b76e84fb8fd36c983b38e8e391d165cdd9047832b0d9100f0e1ba7085484b7db5 SHA512 549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 +DIST regex-syntax-0.8.8.crate 359141 BLAKE2B db4a6a76dfd7d2619fffb7fddd8a82411afad16bc8b1a8501628e872c9b3e0a4fe71947a135900442590b944a623c5e9253e36bab865703bd5b5150aa2a65e51 SHA512 337ca84af81f2c5cd7d213e3ad96a1facba2917f135c4c1ef03571160d24e4ae47186ad07e421a7a4ff0baadbe95d34365e69400f3c36ef39ebeb3e7c14224e4 DIST relative-path-1.9.3.crate 22400 BLAKE2B c6bd04b060013de042079a741a864150632c02cdc493ca1cfd746bcc12f6ad903f8f0748ec68261c979d833089c0fc091f7c9da2b2936e8f75dad8d4638a7b10 SHA512 fd5c88d370865870570859a110245e009eba557225e4297783a606227b13b42abf0c7e69a4beb5093a5a9dabac1545afd988f4c831abe912c21ccd8013c30382 DIST rowan-0.15.16.crate 40571 BLAKE2B 291fe194ca9d69edc3178e857e5a29356b7cf37ef606102627ecf6cdcf58212d85d61699c50fdd2b3e85b6e1e9c77e38c724acefb7c1a35569113d3571c19fdb SHA512 2d435254821c3120f5299c8c375619786a91106dd30f132741a229865a6033c3c8163afd2532a5f58952e09df543e5003aa33d0e7814c08e519a88a03122d515 DIST rstest-0.26.1.crate 56940 BLAKE2B 0bf13628fc34acd579531ec0ae0b101ecfd05597d2450854b4c88c49235dbe2d73e4fe8cdbff5b38702b5c7e30dd89831f2d65cb20a9d9733525d2823a58c6d3 SHA512 36a8ac6a89a5edf3af7aefeb45980a4ffeeb3b6343a7d0140050ea12336d375d029425b72d941125ea5c6a329ca8d763a5c21d139964d1b9895a7498d5957fc3 DIST rstest_macros-0.26.1.crate 68256 BLAKE2B c502c49c156dcd5cf18dac7d89369e16ebc3f34bf058cc95aa7bdd247243e0e71dab61bcff098665aa8d6544320602d88ebfa90bdbbc5bd888a22de797001572 SHA512 cb8aa2bdc06ec1ee88abd128b796a6d35632b5f84fba85cadcf519e195a1f4834e0001e91e2c08bb2328c3bd346e20d8d25d5c8b7bc3750b39d8d7600fc45341 DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 DIST rustc_version-0.4.1.crate 12245 BLAKE2B 0ed627c560d88e5ade830cc5f72c62f6ba88be3e30d0f8db34761fcd0b284e5b2fc063c240149aabdfb12c8410ecdbe50cb10a3544500b5a020f95a31cd6709c SHA512 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598 +DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15 DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384 DIST semver-1.0.26.crate 31303 BLAKE2B f99e282e2bc7844a451a4f600308840c4a96dfe032fad6e897e9ce66c8b5ee44ace8f94f93dc50a53792c8c485fa81dfa5477255c211017f06937212d9473dca SHA512 2d2c5edd771b67a9e32664255cc4c4eea8c9a6a4ab08a8ed968a493db70774b393ae98e20be0a87ff60149b7c142a01acc0ace28205b41b39320d63fd5dc6155 DIST serde-1.0.219.crate 78983 BLAKE2B 7e9542a04c7f1aeff95b821245034368ff1721d98d7138bb1e0a99cdd6436dc37d69606308834fd33daaea3a1792409b3b2305b802433fa1d155816c55ca2a7d SHA512 0d3fe9a47af027d0d79499e60d940661dba6e29e8f0ce47d0db2ab722030d255aff637248af6f893a9c4224239733db09ffcdc6e1923a7177bfae55c98ebe769 diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.11.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.12.1.ebuild index eeb43897393a..cd91e8dc8aaa 100644 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.11.0.ebuild +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.12.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ PYTHON_COMPAT=( python3_{10..14} ) RUST_MIN_VER="1.77.0" CRATES=" ahash@0.8.12 - aho-corasick@1.1.3 + aho-corasick@1.1.4 any_ascii@0.1.7 arc-swap@1.7.1 autocfg@1.4.0 @@ -35,7 +35,7 @@ CRATES=" hashbrown@0.15.3 heck@0.5.0 indexmap@2.9.0 - indoc@2.0.6 + indoc@2.0.7 itertools@0.10.5 itoa@1.0.15 lexical-sort@0.3.1 @@ -43,7 +43,7 @@ CRATES=" log@0.4.27 logos-derive@0.12.1 logos@0.12.1 - memchr@2.7.4 + memchr@2.7.6 memoffset@0.9.1 num-conv@0.1.0 once_cell@1.21.3 @@ -60,16 +60,17 @@ CRATES=" pyo3@0.26.0 quote@1.0.40 r-efi@5.2.0 - regex-automata@0.4.9 + regex-automata@0.4.13 regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.1 + regex-syntax@0.8.8 + regex@1.12.2 relative-path@1.9.3 rowan@0.15.16 rstest@0.26.1 rstest_macros@0.26.1 rustc-hash@1.1.0 rustc_version@0.4.1 + rustversion@1.0.22 ryu@1.0.20 semver@1.0.26 serde@1.0.219 @@ -119,10 +120,10 @@ LICENSE+=" || ( Apache-2.0 Boost-1.0 ) " SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" - ~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}] + ~dev-python/toml-fmt-common-1.2.0[${PYTHON_USEDEP}] " # tox is called as a subprocess, to get targets from tox.ini BDEPEND=" diff --git a/dev-python/rich-click/Manifest b/dev-python/rich-click/Manifest index 8ede8f36b605..e2bdd50be909 100644 --- a/dev-python/rich-click/Manifest +++ b/dev-python/rich-click/Manifest @@ -2,3 +2,4 @@ DIST rich-click-1.8.9.gh.tar.gz 8142387 BLAKE2B de7aa54989747d47c2d147cec8235c46 DIST rich-click-1.9.4.gh.tar.gz 8523687 BLAKE2B d4e4d192334d511494ffd76ba7a05337deabe820afd80524e010ba58f78862fea7048323acd87a2ef7177366353a96a1575950d3ad0d5676930d48887c1381ef SHA512 c42751ef91c5877c2082b466da1743e9adba5215af7a0f93755d955db18e57276522f10ea4cc3c74e2b25457e0d042edb6533dea6d7f933dd15deb3b74f3b5d3 DIST rich-click-1.9.5.gh.tar.gz 8523814 BLAKE2B fe5649b89694992331ccdcaa703b9391d70d4dd5126f3dd1617071206f978b26196319f0e63d2cec858afd0c2b3dce935c5bf991d1b364606d1ebc64d2c67c04 SHA512 5f7c35d3c6471cd67653b209bcf546d05634574b39b02497188f90e15fc2041f301f20061db9904d764b1aaeab1094f297f88ea1b217cb5dacfdf956b6c036e7 DIST rich-click-1.9.6.gh.tar.gz 8525442 BLAKE2B 10726285043f835f5869211cd9283237e375a585ca1f063d54deb60cfe54768bf117570e0a01382b82987aa8840f779a99ab1e5dce2fedeab035df2a6baf7e71 SHA512 b9903340f1ed5666974c95ac66f08a6d6e38fd8912fe53b3ff792c1344bd7370468237bc9c74ec7ba73e14da4f6641b84912198d5743fd41361fc22094116570 +DIST rich-click-1.9.7.gh.tar.gz 8525444 BLAKE2B bba361d7dbafe5bd22f3dfb5e49530ff9366f05030c55c1260b194537fd19986c2bd0aeb73d9e4d9688e2d44f7d33ae94219e8bd760986ebdb30e482d6a4ede0 SHA512 2dc2863b1f8c8a88a4d93adf963237ffbb3393123163615feaee3a61629f8ef5ceeff0535cda07a80ba653568a4f6c60752b9cc3c4ef51844e5e45caa872e9ef diff --git a/dev-python/rich-click/rich-click-1.9.7.ebuild b/dev-python/rich-click/rich-click-1.9.7.ebuild new file mode 100644 index 000000000000..b9af51ba3258 --- /dev/null +++ b/dev-python/rich-click/rich-click-1.9.7.ebuild @@ -0,0 +1,41 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Format click help output nicely with rich" +HOMEPAGE=" + https://pypi.org/project/rich-click/ + https://github.com/ewels/rich-click/ +" +SRC_URI=" + https://github.com/ewels/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64" + +RDEPEND=" + >=dev-python/click-8[${PYTHON_USEDEP}] + >=dev-python/rich-12[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/packaging-25[${PYTHON_USEDEP}] + >=dev-python/typer-0.15[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( inline-snapshot ) +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} diff --git a/dev-python/toml-fmt-common/Manifest b/dev-python/toml-fmt-common/Manifest index d644711049e5..f07ca1a42917 100644 --- a/dev-python/toml-fmt-common/Manifest +++ b/dev-python/toml-fmt-common/Manifest @@ -1,3 +1,3 @@ -DIST toml_fmt_common-1.0.1.tar.gz 9626 BLAKE2B 460e7849dea995bbb1eedbbe2f65bd6401b31d19cfc20bebd8a82c6b4877b64174e1623c4cf649f499b7138141914078a4e0f595374eb4bb3ef423da3f0f934a SHA512 d4e693dd9f3ec0124de6f0006a209bb6f9f62365c16f71033a374a837636f2f744e359aaaed4b42e05a27d8a5e674712b7db2c07a8e93b899b5cd51005d7c525 DIST toml_fmt_common-1.1.0.tar.gz 9643 BLAKE2B 346139038c34229e9cda6c38fc2c881abe9f926d59d516abd785006f5d1d95b1e8f61a2229413a34f441024db36a904a625571a0b88c736f7cd4ee56584e693f SHA512 ec1e39b1ac47593ae6e72a6e74ebe192c410e9f440511343079e7407435a75e43f1e59db07504fa29e586803d851a763a82db4730428cf826a038d8b54c2f14c DIST toml_fmt_common-1.2.0.tar.gz 9735 BLAKE2B e1fb4d1de2cfd75bc4a8f903d25f16fed9c85dfa456b583f401f719d7bb43d64a8948dfcc7d4e358e391401d82800dabea3af497b4cc1b83f867a949981328f9 SHA512 00268bab8ef4f9dc8dc8ce9a456de568e8d17e60fc62780bd72609c4feeb95a0db9d81761bd03ff0529b4934fa021557f60fa89240180f9defb01258ca167d50 +DIST toml_fmt_common-1.2.0.tar.gz.provenance 9375 BLAKE2B c2d3f591c937792e6cb57d2c9a0714e4238fa9b79bf38cb8cee17c36e2059d3f629423707fc928862cefc6732c3ab81492533e5587df4e49ea0fa24e17470cbc SHA512 fce08940c3f521dd899484d2a46fa5bb0a6a8af845a5d4c4c56a2c4d8b3cabf407bb5dec11a67787b99d0cb2a4156ba14d4aa2b3809e07e1ceedab45db3b4a98 diff --git a/dev-python/toml-fmt-common/toml-fmt-common-1.0.1.ebuild b/dev-python/toml-fmt-common/toml-fmt-common-1.0.1.ebuild deleted file mode 100644 index d51bc187f649..000000000000 --- a/dev-python/toml-fmt-common/toml-fmt-common-1.0.1.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{10..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Common logic to the TOML formatter" -HOMEPAGE=" - https://github.com/tox-dev/toml-fmt-common/ - https://pypi.org/project/toml-fmt-common/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86" - -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest diff --git a/dev-python/toml-fmt-common/toml-fmt-common-1.2.0.ebuild b/dev-python/toml-fmt-common/toml-fmt-common-1.2.0.ebuild index 4fc89ff89f68..13e0614ba016 100644 --- a/dev-python/toml-fmt-common/toml-fmt-common-1.2.0.ebuild +++ b/dev-python/toml-fmt-common/toml-fmt-common-1.2.0.ebuild @@ -4,6 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/toml-fmt-common PYTHON_COMPAT=( python3_{10..14} ) inherit distutils-r1 pypi diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest index 98df3c608c88..f0e9a91295e5 100644 --- a/dev-python/wcwidth/Manifest +++ b/dev-python/wcwidth/Manifest @@ -5,3 +5,4 @@ DIST wcwidth-0.3.2.tar.gz 233633 BLAKE2B c342a44c7a7419c6d225dd4b567139ad162b355 DIST wcwidth-0.4.0.tar.gz 237625 BLAKE2B 4bbbbb93b7742b435d7c835601788d86ac383ee2cae9f55a344690fc24d94d8f636aa08e0b92307abcffdef805f93f5490324d72158b38ad5ea39e5a0e0e7210 SHA512 fb8e22359098c6a0281669d01dbad98741a7a60c72420288efe731b211ebdaf12bd0f49e943c20b5bf2a26af074e39354e7b629e4cb6a43a27333aa64e80a546 DIST wcwidth-0.5.0.tar.gz 246585 BLAKE2B fa18ed5474efdcb96d2da23efdb123bb22a3bf0cda3e85065898c6e3dcec7d2fcf1c2a6589080182fd72bed94d086bfc38a3f913feb34c187563de206e26ebef SHA512 0ef0c4a5e3de2496f3cab9da69e6e80dc9e3d6770aaa1735909769ff4ceaf1901dbd31f4565c5fca156f1f554d90398e7e10aee3b1cbd98b8ea150c093935ab7 DIST wcwidth-0.5.2.tar.gz 152817 BLAKE2B 80d091d2b9102735fd89de600f0adc4a4d386dc24282b18a36dd914203cc81ffaf0d88faa9f77e3c29339db24f746c7e87da31ec18e386909701d81b94ecd7ef SHA512 7782b383492c2f6fb3a520ab7a74104e256fb7ba1c7852470d05e85b82a1c4661928739c94a4893736b645b89227f3be2addf7cec9b228fcf5c99fedeb216b77 +DIST wcwidth-0.5.3.tar.gz 157587 BLAKE2B fc03fd0445cff121ae9049e3bf8df429f734a41a449db557cf4607af4eaa6e35d39d3eaf1db066312f7e2aef8e7d9582b182b670743af03295a6b4dd2a857484 SHA512 7537cf6493fc7b2998d0a5f7a3b093fd8e8916e6e39df6932a815d6547b970472a5cc37cb82ba3a2f6c40912c483ed21203fa7b30eafdeec93a51902e3f370aa diff --git a/dev-python/wcwidth/wcwidth-0.5.3.ebuild b/dev-python/wcwidth/wcwidth-0.5.3.ebuild new file mode 100644 index 000000000000..93cfddfcb5d7 --- /dev/null +++ b/dev-python/wcwidth/wcwidth-0.5.3.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Measures number of Terminal column cells of wide-character codes" +HOMEPAGE=" + https://pypi.org/project/wcwidth/ + https://github.com/jquast/wcwidth/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} + +python_install_all() { + docinto docs + dodoc docs/intro.rst + distutils-r1_python_install_all +} diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest index debbf55f29d0..9b6d47277806 100644 --- a/dev-python/wrapt/Manifest +++ b/dev-python/wrapt/Manifest @@ -1,4 +1,5 @@ DIST wrapt-1.17.3.gh.tar.gz 140900 BLAKE2B 88c4cd718cd98a97c866c4f0b9f7e095347fe6fa5fed60c54e389329c89f9f07099c8fb79561cf5e12c19c44a4067d81e805c55b54a74429e6b75913dedd6b3f SHA512 1a1f7419f20faa461a9e23ad09cc98d381ef2c48b3b24ed1dfe98d42d16857a958252301e78dd41b7fa8ef37eea379f9244cace2b396b49718c44cbc701308a3 DIST wrapt-2.0.0.gh.tar.gz 183430 BLAKE2B 63a9a28cf2b757c1778c55205509eb0dd1b1cec670d8495db1f8ae3ae0a89166f7c40ca73cdf52c1b5b7a7ab499fae540aa1bc6966c52a8319834ca050d19946 SHA512 bd9386946b4e09bdfde42fefb075310d881d8a98ab5194f20244716703db1015f0aed29bddc6d30ffbe55e1ed54c11110b26f57db536fab97f89dc0c02150b3d DIST wrapt-2.0.1.gh.tar.gz 184792 BLAKE2B 127b42113031a8284a72e49e0e4a737754ecd2dc6dc41628154c0c9c5d092f81c67e30339ca8b740f6d26f94bdbebc9a6c43c75b9e12dc1ff86431b003d6d0ad SHA512 ff7a69e7c2454f33f0f631f408013242a0292b28a8a601e981cef9b8c997b5769305bfb6b68b2504e96a1d2181d8e9aa48b25a159178f73906b53e527a00cbc5 +DIST wrapt-2.1.0.gh.tar.gz 183579 BLAKE2B 086cd80794abd3ba2cda04b1cca1f8e6e09e0c3ad6afdd852f174bcb1c6196d1603f15fe08f1f18600dbbed025a8341cb6be16c2d84469e05d9fd10b9dd3868b SHA512 7faea2c7df3be93ae0b28b62a03cb0d95e9120e6d0fe7ddeb1d8fe5081686ad76d0a5e80cd1ed75209eb17e8aea1c777b9ad66af6a34436bc0f8cbe53529d2f3 DIST wrapt-2.1.0rc1.gh.tar.gz 183560 BLAKE2B 154d1b29a41ef5c180c33df2b6e5331fe5c4526d28c3a4a3f7a287a865ba7bf228fbc964b34b3f09c00bdb99ac1e339316d263ec5e6e842c0916fc64ee9152b5 SHA512 0996e211f5853612d6daee8bbab3df3b45e6e41e88ff507696d194b223f01af3b5118f9dcd35ef5a4755af9833dc5d7b6ea96fea68958004417d190298fe44cc diff --git a/dev-python/wrapt/wrapt-2.1.0.ebuild b/dev-python/wrapt/wrapt-2.1.0.ebuild new file mode 100644 index 000000000000..823530186a4e --- /dev/null +++ b/dev-python/wrapt/wrapt-2.1.0.ebuild @@ -0,0 +1,38 @@ +# 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_{10..14} ) + +inherit distutils-r1 + +MY_P=${P/_} +DESCRIPTION="Module for decorators, wrappers and monkey patching" +HOMEPAGE=" + https://github.com/GrahamDumpleton/wrapt/ + https://pypi.org/project/wrapt/ +" +SRC_URI=" + https://github.com/GrahamDumpleton/wrapt/archive/${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi +IUSE="+native-extensions" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest +distutils_enable_sphinx docs dev-python/sphinx-rtd-theme + +python_compile() { + local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false) + distutils-r1_python_compile +} diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest index 247a51dd79fa..3cb1c434709b 100644 --- a/dev-python/zenlib/Manifest +++ b/dev-python/zenlib/Manifest @@ -1 +1,2 @@ DIST zenlib-3.1.5.gh.tar.gz 23230 BLAKE2B 900cc0dbdb087d0d294027747eed046dee452ac7dd15cb572ff769e148e07478a5030f8412fdbebcf89db17c6e06df5368fe28ff1df983723e068b9005cba6ce SHA512 2ece8426ab169e77e14c27c86b4d0d5dab7a0318a9a264a255db102d4f882d1297ac6f8de23b8e80c6ab0d7fbfc0998a08f04eab53bad007efd39171f45b8089 +DIST zenlib-3.2.0.gh.tar.gz 24540 BLAKE2B 8c558391a87877761d69bebd0b557523f68adf7205940a5fa7354e261ce6fba9aa81f8b5f95c1eb6bc74ad8b2267a646e6382bd2478fa885fcb0fa22d97eddac SHA512 1754a5fde2c2535e712fda6da7b98eab01a39735530a2621e7ff5c78bb920ea6cc5db1549f074625eb251d8ffa9f9f62ea5af71dd97fb52ba2317598e665ed01 diff --git a/dev-python/zenlib/zenlib-3.2.0.ebuild b/dev-python/zenlib/zenlib-3.2.0.ebuild new file mode 100644 index 000000000000..16297794e19b --- /dev/null +++ b/dev-python/zenlib/zenlib-3.2.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="Useful python decorators and utilities" +HOMEPAGE="https://github.com/desultory/zenlib/" +SRC_URI=" + https://github.com/desultory/zenlib/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +distutils_enable_tests unittest + +python_test() { + CI=true eunittest tests # Set CI=true to disable namespace module tests and imports +} diff --git a/dev-python/zenlib/zenlib-9999.ebuild b/dev-python/zenlib/zenlib-9999.ebuild index 61d2c454f8d4..1e7fb15a6b01 100644 --- a/dev-python/zenlib/zenlib-9999.ebuild +++ b/dev-python/zenlib/zenlib-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 |
