diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-02-20 11:40:01 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-02-20 11:40:01 +0000 |
commit | d6ecedbb65041ed35010095376e87dd7de4270c5 (patch) | |
tree | f00964f121a5ec52d2f3d1fd00a8f3eb52f9c756 /dev-python/pip | |
parent | 89a009d7439343e207e8c7e4df1a28adecafeffe (diff) |
gentoo auto-resync : 20:02:2024 - 11:40:01
Diffstat (limited to 'dev-python/pip')
-rw-r--r-- | dev-python/pip/Manifest | 5 | ||||
-rw-r--r-- | dev-python/pip/files/pip-23.3.2-setuptools-69.0.3.patch | 383 | ||||
-rw-r--r-- | dev-python/pip/pip-23.3.2-r1.ebuild | 134 | ||||
-rw-r--r-- | dev-python/pip/pip-24.0.ebuild | 2 |
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" |