[arch-commits] Commit in python-setuptools/repos (testing-any testing-any/PKGBUILD)
Felix Yan
felixonmars at archlinux.org
Mon Mar 9 10:58:26 UTC 2020
Date: Monday, March 9, 2020 @ 10:58:25
Author: felixonmars
Revision: 377205
archrelease: copy trunk to testing-any
Added:
python-setuptools/repos/testing-any/
python-setuptools/repos/testing-any/PKGBUILD
(from rev 377204, python-setuptools/trunk/PKGBUILD)
----------+
PKGBUILD | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
Copied: python-setuptools/repos/testing-any/PKGBUILD (from rev 377204, python-setuptools/trunk/PKGBUILD)
===================================================================
--- testing-any/PKGBUILD (rev 0)
+++ testing-any/PKGBUILD 2020-03-09 10:58:25 UTC (rev 377205)
@@ -0,0 +1,85 @@
+# Maintainer: Angel Velasquez <angvp at archlinux.org>
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Eli Schwartz <eschwartz at archlinux.org>
+
+pkgname=python-setuptools
+pkgver=46.0.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-packaging' 'python-ordered-set')
+makedepends=('git')
+checkdepends=('python-mock' 'python-pip' 'python-pytest-fixture-config' 'python-pytest-flake8'
+ 'python-pytest-virtualenv' 'python-wheel' 'python-paver')
+provides=('python-distribute')
+replaces=('python-distribute')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz")
+sha512sums=('063283879df82fa739df4f356e174a73ae49209e1c868e02e6fa48bd41d3943d290e5e7347955230ee542b4603fa8a9ce0ed630ec04da4c1fd452faa6d8180dd')
+
+export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
+
+prepare() {
+ rm -r setuptools-$pkgver/{pkg_resources,setuptools}/{extern,_vendor}
+
+ # 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 setuptools-$pkgver -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__('/" \
+ {} +
+ done
+
+ # Fix for flake8
+ sed -i 's/import six, ordered_set/import six\nimport ordered_set/' setuptools-$pkgver/setuptools/command/sdist.py
+
+ # Remove post-release tag since we are using stable tags
+ sed -e '/tag_build = .post/d' \
+ -e '/tag_date = 1/d' \
+ -i setuptools-$pkgver/setup.cfg
+
+ # 'Clean' installation is expected to fail since we removed bundled packages
+ sed -i '/^def test_clean_env_install/i @pytest.mark.xfail' setuptools-$pkgver/setuptools/tests/test_virtualenv.py
+
+ # Tests failed. Importing an unbundled new setuptools in a virtualenv does not work, but this won't
+ # affect normal virtualenv usage (which don't have to import the unbundled setuptools in *current*
+ # dir.
+ sed -e '/^def test_pip_upgrade_from_source/i @pytest.mark.xfail' \
+ -e '/^def test_test_command_install_requirements/i @pytest.mark.xfail' \
+ -e '/^def test_no_missing_dependencies/i @pytest.mark.xfail' \
+ -i setuptools-$pkgver/setuptools/tests/test_virtualenv.py
+
+ cd "$srcdir"/setuptools-$pkgver
+ sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py
+}
+
+build() {
+ cd setuptools-$pkgver
+ python bootstrap.py
+ 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
+ python -m pytest
+)}
+
+package() {
+ cd setuptools-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build
+}
More information about the arch-commits
mailing list