From fc1129c8af5705039d197d133e15a090052ebb24 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 17 May 2019 12:29:44 +0200 Subject: [PATCH] electrum: implement crude updater Takes care of the tedium of checking signatures & whatnot. Does not update checksum for the tests yet ... Usage $ nix-shell maintainers/scripts/update.nix --argstr package electrum Warning: dumps cruft to $PWD --- pkgs/applications/misc/electrum/default.nix | 30 ++++++++++- pkgs/applications/misc/electrum/update.nix | 59 +++++++++++++++++++++ 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/misc/electrum/update.nix 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 '