diff --git a/mingw-w64-python-pytest-runner/PKGBUILD b/mingw-w64-python-pytest-runner/PKGBUILD new file mode 100644 index 0000000000..0492d5147e --- /dev/null +++ b/mingw-w64-python-pytest-runner/PKGBUILD @@ -0,0 +1,114 @@ +# Maintainer: J. Peter Mugaas +#This value is here because some python package names have capital letters +#while there is a strong preference for lowercase letters in ArchLinux and +#MSYS packages. + +_realname=pytest-runner +pkgbase=mingw-w64-python-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}") +pkgver=4.2 +pkgrel=1 +pkgdesc="Invoke py.test as distutils command with dependency resolution (mingw-w64)" +arch=('any') +url='https://github.com/pytest-dev/pytest-runner' +license=('MIT') +validpgpkeys=('gpg_KEY') +makedepends=("${MINGW_PACKAGE_PREFIX}-python2" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python3-setuptools" + "${MINGW_PACKAGE_PREFIX}-python2-setuptools") +options=('staticlibs' 'strip' '!debug') +source=("${_realname}-$pkgver.tar.gz::https://github.com/pytest-dev/${_realname}/archive/$pkgver.tar.gz") +sha256sums=('SKIP') + +# Helper macros to help make tasks easier # +apply_patch_with_msg() { + for _patch in "$@" + do + msg2 "Applying $_patch" + patch -Nbp1 -i "${srcdir}/$_patch" + done +} + +del_file_exists() { + for _fname in "$@" + do + if [ -f $_fname ]; then + rm -rf $_fname + fi + done +} +# =========================================== # + +prepare() { + cd "${srcdir}" + for builddir in python{2,3}-build-${CARCH}; do + rm -rf ${builddir} | true + cp -r "${_realname}-${pkgver}" "${builddir}" + done + export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver +} + +# Note that build() is sometimes skipped because it's done in +# the packages setup.py install for simplicity if you can do so. +# but sometimes, you want to do a check before install which would +# also trigger the build. +build() { + for pver in {2,3}; do + msg "Python ${pver} build for ${CARCH}" + cd "${srcdir}/python${pver}-build-${CARCH}" + ${MINGW_PREFIX}/bin/python${pver} setup.py build + done +} + +check() { + for pver in {2,3}; do + msg "Python ${pver} test for ${CARCH}" + cd "${srcdir}/python${pver}-build-${CARCH}" + ${MINGW_PREFIX}/bin/python${pver} setup.py egg_info +# we need the flake8 package for this +# if [ "${pver}" = "2" ]; then +# PYTHONPATH="$PWD" ${MINGW_PREFIX}/bin/pytest2 +# else +# PYTHONPATH="$PWD" ${MINGW_PREFIX}/bin/pytest +# fi + done +} + +package_python3-pytest-runner() { + depends=("${MINGW_PACKAGE_PREFIX}-python3") + + cd "${srcdir}/python3-build-${CARCH}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-${_realname}/COPYING" +} + +package_python2-pytest-runner() { + depends=("${MINGW_PACKAGE_PREFIX}-python2") + + cd "${srcdir}/python2-build-${CARCH}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-${_realname}/COPYING" +} + +package_mingw-w64-i686-python2-pytest-runner() { + package_python2-pytest-runner +} + +package_mingw-w64-i686-python3-pytest-runner() { + package_python3-pytest-runner +} + +package_mingw-w64-x86_64-python2-pytest-runner() { + package_python2-pytest-runner +} + +package_mingw-w64-x86_64-python3-pytest-runner() { + package_python3-pytest-runner +}