diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest index 610338e1e9..a29e6221bd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/Manifest @@ -3,3 +3,4 @@ DIST pip-24.1.1.gh.tar.gz 9190972 BLAKE2B 1ce876d2767c1c36bac3237c17a3aced9dd5a3 DIST pip-24.1.2.gh.tar.gz 9192691 BLAKE2B 9b5a07e9f10b5787d668766423d8b3a9dfcc62564673155b80c7bc95ffe79daafa8788d8141f67c76d4098c21922e62fcb2164f72bf580bbeec136786c48d512 SHA512 222a957030e9c51defa6f741f8e176f2a19bd54f0ef664d2e218d3d2c2b5a335c9b7ce4bd1c804133d6116b3fbf37648453cd85f7a2bcf86a5aeb43e22db4b0f DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1 DIST pip-24.2.gh.tar.gz 9189637 BLAKE2B 6bc7bf69cd3e1edc1898a4476d36b749c037ac10a1614ef3a6bacc0c7debd38de94e0cf6d8a2931b1a7afb2f6f853922fcd62b65d17ac805f22741b7ff6423c6 SHA512 2c44881f62f7b89cedeb0b739409ad67c6144bfdffc347efeb7bcf85aed77bcd7ddd10868d24577fbba0ef84dd752473d6b6dff329b42841939fae2ff2f63d28 +DIST pip-24.3.1.gh.tar.gz 9198711 BLAKE2B c70524bfedf46776d5ab8da24754e8177caac6d87cc90aa86b144c0fe9718860fe3d08823f655495c059dbece6e0ecbb2ac8e655cff3124693f64a35deac512e SHA512 9cf5f18eefd559cf27bc026e5206b0028ea77fd904a61fea9a6682b519305c962dd19170b841581bd05ff72192a9c458ec0eba173fa66db0438b046111ff5856 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch index 943cc281cd..963bd4e7d4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-23.1-no-coverage.patch @@ -25,14 +25,10 @@ index 57dd7e68a..af2af9ffa 100644 def install_pth_link( venv: VirtualEnvironment, project_name: str, lib_dir: Path ) -> None: -@@ -430,7 +423,6 @@ def virtualenv_template( - pip_src: Path, +@@ -431,3 +424,2 @@ def virtualenv_template( setuptools_install: Path, wheel_install: Path, - coverage_install: Path, - ) -> Iterator[VirtualEnvironment]: - venv_type: VirtualEnvironmentType - if request.config.getoption("--use-venv"): @@ -457,13 +449,6 @@ def virtualenv_template( [os.fspath(venv.bin / "python"), "setup.py", "-q", "develop"], cwd=pip_editable ) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch new file mode 100644 index 0000000000..d17ccf5b2f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-24.3.1-rich-13.8.patch @@ -0,0 +1,47 @@ +From 8cfd050f615a4bad699ec55d4cb19b1f1dc4137e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 9 Nov 2024 16:41:40 +0100 +Subject: [PATCH] Override rich.console pipe handler for rich 13.8.0+ + +Explicitly override `rich.console.Console.on_broken_pipe()` to reraise +the original exception, to bring the behavior of rich 13.8.0+ in line +with older versions. The new versions instead close output fds and exit +with error instead, which prevents pip's pipe handler from firing. +This is the minimal change needed to make pip's test suite pass after +upgrading vendored rich. + +Bug #13006 +Bug #13072 +--- + src/pip/_internal/utils/logging.py | 9 ++++++++- + 2 files changed, 8 insertions(+), 1 deletion(-) + create mode 100644 news/13072.trivial.rst + +diff --git a/src/pip/_internal/utils/logging.py b/src/pip/_internal/utils/logging.py +index 41f6eb51a..be17add5d 100644 +--- a/src/pip/_internal/utils/logging.py ++++ b/src/pip/_internal/utils/logging.py +@@ -137,12 +137,19 @@ class IndentedRenderable: + yield Segment("\n") + + ++class PipConsole(Console): ++ def on_broken_pipe(self) -> None: ++ # Reraise the original exception, rich 13.8.0+ exits by default ++ # instead, preventing our handler from firing. ++ raise BrokenPipeError() from None ++ ++ + class RichPipStreamHandler(RichHandler): + KEYWORDS: ClassVar[Optional[List[str]]] = [] + + def __init__(self, stream: Optional[TextIO], no_color: bool) -> None: + super().__init__( +- console=Console(file=stream, no_color=no_color, soft_wrap=True), ++ console=PipConsole(file=stream, no_color=no_color, soft_wrap=True), + show_time=False, + show_level=False, + show_path=False, +-- +2.47.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild index fc9251eeb5..e4a0442a57 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-24.2-r1.ebuild @@ -26,7 +26,7 @@ LICENSE="MIT" # bundled deps LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="test-rust" # see src/pip/_vendor/vendor.txt @@ -58,6 +58,7 @@ BDEPEND=" dev-python/pretend[${PYTHON_USEDEP}] dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] dev-python/pytest-xdist[${PYTHON_USEDEP}] + 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 + # broken by system site-packages use + tests/functional/test_check.py::test_basic_check_clean + tests/functional/test_check.py::test_check_skip_work_dir_pkg + tests/functional/test_check.py::test_check_complicated_name_clean + tests/functional/test_check.py::test_check_development_versions_are_also_considered + 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 + # 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_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + ) + local EPYTEST_IGNORE=( + # 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 -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 + # rerunfailures because test suite breaks if packages are installed + # in parallel + epytest -m "not network" -o tmp_path_retention_policy=all \ + -p rerunfailures --reruns=5 +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + + insinto /usr/share/zsh/site-functions + newins completion.zsh _pip +}