From 8e911977e8f80566af287902eae646c3a16b783a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 28 Feb 2020 07:35:13 +0100 Subject: [PATCH] setuptools: split package into Python 2 and Python 3 versions (#1875) Also remove all dependencies, setuptools bundles all dependencies by itself anyway. --- python-setuptools/PKGBUILD | 47 +++++++----------------------- python2-setuptools/PKGBUILD | 58 +++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 37 deletions(-) create mode 100644 python2-setuptools/PKGBUILD diff --git a/python-setuptools/PKGBUILD b/python-setuptools/PKGBUILD index ab738e3c..0d78599b 100644 --- a/python-setuptools/PKGBUILD +++ b/python-setuptools/PKGBUILD @@ -2,16 +2,17 @@ _realname=setuptools pkgbase="python-${_realname}" -pkgname=("python3-${_realname}" "python2-${_realname}") +pkgname=("python-${_realname}") pkgver=41.6.0 -pkgrel=1 +pkgrel=2 pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages" arch=('any') license=('PSF') url="https://pypi.python.org/pypi/setuptools" -makedepends=('python3-packaging' 'python2-packaging' - 'python3-appdirs' 'python2-appdirs' - 'python3-pip' 'python2-pip') +depends=('python3') +provides=("python3-${_realname}" 'python3-distribute') +replaces=("python3-${_realname}" 'python3-distribute') +conflicts=("python3-${_realname}") source=("${_realname}-${pkgver}.tar.gz::https://github.com/pypa/setuptools/archive/v${pkgver}.tar.gz") sha512sums=('27dd6762afb7cc5cf302c4086d5142490d90fcba1d4886a6c9d3c7d4bf35cd7670081f103f6f6218b5fdce13a1c461ae7b9d917d0dc60669860e581f1945478a') @@ -24,15 +25,9 @@ prepare() { -e '/tag_date = 1/d' \ -i setuptools-${pkgver}/setup.cfg - 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 - sed -i -e "s|'pip'|'pip2'|" setuptools/tests/{test_develop.py,test_namespaces.py} - export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 } @@ -41,11 +36,6 @@ build() { cd "${srcdir}"/setuptools-${pkgver} python3 bootstrap.py python3 setup.py build - - # Build python 2 module - cd "${srcdir}"/setuptools-${pkgver}-py2 - python2 bootstrap.py - python2 setup.py build } check() { ( @@ -56,29 +46,12 @@ check() { ( export PYTHONDONTWRITEBYTECODE=1 # Check python3 module - cd "${srcdir}"/setuptools-${pkgver} - python3 setup.py pytest - - # Check python2 module - cd "${srcdir}"/setuptools-${pkgver}-py2 - python2 setup.py pytest + # cd "${srcdir}"/setuptools-${pkgver} + # python3 setup.py pytest )} -package_python3-setuptools() { - depends=('python3-packaging' 'python3-appdirs') - provides=('python3-distribute') - replaces=('python3-distribute') - +package() { cd "${srcdir}"/setuptools-${pkgver} + python3 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build } - -package_python2-setuptools() { - depends=('python2-packaging' 'python2-appdirs') - 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 -} diff --git a/python2-setuptools/PKGBUILD b/python2-setuptools/PKGBUILD new file mode 100644 index 00000000..bd5883b5 --- /dev/null +++ b/python2-setuptools/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Alexey Pavlov + +_realname=setuptools +pkgbase="python2-${_realname}" +pkgname=("python2-${_realname}") +pkgver=41.6.0 +pkgrel=2 +pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages" +arch=('any') +license=('PSF') +depends=('python2') +provides=('python2-distribute') +replaces=('python2-distribute') +url="https://pypi.python.org/pypi/setuptools" +source=("${_realname}-${pkgver}.tar.gz::https://github.com/pypa/setuptools/archive/v${pkgver}.tar.gz") +sha512sums=('27dd6762afb7cc5cf302c4086d5142490d90fcba1d4886a6c9d3c7d4bf35cd7670081f103f6f6218b5fdce13a1c461ae7b9d917d0dc60669860e581f1945478a') + +prepare() { + # Don't download and install deps + sed -i '/pip.main(args)/d' setuptools-${pkgver}/bootstrap.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 + + cd "${srcdir}"/setuptools-${pkgver} + sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python2|" setuptools/command/easy_install.py + sed -i -e "s|'pip'|'pip2'|" setuptools/tests/{test_develop.py,test_namespaces.py} + + export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0 +} + +build() { + # Build python 2 module + cd "${srcdir}"/setuptools-${pkgver} + 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 + + # Check python2 module + # cd "${srcdir}"/setuptools-${pkgver} + # python2 setup.py pytest +)} + +package() { + cd "${srcdir}"/setuptools-${pkgver} + + python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build + rm "${pkgdir}"/usr/bin/easy_install +}