Files
devenv/cross_compile/vendor/extract_wheels.sh
T

31 lines
813 B
Bash

#!/bin/bash
set -euo pipefail
SITE_PACKAGES="${1:?usage: extract_wheels.sh <site-packages-dir> <wheels-dir>}"
WHEELS_DIR="${2:?usage: extract_wheels.sh <site-packages-dir> <wheels-dir>}"
mkdir -p "$SITE_PACKAGES"
for f in "$WHEELS_DIR"/*; do
case "$f" in
*.whl)
python3 -m zipfile -e "$f" "$SITE_PACKAGES/"
;;
*.tar.gz|*.tar.bz2)
tmpdir=$(mktemp -d)
tar xf "$f" -C "$tmpdir"
for pkgdir in "$tmpdir"/*/; do
for inner in "$pkgdir"*/; do
if [ -f "${inner}__init__.py" ]; then
cp -r "$inner" "$SITE_PACKAGES/"
fi
done
find "$pkgdir" -maxdepth 1 -name "*.py" -exec cp {} "$SITE_PACKAGES/" \;
done
rm -rf "$tmpdir"
;;
esac
done
echo "Extraction done. Contents of $SITE_PACKAGES:"
ls "$SITE_PACKAGES"