diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 6e69665da2bc..2f8b98f3a446 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,4 +1,17 @@ -{ stdenv, fetchurl, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }: +{ stdenv, fetchurl, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 + + +# for updater.nix +, writeScript +, common-updater-scripts +, bash +, coreutils +, curl +, gnugrep +, gnupg +, gnused +, nix +}: let version = "3.3.6"; @@ -85,6 +98,21 @@ python3Packages.buildPythonApplication rec { $out/bin/electrum help >/dev/null ''; + passthru.updateScript = import ./update.nix { + inherit (stdenv) lib; + inherit + writeScript + common-updater-scripts + bash + coreutils + curl + gnupg + gnugrep + gnused + nix + ; + }; + meta = with stdenv.lib; { description = "A lightweight Bitcoin wallet"; longDescription = '' diff --git a/pkgs/applications/misc/electrum/update.nix b/pkgs/applications/misc/electrum/update.nix new file mode 100644 index 000000000000..247fabe3891f --- /dev/null +++ b/pkgs/applications/misc/electrum/update.nix @@ -0,0 +1,59 @@ +{ lib +, writeScript +, common-updater-scripts +, bash +, coreutils +, curl +, gnugrep +, gnupg +, gnused +, nix +}: + +with lib; + +let + downloadPageUrl = "https://download.electrum.org"; + + signingKeys = ["6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6"]; +in + +writeScript "update-electrum" '' +#! ${bash}/bin/bash + +set -eu -o pipefail + +export PATH=${makeBinPath [ + common-updater-scripts + coreutils + curl + gnugrep + gnupg + gnused + nix +]} + +version=$(curl -L --list-only -- '${downloadPageUrl}' \ + | grep -Po '