From 4c59dc5ea8a90d93cd0fb68cebd742dd40d16710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 22 Jun 2024 14:28:23 +0200 Subject: [PATCH] [Gentoo] Use ensurepip wheels instead of local bundle --- src/virtualenv/seed/wheels/embed/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/virtualenv/seed/wheels/embed/__init__.py b/src/virtualenv/seed/wheels/embed/__init__.py index df58d6d0..e1b40d1e 100644 --- a/src/virtualenv/seed/wheels/embed/__init__.py +++ b/src/virtualenv/seed/wheels/embed/__init__.py @@ -70,6 +70,15 @@ def get_embed_wheel(distribution: str, for_py_version: str) -> Wheel | None: :raises RuntimeError: if the bundled wheel on disk fails SHA-256 verification. """ + + # Gentoo hack: get wheel from ensurepip directory + import sysconfig + bundle_dir = Path(sysconfig.get_config_var("WHEEL_PKG_DIR")) + try: + return Wheel.from_path(next(bundle_dir.glob(f"{distribution}-*.whl"))) + except StopIteration: + return None + mapping = BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX] wheel_file = mapping.get(distribution) if wheel_file is None: