From 2e318e05ce6c2940f4736ed71a97ce6637177172 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Mon, 8 Aug 2022 13:56:24 -0400 Subject: [PATCH 1/2] sparrow: 1.6.5 -> 1.7.0 --- .../blockchains/sparrow/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix index e3b54a746563..a8c8c68e0ecd 100644 --- a/pkgs/applications/blockchains/sparrow/default.nix +++ b/pkgs/applications/blockchains/sparrow/default.nix @@ -5,7 +5,7 @@ , makeDesktopItem , copyDesktopItems , autoPatchelfHook -, openjdk17 +, openjdk18 , gtk3 , gsettings-desktop-schemas , writeScript @@ -20,11 +20,11 @@ let pname = "sparrow"; - version = "1.6.5"; + version = "1.7.0"; src = fetchurl { - url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "0zk33w664fky3ir6cqm6walc80fjhg9s0hnrllrc2hrxrqnrn88p"; + url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz"; + sha256 = "1rrf5xba733c2vxgd7bf164iswc66ggp64ywh79d0vf188imzmwr"; }; launcher = writeScript "sparrow" '' @@ -60,7 +60,7 @@ let -m com.sparrowwallet.sparrow ) - XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk17}/bin/java ''${params[@]} $@ + XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk18}/bin/java ''${params[@]} $@ ''; torWrapper = writeScript "tor-wrapper" '' @@ -71,14 +71,14 @@ let jdk-modules = stdenv.mkDerivation { name = "jdk-modules"; - nativeBuildInputs = [ openjdk17 ]; + nativeBuildInputs = [ openjdk18 ]; dontUnpack = true; buildPhase = '' # Extract the JDK's JIMAGE and generate a list of modules. mkdir modules pushd modules - jimage extract ${openjdk17}/lib/openjdk/lib/modules + jimage extract ${openjdk18}/lib/openjdk/lib/modules ls | xargs -d " " -- echo > ../manifest.txt popd ''; @@ -93,7 +93,7 @@ let sparrow-modules = stdenv.mkDerivation { pname = "sparrow-modules"; inherit version src; - nativeBuildInputs = [ makeWrapper gnugrep openjdk17 autoPatchelfHook stdenv.cc.cc.lib zlib ]; + nativeBuildInputs = [ makeWrapper gnugrep openjdk18 autoPatchelfHook stdenv.cc.cc.lib zlib ]; buildPhase = '' # Extract Sparrow's JIMAGE and generate a list of them. @@ -187,6 +187,7 @@ stdenv.mkDerivation rec { desktopName = "Sparrow Bitcoin Wallet"; genericName = "Bitcoin Wallet"; categories = [ "Finance" ]; + mimeTypes = [ "application/psbt" "application/bitcoin-transaction" "x-scheme-handler/bitcoin" "x-scheme-handler/auth47" "x-scheme-handler/lightning" ]; }) ]; From 047448b04c4e8ba270ae0e5a1189e5c7eff6e7de Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Sat, 13 Aug 2022 17:11:04 -0400 Subject: [PATCH 2/2] sparrow: add update script --- .../blockchains/sparrow/default.nix | 2 ++ .../blockchains/sparrow/update.sh | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100755 pkgs/applications/blockchains/sparrow/update.sh diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix index a8c8c68e0ecd..9a184bed83a5 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 000000000000..bda8b0765aed --- /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"