vp-build/common/build-style/python3-pep517.sh
Andrew J. Hesford 950151c572 build-style/python3-pep517.sh: improve default wheel selection
When naming wheels, hyphens are converted to underscores in package
names. Recognizing this in the build style eliminates manual definition
of `make_install_target` in several templates.
2022-05-16 10:51:58 -04:00

38 lines
1.2 KiB
Bash

#
# This style is for templates installing python3 modules adhering to PEP517
#
do_build() {
# No PEP517 build tool currently supports compiled extensions
# Thus, there is no need to accommodate cross compilation here
: ${make_build_target:=.}
mkdir -p build
TMPDIR=build python3 -m pip wheel --no-deps --use-pep517 --no-clean \
--no-build-isolation ${make_build_args} ${make_build_target}
}
do_check() {
if python3 -c 'import pytest' >/dev/null 2>&1; then
${make_check_pre} python3 -m pytest ${make_check_args} ${make_check_target}
else
msg_warn "Unable to determine tests for PEP517 Python templates"
return 0
fi
}
do_install() {
# As with do_build, no need to accommodate cross compilation here
if [ -z "${make_install_target}" ]; then
# Default wheel name normalizes hyphens to underscores
local wheelbase="${pkgname#python3-}"
make_install_target="${wheelbase//-/_}-${version}-*-*-*.whl"
fi
# If do_build was overridden, make sure the TMPDIR exists
mkdir -p build
TMPDIR=build python3 -m pip install --use-pep517 --prefix /usr \
--root ${DESTDIR} --no-deps --no-build-isolation \
--no-clean ${make_install_args} ${make_install_target}
}