Init, adding corrade,magnum,magnum-plugins,magnum-integration,magnum-extras, and magnum-examples 2025.47_1
This commit is contained in:
0
common/hooks/do-extract/.empty
Normal file
0
common/hooks/do-extract/.empty
Normal file
97
common/hooks/do-extract/00-distfiles.sh
Normal file
97
common/hooks/do-extract/00-distfiles.sh
Normal file
@@ -0,0 +1,97 @@
|
||||
# This hook extracts $distfiles into $XBPS_BUILDDIR if $distfiles and $checksum
|
||||
# variables are set.
|
||||
|
||||
hook() {
|
||||
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
|
||||
local f j curfile found extractdir innerdir innerfile num_dirs
|
||||
local TAR_CMD
|
||||
|
||||
if [ -z "$distfiles" -a -z "$checksum" ]; then
|
||||
mkdir -p "$wrksrc"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Check that distfiles are there before anything else.
|
||||
for f in ${distfiles}; do
|
||||
curfile="${f#*>}"
|
||||
curfile="${curfile##*/}"
|
||||
if [ ! -f $srcdir/$curfile ]; then
|
||||
msg_error "$pkgver: cannot find ${curfile}, use 'xbps-src fetch' first.\n"
|
||||
fi
|
||||
done
|
||||
|
||||
# Disable trap on ERR; the code is smart enough to report errors and abort.
|
||||
trap - ERR
|
||||
|
||||
TAR_CMD="$(command -v bsdtar)"
|
||||
[ -z "$TAR_CMD" ] && TAR_CMD="$(command -v tar)"
|
||||
[ -z "$TAR_CMD" ] && msg_error "xbps-src: no suitable tar cmd (bsdtar, tar)\n"
|
||||
|
||||
extractdir=$(mktemp -d "$XBPS_BUILDDIR/.extractdir-XXXXXXX") ||
|
||||
msg_error "Cannot create temporary dir for do-extract\n"
|
||||
|
||||
msg_normal "$pkgver: extracting distfile(s), please wait...\n"
|
||||
|
||||
for f in ${distfiles}; do
|
||||
curfile="${f#*>}"
|
||||
curfile="${curfile##*/}"
|
||||
for j in ${skip_extraction}; do
|
||||
if [ "$curfile" = "$j" ]; then
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -n "$found" ]; then
|
||||
unset found
|
||||
continue
|
||||
fi
|
||||
vsrcextract --no-strip-components -C "$extractdir" "$curfile"
|
||||
done
|
||||
|
||||
cd "$extractdir"
|
||||
# find "$extractdir" -mindepth 1 -maxdepth 1 -printf '1\n' | wc -l
|
||||
# However, it requires GNU's find
|
||||
num_dirs=0
|
||||
for f in * .*; do
|
||||
if [ -e "$f" ] || [ -L "$f" ]; then
|
||||
case "$f" in
|
||||
. | ..) ;;
|
||||
*)
|
||||
innerdir="$f"
|
||||
num_dirs=$(( num_dirs + 1 ))
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
# Special case for num_dirs = 2, and it contains metadata
|
||||
if [ "$num_dirs" != 2 ] || [ "$create_wrksrc" ]; then
|
||||
:
|
||||
elif grep -q 'xmlns="http://pear[.]php[.]net/dtd/package' package.xml 2>/dev/null
|
||||
then
|
||||
# PHP modules' metadata
|
||||
rm -f package.xml
|
||||
for f in */; do innerdir="$f"; done
|
||||
num_dirs=1
|
||||
else
|
||||
for f in *; do
|
||||
# AppleDouble encoded Macintosh file
|
||||
if [ -e "$f" ] && [ -e "._$f" ]; then
|
||||
rm -f "._$f"
|
||||
num_dirs=1
|
||||
innerdir="$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
rm -rf "$wrksrc"
|
||||
innerdir="$extractdir/$innerdir"
|
||||
cd "$XBPS_BUILDDIR"
|
||||
if [ "$num_dirs" = 1 ] && [ -d "$innerdir" ] && [ -z "$create_wrksrc" ]; then
|
||||
# rename the subdirectory (top-level of distfiles) to $wrksrc
|
||||
mv "$innerdir" "$wrksrc" &&
|
||||
rmdir "$extractdir"
|
||||
else
|
||||
mv "$extractdir" "$wrksrc"
|
||||
fi ||
|
||||
msg_error "$pkgver: failed to move sources to $wrksrc\n"
|
||||
}
|
||||
Reference in New Issue
Block a user