When using pacman to install packages, the --root option can be set to install them to an alternative location. The current install scripts don't take this in to account which causes no such file or directory errors. This modifies the sed command to use the full prefix path when renaming the shebang. Signed-off-by: Dan Yeaw <dan@yeaw.me>
101 lines
3.4 KiB
Bash
101 lines
3.4 KiB
Bash
# Contributor: Frederic Wang <fred.wang@free.fr>
|
|
|
|
_realname=coverage
|
|
pkgbase=mingw-w64-python-${_realname}
|
|
pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
|
|
pkgver=4.5.2
|
|
pkgrel=2
|
|
pkgdesc="Code coverage measurement for Python (mingw-w64)"
|
|
arch=('any')
|
|
url='https://coverage.readthedocs.io/'
|
|
license=('Apache 2.0')
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-python2"
|
|
"${MINGW_PACKAGE_PREFIX}-python3"
|
|
"${MINGW_PACKAGE_PREFIX}-python2-setuptools"
|
|
"${MINGW_PACKAGE_PREFIX}-python3-setuptools")
|
|
_dtoken='fb/af/ce7b0fe063ee0142786ee53ad6197979491ce0785567b6d8be751d2069e8'
|
|
source=("https://pypi.org/packages/${_dtoken}/${_realname}-${pkgver}.tar.gz")
|
|
sha256sums=('ab235d9fe64833f12d1334d29b558aacedfbca2356dfb9691f2d0d38a8a7bfb4')
|
|
|
|
prepare() {
|
|
cd "${srcdir}"
|
|
for builddir in python{2,3}-build-${CARCH}; do
|
|
rm -rf ${builddir} | true
|
|
cp -r "${_realname}-${pkgver}" "${builddir}"
|
|
done
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
|
|
package_python3-coverage() {
|
|
depends=("${MINGW_PACKAGE_PREFIX}-python3")
|
|
install=${_realname}3-${CARCH}.install
|
|
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 "${srcdir}/${_realname}-${pkgver}/LICENSE.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-${_realname}/LICENSE"
|
|
|
|
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
|
|
# fix python command in files
|
|
for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do
|
|
sed -e "s|/usr/bin/env |${MINGW_PREFIX}|g" \
|
|
-e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f}
|
|
done
|
|
}
|
|
|
|
package_python2-coverage() {
|
|
depends=("${MINGW_PACKAGE_PREFIX}-python2")
|
|
install=${_realname}2-${CARCH}.install
|
|
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 "${srcdir}/${_realname}-${pkgver}/LICENSE.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-${_realname}/LICENSE"
|
|
|
|
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
|
|
# fix python command in files
|
|
for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do
|
|
sed -e "s|/usr/bin/env |${MINGW_PREFIX}|g" \
|
|
-e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f}
|
|
done
|
|
|
|
for f in coverage; do
|
|
mv "${pkgdir}${MINGW_PREFIX}"/bin/${f}{,2}.exe
|
|
if [ -f "${pkgdir}${MINGW_PREFIX}"/bin/${f}.exe.manifest ]; then
|
|
mv "${pkgdir}${MINGW_PREFIX}"/bin/${f}{,2}.exe.manifest
|
|
sed -e "s|${f}|${f}2|g" -i "${pkgdir}${MINGW_PREFIX}"/bin/${f}2.exe.manifest
|
|
fi
|
|
mv "${pkgdir}${MINGW_PREFIX}"/bin/${f}{,2}-script.py
|
|
done
|
|
}
|
|
|
|
package_mingw-w64-i686-python2-coverage() {
|
|
install=${_realname}2-${CARCH}.install
|
|
package_python2-coverage
|
|
}
|
|
|
|
package_mingw-w64-i686-python3-coverage() {
|
|
install=${_realname}3-${CARCH}.install
|
|
package_python3-coverage
|
|
}
|
|
|
|
package_mingw-w64-x86_64-python2-coverage() {
|
|
install=${_realname}2-${CARCH}.install
|
|
package_python2-coverage
|
|
}
|
|
|
|
package_mingw-w64-x86_64-python3-coverage() {
|
|
install=${_realname}3-${CARCH}.install
|
|
package_python3-coverage
|
|
}
|