Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at release-19.03 30 lines 981 B view raw
1{ stdenv 2, lib 3, writeScript 4, coreutils 5, curl 6, gnugrep 7, jq 8, gnupg 9, common-updater-scripts 10, majorVersion 11, nix 12, runtimeShell 13}: 14 15writeScript "update-nodejs" '' 16 #!${runtimeShell} 17 PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep jq gnupg nix ]} 18 19 HOME=`mktemp -d` 20 cat ${./nodejs-release-keys.asc} | gpg --import 21 22 tags=`curl --silent https://api.github.com/repos/nodejs/node/git/refs/tags` 23 version=`echo $tags | jq -r '.[] | select(.ref | startswith("refs/tags/v${majorVersion}")) | .ref' | sort --version-sort | tail -1 | grep -oP "^refs/tags/v\K.*"` 24 25 curl --silent -o $HOME/SHASUMS256.txt.asc https://nodejs.org/dist/v''${version}/SHASUMS256.txt.asc 26 hash_hex=`gpgv --keyring=$HOME/.gnupg/pubring.kbx --output - $HOME/SHASUMS256.txt.asc | grep -oP "^([0-9a-f]{64})(?=\s+node-v''${version}.tar.xz$)"` 27 hash=`nix-hash --type sha256 --to-base32 ''${hash_hex}` 28 29 update-source-version nodejs-${majorVersion}_x "''${version}" "''${hash}" 30''