summaryrefslogtreecommitdiff
path: root/dev-python/pip
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-20 11:40:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-20 11:40:01 +0000
commitd6ecedbb65041ed35010095376e87dd7de4270c5 (patch)
treef00964f121a5ec52d2f3d1fd00a8f3eb52f9c756 /dev-python/pip
parent89a009d7439343e207e8c7e4df1a28adecafeffe (diff)
gentoo auto-resync : 20:02:2024 - 11:40:01
Diffstat (limited to 'dev-python/pip')
-rw-r--r--dev-python/pip/Manifest5
-rw-r--r--dev-python/pip/files/pip-23.3.2-setuptools-69.0.3.patch383
-rw-r--r--dev-python/pip/pip-23.3.2-r1.ebuild134
-rw-r--r--dev-python/pip/pip-24.0.ebuild2
4 files changed, 2 insertions, 522 deletions
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index cb3dc70daf1b..b20fef99c82a 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,8 +1,5 @@
AUX pip-23.1-no-coverage.patch 1836 BLAKE2B f8c95ed26d5a7cba2a516b8d134ddd9901fd7d39dc8bf174397ab2afab33e93c4af342195b5b4d7b0aedc642493f1ed2ee474c74e16e285f335dcdcf531b1777 SHA512 c63929cc5324b2a741a4c1ebb4990c376eb6a4c0f39370e456b674ce3cfbdf10471ec48cf9368fccba9264fd9d4a5667988116163e73772496f28d52986ff111
AUX pip-23.3.1-no-color.patch 1767 BLAKE2B b81a4b814e2e84e7c0424870d1a86ba7fde91400bfad127c696112544b294623ba9d580f503f01a8399a569a9a5880d38d1d09c98b9364c9b59915adb3a9b453 SHA512 c89be77fbd8049a1e6fd12ef4227926ff641c1797f91bbe91b6152016a1e7dff5e323d8ff0961948225ef854d52de972f74c8e37f48e8aee78e529f9ec8b3b3f
-AUX pip-23.3.2-setuptools-69.0.3.patch 15433 BLAKE2B 9240c660580d595a182e6082446b7275c7f7b918589f731215a30b326a962668710a4aaa57877ccbeb48912a76182df9b2eb44e0868cff41e83326bd30273263 SHA512 952c30c62517eb0e60c7798d5a18fb20fe91e92816b552772a9334ed6f55d53b08f68c29c9eed30f59ce8265ce01eba8b28ea1f94c329c912f61f7afbaa2bff7
-DIST pip-23.3.2.gh.tar.gz 9397451 BLAKE2B 65e656cf3e7c3ab48b5cfa48f105cae158068f3daee497edfb93e34887afa134b2cfea73574947ca22ec2664dd814034166301fb0f70322ca92852a68052be40 SHA512 976c6ab9959805f4d20d4bdedb4dabc95dd55f1ec78773f63f738599bbe44e766ad3a1394bee052a2c2386826d67686ad456726373345ba9e0d555fd251dff09
DIST pip-24.0.gh.tar.gz 9398156 BLAKE2B 17a7ed9e15e9b8efa0d3e3c5586dc446958b62cf9ba52155a0d1ad97a3e212ee7a08a0e88a592718fc3d542eb8f434155a75cb98d90c008904bd8f59bd2b40b6 SHA512 0c2ecb2ecde4f155c83468d35bc4f52f37efffc16821ae7c706d035e1e8cc3709b41cb10f8140ff09205e8bbdba2c76128ad76d1cbd18401328b619228e834df
-EBUILD pip-23.3.2-r1.ebuild 4330 BLAKE2B 5cc4dfd26bb1df712b6099df54e9871c0b3e65c4ca57b2c864d1fb18821d0a69de4a53335cbbf8938f8cd5d4a587471bf1ac1d52276940e4189eb51ae18ba651 SHA512 6c75f4c7190ad43571250300782da6e1835f37841ba47d1510daf5e213670ff7e9c97f5377384d04603e2d44ccba1d29fc7c86269e6b353e2e3899614a493e68
-EBUILD pip-24.0.ebuild 4203 BLAKE2B bb84d8f0a94a87a7001ae5c5adb81ce6bf1ae95fa7d2d2627050b9e8d7cb67151e633a10f3832a6a0f6d5c6c1810b3a140f9820a6e61d23f9ae2068afe683441 SHA512 38eb925c55dfb942beeb7faf262a43d32d17c0ca5c730e9fe09086641dbeae75363f4137fc412f4f065e3fb5172def55024dfe33c8007647ddff1c3a98a9cd6e
+EBUILD pip-24.0.ebuild 4195 BLAKE2B 4bde20ee8e89d56bfe0642a2b0020579829a79c069ffe6ecd2bfed8ea40894a9e284914563021b4d4838dea037308c05b1706f4990153b610418883292970d39 SHA512 e194b652472fe00e6073883c958eae8a7506587bbecba5ad093a7b7e8931470cab123ca28e0995436599313abc29e51d2b3035e5db15d1534828af0d390ccbd9
MISC metadata.xml 392 BLAKE2B 94ea3de1220cb9ca64ae1186597789cc83a54adfe44695932c07dd5065df0e5f9ee5078a495e3a12563b36809d781d8ab86bb6c92c485c023199d92547b74f27 SHA512 603199f6547105f3bb64f4fcaf004e9ef62fa2e0f8ec6eab56078119684b0f5119161e0f164fe02b2cf6dd6b115588c9ef77d727eeb6d138e281f1cb0bcb5de9
diff --git a/dev-python/pip/files/pip-23.3.2-setuptools-69.0.3.patch b/dev-python/pip/files/pip-23.3.2-setuptools-69.0.3.patch
deleted file mode 100644
index 26d358da9534..000000000000
--- a/dev-python/pip/files/pip-23.3.2-setuptools-69.0.3.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-From a11f98c107cae60c82c480d3208c34656a22fa19 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= <stephane.bidoul@gmail.com>
-Date: Sun, 14 Jan 2024 12:54:21 +0100
-Subject: [PATCH 1/2] Change .egg-link search algorithm to support setuptools
- >= 69
-
----
- src/pip/_internal/utils/egg_link.py | 28 ++++++++++++++++++----------
- 1 file changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/src/pip/_internal/utils/egg_link.py b/src/pip/_internal/utils/egg_link.py
-index eb57ed151..4a384a636 100644
---- a/src/pip/_internal/utils/egg_link.py
-+++ b/src/pip/_internal/utils/egg_link.py
-@@ -15,24 +15,31 @@ __all__ = [
- ]
-
-
--def _egg_link_name(raw_name: str) -> str:
-+def _egg_link_names(raw_name: str) -> List[str]:
- """
- Convert a Name metadata value to a .egg-link name, by applying
- the same substitution as pkg_resources's safe_name function.
- Note: we cannot use canonicalize_name because it has a different logic.
-+
-+ We also look for the raw name (without normalization) as setuptools 69 changed
-+ the way it names .egg-link files (https://github.com/pypa/setuptools/issues/4167).
- """
-- return re.sub("[^A-Za-z0-9.]+", "-", raw_name) + ".egg-link"
-+ return [
-+ re.sub("[^A-Za-z0-9.]+", "-", raw_name) + ".egg-link",
-+ f"{raw_name}.egg-link",
-+ ]
-
-
- def egg_link_path_from_sys_path(raw_name: str) -> Optional[str]:
- """
- Look for a .egg-link file for project name, by walking sys.path.
- """
-- egg_link_name = _egg_link_name(raw_name)
-+ egg_link_names = _egg_link_names(raw_name)
- for path_item in sys.path:
-- egg_link = os.path.join(path_item, egg_link_name)
-- if os.path.isfile(egg_link):
-- return egg_link
-+ for egg_link_name in egg_link_names:
-+ egg_link = os.path.join(path_item, egg_link_name)
-+ if os.path.isfile(egg_link):
-+ return egg_link
- return None
-
-
-@@ -64,9 +71,10 @@ def egg_link_path_from_location(raw_name: str) -> Optional[str]:
- sites.append(user_site)
- sites.append(site_packages)
-
-- egg_link_name = _egg_link_name(raw_name)
-+ egg_link_names = _egg_link_names(raw_name)
- for site in sites:
-- egglink = os.path.join(site, egg_link_name)
-- if os.path.isfile(egglink):
-- return egglink
-+ for egg_link_name in egg_link_names:
-+ egglink = os.path.join(site, egg_link_name)
-+ if os.path.isfile(egglink):
-+ return egglink
- return None
---
-2.43.0
-
-From 6fdd838c59d92ea435766f452da515f234a438ed Mon Sep 17 00:00:00 2001
-From: Richard Si <sichard26@gmail.com>
-Date: Mon, 1 Jan 2024 17:19:45 -0500
-Subject: [PATCH 2/2] Fix tests broken by Setuptools 69.0.3 which now preserves
- underscores in egg_info
-
-More test suite fixes for setuptools 69 compatibility
----
- tests/functional/test_check.py | 20 ++++++++++++---
- tests/functional/test_freeze.py | 22 +++++++----------
- tests/functional/test_install.py | 2 +-
- tests/functional/test_install_reqs.py | 2 +-
- tests/functional/test_install_vcs_git.py | 2 +-
- tests/functional/test_new_resolver.py | 13 +++++++---
- tests/functional/test_show.py | 19 ++++++++++++---
- tests/lib/__init__.py | 31 ++++++++++++++++++------
- 8 files changed, 75 insertions(+), 36 deletions(-)
-
-diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py
-index e2b1c60ef..79b6df39c 100644
---- a/tests/functional/test_check.py
-+++ b/tests/functional/test_check.py
-@@ -119,7 +119,10 @@ def test_check_complicated_name_missing(script: PipTestEnvironment) -> None:
-
- # Without dependency
- result = script.pip("install", "--no-index", package_a_path, "--no-deps")
-- assert "Successfully installed package-A-1.0" in result.stdout, str(result)
-+ assert (
-+ "Successfully installed package_A-1.0" in result.stdout
-+ or "Successfully installed package-A-1.0" in result.stdout
-+ ), str(result)
-
- result = script.pip("check", expect_error=True)
- expected_lines = ("package-a 1.0 requires dependency-b, which is not installed.",)
-@@ -142,7 +145,10 @@ def test_check_complicated_name_broken(script: PipTestEnvironment) -> None:
-
- # With broken dependency
- result = script.pip("install", "--no-index", package_a_path, "--no-deps")
-- assert "Successfully installed package-A-1.0" in result.stdout, str(result)
-+ assert (
-+ "Successfully installed package_A-1.0" in result.stdout
-+ or "Successfully installed package-A-1.0" in result.stdout
-+ ), str(result)
-
- result = script.pip(
- "install",
-@@ -175,7 +181,10 @@ def test_check_complicated_name_clean(script: PipTestEnvironment) -> None:
- )
-
- result = script.pip("install", "--no-index", package_a_path, "--no-deps")
-- assert "Successfully installed package-A-1.0" in result.stdout, str(result)
-+ assert (
-+ "Successfully installed package_A-1.0" in result.stdout
-+ or "Successfully installed package-A-1.0" in result.stdout
-+ ), str(result)
-
- result = script.pip(
- "install",
-@@ -203,7 +212,10 @@ def test_check_considers_conditional_reqs(script: PipTestEnvironment) -> None:
- )
-
- result = script.pip("install", "--no-index", package_a_path, "--no-deps")
-- assert "Successfully installed package-A-1.0" in result.stdout, str(result)
-+ assert (
-+ "Successfully installed package_A-1.0" in result.stdout
-+ or "Successfully installed package-A-1.0" in result.stdout
-+ ), str(result)
-
- result = script.pip("check", expect_error=True)
- expected_lines = ("package-a 1.0 requires dependency-b, which is not installed.",)
-diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py
-index 9a5937df3..a8e6c038c 100644
---- a/tests/functional/test_freeze.py
-+++ b/tests/functional/test_freeze.py
-@@ -221,12 +221,10 @@ def test_freeze_editable_not_vcs(script: PipTestEnvironment) -> None:
- # We need to apply os.path.normcase() to the path since that is what
- # the freeze code does.
- expected = textwrap.dedent(
-- """\
-- ...# Editable install with no version control (version-pkg==0.1)
-- -e {}
-- ...""".format(
-- os.path.normcase(pkg_path)
-- )
-+ f"""\
-+ ...# Editable install with no version control (version...pkg==0.1)
-+ -e {os.path.normcase(pkg_path)}
-+ ..."""
- )
- _check_output(result.stdout, expected)
-
-@@ -248,12 +246,10 @@ def test_freeze_editable_git_with_no_remote(
- # We need to apply os.path.normcase() to the path since that is what
- # the freeze code does.
- expected = textwrap.dedent(
-- """\
-- ...# Editable Git install with no remote (version-pkg==0.1)
-- -e {}
-- ...""".format(
-- os.path.normcase(pkg_path)
-- )
-+ f"""\
-+ ...# Editable Git install with no remote (version...pkg==0.1)
-+ -e {os.path.normcase(pkg_path)}
-+ ..."""
- )
- _check_output(result.stdout, expected)
-
-@@ -489,7 +485,7 @@ def test_freeze_git_remote(script: PipTestEnvironment) -> None:
- expected = os.path.normcase(
- textwrap.dedent(
- f"""
-- ...# Editable Git...(version-pkg...)...
-+ ...# Editable Git...(version...pkg...)...
- # '{other_remote}'
- -e {repo_dir}...
- """
-diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py
-index 140061a17..4b0a4abdf 100644
---- a/tests/functional/test_install.py
-+++ b/tests/functional/test_install.py
-@@ -358,7 +358,7 @@ def test_basic_install_editable_from_svn(script: PipTestEnvironment) -> None:
- checkout_path = _create_test_package(script.scratch_path)
- repo_url = _create_svn_repo(script.scratch_path, checkout_path)
- result = script.pip("install", "-e", "svn+" + repo_url + "#egg=version-pkg")
-- result.assert_installed("version-pkg", with_files=[".svn"])
-+ result.assert_installed("version_pkg", with_files=[".svn"])
-
-
- def _test_install_editable_from_git(script: PipTestEnvironment) -> None:
-diff --git a/tests/functional/test_install_reqs.py b/tests/functional/test_install_reqs.py
-index f649be000..4e3b3e653 100644
---- a/tests/functional/test_install_reqs.py
-+++ b/tests/functional/test_install_reqs.py
-@@ -300,7 +300,7 @@ def test_install_local_editable_with_subdirectory(script: PipTestEnvironment) ->
- ),
- )
-
-- result.assert_installed("version-subpkg", sub_dir="version_subdir")
-+ result.assert_installed("version_subpkg", sub_dir="version_subdir")
-
-
- @pytest.mark.network
-diff --git a/tests/functional/test_install_vcs_git.py b/tests/functional/test_install_vcs_git.py
-index 2abc7aa0f..e59b269a6 100644
---- a/tests/functional/test_install_vcs_git.py
-+++ b/tests/functional/test_install_vcs_git.py
-@@ -449,7 +449,7 @@ def test_git_with_ambiguous_revs(script: PipTestEnvironment) -> None:
- assert "Could not find a tag or branch" not in result.stdout
- # it is 'version-pkg' instead of 'version_pkg' because
- # egg-link name is version-pkg.egg-link because it is a single .py module
-- result.assert_installed("version-pkg", with_files=[".git"])
-+ result.assert_installed("version_pkg", with_files=[".git"])
-
-
- def test_editable__no_revision(script: PipTestEnvironment) -> None:
-diff --git a/tests/functional/test_new_resolver.py b/tests/functional/test_new_resolver.py
-index feae58a9c..c0abec686 100644
---- a/tests/functional/test_new_resolver.py
-+++ b/tests/functional/test_new_resolver.py
-@@ -5,6 +5,7 @@ import textwrap
- from typing import TYPE_CHECKING, Callable, Dict, List, Tuple
-
- import pytest
-+from packaging.utils import canonicalize_name
-
- from tests.conftest import ScriptFactory
- from tests.lib import (
-@@ -27,9 +28,13 @@ def assert_editable(script: PipTestEnvironment, *args: str) -> None:
- # This simply checks whether all of the listed packages have a
- # corresponding .egg-link file installed.
- # TODO: Implement a more rigorous way to test for editable installations.
-- egg_links = {f"{arg}.egg-link" for arg in args}
-- assert egg_links <= set(
-- os.listdir(script.site_packages_path)
-+ egg_links = {f"{canonicalize_name(arg)}.egg-link" for arg in args}
-+ actual_egg_links = {
-+ f"{canonicalize_name(p.stem)}.egg-link"
-+ for p in script.site_packages_path.glob("*.egg-link")
-+ }
-+ assert (
-+ egg_links <= actual_egg_links
- ), f"{args!r} not all found in {script.site_packages_path!r}"
-
-
-@@ -1847,7 +1852,7 @@ def test_new_resolver_succeeds_on_matching_constraint_and_requirement(
-
- script.assert_installed(test_pkg="0.1.0")
- if editable:
-- assert_editable(script, "test-pkg")
-+ assert_editable(script, "test_pkg")
-
-
- def test_new_resolver_applies_url_constraint_to_dep(script: PipTestEnvironment) -> None:
-diff --git a/tests/functional/test_show.py b/tests/functional/test_show.py
-index b8ec0510a..05fccbbe3 100644
---- a/tests/functional/test_show.py
-+++ b/tests/functional/test_show.py
-@@ -277,7 +277,10 @@ def test_show_required_by_packages_basic(
- lines = result.stdout.splitlines()
-
- assert "Name: simple" in lines
-- assert "Required-by: requires-simple" in lines
-+ assert (
-+ "Required-by: requires_simple" in lines
-+ or "Required-by: requires-simple" in lines
-+ )
-
-
- def test_show_required_by_packages_capitalized(
-@@ -294,7 +297,10 @@ def test_show_required_by_packages_capitalized(
- lines = result.stdout.splitlines()
-
- assert "Name: simple" in lines
-- assert "Required-by: Requires-Capitalized" in lines
-+ assert (
-+ "Required-by: Requires_Capitalized" in lines
-+ or "Required-by: Requires-Capitalized" in lines
-+ )
-
-
- def test_show_required_by_packages_requiring_capitalized(
-@@ -314,8 +320,13 @@ def test_show_required_by_packages_requiring_capitalized(
- lines = result.stdout.splitlines()
- print(lines)
-
-- assert "Name: Requires-Capitalized" in lines
-- assert "Required-by: requires-requires-capitalized" in lines
-+ assert (
-+ "Name: Requires_Capitalized" in lines or "Name: Requires-Capitalized" in lines
-+ )
-+ assert (
-+ "Required-by: requires_requires_capitalized" in lines
-+ or "Required-by: requires-requires-capitalized" in lines
-+ )
-
-
- def test_show_skip_work_dir_pkg(script: PipTestEnvironment) -> None:
-diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py
-index d27c02e25..414926d12 100644
---- a/tests/lib/__init__.py
-+++ b/tests/lib/__init__.py
-@@ -41,6 +41,7 @@ from pip._internal.models.search_scope import SearchScope
- from pip._internal.models.selection_prefs import SelectionPreferences
- from pip._internal.models.target_python import TargetPython
- from pip._internal.network.session import PipSession
-+from pip._internal.utils.egg_link import _egg_link_names
- from tests.lib.venv import VirtualEnvironment
- from tests.lib.wheel import make_wheel
-
-@@ -305,6 +306,12 @@ class TestPipResult:
- def files_deleted(self) -> FoundFiles:
- return FoundFiles(self._impl.files_deleted)
-
-+ def _get_egg_link_path_created(self, egg_link_paths: List[str]) -> Optional[str]:
-+ for egg_link_path in egg_link_paths:
-+ if egg_link_path in self.files_created:
-+ return egg_link_path
-+ return None
-+
- def assert_installed(
- self,
- pkg_name: str,
-@@ -320,7 +327,7 @@ class TestPipResult:
- e = self.test_env
-
- if editable:
-- pkg_dir = e.venv / "src" / pkg_name.lower()
-+ pkg_dir = e.venv / "src" / canonicalize_name(pkg_name)
- # If package was installed in a sub directory
- if sub_dir:
- pkg_dir = pkg_dir / sub_dir
-@@ -329,22 +336,30 @@ class TestPipResult:
- pkg_dir = e.site_packages / pkg_name
-
- if use_user_site:
-- egg_link_path = e.user_site / f"{pkg_name}.egg-link"
-+ egg_link_paths = [
-+ e.user_site / egg_link_name
-+ for egg_link_name in _egg_link_names(pkg_name)
-+ ]
- else:
-- egg_link_path = e.site_packages / f"{pkg_name}.egg-link"
-+ egg_link_paths = [
-+ e.site_packages / egg_link_name
-+ for egg_link_name in _egg_link_names(pkg_name)
-+ ]
-
-+ egg_link_path_created = self._get_egg_link_path_created(egg_link_paths)
- if without_egg_link:
-- if egg_link_path in self.files_created:
-+ if egg_link_path_created:
- raise TestFailure(
-- f"unexpected egg link file created: {egg_link_path!r}\n{self}"
-+ f"unexpected egg link file created: {egg_link_path_created!r}\n"
-+ f"{self}"
- )
- else:
-- if egg_link_path not in self.files_created:
-+ if not egg_link_path_created:
- raise TestFailure(
-- f"expected egg link file missing: {egg_link_path!r}\n{self}"
-+ f"expected egg link file missing: {egg_link_paths!r}\n{self}"
- )
-
-- egg_link_file = self.files_created[egg_link_path]
-+ egg_link_file = self.files_created[egg_link_path_created]
- egg_link_contents = egg_link_file.bytes.replace(os.linesep, "\n")
-
- # FIXME: I don't understand why there's a trailing . here
---
-2.43.0
-
diff --git a/dev-python/pip/pip-23.3.2-r1.ebuild b/dev-python/pip/pip-23.3.2-r1.ebuild
deleted file mode 100644
index be6f9d444a4f..000000000000
--- a/dev-python/pip/pip-23.3.2-r1.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2024 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=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit bash-completion-r1 distutils-r1
-
-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
-"
-
-LICENSE="MIT"
-# bundled deps
-LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-23.1-no-coverage.patch"
- "${FILESDIR}/pip-23.3.1-no-color.patch"
- "${FILESDIR}/${P}-setuptools-69.0.3.patch"
- )
-
- distutils-r1_python_prepare_all
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- 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='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
- tests/functional/test_install.py::test_double_install_fail
- # Internet
- tests/functional/test_install.py::test_install_dry_run
- tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject
- tests/functional/test_install.py::test_install_8559_wheel_package_present
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_link_hash_in_dep_fails_require_hashes
- # TODO
- tests/unit/test_network_auth.py::test_keyring_cli_get_password
- tests/unit/test_network_auth.py::test_keyring_cli_set_password
- # wants to install keyring from Internet, sigh
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- # probably a too strict assert
- # https://github.com/pypa/pip/issues/12152
- tests/unit/test_req.py::TestRequirementSet::test_download_info_archive_cache_with_invalid_origin
- )
-
- 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 SETUPTOOLS_USE_DISTUTILS=stdlib
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_XDIST=1
- epytest -m "not network"
-}
-
-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
-}
diff --git a/dev-python/pip/pip-24.0.ebuild b/dev-python/pip/pip-24.0.ebuild
index b4f8836682f0..8e9ed0858608 100644
--- a/dev-python/pip/pip-24.0.ebuild
+++ b/dev-python/pip/pip-24.0.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
LICENSE="MIT"
# bundled deps
LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
IUSE="test-rust"