Date: Wednesday, August 14, 2019 @ 04:28:57 Author: felixonmars Revision: 359800
archrelease: copy trunk to testing-any Added: python-setuptools/repos/testing-any/ python-setuptools/repos/testing-any/PKGBUILD (from rev 359799, python-setuptools/trunk/PKGBUILD) ----------+ PKGBUILD | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) Copied: python-setuptools/repos/testing-any/PKGBUILD (from rev 359799, python-setuptools/trunk/PKGBUILD) =================================================================== --- testing-any/PKGBUILD (rev 0) +++ testing-any/PKGBUILD 2019-08-14 04:28:57 UTC (rev 359800) @@ -0,0 +1,109 @@ +# Maintainer: Angel Velasquez <an...@archlinux.org> +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Eli Schwartz <eschwa...@archlinux.org> + +pkgbase=python-setuptools +pkgname=('python-setuptools' 'python2-setuptools') +pkgver=41.1.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/" +_deps=('appdirs' 'packaging') +makedepends=("${_deps[@]/#/python-}" "${_deps[@]/#/python2-}" 'git') +_checkdeps=('mock' 'pip' 'pytest-fixture-config' 'pytest-flake8' + 'pytest-runner' 'pytest-virtualenv' 'wheel') +checkdepends=("${_checkdeps[@]/#/python-}" "${_checkdeps[@]/#/python2-}" 'python-paver' + 'python2-futures' 'git') +source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz") +sha512sums=('1dd7e6ef05e837c3645b0e9cef182a5e1e9488061c0fb5e9c750e8ec8aab963dd1c0972642556774c3d217587310b073750cbf6d4b9053bda13e044741e69a99') + +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 + + # 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 import pytest\n\n...@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 + + cp -a setuptools-$pkgver{,-py2} + + cd "$srcdir"/setuptools-$pkgver + sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py + + cd "$srcdir"/setuptools-$pkgver-py2 + sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python2|" setuptools/command/easy_install.py +} + +build() { + cd "$srcdir"/setuptools-$pkgver + python bootstrap.py + python setup.py build + + cd "$srcdir"/setuptools-$pkgver-py2 + python2 bootstrap.py + python2 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 "$srcdir"/setuptools-$pkgver + python setup.py pytest + + cd "$srcdir"/setuptools-$pkgver-py2 + python2 setup.py pytest +)} + +package_python-setuptools() { + depends=("${_deps[@]/#/python-}") + provides=('python-distribute') + replaces=('python-distribute') + + cd "$srcdir"/setuptools-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build +} + +package_python2-setuptools() { + depends=("${_deps[@]/#/python2-}") + provides=('python2-distribute') + replaces=('python2-distribute') + + cd "$srcdir"/setuptools-$pkgver-py2 + python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 --skip-build + rm "$pkgdir"/usr/bin/easy_install +}