From c06efc2173dfa38e30dfd4843f00b12a464285c9 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Fri, 7 Jul 2023 23:02:01 -0700 Subject: solana-validator: adapt update script to new nix-prefetch-github The update script is also already broken and needs: 1. Add missing packages to the shebang. 2. Retrieve cargo hash from the proper package. We also take the opportunity to switch ot using the newer "hash" and "cargoHash" properties. --- .../blockchains/solana-validator/default.nix | 8 ++++---- .../applications/blockchains/solana-validator/pin.json | 4 ++-- .../blockchains/solana-validator/update.sh | 18 +++++++++--------- 3 files changed, 15 insertions(+), 15 deletions(-) mode change 100644 => 100755 pkgs/applications/blockchains/solana-validator/update.sh diff --git a/pkgs/applications/blockchains/solana-validator/default.nix b/pkgs/applications/blockchains/solana-validator/default.nix index 897968e25063e..d91da1db8fe2c 100644 --- a/pkgs/applications/blockchains/solana-validator/default.nix +++ b/pkgs/applications/blockchains/solana-validator/default.nix @@ -42,8 +42,8 @@ let pinData = lib.importJSON ./pin.json; version = pinData.version; - sha256 = pinData.sha256; - cargoSha256 = pinData.cargoSha256; + hash = pinData.hash; + cargoHash = pinData.cargoHash; in rustPlatform.buildRustPackage rec { pname = "solana-validator"; @@ -53,11 +53,11 @@ rustPlatform.buildRustPackage rec { owner = "solana-labs"; repo = "solana"; rev = "v${version}"; - inherit sha256; + inherit hash; }; # partly inspired by https://github.com/obsidiansystems/solana-bridges/blob/develop/default.nix#L29 - inherit cargoSha256; + inherit cargoHash; cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs; diff --git a/pkgs/applications/blockchains/solana-validator/pin.json b/pkgs/applications/blockchains/solana-validator/pin.json index 175cd79ad1bcb..4747c3e934343 100644 --- a/pkgs/applications/blockchains/solana-validator/pin.json +++ b/pkgs/applications/blockchains/solana-validator/pin.json @@ -1,5 +1,5 @@ { "version": "1.10.35", - "sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=", - "cargoSha256": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs" + "hash": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=", + "cargoHash": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs" } diff --git a/pkgs/applications/blockchains/solana-validator/update.sh b/pkgs/applications/blockchains/solana-validator/update.sh old mode 100644 new mode 100755 index ffd8b0010cc26..cb8aa43ac61ee --- a/pkgs/applications/blockchains/solana-validator/update.sh +++ b/pkgs/applications/blockchains/solana-validator/update.sh @@ -1,9 +1,9 @@ #!/usr/bin/env nix-shell -#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep +#! nix-shell -i oil -p jq moreutils nix-prefetch-github gnused # TODO set to `verbose` or `extdebug` once implemented in oil shopt --set xtrace -# we need failures inside of command subs to get the correct cargoSha256 +# we need failures inside of command subs to get the correct cargoHash shopt --unset inherit_errexit const directory = $(dirname $0 | xargs realpath) @@ -11,23 +11,23 @@ const owner = "solana-labs" const repo = "solana" const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ jq -r '.tag_name') -const latest_version = $(echo $latest_rev | sd 'v' '') +const latest_version = $(echo ${latest_rev#v}) const current_version = $(jq -r '.version' $directory/pin.json) if ("$latest_version" === "$current_version") { echo "solana is already up-to-date" return 0 } else { const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") - const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" + const tarball_hash = $(echo $tarball_meta | jq -r '.hash') jq ".version = \"$latest_version\" | \ - .\"sha256\" = \"$tarball_hash\" | \ - .\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json + .\"hash\" = \"$tarball_hash\" | \ + .\"cargoHash\" = \"\"" $directory/pin.json | sponge $directory/pin.json - const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \ + const new_cargo_hash = $(nix-build -A solana-validator 2>&1 | \ tail -n 2 | \ head -n 1 | \ - sd '\s+got:\s+' '') + sed 's/\s*got:\s*//') - jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json + jq ".cargoHash = \"$new_cargo_hash\"" $directory/pin.json | sponge $directory/pin.json } -- cgit 1.4.1