gentoo/dev-python/build/files/build-1.2.2_p1-gentoo-pip.patch
Michał Górny cd58e32401
dev-python/build: Add a patch to support unbundled pip
Bug: https://bugs.gentoo.org/934922
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-02-19 15:34:18 +01:00

29 lines
1.0 KiB
Diff

diff --git a/src/build/env.py b/src/build/env.py
index b8c7b5f6..f10cf4bf 100644
--- a/src/build/env.py
+++ b/src/build/env.py
@@ -11,6 +11,7 @@
import sysconfig
import tempfile
import typing
+import warnings
from collections.abc import Collection, Mapping
@@ -158,6 +159,15 @@ def _has_valid_outer_pip(self) -> bool | None:
This checks for a valid global pip. Returns None if pip is missing, False
if pip is too old, and True if it can be used.
"""
+ # `pip install --python` is nonfunctional on Gentoo debundled pip.
+ # Detect that by checking if pip._vendor` module exists. However,
+ # searching for pip could yield warnings from _distutils_hack,
+ # so silence them.
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore')
+ if importlib.util.find_spec('pip._vendor') is None:
+ return False # pragma: no cover
+
# Version to have added the `--python` option.
return _has_dependency('pip', '22.3')