66 lines
1.5 KiB
Bash
Executable File
66 lines
1.5 KiB
Bash
Executable File
#!/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 "$@"
|