[arch-commits] Commit in python-pdm/trunk (PKGBUILD python-pdm-1.15.4-devendor.patch)

David Runge dvzrv at gemini.archlinux.org
Thu Jun 30 11:23:05 UTC 2022


    Date: Thursday, June 30, 2022 @ 11:23:04
  Author: dvzrv
Revision: 1242996

upgpkg: python-pdm 1.15.4-2: Rebuild to also devendor calls to pip vendored libs.

As pdm calls pip._vendor, we need to devendor that as well: https://github.com/pdm-project/pdm/issues/1175

Modified:
  python-pdm/trunk/PKGBUILD
  python-pdm/trunk/python-pdm-1.15.4-devendor.patch

----------------------------------+
 PKGBUILD                         |   16 +++-
 python-pdm-1.15.4-devendor.patch |  145 ++++++++++++++++++++++++++++++++++---
 2 files changed, 148 insertions(+), 13 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-06-30 10:38:50 UTC (rev 1242995)
+++ PKGBUILD	2022-06-30 11:23:04 UTC (rev 1242996)
@@ -4,7 +4,7 @@
 pkgname=python-pdm
 # WARNING: vendored libs may change in patch level versions...
 pkgver=1.15.4
-pkgrel=1
+pkgrel=2
 pkgdesc="A modern Python package manager with PEP 582 support"
 arch=(any)
 url="https://github.com/pdm-project/pdm"
@@ -32,6 +32,13 @@
   python-halo
   python-log_symbols
 )
+# packages devendored from pip sources
+depends+=(
+  python-html5lib
+  python-requests
+  python-setuptools
+)
+
 makedepends=(python-build)
 checkdepends=(python-pytest python-pytest-mock python-pytest-xdist)
 optdepends=('python-keyring: for storing credentials')
@@ -40,9 +47,9 @@
   $pkgname-1.15.4-devendor.patch
 )
 sha512sums=('35e32d6ccb2e4aa874f413e3d5f3a92c772a7ee6d7dd3f75a40ae082148cfb389585a1371e130ebdbc75ec25180d5f525177012198342e3ece354bfc799735e1'
-            '541d36828f2a11a98ba30ba521be505da7d7552097f1bedf381a4b5e9f637f7cdaf127bad0efc5851b69b5bc4abe4d569165444c27d9490df1155814123b23ea')
+            'e878faa0e92847084788fb146bade64b0f99de1c74e85e1c6585e3f0b27fa5f643a0e3d177a370e3274fcc818b85270c112ee9484b2d5db5f59331cd55e22d50')
 b2sums=('e2c2e3437ee290aa849b1e04e51932fe58af1c77581a37a53b2885db6fc622c819688e222b2ef889192a62c2552a3f180fa3924f9c688f72ad79c5ee16180d03'
-        '929b3dc488a2479efd86dd950bc39429a363926eabbd0ad0a298d42f6bc38d165f0db62ede8bcdf6eba6d881bb4e1218f5bbca9dad779afa73fa8e883ca6949f')
+        'a1345e217b6c0bc468f47c9ed4c8e0d4751b6bf2f6d88de91e35bd22f6df3888a0bda6d8f9f84b6a1085d6ed82a1b6be3efc8cdbb9fa367b0d3d42dfa2d68027')
 
 prepare() {
   # devendor bundled libraries
@@ -64,7 +71,8 @@
   # install to temporary location, as importlib is used
   python -m installer --destdir=test_dir dist/*.whl
   export PYTHONPATH="test_dir/$_site_packages:$PYTHONPATH"
-  pytest -vv -c /dev/null || echo "Failing tests because reasons: https://github.com/pdm-project/pdm/issues/1175"
+  # skip tests that would fail because of missing interpreters: https://github.com/pdm-project/pdm/issues/1175
+  pytest -vv -c /dev/null -k 'not test_basic_integration'
 }
 
 package() {

Modified: python-pdm-1.15.4-devendor.patch
===================================================================
--- python-pdm-1.15.4-devendor.patch	2022-06-30 10:38:50 UTC (rev 1242995)
+++ python-pdm-1.15.4-devendor.patch	2022-06-30 11:23:04 UTC (rev 1242996)
@@ -1,6 +1,104 @@
+diff -ruN a/pdm/__init__.py b/pdm/__init__.py
+--- a/pdm/__init__.py	2022-06-28 06:41:18.142208600 +0200
++++ b/pdm/__init__.py	2022-06-30 13:06:52.281583369 +0200
+@@ -16,14 +16,3 @@
+     "Synchronizer",
+     "Core",
+ )
+-
+-
+-def _fix_pkg_resources() -> None:
+-    import importlib
+-    import sys
+-
+-    sys.modules["pkg_resources"] = importlib.import_module("pip._vendor.pkg_resources")
+-
+-
+-_fix_pkg_resources()
+-del _fix_pkg_resources
+diff -ruN a/pdm/cli/actions.py b/pdm/cli/actions.py
+--- a/pdm/cli/actions.py	2022-06-28 06:41:18.142208600 +0200
++++ b/pdm/cli/actions.py	2022-06-30 13:05:15.234561298 +0200
+@@ -826,7 +826,7 @@
+     import sys
+     from shlex import quote
+ 
+-    from pip._vendor.packaging.version import parse as parse_version
++    from packaging.version import parse as parse_version
+ 
+     from pdm.cli.utils import (
+         is_homebrew_installation,
+diff -ruN a/pdm/models/caches.py b/pdm/models/caches.py
+--- a/pdm/models/caches.py	2022-06-28 06:41:18.146208500 +0200
++++ b/pdm/models/caches.py	2022-06-30 13:04:26.081047734 +0200
+@@ -12,7 +12,7 @@
+ from pdm.utils import open_file
+ 
+ if TYPE_CHECKING:
+-    from pip._vendor import requests
++    import requests
+ 
+ KT = TypeVar("KT")
+ VT = TypeVar("VT")
+diff -ruN a/pdm/models/markers.py b/pdm/models/markers.py
+--- a/pdm/models/markers.py	2022-06-28 06:41:18.146208500 +0200
++++ b/pdm/models/markers.py	2022-06-30 13:01:37.863762738 +0200
+@@ -4,7 +4,7 @@
+ from functools import reduce
+ from typing import Any, List, Optional, Set, Tuple, Union
+ 
+-from pip._vendor.packaging.markers import Marker as PackageMarker
++from packaging.markers import Marker as PackageMarker
+ 
+ from pdm.models.specifiers import PySpecSet
+ from pdm.utils import join_list_with
+diff -ruN a/pdm/models/repositories.py b/pdm/models/repositories.py
+--- a/pdm/models/repositories.py	2022-06-28 06:41:18.146208500 +0200
++++ b/pdm/models/repositories.py	2022-06-30 13:02:07.257204323 +0200
+@@ -6,7 +6,7 @@
+ from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, TypeVar, cast
+ 
+ from packaging.version import parse as parse_version
+-from pip._vendor.html5lib import parse
++from html5lib import parse
+ 
+ from pdm import termui
+ from pdm._types import CandidateInfo, Package, SearchResult, Source
+diff -ruN a/pdm/models/requirements.py b/pdm/models/requirements.py
+--- a/pdm/models/requirements.py	2022-06-28 06:41:18.146208500 +0200
++++ b/pdm/models/requirements.py	2022-06-30 13:04:45.914453815 +0200
+@@ -12,11 +12,11 @@
+ from pathlib import Path
+ from typing import Any, Sequence, Type, TypeVar, cast
+ 
+-from pip._vendor.packaging.markers import InvalidMarker
+-from pip._vendor.packaging.requirements import InvalidRequirement
+-from pip._vendor.packaging.specifiers import SpecifierSet
+-from pip._vendor.pkg_resources import Requirement as PackageRequirement
+-from pip._vendor.pkg_resources import RequirementParseError, safe_name
++from packaging.markers import InvalidMarker
++from packaging.requirements import InvalidRequirement
++from packaging.specifiers import SpecifierSet
++from pkg_resources import Requirement as PackageRequirement
++from pkg_resources import RequirementParseError, safe_name
+ 
+ from pdm._types import RequirementDict
+ from pdm.exceptions import ExtrasWarning, RequirementError
+diff -ruN a/pdm/models/specifiers.py b/pdm/models/specifiers.py
+--- a/pdm/models/specifiers.py	2022-06-28 06:41:18.146208500 +0200
++++ b/pdm/models/specifiers.py	2022-06-30 13:04:03.440964652 +0200
+@@ -6,7 +6,7 @@
+ from pathlib import Path
+ from typing import Any, Iterable, List, Set, Tuple, Union, cast
+ 
+-from pip._vendor.packaging.specifiers import SpecifierSet
++from packaging.specifiers import SpecifierSet
+ 
+ from pdm.exceptions import InvalidPyVersion
+ from pdm.models.versions import Version
 diff -ruN a/pdm/project/core.py b/pdm/project/core.py
---- a/pdm/project/core.py	2022-06-14 09:10:17.230656100 +0200
-+++ b/pdm/project/core.py	2022-06-27 18:43:26.516225686 +0200
+--- a/pdm/project/core.py	2022-06-28 06:41:18.150208500 +0200
++++ b/pdm/project/core.py	2022-06-30 12:59:13.863231124 +0200
 @@ -42,7 +42,7 @@
  if TYPE_CHECKING:
      from resolvelib.reporters import BaseReporter
@@ -11,8 +109,8 @@
      from pdm.resolver.providers import BaseProvider
  
 diff -ruN a/pdm/resolver/reporters.py b/pdm/resolver/reporters.py
---- a/pdm/resolver/reporters.py	2022-06-14 09:10:17.234656300 +0200
-+++ b/pdm/resolver/reporters.py	2022-06-27 18:43:26.516225686 +0200
+--- a/pdm/resolver/reporters.py	2022-06-28 06:41:18.150208500 +0200
++++ b/pdm/resolver/reporters.py	2022-06-30 12:59:13.863231124 +0200
 @@ -10,7 +10,7 @@
  if TYPE_CHECKING:
      from resolvelib.resolvers import RequirementInformation, State  # type: ignore
@@ -23,8 +121,8 @@
      from pdm.models.requirements import Requirement
  
 diff -ruN a/pdm/termui.py b/pdm/termui.py
---- a/pdm/termui.py	2022-06-14 09:10:17.234656300 +0200
-+++ b/pdm/termui.py	2022-06-27 18:43:26.516225686 +0200
+--- a/pdm/termui.py	2022-06-28 06:41:18.150208500 +0200
++++ b/pdm/termui.py	2022-06-30 12:59:13.863231124 +0200
 @@ -14,8 +14,9 @@
  import click
  from click._compat import strip_ansi
@@ -37,16 +135,45 @@
  
  logger = logging.getLogger(__name__)
  logger.setLevel(logging.DEBUG)
+diff -ruN a/pdm/utils.py b/pdm/utils.py
+--- a/pdm/utils.py	2022-06-28 06:41:18.150208500 +0200
++++ b/pdm/utils.py	2022-06-30 13:01:17.743688589 +0200
+@@ -33,8 +33,8 @@
+ )
+ 
+ from packaging.version import Version
+-from pip._vendor.packaging.tags import Tag
+-from pip._vendor.requests import Session
++from packaging.tags import Tag
++from requests import Session
+ 
+ from pdm._types import Distribution, Source
+ from pdm.models.pip_shims import (
 diff -ruN a/pyproject.toml b/pyproject.toml
---- a/pyproject.toml	2022-06-14 09:10:17.234656300 +0200
-+++ b/pyproject.toml	2022-06-27 19:08:55.515337628 +0200
-@@ -22,6 +22,9 @@
+--- a/pyproject.toml	2022-06-28 06:41:18.150208500 +0200
++++ b/pyproject.toml	2022-06-30 13:08:36.771965354 +0200
+@@ -22,6 +22,12 @@
      "tomlkit>=0.8.0,<1",
      "typing-extensions; python_version < \"3.8\"",
      "wheel>=0.36.2",
 +    "colorama",
 +    "halo",
++    "html5lib",
 +    "log_symbols",
++    "requests",
++    "setuptools",
  ]
  name = "pdm"
  description = "Python Development Master"
+diff -ruN a/tests/conftest.py b/tests/conftest.py
+--- a/tests/conftest.py	2022-06-28 06:41:18.150208500 +0200
++++ b/tests/conftest.py	2022-06-30 13:00:15.103457478 +0200
+@@ -13,7 +13,7 @@
+ import pytest
+ from click.testing import CliRunner
+ from pip._internal.vcs import versioncontrol
+-from pip._vendor import requests
++import requests
+ 
+ from pdm._types import CandidateInfo
+ from pdm.cli.actions import do_init, do_use



More information about the arch-commits mailing list