Date: Tuesday, April 11, 2023 @ 17:57:50 Author: dvzrv Revision: 1444707
Add python-pdm-backend as new dependency for python-pdm. The package will eventually replace python-pdm-pep517. Added: python-pdm-backend/ python-pdm-backend/repos/ python-pdm-backend/trunk/ python-pdm-backend/trunk/PKGBUILD python-pdm-backend/trunk/python-pdm-backend-2.0.6-devendor.patch -----------------------------------------+ PKGBUILD | 88 ++++++++++++++++++++++++ python-pdm-backend-2.0.6-devendor.patch | 107 ++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) Added: python-pdm-backend/trunk/PKGBUILD =================================================================== --- python-pdm-backend/trunk/PKGBUILD (rev 0) +++ python-pdm-backend/trunk/PKGBUILD 2023-04-11 17:57:50 UTC (rev 1444707) @@ -0,0 +1,88 @@ +# Maintainer: David Runge <[email protected]> + +# set to 0 to use vendored sources +_devendored=1 +_name=pdm_backend +pkgname=python-pdm-backend +pkgver=2.0.6 +pkgrel=1 +pkgdesc="The build backend used by PDM that supports latest packaging standards" +arch=(any) +url="https://github.com/pdm-project/pdm-backend" +license=(MIT) +depends=( + python +) +if (( _devendored == 1 )); then + # NOTE: devendored from sources + depends+=( + python-packaging + python-pyproject-metadata + python-tomli + python-tomli-w + python-validate-pyproject + ) +fi +makedepends=( + python-build + python-installer + python-wheel +) +checkdepends=( + git + python-editables + python-pytest + python-pytest-cov + python-pytest-xdist + python-setuptools +) +optdepends=( + 'python-setuptools: for setuptools support' +) +source=( + https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz + $pkgname-2.0.6-devendor.patch +) +sha256sums=('a118f1d8553d279b732a9180adc522bd8a973a258e3d4957a76a0cef0d417819' + 'd443e8b43da2470b37d44838a68892206f898aee52fdcd11e98f8fc3e2a5ba34') +b2sums=('1e4764d93c0949d7cd9874d3ef046023aa2433099742908266d19c1ce260135c0613dc032bb1f94e9aed10b3cc5f100fb16f8cf94a491eb3b0610090d4c7d88e' + 'a1185da2ba54d95ac11ee5023c8891f700429b6c3d76b09e61abc938305ddd079b69fb3156b9eeec225b7bd1c6dcfd4dc187b01ca4d729e7dfb2275293ef46f9') + +prepare() { + if (( _devendored == 1 )); then + patch -Np1 -d $_name-$pkgver -i ../$pkgname-2.0.6-devendor.patch + rm -frv $_name-$pkgver/pdm/backend/_vendor + fi +} + +build() { + cd $_name-$pkgver + python -m build --wheel --skip-dependency-check --no-isolation +} + +check() { + local pytest_options=( + -vv + # https://github.com/pdm-project/pdm-backend/issues/164 + --deselect tests/test_api.py::test_build_with_cextension + --deselect tests/test_api.py::test_build_with_cextension_in_src + ) + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + + cd $_name-$pkgver + # install to temporary location, as importlib is used + python -m installer --destdir=test_dir dist/*.whl + export PYTHONPATH="test_dir/$site_packages:$PYTHONPATH" + + # set default git config for test + git config --global user.email "[email protected]" + git config --global user.name "Your Name" + pytest "${pytest_options[@]}" +} + +package() { + cd $_name-$pkgver + python -m installer --destdir="$pkgdir" dist/*.whl + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/" +} Added: python-pdm-backend/trunk/python-pdm-backend-2.0.6-devendor.patch =================================================================== --- python-pdm-backend/trunk/python-pdm-backend-2.0.6-devendor.patch (rev 0) +++ python-pdm-backend/trunk/python-pdm-backend-2.0.6-devendor.patch 2023-04-11 17:57:50 UTC (rev 1444707) @@ -0,0 +1,107 @@ +diff -ruN a/src/pdm/backend/config.py b/src/pdm/backend/config.py +--- a/src/pdm/backend/config.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/config.py 2023-04-11 19:14:42.114023104 +0200 +@@ -6,9 +6,9 @@ + from pathlib import Path + from typing import Any, TypeVar + +-from pdm.backend._vendor import tomli_w +-from pdm.backend._vendor.pyproject_metadata import StandardMetadata +-from pdm.backend._vendor.validate_pyproject import api, errors ++import tomli_w ++from pyproject_metadata import StandardMetadata ++from validate_pyproject import api, errors + from pdm.backend.exceptions import ConfigError, ValidationError + from pdm.backend.structures import Table + from pdm.backend.utils import find_packages_iter +@@ -16,7 +16,7 @@ + if sys.version_info >= (3, 11): + import tomllib + else: +- import pdm.backend._vendor.tomli as tomllib ++ import tomli as tomllib + + T = TypeVar("T") + +diff -ruN a/src/pdm/backend/editable.py b/src/pdm/backend/editable.py +--- a/src/pdm/backend/editable.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/editable.py 2023-04-11 19:19:16.328334119 +0200 +@@ -6,7 +6,7 @@ + + 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 -ruN a/src/pdm/backend/hooks/version/scm.py b/src/pdm/backend/hooks/version/scm.py +--- a/src/pdm/backend/hooks/version/scm.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/hooks/version/scm.py 2023-04-11 19:19:44.995110628 +0200 +@@ -15,7 +15,7 @@ + from pathlib import Path + from typing import Any, Iterable, NamedTuple + +-from pdm.backend._vendor.packaging.version import Version ++from packaging.version import Version + + DEFAULT_TAG_REGEX = re.compile( + r"^(?:[\w-]+-)?(?P<version>[vV]?\d+(?:\.\d+){0,2}[^\+]*)(?:\+.*)?$" +diff -ruN a/src/pdm/backend/intree.py b/src/pdm/backend/intree.py +--- a/src/pdm/backend/intree.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/intree.py 2023-04-11 19:18:45.698218105 +0200 +@@ -8,7 +8,7 @@ + if sys.version_info >= (3, 11): + import tomllib + else: +- import pdm.backend._vendor.tomli as tomllib ++ import tomli as tomllib + + + def get_requires_for_build_wheel( +diff -ruN a/src/pdm/backend/sdist.py b/src/pdm/backend/sdist.py +--- a/src/pdm/backend/sdist.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/sdist.py 2023-04-11 19:12:10.506892630 +0200 +@@ -8,7 +8,7 @@ + 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 safe_version, to_filename +diff -ruN a/src/pdm/backend/utils.py b/src/pdm/backend/utils.py +--- a/src/pdm/backend/utils.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/utils.py 2023-04-11 19:15:28.244176667 +0200 +@@ -13,10 +13,10 @@ + 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 -ruN a/src/pdm/backend/wheel.py b/src/pdm/backend/wheel.py +--- a/src/pdm/backend/wheel.py 2023-04-10 13:46:39.241671800 +0200 ++++ b/src/pdm/backend/wheel.py 2023-04-11 19:15:07.177439232 +0200 +@@ -14,9 +14,9 @@ + 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
