diff --git a/hosts/fw/pkgs/foundry-vtt/FoundryVTT-Node-13.350.zip b/hosts/fw/pkgs/foundry-vtt/FoundryVTT-Node-13.350.zip deleted file mode 100644 index 3f7ae62..0000000 Binary files a/hosts/fw/pkgs/foundry-vtt/FoundryVTT-Node-13.350.zip and /dev/null differ diff --git a/hosts/fw/pkgs/foundry-vtt/default.nix b/hosts/fw/pkgs/foundry-vtt/default.nix index c07714e..febf95d 100644 --- a/hosts/fw/pkgs/foundry-vtt/default.nix +++ b/hosts/fw/pkgs/foundry-vtt/default.nix @@ -1,10 +1,13 @@ -{ stdenv, lib, unzip }: +{ stdenv, lib, fetchurl, unzip }: stdenv.mkDerivation rec { pname = "foundry-vtt"; version = "13.350"; - src = ./FoundryVTT-Node-13.350.zip; + src = fetchurl { + url = "https://feeds.cloonar.com/FoundryVTT-Node-${version}.zip"; + hash = "sha256-r7tUdUNd2SneqqLJYgiElnnZJm94fhKcAQPVyo2zc8o="; + }; nativeBuildInputs = [ unzip ]; diff --git a/hosts/fw/pkgs/foundry-vtt/update.sh b/hosts/fw/pkgs/foundry-vtt/update.sh new file mode 100755 index 0000000..470b03c --- /dev/null +++ b/hosts/fw/pkgs/foundry-vtt/update.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# Usage: ./update.sh +# Example: ./update.sh 13.351 +# +# Before running, upload the new zip to feeds.cloonar.com: +# FoundryVTT-Node-.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 " >&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 {}; callPackage $DEFAULT_NIX {}" +echo "Build successful!"