[arch-commits] Commit in python-setuptools/repos (testing-any testing-any/PKGBUILD)

Felix Yan felixonmars at archlinux.org
Wed Aug 14 04:28:58 UTC 2019


    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 <angvp at archlinux.org>
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Eli Schwartz <eschwartz at 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 at 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
+}


More information about the arch-commits mailing list