#!/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 "$@"