common/hooks/pre-pkg/06-verify-python-deps: add hook

compares rdeps and Python module metadata to find missing dependencies
for python packages. this uses virtual packages to map python canonical
package names to void packages.
This commit is contained in:
classabbyamp 2024-12-03 16:21:08 -05:00 committed by Andrew J. Hesford
parent 232221efaf
commit ada7d18ca5

View file

@ -0,0 +1,17 @@
# vim: set ts=4 sw=4 et:
#
# This hook executes the following tasks:
# - Verifies python module dependencies from dist-info's METADATA and egg-info's PKG-INFO
hook() {
local py3_bin="${XBPS_MASTERDIR}/usr/bin/python3"
if [ -z "$nopyprovides" ] && [ -d "${PKGDESTDIR}/${py3_sitelib}" ] && [ -x "${py3_bin}" ]; then
PYTHONPATH="${XBPS_MASTERDIR}/${py3_sitelib}-bootstrap" "${py3_bin}" \
"${XBPS_COMMONDIR}"/scripts/parse-py-metadata.py \
${NOCOLORS:+-C} ${XBPS_STRICT:+-s} -S "${PKGDESTDIR}/${py3_sitelib}" -v "${pkgver}" \
depends -e "${python_extras}" \
-V <( $XBPS_QUERY_XCMD -R -p provides -s "py3:" ) -D "${XBPS_STATEDIR}/${pkgname}-rdeps" \
|| msg_error "$pkgver: failed to verify python module dependencies\n"
fi
}