Skip to content

Commit

Permalink
Vendoring in pip-23.3.2 (#6064)
Browse files Browse the repository at this point in the history
  • Loading branch information
matteius authored Jan 22, 2024
1 parent 0379507 commit 624ec01
Show file tree
Hide file tree
Showing 17 changed files with 41 additions and 19 deletions.
2 changes: 1 addition & 1 deletion pipenv/patched/patched.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pip==23.3.1
pip==23.3.2
safety==2.3.2
2 changes: 1 addition & 1 deletion pipenv/patched/pip/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import List, Optional

__version__ = "23.3.1"
__version__ = "23.3.2"


def main(args: Optional[List[str]] = None) -> int:
Expand Down
53 changes: 37 additions & 16 deletions pipenv/patched/pip/_internal/resolution/resolvelib/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@
from pipenv.patched.pip._internal.models.link import Link
from pipenv.patched.pip._internal.models.wheel import Wheel
from pipenv.patched.pip._internal.operations.prepare import RequirementPreparer
from pipenv.patched.pip._internal.req.constructors import install_req_from_link_and_ireq
from pipenv.patched.pip._internal.req.constructors import (
install_req_drop_extras,
install_req_from_link_and_ireq,
)
from pipenv.patched.pip._internal.req.req_install import (
InstallRequirement,
check_invalid_constraint_type,
Expand Down Expand Up @@ -176,6 +179,20 @@ def _make_candidate_from_link(
name: Optional[NormalizedName],
version: Optional[CandidateVersion],
) -> Optional[Candidate]:
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
link, template, name, version
)
if not extras or base is None:
return base
return self._make_extras_candidate(base, extras, comes_from=template)

def _make_base_candidate_from_link(
self,
link: Link,
template: InstallRequirement,
name: Optional[NormalizedName],
version: Optional[CandidateVersion],
) -> Optional[BaseCandidate]:
# TODO: Check already installed candidate, and use it if the link and
# editable flag match.

Expand Down Expand Up @@ -204,7 +221,7 @@ def _make_candidate_from_link(
self._build_failures[link] = e
return None

base: BaseCandidate = self._editable_candidate_cache[link]
return self._editable_candidate_cache[link]
else:
if link not in self._link_candidate_cache:
try:
Expand All @@ -224,11 +241,7 @@ def _make_candidate_from_link(
)
self._build_failures[link] = e
return None
base = self._link_candidate_cache[link]

if not extras:
return base
return self._make_extras_candidate(base, extras, comes_from=template)
return self._link_candidate_cache[link]

def _iter_found_candidates(
self,
Expand Down Expand Up @@ -362,9 +375,8 @@ def _iter_candidates_from_constraints(
"""
for link in constraint.links:
self._fail_if_link_is_unsupported_wheel(link)
candidate = self._make_candidate_from_link(
candidate = self._make_base_candidate_from_link(
link,
extras=frozenset(),
template=install_req_from_link_and_ireq(link, template),
name=canonicalize_name(identifier),
version=None,
Expand Down Expand Up @@ -454,10 +466,10 @@ def _make_requirements_from_install_req(
Returns requirement objects associated with the given InstallRequirement. In
most cases this will be a single object but the following special cases exist:
- the InstallRequirement has markers that do not apply -> result is empty
- the InstallRequirement has both a constraint and extras -> result is split
in two requirement objects: one with the constraint and one with the
extra. This allows centralized constraint handling for the base,
resulting in fewer candidate rejections.
- the InstallRequirement has both a constraint (or link) and extras
-> result is split in two requirement objects: one with the constraint
(or link) and one with the extra. This allows centralized constraint
handling for the base, resulting in fewer candidate rejections.
"""
if not ireq.match_markers(requested_extras):
logger.info(
Expand All @@ -471,10 +483,13 @@ def _make_requirements_from_install_req(
yield SpecifierRequirement(ireq)
else:
self._fail_if_link_is_unsupported_wheel(ireq.link)
cand = self._make_candidate_from_link(
# Always make the link candidate for the base requirement to make it
# available to `find_candidates` for explicit candidate lookup for any
# set of extras.
# The extras are required separately via a second requirement.
cand = self._make_base_candidate_from_link(
ireq.link,
extras=frozenset(ireq.extras),
template=ireq,
template=install_req_drop_extras(ireq) if ireq.extras else ireq,
name=canonicalize_name(ireq.name) if ireq.name else None,
version=None,
)
Expand All @@ -489,7 +504,13 @@ def _make_requirements_from_install_req(
raise self._build_failures[ireq.link]
yield UnsatisfiableRequirement(canonicalize_name(ireq.name))
else:
# require the base from the link
yield self.make_requirement_from_candidate(cand)
if ireq.extras:
# require the extras on top of the base candidate
yield self.make_requirement_from_candidate(
self._make_extras_candidate(cand, frozenset(ireq.extras))
)

def collect_root_requirements(
self, root_ireqs: List[InstallRequirement]
Expand Down
2 changes: 1 addition & 1 deletion pipenv/patched/pip/_internal/vcs/mercurial.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class Mercurial(VersionControl):

@staticmethod
def get_base_rev_args(rev: str) -> List[str]:
return [f"-r={rev}"]
return [f"--rev={rev}"]

def fetch_new(
self, dest: str, url: HiddenText, rev_options: RevOptions, verbosity: int
Expand Down
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
1 change: 1 addition & 0 deletions pipenv/patched/pip/_vendor/tomli/py.typed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Marker file for PEP 561
Empty file.

0 comments on commit 624ec01

Please sign in to comment.