|
1 | 1 | diff --git a/src/pdm/backend/_vendor/pyproject_metadata/__init__.py b/src/pdm/backend/_vendor/pyproject_metadata/__init__.py
|
2 |
| -index 70c452b..6a3af49 100644 |
| 2 | +index 39ae6e4..283264b 100644 |
3 | 3 | --- a/src/pdm/backend/_vendor/pyproject_metadata/__init__.py
|
4 | 4 | +++ b/src/pdm/backend/_vendor/pyproject_metadata/__init__.py
|
5 |
| -@@ -20,18 +20,18 @@ if typing.TYPE_CHECKING: |
6 |
| - from collections.abc import Generator, Iterable, Mapping |
7 |
| - from typing import Any |
8 |
| - |
9 |
| -- from packaging.requirements import Requirement |
10 |
| -+ from pdm.backend._vendor.packaging.requirements import Requirement |
11 |
| - |
12 |
| - if sys.version_info < (3, 11): |
13 |
| - from typing_extensions import Self |
14 |
| - else: |
15 |
| - from typing import Self |
16 |
| - |
17 |
| --import packaging.markers |
18 |
| --import packaging.requirements |
19 |
| --import packaging.specifiers |
20 |
| --import packaging.utils |
21 |
| --import packaging.version |
22 |
| -+import pdm.backend._vendor.packaging.markers as pkg_markers |
23 |
| -+import pdm.backend._vendor.packaging.requirements as pkg_requirements |
24 |
| -+import pdm.backend._vendor.packaging.specifiers as pkg_specifiers |
25 |
| -+import pdm.backend._vendor.packaging.utils as pkg_utils |
26 |
| -+import pdm.backend._vendor.packaging.version as pkg_version |
27 |
| - |
28 |
| - |
29 |
| - __version__ = '0.9.0b4' |
30 |
| -@@ -397,8 +397,8 @@ class ProjectFetcher(DataFetcher): |
31 |
| - requirements: list[Requirement] = [] |
32 |
| - for req in requirement_strings: |
33 |
| - try: |
34 |
| -- requirements.append(packaging.requirements.Requirement(req)) |
35 |
| -- except packaging.requirements.InvalidRequirement as e: |
36 |
| -+ requirements.append(pkg_requirements.Requirement(req)) |
37 |
| -+ except pkg_requirements.InvalidRequirement as e: |
38 |
| - msg = ( |
39 |
| - 'Field "project.dependencies" contains an invalid PEP 508 ' |
40 |
| - f'requirement string "{req}" ("{e}")' |
41 |
| -@@ -439,9 +439,9 @@ class ProjectFetcher(DataFetcher): |
42 |
| - raise ConfigurationError(msg) |
43 |
| - try: |
44 |
| - requirements_dict[extra].append( |
45 |
| -- packaging.requirements.Requirement(req) |
46 |
| -+ pkg_requirements.Requirement(req) |
47 |
| - ) |
48 |
| -- except packaging.requirements.InvalidRequirement as e: |
49 |
| -+ except pkg_requirements.InvalidRequirement as e: |
50 |
| - msg = ( |
51 |
| - f'Field "project.optional-dependencies.{extra}" contains ' |
52 |
| - f'an invalid PEP 508 requirement string "{req}" ("{e}")' |
53 |
| -@@ -501,12 +501,12 @@ class Readme: |
54 |
| - @dataclasses.dataclass |
55 |
| - class StandardMetadata: |
56 |
| - name: str |
57 |
| -- version: packaging.version.Version | None = None |
58 |
| -+ version: pkg_version.Version | None = None |
59 |
| - description: str | None = None |
60 |
| - license: License | str | None = None |
61 |
| - license_files: list[pathlib.Path] | None = None |
62 |
| - readme: Readme | None = None |
63 |
| -- requires_python: packaging.specifiers.SpecifierSet | None = None |
64 |
| -+ requires_python: pkg_specifiers.SpecifierSet | None = None |
65 |
| - dependencies: list[Requirement] = dataclasses.field(default_factory=list) |
66 |
| - optional_dependencies: dict[str, list[Requirement]] = dataclasses.field( |
67 |
| - default_factory=dict |
68 |
| -@@ -617,7 +617,7 @@ class StandardMetadata: |
69 |
| - |
70 |
| - @property |
71 |
| - def canonical_name(self) -> str: |
72 |
| -- return packaging.utils.canonicalize_name(self.name) |
73 |
| -+ return pkg_utils.canonicalize_name(self.name) |
74 |
| - |
75 |
| - @classmethod |
76 |
| - def from_pyproject( |
77 |
| -@@ -661,7 +661,7 @@ class StandardMetadata: |
78 |
| - |
79 |
| - version_string = fetcher.get_str('project.version') |
80 |
| - requires_python_string = fetcher.get_str('project.requires-python') |
81 |
| -- version = packaging.version.Version(version_string) if version_string else None |
82 |
| -+ version = pkg_version.Version(version_string) if version_string else None |
83 |
| - |
84 |
| - if version is None and 'version' not in dynamic: |
85 |
| - msg = 'Field "project.version" missing and "version" not specified in "project.dynamic"' |
86 |
| -@@ -673,7 +673,7 @@ class StandardMetadata: |
87 |
| - description = fetcher.get_str('project.description') |
88 |
| - |
89 |
| - requires_python = ( |
90 |
| -- packaging.specifiers.SpecifierSet(requires_python_string) |
91 |
| -+ pkg_specifiers.SpecifierSet(requires_python_string) |
92 |
| - if requires_python_string |
93 |
| - else None |
94 |
| - ) |
95 |
| -@@ -791,15 +791,15 @@ class StandardMetadata: |
96 |
| - requirement = copy.copy(requirement) |
97 |
| - if requirement.marker: |
98 |
| - if 'or' in requirement.marker._markers: |
99 |
| -- requirement.marker = packaging.markers.Marker( |
100 |
| -+ requirement.marker = pkg_markers.Marker( |
101 |
| - f'({requirement.marker}) and extra == "{extra}"' |
102 |
| - ) |
103 |
| - else: |
104 |
| -- requirement.marker = packaging.markers.Marker( |
105 |
| -+ requirement.marker = pkg_markers.Marker( |
106 |
| - f'{requirement.marker} and extra == "{extra}"' |
107 |
| - ) |
108 |
| - else: |
109 |
| -- requirement.marker = packaging.markers.Marker(f'extra == "{extra}"') |
110 |
| -+ requirement.marker = pkg_markers.Marker(f'extra == "{extra}"') |
111 |
| - return requirement |
112 |
| - |
113 |
| - |
| 5 | +@@ -63,6 +63,7 @@ if typing.TYPE_CHECKING: |
| 6 | + |
| 7 | + from .project_table import Dynamic, PyProjectTable |
| 8 | + |
| 9 | ++import pdm.backend._vendor.packaging as packaging |
| 10 | + import packaging.markers |
| 11 | + import packaging.specifiers |
| 12 | + import packaging.utils |
| 13 | +diff --git a/src/pdm/backend/_vendor/pyproject_metadata/pyproject.py b/src/pdm/backend/_vendor/pyproject_metadata/pyproject.py |
| 14 | +index d1822e1..a85f9a1 100644 |
| 15 | +--- a/src/pdm/backend/_vendor/pyproject_metadata/pyproject.py |
| 16 | ++++ b/src/pdm/backend/_vendor/pyproject_metadata/pyproject.py |
| 17 | +@@ -13,6 +13,7 @@ import pathlib |
| 18 | + import re |
| 19 | + import typing |
| 20 | + |
| 21 | ++import pdm.backend._vendor.packaging as packaging |
| 22 | + import packaging.requirements |
| 23 | + |
| 24 | + from .errors import ErrorCollector |
0 commit comments