mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-02-04 02:51:18 +01:00
Support for bundled Qt, not through aqtinstall but rather my CI. Multimedia is implemented too, works on both Windows and Linux, though we don't actually use it so it doesn't really matter. Contains Declarative and all that so the Quick frontend will work once it becomes a thing. Some options have changed, notably w.r.t LTO and faster linker, which are now handled directly in the modules. CPMUtil also has support for custom dirs (`PackageName_CUSTOM_DIR`) now. Probably most useful for adding external fragment shaders and whatnot. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3289
67 lines
1.3 KiB
Bash
Executable File
67 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# SPDX-FileCopyrightText: Copyright 2026 crueter
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
RETURN=0
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Usage: cpmutil.sh package hash [-n|--dry-run] [-a|--all] [PACKAGE]...
|
|
|
|
Check the hash of a specific package or packages.
|
|
If a hash mismatch occurs, this script will update the package's hash.
|
|
|
|
Options:
|
|
-n, --dry-run Don't update the package's hash if it's a mismatch
|
|
-a, --all Operate on all packages in this project.
|
|
|
|
Note that this procedure will usually take a long time
|
|
depending on the number and size of dependencies.
|
|
|
|
EOF
|
|
|
|
exit $RETURN
|
|
}
|
|
|
|
while :; do
|
|
case "$1" in
|
|
-[a-z]*)
|
|
opt=$(printf '%s' "$1" | sed 's/^-//')
|
|
while [ -n "$opt" ]; do
|
|
# cut out first char from the optstring
|
|
char=$(echo "$opt" | cut -c1)
|
|
opt=$(echo "$opt" | cut -c2-)
|
|
|
|
case "$char" in
|
|
a) ALL=1 ;;
|
|
n) DRY=1 ;;
|
|
h) usage ;;
|
|
*) die "Invalid option -$char" ;;
|
|
esac
|
|
done
|
|
;;
|
|
--dry-run) DRY=1 ;;
|
|
--all) ALL=1 ;;
|
|
--help) usage ;;
|
|
"$0") break ;;
|
|
"") break ;;
|
|
*) packages="$packages $1" ;;
|
|
esac
|
|
|
|
shift
|
|
done
|
|
|
|
[ "$ALL" != 1 ] || packages="${LIBS:-$packages}"
|
|
[ "$DRY" = 1 ] && UPDATE=false || UPDATE=true
|
|
[ -n "$packages" ] || usage
|
|
|
|
export UPDATE
|
|
|
|
for pkg in $packages; do
|
|
echo "-- Package $pkg"
|
|
"$SCRIPTS"/util/fix-hash.sh "$pkg" || RETURN=1
|
|
done
|
|
|
|
exit $RETURN
|