11diff --git a/pip/__init__.py b/pip/__init__.py
2- index efefccffc..5f5c95289 100644
2+ index efefccf..5f5c952 100644
33--- a/pip/__init__.py
44+++ b/pip/__init__.py
55@@ -11,3 +11,6 @@ def main(args: Optional[List[str]] = None) -> int:
@@ -10,7 +10,7 @@ index efefccffc..5f5c95289 100644
1010+
1111+ __GRAALPY_PATCHED = True
1212diff --git a/pip/_internal/cli/cmdoptions.py b/pip/_internal/cli/cmdoptions.py
13- index 0b7cff77b..07c86bf7b 100644
13+ index 0b7cff7..07c86bf 100644
1414--- a/pip/_internal/cli/cmdoptions.py
1515+++ b/pip/_internal/cli/cmdoptions.py
1616@@ -357,7 +357,8 @@ def extra_index_url() -> Option:
@@ -33,7 +33,7 @@ index 0b7cff77b..07c86bf7b 100644
3333 "of pip is available for download. Implied with --no-index.",
3434 )
3535diff --git a/pip/_internal/cli/index_command.py b/pip/_internal/cli/index_command.py
36- index db105d0fe..251413304 100644
36+ index db105d0..2514133 100644
3737--- a/pip/_internal/cli/index_command.py
3838+++ b/pip/_internal/cli/index_command.py
3939@@ -24,6 +24,9 @@ if TYPE_CHECKING:
@@ -58,7 +58,7 @@ index db105d0fe..251413304 100644
5858
5959 def _build_session(
6060diff --git a/pip/_internal/index/package_finder.py b/pip/_internal/index/package_finder.py
61- index 0d65ce35f..63aa51355 100644
61+ index 0d65ce3..63aa513 100644
6262--- a/pip/_internal/index/package_finder.py
6363+++ b/pip/_internal/index/package_finder.py
6464@@ -36,6 +36,7 @@ from pip._internal.utils.logging import indent_log
@@ -91,7 +91,7 @@ index 0d65ce35f..63aa51355 100644
9191 def make_candidate_evaluator(
9292 self,
9393diff --git a/pip/_internal/network/download.py b/pip/_internal/network/download.py
94- index 5c3bce3d2..f3057d0fd 100644
94+ index 5c3bce3..f3057d0 100644
9595--- a/pip/_internal/network/download.py
9696+++ b/pip/_internal/network/download.py
9797@@ -7,6 +7,7 @@ import mimetypes
@@ -112,7 +112,7 @@ index 5c3bce3d2..f3057d0fd 100644
112112 ext: Optional[str] = splitext(filename)[1]
113113 if not ext:
114114diff --git a/pip/_internal/operations/install/wheel.py b/pip/_internal/operations/install/wheel.py
115- index aef42aa9e..0dcc3573c 100644
115+ index aef42aa..0dcc357 100644
116116--- a/pip/_internal/operations/install/wheel.py
117117+++ b/pip/_internal/operations/install/wheel.py
118118@@ -590,6 +590,9 @@ def _install_wheel( # noqa: C901, PLR0915 function is too long
@@ -126,7 +126,7 @@ index aef42aa9e..0dcc3573c 100644
126126 # We de-duplicate installation paths, since there can be overlap (e.g.
127127 # file in .data maps to same location as file in wheel root).
128128diff --git a/pip/_internal/resolution/resolvelib/candidates.py b/pip/_internal/resolution/resolvelib/candidates.py
129- index 6617644fe..ee583c01a 100644
129+ index 6617644..ad52082 100644
130130--- a/pip/_internal/resolution/resolvelib/candidates.py
131131+++ b/pip/_internal/resolution/resolvelib/candidates.py
132132@@ -23,6 +23,7 @@ from pip._internal.req.constructors import (
@@ -142,13 +142,13 @@ index 6617644fe..ee583c01a 100644
142142 yield from self._factory.make_requirements_from_spec(str(r), self._ireq)
143143 yield self._factory.make_requires_python_requirement(self.dist.requires_python)
144144+ if self.name == 'virtualenv' and not graalpy.DISABLE_PATCHING:
145- + yield self._factory.make_requirement_from_spec ('graalpy-virtualenv-seeder', self._ireq)
145+ + yield from self._factory.make_requirements_from_spec ('graalpy-virtualenv-seeder', self._ireq)
146146
147147 def get_install_requirement(self) -> Optional[InstallRequirement]:
148148 return self._ireq
149149diff --git a/pip/_internal/utils/graalpy.py b/pip/_internal/utils/graalpy.py
150150new file mode 100644
151- index 000000000..9e79fb0d7
151+ index 0000000..9e79fb0
152152--- /dev/null
153153+++ b/pip/_internal/utils/graalpy.py
154154@@ -0,0 +1,334 @@
@@ -487,7 +487,7 @@ index 000000000..9e79fb0d7
487487+ with zipfile.ZipFile(path) as z:
488488+ return any(re.match(rf'[^/]+.dist-info/{MARKER_FILE_NAME}$', f) for f in z.namelist())
489489diff --git a/pip/_internal/utils/unpacking.py b/pip/_internal/utils/unpacking.py
490- index 875e30e13..f6562cf28 100644
490+ index 875e30e..f6562cf 100644
491491--- a/pip/_internal/utils/unpacking.py
492492+++ b/pip/_internal/utils/unpacking.py
493493@@ -335,3 +335,5 @@ def unpack_file(
@@ -497,7 +497,7 @@ index 875e30e13..f6562cf28 100644
497497+ from pip._internal.utils.graalpy import apply_graalpy_patches
498498+ apply_graalpy_patches(filename, location)
499499diff --git a/pip/_internal/wheel_builder.py b/pip/_internal/wheel_builder.py
500- index 93f8e1f5b..32fd4ab0f 100644
500+ index 93f8e1f..32fd4ab 100644
501501--- a/pip/_internal/wheel_builder.py
502502+++ b/pip/_internal/wheel_builder.py
503503@@ -7,6 +7,7 @@ import re
@@ -532,7 +532,7 @@ index 93f8e1f5b..32fd4ab0f 100644
532532 dest_path = os.path.join(output_dir, wheel_name)
533533 try:
534534diff --git a/pip/_vendor/platformdirs/api.py b/pip/_vendor/platformdirs/api.py
535- index c50caa648..a46cac7a1 100644
535+ index c50caa6..a46cac7 100644
536536--- a/pip/_vendor/platformdirs/api.py
537537+++ b/pip/_vendor/platformdirs/api.py
538538@@ -80,7 +80,7 @@ class PlatformDirsABC(ABC): # noqa: PLR0904
0 commit comments