Date: Wednesday, April 5, 2023 @ 17:19:41
  Author: felixonmars
Revision: 472649

archrelease: copy trunk to staging-any

Added:
  python-setuptools/repos/staging-any/
  python-setuptools/repos/staging-any/PKGBUILD
    (from rev 472648, python-setuptools/trunk/PKGBUILD)
  python-setuptools/repos/staging-any/add-dependency.patch
    (from rev 472648, python-setuptools/trunk/add-dependency.patch)
  python-setuptools/repos/staging-any/system-validate-pyproject.patch
    (from rev 472648, python-setuptools/trunk/system-validate-pyproject.patch)

---------------------------------+
 PKGBUILD                        |   98 ++++++++++++++++++++++++++++++++++++++
 add-dependency.patch            |   18 ++++++
 system-validate-pyproject.patch |   31 ++++++++++++
 3 files changed, 147 insertions(+)

Copied: python-setuptools/repos/staging-any/PKGBUILD (from rev 472648, 
python-setuptools/trunk/PKGBUILD)
===================================================================
--- staging-any/PKGBUILD                                (rev 0)
+++ staging-any/PKGBUILD        2023-04-05 17:19:41 UTC (rev 472649)
@@ -0,0 +1,98 @@
+# Maintainer: Angel Velasquez <[email protected]>
+# Maintainer: Felix Yan <[email protected]>
+# Contributor: Eli Schwartz <[email protected]>
+
+pkgname=python-setuptools
+pkgver=67.6.1
+_commit=245d72a8aa4d47e1811425213aba2a06a0bb64fa
+pkgrel=2
+epoch=1
+pkgdesc="Easily download, build, install, upgrade, and uninstall Python 
packages"
+arch=('any')
+license=('PSF')
+url="https://pypi.org/project/setuptools/";
+depends=('python-jaraco.text' 'python-more-itertools' 'python-ordered-set' 
'python-packaging'
+         'python-platformdirs' 'python-tomli' 'python-validate-pyproject')
+makedepends=('git' 'python-setuptools')
+checkdepends=('python-jaraco.envs' 'python-jaraco.path' 'python-pip' 
'python-pip-run'
+              'python-pytest-fixture-config' 'python-pytest-virtualenv' 
'python-wheel'
+              'python-pytest-enabler' 'python-pytest-mypy' 
'python-pytest-timeout' 'python-sphinx'
+              'python-build' 'python-ini2toml' 'python-tomli-w')
+provides=('python-distribute')
+replaces=('python-distribute')
+source=("git+https://github.com/pypa/setuptools.git#commit=$_commit";
+        system-validate-pyproject.patch
+        add-dependency.patch)
+sha512sums=('SKIP'
+            
'390fea2c575a0042054f51d33e629b04a48f832f0a4a2dd07d34e23cdf330c382dba0f54bfb7c8a6a253bb248a4940f2a789672f715e4dc2aeb395fa185cae7a'
+            
'9c5d80c753e78bf613572fb789a234984087d0ce96d0bad22b5ed731d83c77bf6d8acfa65c78f6c78f9063be7819c2b58988fdf8e7fc89b55339f94a87b3b21f')
+
+export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
+
+prepare() {
+  cd setuptools
+
+  patch -p1 -i ../system-validate-pyproject.patch
+
+  rm -r {pkg_resources,setuptools}/{extern,_vendor} 
setuptools/config/_validate_pyproject
+
+  # Upstream devendoring logic is badly broken, see:
+  # https://bugs.archlinux.org/task/58670
+  # https://github.com/pypa/pip/issues/5429
+  # https://github.com/pypa/setuptools/issues/1383
+  # The simplest fix is to simply rewrite import paths to use the canonical
+  # location in the first place
+  for _module in setuptools pkg_resources '' ; do
+      find . -name \*.py -exec sed -i \
+          -e 's/from '$_module.extern' import/import/' \
+          -e 's/from '$_module.extern'\./from /' \
+          -e 's/import '$_module.extern'\./import /' \
+          -e "s/__import__('$_module.extern./__import__('/" \
+          -e 's/from \.\.extern\./from /' \
+          {} +
+  done
+
+  # Add the devendored dependencies into metadata of setuptools
+  patch -p1 -i ../add-dependency.patch
+
+  # Fix tests invoking python-build
+  sed -e 's/"-m", "build", "--wheel"/"-m", "build", "--wheel", 
"--no-isolation"/' \
+      -e 's/"-m", "build", "--sdist"/"-m", "build", "--sdist", 
"--no-isolation"/' \
+      -i setuptools/tests/fixtures.py
+
+  # Remove post-release tag since we are using stable tags
+  sed -e '/tag_build = .post/d' \
+      -e '/tag_date = 1/d' \
+      -i setup.cfg
+
+  # Fix shebang
+  sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" 
setuptools/command/easy_install.py
+}
+
+build() {
+  cd setuptools
+  python setup.py build
+}
+
+check() { (
+  # Workaround UTF-8 tests by setting LC_CTYPE
+  export LC_CTYPE=en_US.UTF-8
+
+  # https://github.com/pypa/setuptools/pull/810
+  export PYTHONDONTWRITEBYTECODE=1
+
+  cd setuptools
+  # 1,4: subtle difference introduced by devendoring
+  # 2: pip failures related to devendoring, 
+  # 3: TODO
+  PYTHONPATH="$PWD"/build/lib python -m pytest \
+    --deselect 
setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
 \
+    --deselect setuptools/tests/test_virtualenv.py \
+    --deselect 
setuptools/tests/test_editable_install.py::test_editable_with_prefix \
+    --deselect 
setuptools/_normalization.py::setuptools._normalization.safe_version
+)}
+
+package() {
+  cd setuptools
+  python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 
--skip-build
+}

Copied: python-setuptools/repos/staging-any/add-dependency.patch (from rev 
472648, python-setuptools/trunk/add-dependency.patch)
===================================================================
--- staging-any/add-dependency.patch                            (rev 0)
+++ staging-any/add-dependency.patch    2023-04-05 17:19:41 UTC (rev 472649)
@@ -0,0 +1,18 @@
+diff --git a/setup.cfg.org b/setup.cfg
+index f9dd790..0cd700e 100644
+--- a/setup.cfg.orig
++++ b/setup.cfg
+@@ -26,6 +26,13 @@ packages = find_namespace:
+ # include_package_data = true
+ python_requires = >=3.7
+ install_requires =
++      platformdirs
++      jaraco.text
++      more-itertools
++      ordered-set
++      packaging
++      tomli
++      validate-pyproject
+ 
+ [options.packages.find]
+ exclude =

Copied: python-setuptools/repos/staging-any/system-validate-pyproject.patch 
(from rev 472648, python-setuptools/trunk/system-validate-pyproject.patch)
===================================================================
--- staging-any/system-validate-pyproject.patch                         (rev 0)
+++ staging-any/system-validate-pyproject.patch 2023-04-05 17:19:41 UTC (rev 
472649)
@@ -0,0 +1,31 @@
+diff --git a/setuptools/config/pyprojecttoml.py 
b/setuptools/config/pyprojecttoml.py
+index d4024956..2c3bd6bf 100644
+--- a/setuptools/config/pyprojecttoml.py
++++ b/setuptools/config/pyprojecttoml.py
+@@ -27,16 +27,22 @@ def load_file(filepath: _Path) -> dict:
+ 
+ 
+ def validate(config: dict, filepath: _Path) -> bool:
+-    from . import _validate_pyproject as validator
++    import validate_pyproject.api, validate_pyproject.errors, 
validate_pyproject.cli, validate_pyproject.plugins
+ 
+-    trove_classifier = validator.FORMAT_FUNCTIONS.get("trove-classifier")
++    trove_classifier = 
validate_pyproject.api.FORMAT_FUNCTIONS.get("trove-classifier")
+     if hasattr(trove_classifier, "_disable_download"):
+         # Improve reproducibility by default. See issue 31 for 
validate-pyproject.
+         trove_classifier._disable_download()  # type: ignore
+ 
++    plugins = validate_pyproject.plugins.list_from_entry_points()
++    validator = validate_pyproject.api.Validator(
++        validate_pyproject.cli.select_plugins(plugins, ('setuptools', 
'distutils'), ()),
++        validate_pyproject.api.FORMAT_FUNCTIONS,
++    )
++
+     try:
+-        return validator.validate(config)
+-    except validator.ValidationError as ex:
++        return validator(config)
++    except validate_pyproject.errors.ValidationError as ex:
+         summary = f"configuration error: {ex.summary}"
+         if ex.name.strip("`") != "project":
+             # Probably it is just a field missing/misnamed, not worthy the 
verbosity...

Reply via email to