about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTheodore Ni <3806110+tjni@users.noreply.github.com>2023-07-07 23:02:01 -0700
committerTheodore Ni <3806110+tjni@users.noreply.github.com>2023-07-18 16:55:33 -0700
commitc06efc2173dfa38e30dfd4843f00b12a464285c9 (patch)
treeac863a6d9e493730e82f0e52422f625307a58f5f
parentc249486edb141837f28af2afd5b3c1331899d626 (diff)
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.
-rw-r--r--pkgs/applications/blockchains/solana-validator/default.nix8
-rw-r--r--pkgs/applications/blockchains/solana-validator/pin.json4
-rwxr-xr-x[-rw-r--r--]pkgs/applications/blockchains/solana-validator/update.sh18
3 files changed, 15 insertions, 15 deletions
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
index ffd8b0010cc26..cb8aa43ac61ee 100644..100755
--- 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
 }