summary refs log tree commit diff
path: root/pkgs/tools/games
diff options
context:
space:
mode:
authorhuantian <davidtianli@gmail.com>2023-07-01 14:24:11 -0700
committerhuantian <davidtianli@gmail.com>2023-07-01 14:24:11 -0700
commitc8def49591b86c54374b315470909e4ed22a116d (patch)
treeeedf0dc60a49ba2fcfbdb1d24fc30a62338a66cd /pkgs/tools/games
parent54817dd19569fce29cc67ad8bc960fc18f5d3c18 (diff)
downloadnixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar.gz
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar.bz2
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar.lz
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar.xz
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.tar.zst
nixpkgs-c8def49591b86c54374b315470909e4ed22a116d.zip
scarab: add custom updateScript
Diffstat (limited to 'pkgs/tools/games')
-rw-r--r--pkgs/tools/games/scarab/default.nix2
-rwxr-xr-xpkgs/tools/games/scarab/update.sh16
2 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/tools/games/scarab/default.nix b/pkgs/tools/games/scarab/default.nix
index 604213ba1a2..774d936ea57 100644
--- a/pkgs/tools/games/scarab/default.nix
+++ b/pkgs/tools/games/scarab/default.nix
@@ -70,6 +70,8 @@ buildDotnetModule rec {
     categories = [ "Game" ];
   })];
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Hollow Knight mod installer and manager";
     homepage = "https://github.com/fifty-six/Scarab";
diff --git a/pkgs/tools/games/scarab/update.sh b/pkgs/tools/games/scarab/update.sh
new file mode 100755
index 00000000000..9ec65acfe47
--- /dev/null
+++ b/pkgs/tools/games/scarab/update.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+set -euo pipefail
+
+new_version="$(curl -s "https://api.github.com/repos/fifty-six/Scarab/releases?per_page=1" | jq -r '.[0].name')"
+new_version=${new_version#"v"}
+old_version="$(sed -nE 's/^\s*version = "([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)";$/\1/p' ./default.nix)"
+
+if [[ "$new_version" == "$old_version" ]]; then
+    echo "Up to date"
+    exit 0
+fi
+
+update-source-version scarab "$new_version"
+
+$(nix-build . -A scarab.fetch-deps --no-out-link)