diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-19 00:15:15 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-19 00:15:15 +0000 |
commit | 2e512e4e32285f8c4eb19586d014cb9d31454ec9 (patch) | |
tree | e5884cadbd260c6936495a63b92f4503d54e5428 /dev-python/pip | |
parent | 5264c18a325553759d67fb4e059db03cf3fc5c81 (diff) |
gentoo auto-resync : 19:02:2025 - 00:15:15
Diffstat (limited to 'dev-python/pip')
-rw-r--r-- | dev-python/pip/Manifest | 3 | ||||
-rw-r--r-- | dev-python/pip/files/pip-25.0.1-unbundle.patch | 209 | ||||
-rw-r--r-- | dev-python/pip/pip-25.0.1-r1.ebuild (renamed from dev-python/pip/pip-25.0.1.ebuild) | 7 |
3 files changed, 217 insertions, 2 deletions
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest index 900dcfb6529f..d7cb08586d04 100644 --- a/dev-python/pip/Manifest +++ b/dev-python/pip/Manifest @@ -2,12 +2,13 @@ AUX pip-23.1-no-coverage.patch 1693 BLAKE2B ff7c152dacfd7edd3d4268a07b555c4da0fe AUX pip-24.1-test-offline.patch 2995 BLAKE2B bbaa9b6410b350cecfaf1422c252c166ac931a550896d153f174e6b351372e753762af621716b37f5480d34f51440be11bc7c4ff2dee4a84328d8e9ebe03bb09 SHA512 8af459ba1c6a732a694537473b08377c17c996c2e50bae50f3fbb5ceb0376fa29e72055d887e179e8dd22df400886f9bd101f577dae59956b6a132a878bda23b AUX pip-24.1-unbundle.patch 8156 BLAKE2B 014d05bd6e5bb39a4b8a591948bba0760878b28fc757d3d091f226aca0bfc663de558d7b75651907d47951205d5804a7e3986c8631b805926a025658cd34895a SHA512 d78f521a27d1cb12012c622f1d13da7b19a2406204cba6a1ce149feb988a94421bc9883caaeda48e71bc26bb7c4845aef7c90aeb6f39bc474bf5f1ab1d694e43 AUX pip-24.3.1-rich-13.8.patch 1774 BLAKE2B d0672abf384ed7e357f771109381996ae839c2bd054fbc45e86700fa3bda9f96db21775efbcdf2314e8aa92278550e1855e9d89ffa66b29e49680312bcd1f52d SHA512 82007682370c205c48751b978727983afbbe28175b6d3d9d86372c412a4fd363716a0317b9c55cd2c254e8116c5fb6f913f24f5d4822c86bcfd0d36a4f60dab8 +AUX pip-25.0.1-unbundle.patch 8817 BLAKE2B 6569625d0cc9e553516bf8285f19a1dcae25b0dddac351605eb36df0dcaa85a95764addac0b7c99a01b347b88df3de1b0e1aab6a3906efd9d383ac4aa1298be7 SHA512 61dda2160dc494eeea0b9bbce6a9dcfca42891d704021f05ebf5f568344fb767ef375e4fb2d506ce1ce190a0f7ff2ea5937f9e57f0283e32caa8d218fcddad28 DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1 DIST pip-24.3.1.gh.tar.gz 9198711 BLAKE2B c70524bfedf46776d5ab8da24754e8177caac6d87cc90aa86b144c0fe9718860fe3d08823f655495c059dbece6e0ecbb2ac8e655cff3124693f64a35deac512e SHA512 9cf5f18eefd559cf27bc026e5206b0028ea77fd904a61fea9a6682b519305c962dd19170b841581bd05ff72192a9c458ec0eba173fa66db0438b046111ff5856 DIST pip-25.0.1.gh.tar.gz 9224526 BLAKE2B db729b8c75d8e15c6fed1dbc9e08adc4e82114f2bbd953859ec03c7948e521629afd8cea6adb08110b987d6adf48fd600a59a3bcc27774db61ea92675ad90d42 SHA512 a6850c8567082bbf98483a45e523c4de12132136d2b0aa388ac619c02ffd0c8f6aea7d727f7d84167dadec5f1e56dd478b2233b0caa5d9b3e5cadc9e1f3dc12c DIST pip-25.0.gh.tar.gz 9224545 BLAKE2B 9606eea2b08d5220f9ed7528c14251ef20499693bdb817a2280124672860cb24111999bdb67af1107006ae4dd02c52d395fddea7e6b09dbc820a41ee8618fd50 SHA512 023db908a1da1cbbd2134bb83cc69a7a35e6d010b3f846bb8abcab14ca79a8cee4d02ead9346220e05fe137039377074c732b4bf2a9e6eee5c0d9161f1754f95 EBUILD pip-24.1.ebuild 4069 BLAKE2B 17b48996f8c982abdf73f523e35f7c4be1a1a1aa08fdea73e10054e93e5548ae48b2363110d85a0dced150435ea4ede0a7986d7114841bd73deafe4b672349d3 SHA512 e484be733a9b8caa3fc8e751f26fecd4b24571d40402d8b70ab8d4a294e249c0ccaa18c6a64ff977d64a7e7610d14be5d7666faf87447703013f0b003f0ded59 EBUILD pip-24.3.1-r2.ebuild 5981 BLAKE2B f37086c64014a5f3cf30180d5d1a68c21f6850beb54d56781135dd5b35418e73eb34afc6f695ae605e6e39534149b6f5d319e47aa2e46ca2ea392f5e079f2236 SHA512 6bbb8a69b589f82181d33e184a292c11366001cfaa30a58f2c475c09ef666b7200004ba77dae8a13581e4ab4ad5edca4a86ad7cc25176d699c86a14a8c89319d -EBUILD pip-25.0.1.ebuild 5720 BLAKE2B dfae2110524d69525c87e6f3e9d26244d121f76ddd452ed55929d5cf0c050fee1efd977373d510a2af716e72f0f75a5e38d20f533bf6d6c0f9fcc33c56623df3 SHA512 2583833320cb0770f29391c1f980aec824f3b0213cd7ece173e99f001af4abdc0933156631121a7c4314abc7a953218e4f0421148c79293fc7fbc867b8f9dc41 +EBUILD pip-25.0.1-r1.ebuild 5832 BLAKE2B 41b45e20491fd96fec76463efae20eb681a930bec64d3a4459a1ac12b98feccd08fbd251f984a100fff262af9f38091bcbcb729506de17974518434ae85144fb SHA512 e265d1e710ca3ecfd973c6eb8a1ec94c43385e46c0700823eb6fd43002de1666b89b86b4e2e2eec2708dc87ae02d8afb745725e661903c8b052383febf36d429 EBUILD pip-25.0.ebuild 5711 BLAKE2B 22a2bb0b0c98892949ee69542e99c468b97b35b323cb1c18d760101aaf3cf7e98aa4cc32bc0351eec43ef455f4172e7bac689e9e764731449592ed7c8af0b49d SHA512 ff2221cde4bffdb767df5e70b2ee036e7cefff132bd3fd42ce1f79c3abbf78609652b82fa1b7e0732b7492103234a53591116928aec8fcb8abd723ea81af92a6 MISC metadata.xml 392 BLAKE2B 94ea3de1220cb9ca64ae1186597789cc83a54adfe44695932c07dd5065df0e5f9ee5078a495e3a12563b36809d781d8ab86bb6c92c485c023199d92547b74f27 SHA512 603199f6547105f3bb64f4fcaf004e9ef62fa2e0f8ec6eab56078119684b0f5119161e0f164fe02b2cf6dd6b115588c9ef77d727eeb6d138e281f1cb0bcb5de9 diff --git a/dev-python/pip/files/pip-25.0.1-unbundle.patch b/dev-python/pip/files/pip-25.0.1-unbundle.patch new file mode 100644 index 000000000000..9cc035985250 --- /dev/null +++ b/dev-python/pip/files/pip-25.0.1-unbundle.patch @@ -0,0 +1,209 @@ +diff --git a/src/pip/_internal/cli/main_parser.py b/src/pip/_internal/cli/main_parser.py +index 5ade356b9..d07dfeab8 100644 +--- a/src/pip/_internal/cli/main_parser.py ++++ b/src/pip/_internal/cli/main_parser.py +@@ -80,6 +80,11 @@ def parse_command(args: List[str]) -> Tuple[str, List[str]]: + + # --python + if general_options.python and "_PIP_RUNNING_IN_SUBPROCESS" not in os.environ: ++ raise CommandError( ++ "--python option is not supported on Gentoo, as it requires bundled " ++ "dependencies that have been removed to improve security" ++ ) ++ + # Re-invoke pip using the specified Python interpreter + interpreter = identify_python_interpreter(general_options.python) + if interpreter is None: +diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py +index 567ca967e..427bfcf04 100644 +--- a/src/pip/_internal/commands/debug.py ++++ b/src/pip/_internal/commands/debug.py +@@ -6,7 +6,6 @@ from optparse import Values + from types import ModuleType + from typing import Any, Dict, List, Optional + +-import pip._vendor + from pip._vendor.certifi import where + from pip._vendor.packaging.version import parse as parse_version + +@@ -192,9 +191,7 @@ class DebugCommand(Command): + show_value("REQUESTS_CA_BUNDLE", os.environ.get("REQUESTS_CA_BUNDLE")) + show_value("CURL_CA_BUNDLE", os.environ.get("CURL_CA_BUNDLE")) + show_value("pip._vendor.certifi.where()", where()) +- show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED) +- +- show_vendor_versions() ++ show_value("pip._vendor.DEBUNDLED", True) + + show_tags(options) + +diff --git a/tests/conftest.py b/tests/conftest.py +index d093eea46..bf4d9e782 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -418,6 +418,7 @@ def _common_wheel_editable_install( + ) + install_dir = tmpdir_factory.mktemp(package) / "install" + lib_install_dir = install_dir / "lib" ++ return lib_install_dir + bin_install_dir = install_dir / "bin" + with WheelFile.open(wheel_candidates[0]) as source: + install( +diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py +index f50f5593e..c42e88bbe 100644 +--- a/tests/functional/test_check.py ++++ b/tests/functional/test_check.py +@@ -10,10 +10,8 @@ from tests.lib import ( + def matches_expected_lines(string: str, expected_lines: Collection[str]) -> bool: + # Ignore empty lines + output_lines = list(filter(None, string.splitlines())) +- # We'll match the last n lines, given n lines to match. +- last_few_output_lines = output_lines[-len(expected_lines) :] + # And order does not matter +- return set(last_few_output_lines) == set(expected_lines) ++ return set(expected_lines).issubset(set(output_lines)) + + + def test_basic_check_clean(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py +index 0a7cedd11..ea2fef37d 100644 +--- a/tests/functional/test_freeze.py ++++ b/tests/functional/test_freeze.py +@@ -82,8 +82,8 @@ def test_basic_freeze(script: PipTestEnvironment) -> None: + result = script.pip("freeze", expect_stderr=True) + expected = textwrap.dedent( + """\ +- ...simple==2.0 +- simple2==3.0... ++ ...simple==2.0... ++ ...simple2==3.0... + <BLANKLINE>""" + ) + _check_output(result.stdout, expected) +@@ -1016,7 +1016,7 @@ def test_freeze_skip_work_dir_pkg(script: PipTestEnvironment) -> None: + + # Freeze should not include package simple when run from package directory + result = script.pip("freeze", cwd=pkg_path) +- assert "simple" not in result.stdout ++ assert "\nsimple==" not in result.stdout + + + def test_freeze_include_work_dir_pkg(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_install_check.py b/tests/functional/test_install_check.py +index 8a8a7c93a..bbda083f7 100644 +--- a/tests/functional/test_install_check.py ++++ b/tests/functional/test_install_check.py +@@ -57,6 +57,7 @@ def test_check_install_canonicalization(script: PipTestEnvironment) -> None: + ) + assert "requires" not in result.stderr + assert result.returncode == 0 ++ return + + # Double check that all errors are resolved in the end + result = script.pip("check") +diff --git a/tests/functional/test_list.py b/tests/functional/test_list.py +index e611fe7cb..c716f65c5 100644 +--- a/tests/functional/test_list.py ++++ b/tests/functional/test_list.py +@@ -1,5 +1,6 @@ + import json + import os ++import re + from pathlib import Path + + import pytest +@@ -42,8 +43,8 @@ def test_basic_list(simple_script: PipTestEnvironment) -> None: + + """ + result = simple_script.pip("list") +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_verbose_flag(simple_script: PipTestEnvironment) -> None: +@@ -55,8 +56,8 @@ def test_verbose_flag(simple_script: PipTestEnvironment) -> None: + assert "Version" in result.stdout, str(result) + assert "Location" in result.stdout, str(result) + assert "Installer" in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_columns_flag(simple_script: PipTestEnvironment) -> None: +@@ -67,8 +68,8 @@ def test_columns_flag(simple_script: PipTestEnvironment) -> None: + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple (1.0)" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_format_priority(simple_script: PipTestEnvironment) -> None: +@@ -80,16 +81,16 @@ def test_format_priority(simple_script: PipTestEnvironment) -> None: + ) + assert "simple==1.0" in result.stdout, str(result) + assert "simple2==3.0" in result.stdout, str(result) +- assert "simple 1.0" not in result.stdout, str(result) +- assert "simple2 3.0" not in result.stdout, str(result) ++ assert not re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert not re.search(r"simple2\s+3\.0", result.stdout), str(result) + + result = simple_script.pip("list", "--format=freeze", "--format=columns") + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple==1.0" not in result.stdout, str(result) + assert "simple2==3.0" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_local_flag(simple_script: PipTestEnvironment) -> None: +@@ -125,8 +126,8 @@ def test_multiple_exclude_and_normalization( + assert "Normalizable_Name" in result.stdout + assert "pip" in result.stdout + result = script.pip("list", "--exclude", "normalizablE-namE", "--exclude", "pIp") +- assert "Normalizable_Name" not in result.stdout +- assert "pip" not in result.stdout ++ assert "Normalizable_Name " not in result.stdout ++ assert "pip " not in result.stdout + + + @pytest.mark.network +diff --git a/tests/lib/venv.py b/tests/lib/venv.py +index fac54d3bd..6bfe3cfdc 100644 +--- a/tests/lib/venv.py ++++ b/tests/lib/venv.py +@@ -9,6 +9,7 @@ import venv as _venv + from pathlib import Path + from typing import Dict, Literal, Optional, Union + ++import pytest + import virtualenv as _virtualenv + + VirtualEnvironmentType = Literal["virtualenv", "venv"] +@@ -35,7 +36,7 @@ class VirtualEnvironment: + self._venv_type = venv_type + else: + self._venv_type = "virtualenv" +- self._user_site_packages = False ++ self._user_site_packages = True + self._template = template + self._sitecustomize: Optional[str] = None + self._update_paths() +@@ -234,6 +235,8 @@ class VirtualEnvironment: + + @user_site_packages.setter + def user_site_packages(self, value: bool) -> None: ++ if not value: ++ pytest.skip("Gentoo: skipping due to lack of system site-packages") + self._user_site_packages = value + if self._legacy_virtualenv: + marker = self.lib / "no-global-site-packages.txt" diff --git a/dev-python/pip/pip-25.0.1.ebuild b/dev-python/pip/pip-25.0.1-r1.ebuild index a535620fe6ce..24f37823be9e 100644 --- a/dev-python/pip/pip-25.0.1.ebuild +++ b/dev-python/pip/pip-25.0.1-r1.ebuild @@ -75,7 +75,7 @@ python_prepare_all() { local PATCHES=( "${FILESDIR}/pip-23.1-no-coverage.patch" # prepare to unbundle dependencies - "${FILESDIR}/pip-24.1-unbundle.patch" + "${FILESDIR}/pip-25.0.1-unbundle.patch" ) distutils-r1_python_prepare_all @@ -106,6 +106,11 @@ python_compile_all() { } 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 |