nixos/hosts/fw/pkgs/foundry-vtt/update.sh

34 lines
943 B
Bash
Executable file

#!/usr/bin/env bash
# Usage: ./update.sh <version>
# Example: ./update.sh 13.351
#
# Before running, upload the new zip to feeds.cloonar.com:
# FoundryVTT-Node-<version>.zip
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DEFAULT_NIX="$SCRIPT_DIR/default.nix"
if [[ $# -ne 1 ]]; then
echo "Usage: $0 <version>" >&2
echo "Example: $0 13.351" >&2
exit 1
fi
NEW_VERSION="$1"
URL="https://feeds.cloonar.com/FoundryVTT-Node-${NEW_VERSION}.zip"
echo "Fetching hash for $URL..."
RAW_HASH=$(nix-prefetch-url "$URL")
SRI_HASH=$(nix hash to-sri --type sha256 "$RAW_HASH")
echo "Version: $NEW_VERSION"
echo "Hash: $SRI_HASH"
sed -i "s|version = \".*\"|version = \"${NEW_VERSION}\"|" "$DEFAULT_NIX"
sed -i "s|hash = \".*\"|hash = \"${SRI_HASH}\"|" "$DEFAULT_NIX"
echo "Updated $DEFAULT_NIX"
echo "Verifying build..."
nix-build -E "with import <nixpkgs> {}; callPackage $DEFAULT_NIX {}"
echo "Build successful!"