From aeaf4453be3151fb4fd6a73eeac708940bed5d5f Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Tue, 19 Oct 2021 01:36:08 +0200 Subject: [PATCH 1/3] electrs: use SRI hashes --- pkgs/applications/blockchains/electrs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/blockchains/electrs/default.nix b/pkgs/applications/blockchains/electrs/default.nix index ae06fe7ff2ba..3bff2eb55822 100644 --- a/pkgs/applications/blockchains/electrs/default.nix +++ b/pkgs/applications/blockchains/electrs/default.nix @@ -15,10 +15,10 @@ rustPlatform.buildRustPackage rec { owner = "romanz"; repo = pname; rev = "v${version}"; - sha256 = "04dqbn2nfzllxfcn3v9vkfy2hn2syihijr575621r1pj65pcgf8y"; + hash = "sha256-HrnHbjHyhhyEKadkGWH0WlgovJs77WGZ65R+Z4VduBE="; }; - cargoSha256 = "0hl8q62lankrab8gq9vxmkn68drs0hw5pk0q6aiq8fxsb63dzsw0"; + cargoHash = "sha256-gOvfhlm6O4SjMhjMWzgEOjdk7Kx9J/zQUnlaRYXBiEI="; # needed for librocksdb-sys nativeBuildInputs = [ llvmPackages.clang ]; From 890ca19818c9a6b6409f70465b4964b0126799a5 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Tue, 19 Oct 2021 01:38:46 +0200 Subject: [PATCH 2/3] electrs: add update script --- .../blockchains/electrs/update.sh | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 pkgs/applications/blockchains/electrs/update.sh diff --git a/pkgs/applications/blockchains/electrs/update.sh b/pkgs/applications/blockchains/electrs/update.sh new file mode 100755 index 000000000000..3e4d90db59de --- /dev/null +++ b/pkgs/applications/blockchains/electrs/update.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils curl jq git gnupg common-updater-scripts +set -euo pipefail + +# Fetch latest release, GPG-verify the tag, update derivation + +scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd) +nixpkgs=$(realpath "$scriptDir"/../../../..) + +oldVersion=$(nix-instantiate --eval -E "(import \"$nixpkgs\" { config = {}; overlays = []; }).electrs.version" | tr -d '"') +version=$(curl -s --show-error "https://api.github.com/repos/romanz/electrs/releases/latest" | jq -r '.tag_name' | tail -c +2) + +if [[ $version == $oldVersion ]]; then + echo "Already at latest version $version" + exit 0 +fi +echo "New version: $version" + +tmpdir=$(mktemp -d /tmp/electrs-verify-gpg.XXX) +repo=$tmpdir/repo +trap "rm -rf $tmpdir" EXIT + +git clone --depth 1 --branch v${version} -c advice.detachedHead=false https://github.com/romanz/electrs $repo + +export GNUPGHOME=$tmpdir +echo +echo "Fetching romanz's key" +gpg --keyserver hkps://keys.openpgp.org --recv-keys 15c8c3574ae4f1e25f3f35c587cae5fa46917cbb 2> /dev/null +echo +echo "Verifying commit" +git -C $repo verify-tag v${version} + +rm -rf $repo/.git +hash=$(nix hash path $repo) + +(cd "$nixpkgs" && update-source-version electrs "$version" "$hash") +sed -i 's|cargoHash = .*|cargoHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";|' "$scriptDir/default.nix" +echo +echo "electrs: $oldVersion -> $version" From e7933f35d4bb3d7b291d01184c9f74ae6d61346c Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Tue, 19 Oct 2021 01:39:58 +0200 Subject: [PATCH 3/3] electrs: 0.9.0 -> 0.9.1 --- pkgs/applications/blockchains/electrs/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/blockchains/electrs/default.nix b/pkgs/applications/blockchains/electrs/default.nix index 3bff2eb55822..d37ace710734 100644 --- a/pkgs/applications/blockchains/electrs/default.nix +++ b/pkgs/applications/blockchains/electrs/default.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "electrs"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "romanz"; repo = pname; rev = "v${version}"; - hash = "sha256-HrnHbjHyhhyEKadkGWH0WlgovJs77WGZ65R+Z4VduBE="; + hash = "sha256-GDO8iGntQncvdJiDMBJk9GrGF9JToasbLRzju3S0TS0="; }; - cargoHash = "sha256-gOvfhlm6O4SjMhjMWzgEOjdk7Kx9J/zQUnlaRYXBiEI="; + cargoHash = "sha256-Ms785+3Z4xEUW8FRRu1FIHk7HSWYLBThKlJDFjW6j0I="; # needed for librocksdb-sys nativeBuildInputs = [ llvmPackages.clang ];