Skip to content

Commit

Permalink
common/hooks/pre-pkg/06-verify-python-deps: add hook
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
classabbyamp committed Dec 4, 2024
1 parent 6bd1148 commit 4b9e8e8
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions common/hooks/pre-pkg/06-verify-python-deps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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

py3_cmd() {
env PYTHONPATH="${XBPS_MASTERDIR}/${py3_sitelib}-bootstrap" "${py3_bin}" "$@"
}

hook() {
local py3_bin="${XBPS_MASTERDIR}/usr/bin/python3"
local -a _pydeps=()

if [ -z "$nopyprovides" ] && [ -d "${PKGDESTDIR}/${py3_sitelib}" ] && \
[ -x "${py3_bin}" ] && py3_cmd -c "import packaging"; then
py3_cmd "${XBPS_COMMONDIR}"/scripts/parse-py-metadata.py \
-S "${PKGDESTDIR}/${py3_sitelib}" -v "${pkgver}" depends \
${NOCOLORS:+-C} ${XBPS_STRICT:+-s} -e "${python_extras}" \
-V <( $XBPS_QUERY_XCMD -R -p provides -s "py3:" ) -D "${PKGDESTDIR}/rdeps" \
|| msg_error "$pkgver: failed to verify python module dependencies\n"
fi
}

0 comments on commit 4b9e8e8

Please sign in to comment.