133 lines
5.1 KiB
Diff
133 lines
5.1 KiB
Diff
From fa0b2f93801febb273f78d1123f9fdd216208533 Mon Sep 17 00:00:00 2001
|
|
From: Lumir Balhar <lbalhar@redhat.com>
|
|
Date: Wed, 2 Aug 2023 14:43:02 +0200
|
|
Subject: [PATCH] Unbundle vendored deps
|
|
|
|
and drop validate_pyproject entirely as it's experimental
|
|
and does not work well with RPM-installed packages.
|
|
---
|
|
src/pdm/backend/config.py | 13 ++-----------
|
|
src/pdm/backend/editable.py | 2 +-
|
|
src/pdm/backend/hooks/version/scm.py | 2 +-
|
|
src/pdm/backend/sdist.py | 2 +-
|
|
src/pdm/backend/utils.py | 8 ++++----
|
|
src/pdm/backend/wheel.py | 6 +++---
|
|
6 files changed, 12 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/src/pdm/backend/config.py b/src/pdm/backend/config.py
|
|
index 09cbe65..30b4cb9 100644
|
|
--- a/src/pdm/backend/config.py
|
|
+++ b/src/pdm/backend/config.py
|
|
@@ -6,8 +6,8 @@ import sys
|
|
from pathlib import Path
|
|
from typing import TYPE_CHECKING, Any, TypeVar
|
|
|
|
-from pdm.backend._vendor import tomli_w
|
|
-from pdm.backend._vendor.pyproject_metadata import ConfigurationError, StandardMetadata
|
|
+import tomli_w
|
|
+from pyproject_metadata import StandardMetadata
|
|
from pdm.backend.exceptions import ConfigError, ValidationError
|
|
from pdm.backend.structures import Table
|
|
from pdm.backend.utils import find_packages_iter
|
|
@@ -41,7 +41,6 @@ class Config:
|
|
"""
|
|
|
|
def __init__(self, root: Path, data: dict[str, Any]) -> None:
|
|
- self.validate(data, root)
|
|
self.root = root
|
|
self.data = data
|
|
self.metadata = Metadata(data["project"])
|
|
@@ -56,14 +55,6 @@ class Config:
|
|
metadata.name = self.metadata["name"]
|
|
return str(metadata.as_rfc822())
|
|
|
|
- @classmethod
|
|
- def validate(cls, data: dict[str, Any], root: Path) -> None:
|
|
- """Validate the pyproject.toml data."""
|
|
- try:
|
|
- StandardMetadata.from_pyproject(data, project_dir=root)
|
|
- except ConfigurationError as e:
|
|
- raise ValidationError(e.args[0], e.key) from e
|
|
-
|
|
@classmethod
|
|
def from_pyproject(cls, root: str | Path) -> Config:
|
|
"""Load the pyproject.toml file from the given project root."""
|
|
diff --git a/src/pdm/backend/editable.py b/src/pdm/backend/editable.py
|
|
index 2814c6f..36b868b 100644
|
|
--- a/src/pdm/backend/editable.py
|
|
+++ b/src/pdm/backend/editable.py
|
|
@@ -6,7 +6,7 @@ from pathlib import Path
|
|
|
|
from editables import EditableProject
|
|
|
|
-from pdm.backend._vendor.packaging.utils import canonicalize_name
|
|
+from packaging.utils import canonicalize_name
|
|
from pdm.backend.exceptions import ConfigError, PDMWarning
|
|
from pdm.backend.hooks.base import Context
|
|
from pdm.backend.utils import to_filename
|
|
diff --git a/src/pdm/backend/hooks/version/scm.py b/src/pdm/backend/hooks/version/scm.py
|
|
index 64c975d..0e7589a 100644
|
|
--- a/src/pdm/backend/hooks/version/scm.py
|
|
+++ b/src/pdm/backend/hooks/version/scm.py
|
|
@@ -15,7 +15,7 @@ from datetime import datetime
|
|
from pathlib import Path
|
|
from typing import TYPE_CHECKING, Iterable, NamedTuple
|
|
|
|
-from pdm.backend._vendor.packaging.version import Version
|
|
+from packaging.version import Version
|
|
|
|
if TYPE_CHECKING:
|
|
from _typeshed import StrPath
|
|
diff --git a/src/pdm/backend/sdist.py b/src/pdm/backend/sdist.py
|
|
index a08647f..feb4ae6 100644
|
|
--- a/src/pdm/backend/sdist.py
|
|
+++ b/src/pdm/backend/sdist.py
|
|
@@ -8,7 +8,7 @@ from pathlib import Path
|
|
from posixpath import join as pjoin
|
|
from typing import Iterable
|
|
|
|
-from pdm.backend._vendor.packaging.utils import canonicalize_name
|
|
+from packaging.utils import canonicalize_name
|
|
from pdm.backend.base import Builder
|
|
from pdm.backend.hooks import Context
|
|
from pdm.backend.utils import normalize_file_permissions, safe_version, to_filename
|
|
diff --git a/src/pdm/backend/utils.py b/src/pdm/backend/utils.py
|
|
index 4bcd568..07e81cd 100644
|
|
--- a/src/pdm/backend/utils.py
|
|
+++ b/src/pdm/backend/utils.py
|
|
@@ -13,10 +13,10 @@ from fnmatch import fnmatchcase
|
|
from pathlib import Path
|
|
from typing import Callable, Generator, Iterable, Match
|
|
|
|
-from pdm.backend._vendor.packaging import tags
|
|
-from pdm.backend._vendor.packaging.markers import Marker
|
|
-from pdm.backend._vendor.packaging.requirements import Requirement
|
|
-from pdm.backend._vendor.packaging.version import InvalidVersion, Version
|
|
+from packaging import tags
|
|
+from packaging.markers import Marker
|
|
+from packaging.requirements import Requirement
|
|
+from packaging.version import InvalidVersion, Version
|
|
from pdm.backend.macosx_platform import calculate_macosx_platform_tag
|
|
|
|
|
|
diff --git a/src/pdm/backend/wheel.py b/src/pdm/backend/wheel.py
|
|
index aafb9db..afeedd7 100644
|
|
--- a/src/pdm/backend/wheel.py
|
|
+++ b/src/pdm/backend/wheel.py
|
|
@@ -14,9 +14,9 @@ from base64 import urlsafe_b64encode
|
|
from pathlib import Path
|
|
from typing import IO, Any, Iterable, Mapping, NamedTuple, cast
|
|
|
|
-from pdm.backend._vendor.packaging import tags
|
|
-from pdm.backend._vendor.packaging.specifiers import SpecifierSet
|
|
-from pdm.backend._vendor.packaging.utils import canonicalize_name
|
|
+from packaging import tags
|
|
+from packaging.specifiers import SpecifierSet
|
|
+from packaging.utils import canonicalize_name
|
|
from pdm.backend.base import Builder
|
|
from pdm.backend.hooks import Context
|
|
from pdm.backend.hooks.setuptools import SetuptoolsBuildHook
|
|
--
|
|
2.41.0
|
|
|