about summary refs log tree commit diff
path: root/pkgs/applications/blockchains/sparrow
diff options
context:
space:
mode:
authorEmmanuel Rosa <emmanuelrosa@protonmail.com>2022-08-13 17:11:04 -0400
committerEmmanuel Rosa <emmanuelrosa@protonmail.com>2022-10-31 10:37:34 -0400
commit047448b04c4e8ba270ae0e5a1189e5c7eff6e7de (patch)
tree9b48aee71ca736e7a020a9cab8f86f4f8ee97470 /pkgs/applications/blockchains/sparrow
parent2e318e05ce6c2940f4736ed71a97ce6637177172 (diff)
sparrow: add update script
Diffstat (limited to 'pkgs/applications/blockchains/sparrow')
-rw-r--r--pkgs/applications/blockchains/sparrow/default.nix2
-rwxr-xr-xpkgs/applications/blockchains/sparrow/update.sh26
2 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix
index a8c8c68e0ecd0..9a184bed83a53 100644
--- a/pkgs/applications/blockchains/sparrow/default.nix
+++ b/pkgs/applications/blockchains/sparrow/default.nix
@@ -223,6 +223,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "A modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.";
     homepage = "https://sparrowwallet.com";
diff --git a/pkgs/applications/blockchains/sparrow/update.sh b/pkgs/applications/blockchains/sparrow/update.sh
new file mode 100755
index 0000000000000..bda8b0765aede
--- /dev/null
+++ b/pkgs/applications/blockchains/sparrow/update.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p coreutils curl jq gnused gnupg common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -s https://api.github.com/repos/sparrowwallet/sparrow/releases| jq '.[] | {name} | limit(1;.[])' | sed 's/[\"v]//g' | head -n 1)"
+depname="sparrow-$version-x86_64.tar.gz"
+src_root="https://github.com/sparrowwallet/sparrow/releases/download/$version";
+src="$src_root/$depname";
+manifest="$src_root/sparrow-$version-manifest.txt"
+signature="$src_root/sparrow-$version-manifest.txt.asc"
+key="D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40"
+
+pushd $(mktemp -d --suffix=-sparrow-updater)
+export GNUPGHOME=$PWD/gnupg
+mkdir -m 700 -p "$GNUPGHOME"
+curl -L -o "$depname" -- "$src"
+curl -L -o manifest.txt -- "$manifest"
+curl -L -o signature.asc -- "$signature"
+gpg --batch --recv-keys "$key"
+gpg --batch --verify signature.asc manifest.txt
+sha256sum -c --ignore-missing manifest.txt
+sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
+popd
+
+update-source-version sparrow "$version" "$sha256"