This commit is contained in:
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/common.sh"
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
Usage:
|
||||
./scripts/package.sh stable
|
||||
./scripts/package.sh dxvk-git
|
||||
./scripts/package.sh all
|
||||
EOF
|
||||
}
|
||||
|
||||
package_variant() {
|
||||
local variant="$1"
|
||||
local metadata_file tool_name tool_dir archive_name archive_alias archive_path alias_path
|
||||
|
||||
metadata_file="$(metadata_file_for_variant "$variant")"
|
||||
[[ -f "$metadata_file" ]] || die "missing metadata for variant $variant, run build first"
|
||||
source "$metadata_file"
|
||||
|
||||
tool_name="$(tool_name_for_variant "$variant")"
|
||||
tool_dir="$DIST_DIR/$tool_name"
|
||||
archive_name="$(archive_name_for_variant "$variant")"
|
||||
archive_alias="$(archive_alias_for_variant "$variant")"
|
||||
archive_path="$DIST_DIR/$archive_name"
|
||||
alias_path="$DIST_DIR/$archive_alias"
|
||||
|
||||
[[ -d "$tool_dir" ]] || die "missing built tool dir: $tool_dir"
|
||||
|
||||
say "Package $tool_name"
|
||||
rm -f "$archive_path" "$alias_path"
|
||||
tar --zstd -cf "$archive_path" -C "$DIST_DIR" "$tool_name"
|
||||
|
||||
if [[ "$archive_alias" != "$archive_name" ]]; then
|
||||
cp -f "$archive_path" "$alias_path"
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
local mode="${1:-all}"
|
||||
ensure_repo_layout
|
||||
|
||||
case "$mode" in
|
||||
stable) package_variant stable ;;
|
||||
dxvk-git) package_variant dxvk-git ;;
|
||||
all)
|
||||
package_variant stable
|
||||
package_variant dxvk-git
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
usage >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user