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.
This commit is contained in:
parent
c249486edb
commit
c06efc2173
3 changed files with 15 additions and 15 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
18
pkgs/applications/blockchains/solana-validator/update.sh
Normal file → Executable file
18
pkgs/applications/blockchains/solana-validator/update.sh
Normal file → Executable file
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue