Date: Tuesday, August 30, 2022 @ 10:40:43 Author: felixonmars Revision: 454767
archrelease: copy trunk to extra-any Added: python-setuptools/repos/extra-any/PKGBUILD (from rev 454766, python-setuptools/trunk/PKGBUILD) python-setuptools/repos/extra-any/system-validate-pyproject.patch (from rev 454766, python-setuptools/trunk/system-validate-pyproject.patch) Deleted: python-setuptools/repos/extra-any/PKGBUILD python-setuptools/repos/extra-any/system-validate-pyproject.patch ---------------------------------+ PKGBUILD | 190 +++++++++++++++++++------------------- system-validate-pyproject.patch | 62 ++++++------ 2 files changed, 126 insertions(+), 126 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2022-08-30 10:40:27 UTC (rev 454766) +++ PKGBUILD 2022-08-30 10:40:43 UTC (rev 454767) @@ -1,95 +0,0 @@ -# Maintainer: Angel Velasquez <an...@archlinux.org> -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Contributor: Eli Schwartz <eschwa...@archlinux.org> - -pkgname=python-setuptools -pkgver=62.3.0 -pkgrel=1 -epoch=1 -pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages" -arch=('any') -license=('PSF') -url="https://pypi.org/project/setuptools/" -depends=('python-appdirs' 'python-jaraco.text' 'python-more-itertools' 'python-nspektr' - 'python-ordered-set' 'python-packaging' 'python-pyparsing' 'python-tomli' - 'python-validate-pyproject') -makedepends=('git' 'python-setuptools') -checkdepends=('python-jaraco.envs' 'python-jaraco.path' 'python-mock' 'python-pip' 'python-pip-run' - 'python-pytest-fixture-config' 'python-pytest-flake8' 'python-pytest-virtualenv' - 'python-wheel' 'python-paver' 'python-pytest-cov' 'python-sphinx' 'python-build' - 'python-ini2toml' 'python-tomli-w') -provides=('python-distribute') -replaces=('python-distribute') -source=("$pkgname-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz" - system-validate-pyproject.patch) -sha512sums=('19a3cd5864cf9cae73e13f04eff643f3a8685d5408f0ab8cf3ae457a0b09581f91c302a4b95ed1b2b2e7c38fa6502cf6f85216f41ccde56e8281a76233e69986' - '50495062093b1b6902484c384abe073896e4f45c5768741582e178014367f186831711a72a8a987e7bacafe96d871161fc07c686dd92c6886de19302f6a10b56') - -export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 - -prepare() { - cd setuptools-$pkgver - - 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 - - # 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-$pkgver - 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-$pkgver - # 1-7: skipping all tests using "setuptools_sdist", "setuptools_wheel" (or "venv" which uses the latter) - # 8-9: subtle difference introduced by devendoring - # 10-11: TODO - PRE_BUILT_SETUPTOOLS_SDIST="$PWD"/build/lib python -m pytest \ - --deselect setuptools/tests/integration/test_pip_install_sdist.py \ - --deselect setuptools/tests/test_distutils_adoption.py \ - --deselect setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests \ - --deselect setuptools/tests/test_virtualenv.py \ - --deselect setuptools/tests/test_editable_install.py::test_editable_with_pyproject \ - --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist \ - --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel \ - --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg \ - --deselect setuptools/tests/config/test_pyprojecttoml.py::test_invalid_example \ - --deselect setuptools/tests/test_dist_info.py::TestWheelCompatibility \ - --deselect setuptools/tests/test_dist_info.py::TestDistInfo::test_invalid_version -)} - -package() { - cd setuptools-$pkgver - python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build -} Copied: python-setuptools/repos/extra-any/PKGBUILD (from rev 454766, python-setuptools/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2022-08-30 10:40:43 UTC (rev 454767) @@ -0,0 +1,95 @@ +# Maintainer: Angel Velasquez <an...@archlinux.org> +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Eli Schwartz <eschwa...@archlinux.org> + +pkgname=python-setuptools +pkgver=62.3.1 +pkgrel=1 +epoch=1 +pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages" +arch=('any') +license=('PSF') +url="https://pypi.org/project/setuptools/" +depends=('python-appdirs' 'python-jaraco.text' 'python-more-itertools' 'python-nspektr' + 'python-ordered-set' 'python-packaging' 'python-pyparsing' 'python-tomli' + 'python-validate-pyproject') +makedepends=('git' 'python-setuptools') +checkdepends=('python-jaraco.envs' 'python-jaraco.path' 'python-mock' 'python-pip' 'python-pip-run' + 'python-pytest-fixture-config' 'python-pytest-flake8' 'python-pytest-virtualenv' + 'python-wheel' 'python-paver' 'python-pytest-cov' 'python-sphinx' 'python-build' + 'python-ini2toml' 'python-tomli-w') +provides=('python-distribute') +replaces=('python-distribute') +source=("$pkgname-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz" + system-validate-pyproject.patch) +sha512sums=('4f0ec8827291e432e5ba3cf668224abd7a0cb559191a3b25155472aa583240884b7a17b173b79310894d186bf83fadce97e18d81f4a6a6b30633c3bab538b1cc' + '50495062093b1b6902484c384abe073896e4f45c5768741582e178014367f186831711a72a8a987e7bacafe96d871161fc07c686dd92c6886de19302f6a10b56') + +export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 + +prepare() { + cd setuptools-$pkgver + + 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 + + # 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-$pkgver + 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-$pkgver + # 1-7: skipping all tests using "setuptools_sdist", "setuptools_wheel" (or "venv" which uses the latter) + # 8-9: subtle difference introduced by devendoring + # 10-11: TODO + PRE_BUILT_SETUPTOOLS_SDIST="$PWD"/build/lib python -m pytest \ + --deselect setuptools/tests/integration/test_pip_install_sdist.py \ + --deselect setuptools/tests/test_distutils_adoption.py \ + --deselect setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests \ + --deselect setuptools/tests/test_virtualenv.py \ + --deselect setuptools/tests/test_editable_install.py::test_editable_with_pyproject \ + --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist \ + --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel \ + --deselect setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg \ + --deselect setuptools/tests/config/test_pyprojecttoml.py::test_invalid_example \ + --deselect setuptools/tests/test_dist_info.py::TestWheelCompatibility \ + --deselect setuptools/tests/test_dist_info.py::TestDistInfo::test_invalid_version +)} + +package() { + cd setuptools-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build +} Deleted: system-validate-pyproject.patch =================================================================== --- system-validate-pyproject.patch 2022-08-30 10:40:27 UTC (rev 454766) +++ system-validate-pyproject.patch 2022-08-30 10:40:43 UTC (rev 454767) @@ -1,31 +0,0 @@ -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: - _logger.error(f"configuration error: {ex.summary}") # type: ignore - _logger.debug(ex.details) # type: ignore - error = ValueError(f"invalid pyproject.toml config: {ex.name}") # type: ignore Copied: python-setuptools/repos/extra-any/system-validate-pyproject.patch (from rev 454766, python-setuptools/trunk/system-validate-pyproject.patch) =================================================================== --- system-validate-pyproject.patch (rev 0) +++ system-validate-pyproject.patch 2022-08-30 10:40:43 UTC (rev 454767) @@ -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: + _logger.error(f"configuration error: {ex.summary}") # type: ignore + _logger.debug(ex.details) # type: ignore + error = ValueError(f"invalid pyproject.toml config: {ex.name}") # type: ignore