Date: Thursday, June 28, 2018 @ 21:02:14 Author: felixonmars Revision: 327744
archrelease: copy trunk to staging-any Added: python-setuptools/repos/staging-any/ python-setuptools/repos/staging-any/PKGBUILD (from rev 327743, python-setuptools/trunk/PKGBUILD) ----------+ PKGBUILD | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) Copied: python-setuptools/repos/staging-any/PKGBUILD (from rev 327743, python-setuptools/trunk/PKGBUILD) =================================================================== --- staging-any/PKGBUILD (rev 0) +++ staging-any/PKGBUILD 2018-06-28 21:02:14 UTC (rev 327744) @@ -0,0 +1,108 @@ +# $Id$ +# 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=39.2.0 +pkgrel=3 +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-}" 'git') +source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz") +sha512sums=('94f0bbf3660d9a27464c79d256e87247f153081128480b914a9bdc2f574ca9ae209a30baf117441a5b6e8530d711b7d3949abefd0dee4d17ef5397e07fb6d9a2') + +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/$_module -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' \ + -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 +}