Merge pull request #243018 from tjni/nix-prefetch-github

authored by Sandro and committed by GitHub 69deaa75 cda88090

+211 -237
+1 -1
doc/contributing/coding-conventions.chapter.md
··· 456 456 owner = "NixOS"; 457 457 repo = "nix"; 458 458 rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; 459 - hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ="; 459 + hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ="; 460 460 } 461 461 ``` 462 462
+1 -1
maintainers/scripts/haskell/update-hackage.sh
··· 1 1 #! /usr/bin/env nix-shell 2 - #! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused -I nixpkgs=. 2 + #! nix-shell -i bash -p nix curl jq git gnused -I nixpkgs=. 3 3 4 4 # See regenerate-hackage-packages.sh for details on the purpose of this script. 5 5
+1 -1
maintainers/scripts/haskell/update-stackage.sh
··· 1 1 #! /usr/bin/env nix-shell 2 - #! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=. 2 + #! nix-shell -i bash -p nix curl jq git gnused gnugrep -I nixpkgs=. 3 3 # shellcheck shell=bash 4 4 5 5 set -eu -o pipefail
+2 -5
pkgs/applications/audio/psst/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 - #!nix-shell -i bash -p nix wget nix-prefetch-github jq coreutils 2 + #!nix-shell -i bash -p wget nix-prefetch-github jq coreutils 3 3 4 4 # shellcheck shell=bash 5 5 ··· 27 27 version="unstable-$(date +%F)" 28 28 29 29 # Sources 30 - src_hash=$(nix-prefetch-github jpochyla psst --rev "$rev" | jq -r .sha256) 30 + src_hash=$(nix-prefetch-github jpochyla psst --rev "$rev" | jq -r .hash) 31 31 32 32 # Cargo.lock 33 33 src="https://raw.githubusercontent.com/jpochyla/psst/$rev" 34 34 wget "${TOKEN_ARGS[@]}" "$src/Cargo.lock" -O Cargo.lock 35 - 36 - # Use friendlier hashes 37 - src_hash=$(nix hash to-sri --type sha256 "$src_hash") 38 35 39 36 sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix 40 37 sed -i -E -e "s#rev = \".*\"#rev = \"$rev\"#" default.nix
+1 -2
pkgs/applications/audio/squeezelite/update.sh
··· 12 12 exit 0 13 13 fi 14 14 15 - srcHash=$(nix-prefetch-github ralph-irving squeezelite --rev "$latestRev" | jq -r .sha256) 16 - srcHash=$(nix hash to-sri --type sha256 "$srcHash") 15 + srcHash=$(nix-prefetch-github ralph-irving squeezelite --rev "$latestRev" | jq -r .hash) 17 16 18 17 19 18 update-source-version squeezelite "$latestVersion" "$srcHash" --rev="${latestRev}"
+4 -4
pkgs/applications/blockchains/solana-validator/default.nix
··· 42 42 let 43 43 pinData = lib.importJSON ./pin.json; 44 44 version = pinData.version; 45 - sha256 = pinData.sha256; 46 - cargoSha256 = pinData.cargoSha256; 45 + hash = pinData.hash; 46 + cargoHash = pinData.cargoHash; 47 47 in 48 48 rustPlatform.buildRustPackage rec { 49 49 pname = "solana-validator"; ··· 53 53 owner = "solana-labs"; 54 54 repo = "solana"; 55 55 rev = "v${version}"; 56 - inherit sha256; 56 + inherit hash; 57 57 }; 58 58 59 59 # partly inspired by https://github.com/obsidiansystems/solana-bridges/blob/develop/default.nix#L29 60 - inherit cargoSha256; 60 + inherit cargoHash; 61 61 62 62 cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs; 63 63
+2 -2
pkgs/applications/blockchains/solana-validator/pin.json
··· 1 1 { 2 2 "version": "1.10.35", 3 - "sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=", 4 - "cargoSha256": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs" 3 + "hash": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=", 4 + "cargoHash": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs" 5 5 }
+9 -9
pkgs/applications/blockchains/solana-validator/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 - #! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep 2 + #! nix-shell -i oil -p jq moreutils nix-prefetch-github gnused 3 3 4 4 # TODO set to `verbose` or `extdebug` once implemented in oil 5 5 shopt --set xtrace 6 - # we need failures inside of command subs to get the correct cargoSha256 6 + # we need failures inside of command subs to get the correct cargoHash 7 7 shopt --unset inherit_errexit 8 8 9 9 const directory = $(dirname $0 | xargs realpath) ··· 11 11 const repo = "solana" 12 12 const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ 13 13 jq -r '.tag_name') 14 - const latest_version = $(echo $latest_rev | sd 'v' '') 14 + const latest_version = $(echo ${latest_rev#v}) 15 15 const current_version = $(jq -r '.version' $directory/pin.json) 16 16 if ("$latest_version" === "$current_version") { 17 17 echo "solana is already up-to-date" 18 18 return 0 19 19 } else { 20 20 const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") 21 - const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" 21 + const tarball_hash = $(echo $tarball_meta | jq -r '.hash') 22 22 23 23 jq ".version = \"$latest_version\" | \ 24 - .\"sha256\" = \"$tarball_hash\" | \ 25 - .\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json 24 + .\"hash\" = \"$tarball_hash\" | \ 25 + .\"cargoHash\" = \"\"" $directory/pin.json | sponge $directory/pin.json 26 26 27 - const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \ 27 + const new_cargo_hash = $(nix-build -A solana-validator 2>&1 | \ 28 28 tail -n 2 | \ 29 29 head -n 1 | \ 30 - sd '\s+got:\s+' '') 30 + sed 's/\s*got:\s*//') 31 31 32 - jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json 32 + jq ".cargoHash = \"$new_cargo_hash\"" $directory/pin.json | sponge $directory/pin.json 33 33 }
+1 -1
pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/default.nix
··· 55 55 rm -r $out/lib 56 56 ''; 57 57 58 - inherit (srcMeta) cargoSha256; 58 + inherit (srcMeta) cargoHash; 59 59 }; 60 60 61 61 in symlinkJoin {
+2 -2
pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/src.json
··· 3 3 "owner": "emacs-tree-sitter", 4 4 "repo": "elisp-tree-sitter", 5 5 "rev": "909717c685ff5a2327fa2ca8fb8a25216129361c", 6 - "sha256": "LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k=" 6 + "hash": "sha256-LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k=" 7 7 }, 8 8 "version": "0.18.0", 9 - "cargoSha256": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8=" 9 + "cargoHash": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8=" 10 10 }
+6 -6
pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
··· 51 51 ) 52 52 src = json.loads(p.stdout) 53 53 54 - fields = ["owner", "repo", "rev", "sha256"] 54 + fields = ["owner", "repo", "rev", "hash"] 55 55 56 56 return {f: src[f] for f in fields} 57 57 58 58 59 - def get_cargo_sha256(drv_path: str): 59 + def get_cargo_hash(drv_path: str): 60 60 # Note: No check=True since we expect this command to fail 61 61 p = subprocess.run(["nix-store", "-r", drv_path], stderr=subprocess.PIPE) 62 62 ··· 74 74 if m: 75 75 return m.group(1) 76 76 77 - raise ValueError("Could not extract actual sha256 hash: ", stderr) 77 + raise ValueError("Could not extract actual hash: ", stderr) 78 78 79 79 80 80 if __name__ == "__main__": ··· 102 102 nativeBuildInputs = [ clang ]; 103 103 src = fetchFromGitHub (lib.importJSON %s); 104 104 sourceRoot = "source/core"; 105 - cargoSha256 = lib.fakeSha256; 105 + cargoHash = lib.fakeHash; 106 106 } 107 107 """ 108 108 % (tag_name, f.name), 109 109 ) 110 110 111 - cargo_sha256 = get_cargo_sha256(drv_path) 111 + cargo_hash = get_cargo_hash(drv_path) 112 112 113 113 with open(join(cwd, "src.json"), mode="w") as f: 114 114 json.dump( 115 115 { 116 116 "src": src, 117 117 "version": tag_name, 118 - "cargoSha256": cargo_sha256, 118 + "cargoHash": cargo_hash, 119 119 }, 120 120 f, 121 121 indent=2,
+4 -4
pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/update.sh
··· 24 24 ) 25 25 fi 26 26 old_version=$(sed -nE 's/.*\bversion = "(.*)".*/\1/p' ./default.nix) 27 - if grep -q 'cargoSha256 = ""' ./default.nix; then 27 + if grep -q 'cargoHash = ""' ./default.nix; then 28 28 old_version='broken' 29 29 fi 30 30 if [[ "$version" == "$old_version" ]]; then ··· 34 34 35 35 # update hashes 36 36 sed -E 's/\bversion = ".*?"/version = "'$version'"/' --in-place "$nixFile" 37 - srcHash=$(nix-prefetch-github vadimcn vscode-lldb --rev "v$version" | jq --raw-output .sha256) 38 - sed -E 's#\bsha256 = ".*?"#sha256 = "'$srcHash'"#' --in-place "$nixFile" 37 + srcHash=$(nix-prefetch-github vadimcn vscode-lldb --rev "v$version" | jq --raw-output .hash) 38 + sed -E 's#\bhash = ".*?"#hash = "'$srcHash'"#' --in-place "$nixFile" 39 39 cargoHash=$(nix-prefetch "{ sha256 }: (import $nixpkgs {}).vscode-extensions.vadimcn.vscode-lldb.adapter.cargoDeps.overrideAttrs (_: { outputHash = sha256; })") 40 - sed -E 's#\bcargoSha256 = ".*?"#cargoSha256 = "'$cargoHash'"#' --in-place "$nixFile" 40 + sed -E 's#\bcargoHash = ".*?"#cargoHash = "'$cargoHash'"#' --in-place "$nixFile" 41 41 42 42 pushd $TMPDIR 43 43 curl -LO https://raw.githubusercontent.com/$owner/$repo/v${version}/package-lock.json
+85 -85
pkgs/applications/emulators/retroarch/hashes.json
··· 3 3 "owner": "libretro", 4 4 "repo": "libretro-2048", 5 5 "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2", 6 - "sha256": "gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=" 6 + "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=" 7 7 }, 8 8 "atari800": { 9 9 "owner": "libretro", 10 10 "repo": "libretro-atari800", 11 11 "rev": "94033288b026fe699bc50703609807aa8075f4dd", 12 - "sha256": "fTKFELELt1g7t3uPgnXIgeMkkSbl9GHr0/k2FHcpDFI=" 12 + "hash": "sha256-fTKFELELt1g7t3uPgnXIgeMkkSbl9GHr0/k2FHcpDFI=" 13 13 }, 14 14 "beetle-gba": { 15 15 "owner": "libretro", 16 16 "repo": "beetle-gba-libretro", 17 17 "rev": "38182572571a48cb58057cde64b915237c4e2d58", 18 - "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=" 18 + "hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=" 19 19 }, 20 20 "beetle-lynx": { 21 21 "owner": "libretro", 22 22 "repo": "beetle-lynx-libretro", 23 23 "rev": "3ca44fda26f27418c92ada1b0f38b948af2151ae", 24 - "sha256": "f0A8gA3UT40UDaAkWQcPoDd6vAcM37tNtZ2hCOIyBJA=" 24 + "hash": "sha256-f0A8gA3UT40UDaAkWQcPoDd6vAcM37tNtZ2hCOIyBJA=" 25 25 }, 26 26 "beetle-ngp": { 27 27 "owner": "libretro", 28 28 "repo": "beetle-ngp-libretro", 29 29 "rev": "65460e3a9ad529f6901caf669abbda11f437ab55", 30 - "sha256": "+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w=" 30 + "hash": "sha256-+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w=" 31 31 }, 32 32 "beetle-pce-fast": { 33 33 "owner": "libretro", 34 34 "repo": "beetle-pce-fast-libretro", 35 35 "rev": "e480f6388375f59fd3e7aeef8ef8531c20e5c73e", 36 - "sha256": "uURt6rB0IngWzEpl0DjbckdaTIjNwVCm3auvy7AwUdA=" 36 + "hash": "sha256-uURt6rB0IngWzEpl0DjbckdaTIjNwVCm3auvy7AwUdA=" 37 37 }, 38 38 "beetle-pcfx": { 39 39 "owner": "libretro", 40 40 "repo": "beetle-pcfx-libretro", 41 41 "rev": "724bd21b4524f8cf376dbc29c3e5a12cb674c758", 42 - "sha256": "xeIVZ8FWGbETWYRIBNs3Yum7FDit5fb77hhH+RU45BY=" 42 + "hash": "sha256-xeIVZ8FWGbETWYRIBNs3Yum7FDit5fb77hhH+RU45BY=" 43 43 }, 44 44 "beetle-psx": { 45 45 "owner": "libretro", 46 46 "repo": "beetle-psx-libretro", 47 47 "rev": "fd812d4cf8f65644faef1ea8597f826ddc37c0a0", 48 - "sha256": "yvMgnY2dGUk8TvvfDklN3f6b1ol7vDu6AJcYzdwy9pI=" 48 + "hash": "sha256-yvMgnY2dGUk8TvvfDklN3f6b1ol7vDu6AJcYzdwy9pI=" 49 49 }, 50 50 "beetle-saturn": { 51 51 "owner": "libretro", 52 52 "repo": "beetle-saturn-libretro", 53 53 "rev": "9bd31a4a42d06ca0f6d30ee38a569e57c150c414", 54 - "sha256": "RHvH9Jp6c4cgEMTo+p+dU7qgJqjPbRqJLURadjAysrM=" 54 + "hash": "sha256-RHvH9Jp6c4cgEMTo+p+dU7qgJqjPbRqJLURadjAysrM=" 55 55 }, 56 56 "beetle-snes": { 57 57 "owner": "libretro", 58 58 "repo": "beetle-bsnes-libretro", 59 59 "rev": "d770563fc3c4bd9abb522952cefb4aa923ba0b91", 60 - "sha256": "zHPtfgp9hc8Q4gXJ5VgfJLWLeYjCsQhkfU1T5RM7AL0=" 60 + "hash": "sha256-zHPtfgp9hc8Q4gXJ5VgfJLWLeYjCsQhkfU1T5RM7AL0=" 61 61 }, 62 62 "beetle-supafaust": { 63 63 "owner": "libretro", 64 64 "repo": "supafaust", 65 65 "rev": "75c658cce454e58ae04ea252f53a31c60d61548e", 66 - "sha256": "2fXarVfb5/SYXF8t25/fGNFvODpGas5Bi0hLIbXgB+0=" 66 + "hash": "sha256-2fXarVfb5/SYXF8t25/fGNFvODpGas5Bi0hLIbXgB+0=" 67 67 }, 68 68 "beetle-supergrafx": { 69 69 "owner": "libretro", 70 70 "repo": "beetle-supergrafx-libretro", 71 71 "rev": "1ff2daa9377114d5394142f75f1c388b706567ed", 72 - "sha256": "0FCm9kURtUQpyPb8cSmRAxttnUJnhE3EWV8DPvlj8HE=" 72 + "hash": "sha256-0FCm9kURtUQpyPb8cSmRAxttnUJnhE3EWV8DPvlj8HE=" 73 73 }, 74 74 "beetle-vb": { 75 75 "owner": "libretro", 76 76 "repo": "beetle-vb-libretro", 77 77 "rev": "dd6393f76ff781df0f4e8c953f5b053b1e61b313", 78 - "sha256": "C8OtTNdC7GNFsY2EH56in35IX8d6ou/1R04kMvM9674=" 78 + "hash": "sha256-C8OtTNdC7GNFsY2EH56in35IX8d6ou/1R04kMvM9674=" 79 79 }, 80 80 "beetle-wswan": { 81 81 "owner": "libretro", 82 82 "repo": "beetle-wswan-libretro", 83 83 "rev": "81e8b2afd31b7f0f939a3df6d70c8723bcc8a701", 84 - "sha256": "xmDtMC5pId5X4vf9kHO55HmRpp/4ZruOM8QJSl//9R8=" 84 + "hash": "sha256-xmDtMC5pId5X4vf9kHO55HmRpp/4ZruOM8QJSl//9R8=" 85 85 }, 86 86 "blastem": { 87 87 "owner": "libretro", 88 88 "repo": "blastem", 89 89 "rev": "277e4a62668597d4f59cadda1cbafb844f981d45", 90 - "sha256": "EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs=" 90 + "hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs=" 91 91 }, 92 92 "bluemsx": { 93 93 "owner": "libretro", 94 94 "repo": "bluemsx-libretro", 95 95 "rev": "acf358be18644a9df0ed9602d63c2f73d4fe605a", 96 - "sha256": "K4mH+brakYZcVEeYMFUkFThqdZGt2+aP5DfpOgWSJxg=" 96 + "hash": "sha256-K4mH+brakYZcVEeYMFUkFThqdZGt2+aP5DfpOgWSJxg=" 97 97 }, 98 98 "bsnes": { 99 99 "owner": "libretro", 100 100 "repo": "bsnes-libretro", 101 101 "rev": "4da970a334ba4644cef72e560985ea3f31fa40f7", 102 - "sha256": "Bu5j1wrMNVMmxQULZwTdXyWi2i6F5C6m8wFDxvtjYdI=" 102 + "hash": "sha256-Bu5j1wrMNVMmxQULZwTdXyWi2i6F5C6m8wFDxvtjYdI=" 103 103 }, 104 104 "bsnes-hd": { 105 105 "owner": "DerKoun", 106 106 "repo": "bsnes-hd", 107 107 "rev": "04821703aefdc909a4fd66d168433fcac06c2ba7", 108 - "sha256": "QmNthbWb92vel5PFwJRXeEEVZHIxfvZ0ls+csodpGbU=" 108 + "hash": "sha256-QmNthbWb92vel5PFwJRXeEEVZHIxfvZ0ls+csodpGbU=" 109 109 }, 110 110 "bsnes-mercury": { 111 111 "owner": "libretro", 112 112 "repo": "bsnes-mercury", 113 113 "rev": "fb9a41fe9bc230a07c4506cad3cbf21d3fa635b4", 114 - "sha256": "gBOxKSv3j229IVdtffqFV/zSSacEs8UsBERnQgdFw4Y=" 114 + "hash": "sha256-gBOxKSv3j229IVdtffqFV/zSSacEs8UsBERnQgdFw4Y=" 115 115 }, 116 116 "citra": { 117 117 "owner": "libretro", 118 118 "repo": "citra", 119 119 "rev": "d7e1612c17b1acb5d5eb68bb046820db49aeea5e", 120 - "sha256": "u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=", 120 + "hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=", 121 121 "fetchSubmodules": true 122 122 }, 123 123 "desmume": { 124 124 "owner": "libretro", 125 125 "repo": "desmume", 126 126 "rev": "fbd368c8109f95650e1f81bca1facd6d4d8687d7", 127 - "sha256": "7MFa5zd1jdOCqSI+VPl5nAHE7Kfm/lA0lbSPFskzqaQ=" 127 + "hash": "sha256-7MFa5zd1jdOCqSI+VPl5nAHE7Kfm/lA0lbSPFskzqaQ=" 128 128 }, 129 129 "desmume2015": { 130 130 "owner": "libretro", 131 131 "repo": "desmume2015", 132 132 "rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893", 133 - "sha256": "kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U=" 133 + "hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U=" 134 134 }, 135 135 "dolphin": { 136 136 "owner": "libretro", 137 137 "repo": "dolphin", 138 138 "rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04", 139 - "sha256": "9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg=" 139 + "hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg=" 140 140 }, 141 141 "dosbox": { 142 142 "owner": "libretro", 143 143 "repo": "dosbox-libretro", 144 144 "rev": "b7b24262c282c0caef2368c87323ff8c381b3102", 145 - "sha256": "PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=" 145 + "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=" 146 146 }, 147 147 "eightyone": { 148 148 "owner": "libretro", 149 149 "repo": "81-libretro", 150 150 "rev": "340a51b250fb8fbf1a9e5d3ad3924044250064e0", 151 - "sha256": "Cz3gPwbME8lDMKju3dn8hM8O2u9h9+8EUg7Nf6a7epA=" 151 + "hash": "sha256-Cz3gPwbME8lDMKju3dn8hM8O2u9h9+8EUg7Nf6a7epA=" 152 152 }, 153 153 "fbalpha2012": { 154 154 "owner": "libretro", 155 155 "repo": "fbalpha2012", 156 156 "rev": "7f8860543a81ba79c0e1ce1aa219af44568c628a", 157 - "sha256": "r1lH+CR+nVRCPkVo0XwLi35/ven/FEkNhWUTA6cUVxc=" 157 + "hash": "sha256-r1lH+CR+nVRCPkVo0XwLi35/ven/FEkNhWUTA6cUVxc=" 158 158 }, 159 159 "fbneo": { 160 160 "owner": "libretro", 161 161 "repo": "fbneo", 162 162 "rev": "ffcd114b8ea3f3387b66997263ea5df358675aa5", 163 - "sha256": "a4hXRluHQY5hC5jFU2mlqUAI5GmQk6Rbl1HNRA929CI=" 163 + "hash": "sha256-a4hXRluHQY5hC5jFU2mlqUAI5GmQk6Rbl1HNRA929CI=" 164 164 }, 165 165 "fceumm": { 166 166 "owner": "libretro", 167 167 "repo": "libretro-fceumm", 168 168 "rev": "1fa798b220a6df8417dcf7da0ab117533385d9c2", 169 - "sha256": "B1iHZ7BVaM/GBgdD2jNZIEmXcRqKC6YaO9z1ByocMtE=" 169 + "hash": "sha256-B1iHZ7BVaM/GBgdD2jNZIEmXcRqKC6YaO9z1ByocMtE=" 170 170 }, 171 171 "flycast": { 172 172 "owner": "libretro", 173 173 "repo": "flycast", 174 174 "rev": "4c293f306bc16a265c2d768af5d0cea138426054", 175 - "sha256": "9IxpRBY1zifhOebLJSDMA/wiOfcZj+KOiPrgmjiFxvo=" 175 + "hash": "sha256-9IxpRBY1zifhOebLJSDMA/wiOfcZj+KOiPrgmjiFxvo=" 176 176 }, 177 177 "fmsx": { 178 178 "owner": "libretro", 179 179 "repo": "fmsx-libretro", 180 180 "rev": "1360c9ff32b390383567774d01fbe5d6dfcadaa3", 181 - "sha256": "LLGD29HKpV34IOJ2ygjHZZT7XQqHHXccnpGNfWCuabg=" 181 + "hash": "sha256-LLGD29HKpV34IOJ2ygjHZZT7XQqHHXccnpGNfWCuabg=" 182 182 }, 183 183 "freeintv": { 184 184 "owner": "libretro", 185 185 "repo": "freeintv", 186 186 "rev": "9a65ec6e31d48ad0dae1f381c1ec61c897f970cb", 187 - "sha256": "ZeWw/K6i04XRympqZ6sQG/yjN8cJglVcIkxpyRHx424=" 187 + "hash": "sha256-ZeWw/K6i04XRympqZ6sQG/yjN8cJglVcIkxpyRHx424=" 188 188 }, 189 189 "fuse": { 190 190 "owner": "libretro", 191 191 "repo": "fuse-libretro", 192 192 "rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e", 193 - "sha256": "jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM=" 193 + "hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM=" 194 194 }, 195 195 "gambatte": { 196 196 "owner": "libretro", 197 197 "repo": "gambatte-libretro", 198 198 "rev": "ea563fac40e281b29d37f6b56657abef8f1aaf0d", 199 - "sha256": "2jVbEsGkvdH1lA2//mb2Rm3xeh4EyFUcOUXdydSisvk=" 199 + "hash": "sha256-2jVbEsGkvdH1lA2//mb2Rm3xeh4EyFUcOUXdydSisvk=" 200 200 }, 201 201 "genesis-plus-gx": { 202 202 "owner": "libretro", 203 203 "repo": "Genesis-Plus-GX", 204 204 "rev": "f6a9bd72a56a11c2068be2d15fa52dda3e1e8027", 205 - "sha256": "4siJGPRMpXHfP6mBPoDJArNaISTNjPKT69cvtGldadI=" 205 + "hash": "sha256-4siJGPRMpXHfP6mBPoDJArNaISTNjPKT69cvtGldadI=" 206 206 }, 207 207 "gpsp": { 208 208 "owner": "libretro", 209 209 "repo": "gpsp", 210 210 "rev": "541adc9e1c6c9328c07058659594d6300ae0fa19", 211 - "sha256": "2iv/gMOgTZReDgVzEc3WyOdAlYgfANK08CtpZIyPxgA=" 211 + "hash": "sha256-2iv/gMOgTZReDgVzEc3WyOdAlYgfANK08CtpZIyPxgA=" 212 212 }, 213 213 "gw": { 214 214 "owner": "libretro", 215 215 "repo": "gw-libretro", 216 216 "rev": "19a1cb3105ca4a82139fb4994e7995fd956f6f8d", 217 - "sha256": "luhKXzxrXVNAHw8ArF1I78Zch7XEPwI3aqe0f6WRgD0=" 217 + "hash": "sha256-luhKXzxrXVNAHw8ArF1I78Zch7XEPwI3aqe0f6WRgD0=" 218 218 }, 219 219 "handy": { 220 220 "owner": "libretro", 221 221 "repo": "libretro-handy", 222 222 "rev": "63db085af671bad2929078c55434623b7d4632a1", 223 - "sha256": "N6M3KSU4NPJCqoG/UMrna9/6H5PsBBMUQLrvqiIdxpE=" 223 + "hash": "sha256-N6M3KSU4NPJCqoG/UMrna9/6H5PsBBMUQLrvqiIdxpE=" 224 224 }, 225 225 "hatari": { 226 226 "owner": "libretro", 227 227 "repo": "hatari", 228 228 "rev": "1ebf0a0488580ef95c0b28f02223b31813c867c5", 229 - "sha256": "i6dr+fFWPatRCIY+ajIZ1p3ERPV5ktv0nxHKxbGE5ao=" 229 + "hash": "sha256-i6dr+fFWPatRCIY+ajIZ1p3ERPV5ktv0nxHKxbGE5ao=" 230 230 }, 231 231 "mame": { 232 232 "owner": "libretro", 233 233 "repo": "mame", 234 234 "rev": "f7761a9902d59030882c58d4482446196e748c50", 235 - "sha256": "g37WAMt9iBbAYq4DfeTlHWmdW5/Vl7g90v6vCLmMQ3g=" 235 + "hash": "sha256-g37WAMt9iBbAYq4DfeTlHWmdW5/Vl7g90v6vCLmMQ3g=" 236 236 }, 237 237 "mame2000": { 238 238 "owner": "libretro", 239 239 "repo": "mame2000-libretro", 240 240 "rev": "0208517404e841fce0c094f1a2776a0e1c6c101d", 241 - "sha256": "WEJd7wSzY32sqMpMrjCD0hrOyAQq1WMBaGiY/2QQ4BQ=" 241 + "hash": "sha256-WEJd7wSzY32sqMpMrjCD0hrOyAQq1WMBaGiY/2QQ4BQ=" 242 242 }, 243 243 "mame2003": { 244 244 "owner": "libretro", 245 245 "repo": "mame2003-libretro", 246 246 "rev": "b1cc49cf1d8bbef88b890e1c2a315a39d009171b", 247 - "sha256": "bc4uER92gHf20JjR/Qcetvlu89ZmldJ1DiQphJZt/EA=" 247 + "hash": "sha256-bc4uER92gHf20JjR/Qcetvlu89ZmldJ1DiQphJZt/EA=" 248 248 }, 249 249 "mame2003-plus": { 250 250 "owner": "libretro", 251 251 "repo": "mame2003-plus-libretro", 252 252 "rev": "0b9309d9d86aea2457df74709e997bea37899475", 253 - "sha256": "US0nkEH4EeKRejuN8UoDeLt5dhafuo7PEVx0FnpeUG0=" 253 + "hash": "sha256-US0nkEH4EeKRejuN8UoDeLt5dhafuo7PEVx0FnpeUG0=" 254 254 }, 255 255 "mame2010": { 256 256 "owner": "libretro", 257 257 "repo": "mame2010-libretro", 258 258 "rev": "5f524dd5fca63ec1dcf5cca63885286109937587", 259 - "sha256": "OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M=" 259 + "hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M=" 260 260 }, 261 261 "mame2015": { 262 262 "owner": "libretro", 263 263 "repo": "mame2015-libretro", 264 264 "rev": "2599c8aeaf84f62fe16ea00daa460a19298c121c", 265 - "sha256": "TURTX0XrvqwqKG3O3aCttDAdicBdge5F1thVvYgEHaw=" 265 + "hash": "sha256-TURTX0XrvqwqKG3O3aCttDAdicBdge5F1thVvYgEHaw=" 266 266 }, 267 267 "mame2016": { 268 268 "owner": "libretro", 269 269 "repo": "mame2016-libretro", 270 270 "rev": "01058613a0109424c4e7211e49ed83ac950d3993", 271 - "sha256": "IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak=" 271 + "hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak=" 272 272 }, 273 273 "melonds": { 274 274 "owner": "libretro", 275 275 "repo": "melonds", 276 276 "rev": "0e1f06da626cbe67215c3f06f6bdf510dd4e4649", 277 - "sha256": "ax9Vu8+1pNAHWPXrx5QA0n5EsmaJ2T7KJ5Otz8DSZwM=" 277 + "hash": "sha256-ax9Vu8+1pNAHWPXrx5QA0n5EsmaJ2T7KJ5Otz8DSZwM=" 278 278 }, 279 279 "mesen": { 280 280 "owner": "libretro", 281 281 "repo": "mesen", 282 282 "rev": "caa4e6f14373c40bd2805c600d1b476e7616444a", 283 - "sha256": "cnPNBWXbnCpjgW/wJIboiRBzv3zrHWxpNM1kg09ShLU=" 283 + "hash": "sha256-cnPNBWXbnCpjgW/wJIboiRBzv3zrHWxpNM1kg09ShLU=" 284 284 }, 285 285 "mesen-s": { 286 286 "owner": "libretro", 287 287 "repo": "mesen-s", 288 288 "rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8", 289 - "sha256": "/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo=" 289 + "hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo=" 290 290 }, 291 291 "meteor": { 292 292 "owner": "libretro", 293 293 "repo": "meteor-libretro", 294 294 "rev": "e533d300d0561564451bde55a2b73119c768453c", 295 - "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=" 295 + "hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=" 296 296 }, 297 297 "mgba": { 298 298 "owner": "libretro", 299 299 "repo": "mgba", 300 300 "rev": "a69c3434afe8b26cb8f9463077794edfa7d5efad", 301 - "sha256": "rmitsZzRWJ0VYzcNz/UtIK8OscQ4lkyuAwgfXOvSTzg=" 301 + "hash": "sha256-rmitsZzRWJ0VYzcNz/UtIK8OscQ4lkyuAwgfXOvSTzg=" 302 302 }, 303 303 "mupen64plus": { 304 304 "owner": "libretro", 305 305 "repo": "mupen64plus-libretro-nx", 306 306 "rev": "5a63aadedc29655254d8fc7b4da3a325472e198b", 307 - "sha256": "QNa8WGJFShO4vc4idUntCUaLik4xQXBA+X7z5sjZ2NE=" 307 + "hash": "sha256-QNa8WGJFShO4vc4idUntCUaLik4xQXBA+X7z5sjZ2NE=" 308 308 }, 309 309 "neocd": { 310 310 "owner": "libretro", 311 311 "repo": "neocd_libretro", 312 312 "rev": "2070f5258c9d3feee15962f9db8c8ef20072ece8", 313 - "sha256": "X+lS1zW5oTzp7wwurM5xjVqIBwEOCIdj/NX/+33K2qg=" 313 + "hash": "sha256-X+lS1zW5oTzp7wwurM5xjVqIBwEOCIdj/NX/+33K2qg=" 314 314 }, 315 315 "nestopia": { 316 316 "owner": "libretro", 317 317 "repo": "nestopia", 318 318 "rev": "16b14865caf1effca030630e2fc73d2d4271fc53", 319 - "sha256": "dU9X8sK/qDA/Qj0x1GicmSAzQyRqVmLiTcfCPe8+BjM=" 319 + "hash": "sha256-dU9X8sK/qDA/Qj0x1GicmSAzQyRqVmLiTcfCPe8+BjM=" 320 320 }, 321 321 "np2kai": { 322 322 "owner": "AZO234", 323 323 "repo": "NP2kai", 324 324 "rev": "6089943a80a45b6c18d765765f7f31d7a5c0d9c6", 325 - "sha256": "tdF0Qb+smWAVoPmI0dd5s51cnYxMmqM36rQNMiEjU9A=", 325 + "hash": "sha256-tdF0Qb+smWAVoPmI0dd5s51cnYxMmqM36rQNMiEjU9A=", 326 326 "fetchSubmodules": true 327 327 }, 328 328 "nxengine": { 329 329 "owner": "libretro", 330 330 "repo": "nxengine-libretro", 331 331 "rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a", 332 - "sha256": "4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0=" 332 + "hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0=" 333 333 }, 334 334 "o2em": { 335 335 "owner": "libretro", 336 336 "repo": "libretro-o2em", 337 337 "rev": "a2a12472fde910b6089ac3ca6de805bd58a9c999", 338 - "sha256": "0cZYw3rrnaR+PfwReRXadLV8RVLblYqlZxJue6OZncg=" 338 + "hash": "sha256-0cZYw3rrnaR+PfwReRXadLV8RVLblYqlZxJue6OZncg=" 339 339 }, 340 340 "opera": { 341 341 "owner": "libretro", 342 342 "repo": "opera-libretro", 343 343 "rev": "8a49bb8877611037438aeb857cb182f41ee0e3a1", 344 - "sha256": "oH+sQi4D+xkqiJbq7fgGdHjgvyLt8UjlgXIo7K3wXZM=" 344 + "hash": "sha256-oH+sQi4D+xkqiJbq7fgGdHjgvyLt8UjlgXIo7K3wXZM=" 345 345 }, 346 346 "parallel-n64": { 347 347 "owner": "libretro", 348 348 "repo": "parallel-n64", 349 349 "rev": "a03fdcba6b2e9993f050b50112f597ce2f44fa2c", 350 - "sha256": "aJG+s+1OkHQHPvVzlJWU/VziQWj1itKkRwqcEBK+lgA=" 350 + "hash": "sha256-aJG+s+1OkHQHPvVzlJWU/VziQWj1itKkRwqcEBK+lgA=" 351 351 }, 352 352 "pcsx2": { 353 353 "owner": "libretro", 354 354 "repo": "pcsx2", 355 355 "rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9", 356 - "sha256": "0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4=" 356 + "hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4=" 357 357 }, 358 358 "pcsx_rearmed": { 359 359 "owner": "libretro", 360 360 "repo": "pcsx_rearmed", 361 361 "rev": "4373e29de72c917dbcd04ec2a5fb685e69d9def3", 362 - "sha256": "727//NqBNEo6RHNQr1RY5cxMrEvfuJczCo+cUJZVv7U=" 362 + "hash": "sha256-727//NqBNEo6RHNQr1RY5cxMrEvfuJczCo+cUJZVv7U=" 363 363 }, 364 364 "picodrive": { 365 365 "owner": "libretro", 366 366 "repo": "picodrive", 367 367 "rev": "7ab066aab84f15388a53433ea273420bcf917e00", 368 - "sha256": "NK9ASiiIkGZmi2YfCqEzZallVfS7nprLRrBk4dlGyAI=", 368 + "hash": "sha256-NK9ASiiIkGZmi2YfCqEzZallVfS7nprLRrBk4dlGyAI=", 369 369 "fetchSubmodules": true 370 370 }, 371 371 "play": { 372 372 "owner": "jpd002", 373 373 "repo": "Play-", 374 374 "rev": "b33834af08a4954f06be215eee80a72e7a378e91", 375 - "sha256": "IxZk+kSdrkDAabbzdFM8QUrjaJUc1DHjSfAtDuwDJkw=", 375 + "hash": "sha256-IxZk+kSdrkDAabbzdFM8QUrjaJUc1DHjSfAtDuwDJkw=", 376 376 "fetchSubmodules": true 377 377 }, 378 378 "ppsspp": { 379 379 "owner": "hrydgard", 380 380 "repo": "ppsspp", 381 381 "rev": "7df51c3d060a780b7383c5c1380e346ad9304bb4", 382 - "sha256": "GK3W0/yWaID3s0W0v6TcgJ0ZU984YspWMS6+XLyThjM=", 382 + "hash": "sha256-GK3W0/yWaID3s0W0v6TcgJ0ZU984YspWMS6+XLyThjM=", 383 383 "fetchSubmodules": true 384 384 }, 385 385 "prboom": { 386 386 "owner": "libretro", 387 387 "repo": "libretro-prboom", 388 388 "rev": "d9c3975669b4aab5a1397e0174838bcbbc3c1582", 389 - "sha256": "klSJ7QIpNjlfyjhfeEQZ3j8Gnp4agd0qKVp0vr+KHVA=" 389 + "hash": "sha256-klSJ7QIpNjlfyjhfeEQZ3j8Gnp4agd0qKVp0vr+KHVA=" 390 390 }, 391 391 "prosystem": { 392 392 "owner": "libretro", 393 393 "repo": "prosystem-libretro", 394 394 "rev": "763ad22c7de51c8f06d6be0d49c554ce6a94a29b", 395 - "sha256": "rE/hxP8hl9lLTNx/WympFDByjZs46ekyxLKRV4V8D9E=" 395 + "hash": "sha256-rE/hxP8hl9lLTNx/WympFDByjZs46ekyxLKRV4V8D9E=" 396 396 }, 397 397 "puae": { 398 398 "owner": "libretro", 399 399 "repo": "libretro-uae", 400 400 "rev": "ae58c0f226b654d643b9f2dce58f64657f57cb76", 401 - "sha256": "6oMTwCYGdVhh+R853gOQRzZfa7slDwe6aGVCvdm6NDU=" 401 + "hash": "sha256-6oMTwCYGdVhh+R853gOQRzZfa7slDwe6aGVCvdm6NDU=" 402 402 }, 403 403 "quicknes": { 404 404 "owner": "libretro", 405 405 "repo": "QuickNES_Core", 406 406 "rev": "75d501a87ec2074e8d2f7256fb0359513c263c29", 407 - "sha256": "yAHVTgOt8SGyPXihp4YNKKAvxl9VBBAvHyzLW86zSCw=" 407 + "hash": "sha256-yAHVTgOt8SGyPXihp4YNKKAvxl9VBBAvHyzLW86zSCw=" 408 408 }, 409 409 "sameboy": { 410 410 "owner": "libretro", 411 411 "repo": "sameboy", 412 412 "rev": "09138330990da32362246c7034cf4de2ea0a2a2b", 413 - "sha256": "hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4=" 413 + "hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4=" 414 414 }, 415 415 "scummvm": { 416 416 "owner": "libretro", 417 417 "repo": "scummvm", 418 418 "rev": "ab2e5d59cd25dfa5943d45c2567e8330d67fad8b", 419 - "sha256": "9IaQR0prbCT70iWA99NMgGAKPobifdWBX17p4zL0fEM=" 419 + "hash": "sha256-9IaQR0prbCT70iWA99NMgGAKPobifdWBX17p4zL0fEM=" 420 420 }, 421 421 "smsplus-gx": { 422 422 "owner": "libretro", 423 423 "repo": "smsplus-gx", 424 424 "rev": "60af17ddb2231ba98f4ed1203e2a2f58d08ea088", 425 - "sha256": "2SZR9BOTYLmtjEF4Bdl49H2pFNEIaU68VqlA7ll5TqU=" 425 + "hash": "sha256-2SZR9BOTYLmtjEF4Bdl49H2pFNEIaU68VqlA7ll5TqU=" 426 426 }, 427 427 "snes9x": { 428 428 "owner": "snes9xgit", 429 429 "repo": "snes9x", 430 430 "rev": "cc0a87711a7a208cabefc9fd1dbb90e31fe51684", 431 - "sha256": "1m6QvYl5Z0WM1XeXCYLvQaXH8A15P3x8ZzwdFeVPeWo=" 431 + "hash": "sha256-1m6QvYl5Z0WM1XeXCYLvQaXH8A15P3x8ZzwdFeVPeWo=" 432 432 }, 433 433 "snes9x2002": { 434 434 "owner": "libretro", 435 435 "repo": "snes9x2002", 436 436 "rev": "540baad622d9833bba7e0696193cb06f5f02f564", 437 - "sha256": "WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs=" 437 + "hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs=" 438 438 }, 439 439 "snes9x2005": { 440 440 "owner": "libretro", 441 441 "repo": "snes9x2005", 442 442 "rev": "fd45b0e055bce6cff3acde77414558784e93e7d0", 443 - "sha256": "zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI=" 443 + "hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI=" 444 444 }, 445 445 "snes9x2010": { 446 446 "owner": "libretro", 447 447 "repo": "snes9x2010", 448 448 "rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf", 449 - "sha256": "7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU=" 449 + "hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU=" 450 450 }, 451 451 "stella": { 452 452 "owner": "stella-emu", 453 453 "repo": "stella", 454 454 "rev": "93ea39d6155f08c21707a85a0b04b33008a7ab15", 455 - "sha256": "9dCBaLxb1CBbngBd3tJ0x5lT+dnzzhK2DO4Gk/S6WW4=" 455 + "hash": "sha256-9dCBaLxb1CBbngBd3tJ0x5lT+dnzzhK2DO4Gk/S6WW4=" 456 456 }, 457 457 "stella2014": { 458 458 "owner": "libretro", 459 459 "repo": "stella2014-libretro", 460 460 "rev": "8ab051edd4816f33a5631d230d54059eeed52c5f", 461 - "sha256": "wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0=" 461 + "hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0=" 462 462 }, 463 463 "swanstation": { 464 464 "owner": "libretro", 465 465 "repo": "swanstation", 466 466 "rev": "e24f21196cdcd50321475c4366b51af245a6bbe6", 467 - "sha256": "DjAB0Z0yY9IGESeNNkkbdoAO5ItJ/8cZ5ycRofHG978=" 467 + "hash": "sha256-DjAB0Z0yY9IGESeNNkkbdoAO5ItJ/8cZ5ycRofHG978=" 468 468 }, 469 469 "tgbdual": { 470 470 "owner": "libretro", 471 471 "repo": "tgbdual-libretro", 472 472 "rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3", 473 - "sha256": "MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs=" 473 + "hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs=" 474 474 }, 475 475 "thepowdertoy": { 476 476 "owner": "libretro", 477 477 "repo": "ThePowderToy", 478 478 "rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243", 479 - "sha256": "aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo=" 479 + "hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo=" 480 480 }, 481 481 "tic80": { 482 482 "owner": "libretro", 483 483 "repo": "tic-80", 484 484 "rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11", 485 - "sha256": "RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=", 485 + "hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=", 486 486 "fetchSubmodules": true 487 487 }, 488 488 "vba-m": { 489 489 "owner": "libretro", 490 490 "repo": "vbam-libretro", 491 491 "rev": "640ce45325694d1dc574e90c95c55bc464368d7e", 492 - "sha256": "aiIeleZHt95Y/kigLEbRaCb3KM0ezMB7yzO16FbuBNM=" 492 + "hash": "sha256-aiIeleZHt95Y/kigLEbRaCb3KM0ezMB7yzO16FbuBNM=" 493 493 }, 494 494 "vba-next": { 495 495 "owner": "libretro", 496 496 "repo": "vba-next", 497 497 "rev": "0c310082a6345790124e9348861b300bcccbeced", 498 - "sha256": "RQx/WR83EtPcQkx0ft4Y0/5LaKIOST3L/fh4qoPxz78=" 498 + "hash": "sha256-RQx/WR83EtPcQkx0ft4Y0/5LaKIOST3L/fh4qoPxz78=" 499 499 }, 500 500 "vecx": { 501 501 "owner": "libretro", 502 502 "repo": "libretro-vecx", 503 503 "rev": "8e932c1d585ae9e467186dea9e73ce38fe1490f7", 504 - "sha256": "2Vo30yiP6SfUt3XHCfQTKTKEtCywdRIoUe6d0Or21WM=" 504 + "hash": "sha256-2Vo30yiP6SfUt3XHCfQTKTKEtCywdRIoUe6d0Or21WM=" 505 505 }, 506 506 "virtualjaguar": { 507 507 "owner": "libretro", 508 508 "repo": "virtualjaguar-libretro", 509 509 "rev": "2cc06899b839639397b8b30384a191424b6f529d", 510 - "sha256": "7FiU5/n1hVePttkz7aVfXXx88+zX06/5SJk3EaRYvhQ=" 510 + "hash": "sha256-7FiU5/n1hVePttkz7aVfXXx88+zX06/5SJk3EaRYvhQ=" 511 511 }, 512 512 "yabause": { 513 513 "owner": "libretro", 514 514 "repo": "yabause", 515 515 "rev": "4c96b96f7fbe07223627c469ff33376b2a634748", 516 - "sha256": "7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8=" 516 + "hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8=" 517 517 } 518 518 }
+2 -2
pkgs/applications/misc/tandoor-recipes/common.nix
··· 6 6 owner = "TandoorRecipes"; 7 7 repo = "recipes"; 8 8 rev = version; 9 - sha256 = "sha256-cVrgmRDzuLzl2+4UcrLRdrP6ZFWMkavu9OEogNas2fA="; 9 + hash = "sha256-cVrgmRDzuLzl2+4UcrLRdrP6ZFWMkavu9OEogNas2fA="; 10 10 }; 11 11 12 - yarnSha256 = "sha256-0u9P/OsoThP8gonrzcnO5zhIboWMI1mTsXHlbt7l9oE="; 12 + yarnHash = "sha256-0u9P/OsoThP8gonrzcnO5zhIboWMI1mTsXHlbt7l9oE="; 13 13 14 14 meta = with lib; { 15 15 homepage = "https://tandoor.dev/";
+1 -1
pkgs/applications/misc/tandoor-recipes/frontend.nix
··· 10 10 11 11 yarnOfflineCache = fetchYarnDeps { 12 12 yarnLock = "${common.src}/vue/yarn.lock"; 13 - sha256 = common.yarnSha256; 13 + hash = common.yarnHash; 14 14 }; 15 15 16 16 nativeBuildInputs = [
+3 -4
pkgs/applications/misc/tandoor-recipes/update.sh
··· 23 23 24 24 package_src="https://raw.githubusercontent.com/TandoorRecipes/recipes/$version" 25 25 26 - src_hash=$(nix-prefetch-github TandoorRecipes recipes --rev "${version}" | jq -r .sha256) 26 + src_hash=$(nix-prefetch-github TandoorRecipes recipes --rev "${version}" | jq -r .hash) 27 27 28 28 tmpdir=$(mktemp -d) 29 29 trap 'rm -rf "$tmpdir"' EXIT ··· 34 34 popd 35 35 36 36 # Use friendlier hashes 37 - src_hash=$(nix hash to-sri --type sha256 "$src_hash") 38 37 yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash") 39 38 40 39 sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix 41 - sed -i -E -e "s#sha256 = \".*\"#sha256 = \"$src_hash\"#" common.nix 42 - sed -i -E -e "s#yarnSha256 = \".*\"#yarnSha256 = \"$yarn_hash\"#" common.nix 40 + sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" common.nix 41 + sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix
+1 -1
pkgs/applications/networking/instant-messengers/element/element-desktop.nix
··· 32 32 owner = "vector-im"; 33 33 repo = "element-desktop"; 34 34 rev = "v${finalAttrs.version}"; 35 - sha256 = desktopSrcHash; 35 + hash = desktopSrcHash; 36 36 }; 37 37 38 38 offlineCache = fetchYarnDeps {
+1 -1
pkgs/applications/networking/instant-messengers/element/element-web.nix
··· 25 25 owner = "vector-im"; 26 26 repo = finalAttrs.pname; 27 27 rev = "v${finalAttrs.version}"; 28 - sha256 = webSrcHash; 28 + hash = webSrcHash; 29 29 }; 30 30 31 31 offlineCache = fetchYarnDeps {
+1 -1
pkgs/applications/networking/instant-messengers/element/keytar/default.nix
··· 12 12 owner = "atom"; 13 13 repo = "node-keytar"; 14 14 rev = "v${version}"; 15 - sha256 = pinData.srcHash; 15 + hash = pinData.srcHash; 16 16 }; 17 17 18 18 nativeBuildInputs = [
+1 -1
pkgs/applications/networking/instant-messengers/element/keytar/pin.json
··· 1 1 { 2 2 "version": "7.9.0", 3 - "srcHash": "Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=", 3 + "srcHash": "sha256-Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=", 4 4 "npmHash": "sha256-ldfRWV+HXBdBYO2ZiGbVFSHV4/bMG43U7w+sJ4kpVUY=" 5 5 }
+2 -2
pkgs/applications/networking/instant-messengers/element/keytar/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 - #!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps 2 + #!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps nix-prefetch-github 3 3 4 4 if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then 5 5 echo "Regenerates packaging data for the keytar package." ··· 25 25 npm_hash=$(prefetch-npm-deps package-lock.json) 26 26 rm -rf node_modules package.json package-lock.json 27 27 28 - src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .sha256) 28 + src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .hash) 29 29 30 30 cat > pin.json << EOF 31 31 {
+2 -2
pkgs/applications/networking/instant-messengers/element/pin.nix
··· 1 1 { 2 2 "version" = "1.11.36"; 3 3 "hashes" = { 4 - "desktopSrcHash" = "MMTuyyUXur5Fy24aXPWtZbQLAaXR2R7coEi8ZOJo1YI="; 4 + "desktopSrcHash" = "sha256-MMTuyyUXur5Fy24aXPWtZbQLAaXR2R7coEi8ZOJo1YI="; 5 5 "desktopYarnHash" = "03wmdqnxzjrvdypwrb5z564liiqamwn6qmw2fww1mja8dkdkx5ng"; 6 - "webSrcHash" = "u+Y/iLRlTd5RkczF6qIaer9HKFnm8LUGP8ZnB/WfiGI="; 6 + "webSrcHash" = "sha256-u+Y/iLRlTd5RkczF6qIaer9HKFnm8LUGP8ZnB/WfiGI="; 7 7 "webYarnHash" = "0s9ly1hr9jvb2asgjf6g5n5n5w6qh51wkwyl7ps891c0hv9m28zm"; 8 8 }; 9 9 }
+2 -4
pkgs/applications/networking/instant-messengers/element/seshat/default.nix
··· 5 5 6 6 in rustPlatform.buildRustPackage rec { 7 7 pname = "seshat-node"; 8 - inherit (pinData) version; 8 + inherit (pinData) version cargoHash; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "matrix-org"; 12 12 repo = "seshat"; 13 13 rev = version; 14 - sha256 = pinData.srcHash; 14 + hash = pinData.srcHash; 15 15 }; 16 16 17 17 sourceRoot = "source/seshat-node/native"; ··· 53 53 ''; 54 54 55 55 disallowedReferences = [ stdenv.cc.cc ]; 56 - 57 - cargoSha256 = pinData.cargoHash; 58 56 }
+1 -1
pkgs/applications/networking/instant-messengers/element/seshat/pin.json
··· 1 1 { 2 2 "version": "2.3.3", 3 - "srcHash": "HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=", 3 + "srcHash": "sha256-HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=", 4 4 "yarnHash": "1cbkv8ap7f8vxl5brzqb86d2dyxg555sz67cldrp0vgnk8sq6ibp", 5 5 "cargoHash": "sha256-WsgTbQ91aZZV5sIuFVjsccdiXivjtAUC1Zs/4uNk1zU=" 6 6 }
+2 -2
pkgs/applications/networking/instant-messengers/element/seshat/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 - #!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn nix-prefetch 2 + #!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn nix-prefetch nix-prefetch-github 3 3 4 4 if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then 5 5 echo "Regenerates packaging data for the seshat package." ··· 25 25 yarn_hash=$(prefetch-yarn-deps yarn.lock) 26 26 popd 27 27 28 - src_hash=$(nix-prefetch-github matrix-org seshat --rev ${version} | jq -r .sha256) 28 + src_hash=$(nix-prefetch-github matrix-org seshat --rev ${version} | jq -r .hash) 29 29 30 30 cat > pin.json << EOF 31 31 {
+2 -2
pkgs/applications/networking/instant-messengers/element/update.sh
··· 20 20 21 21 # Element Web 22 22 web_src="https://raw.githubusercontent.com/vector-im/element-web/v$version" 23 - web_src_hash=$(nix-prefetch-github vector-im element-web --rev v${version} | jq -r .sha256) 23 + web_src_hash=$(nix-prefetch-github vector-im element-web --rev v${version} | jq -r .hash) 24 24 25 25 web_tmpdir=$(mktemp -d) 26 26 trap 'rm -rf "$web_tmpdir"' EXIT ··· 32 32 33 33 # Element Desktop 34 34 desktop_src="https://raw.githubusercontent.com/vector-im/element-desktop/v$version" 35 - desktop_src_hash=$(nix-prefetch-github vector-im element-desktop --rev v${version} | jq -r .sha256) 35 + desktop_src_hash=$(nix-prefetch-github vector-im element-desktop --rev v${version} | jq -r .hash) 36 36 37 37 desktop_tmpdir=$(mktemp -d) 38 38 trap 'rm -rf "$desktop_tmpdir"' EXIT
+1 -1
pkgs/applications/networking/misc/zammad/source.json
··· 2 2 "owner": "zammad", 3 3 "repo": "zammad", 4 4 "rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678", 5 - "sha256": "vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=", 5 + "hash": "sha256-vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=", 6 6 "fetchSubmodules": true 7 7 } 8 8
+2 -2
pkgs/development/python-modules/nix-prefetch-github/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "nix-prefetch-github"; 12 - version = "6.0.1"; 12 + version = "7.0.0"; 13 13 14 14 disabled = pythonOlder "3.8"; 15 15 ··· 17 17 owner = "seppeljordan"; 18 18 repo = "nix-prefetch-github"; 19 19 rev = "v${version}"; 20 - sha256 = "tvoDSqg4g517c1w0VcsVm3r4mBFG3RHaOTAJAv1ooc4="; 20 + hash = "sha256-oIR2iEiOBQ1VKouJTLqEiWWNzrMSJcnxK+m/j9Ia/m8="; 21 21 }; 22 22 23 23 nativeCheckInputs = [ unittestCheckHook git which ];
+4 -4
pkgs/development/tools/continuous-integration/woodpecker/common.nix
··· 1 1 { lib, fetchFromGitHub }: 2 2 let 3 3 version = "0.15.8"; 4 - srcSha256 = "sha256-7CTRx7I47VEKfPvkWhmpyHV3hkeLyHymFMrkyYQ1wl8="; 5 - yarnSha256 = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc="; 4 + srcHash = "sha256-7CTRx7I47VEKfPvkWhmpyHV3hkeLyHymFMrkyYQ1wl8="; 5 + yarnHash = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc="; 6 6 in 7 7 { 8 - inherit version yarnSha256; 8 + inherit version yarnHash; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "woodpecker-ci"; 12 12 repo = "woodpecker"; 13 13 rev = "v${version}"; 14 - sha256 = srcSha256; 14 + hash = srcHash; 15 15 }; 16 16 17 17 postBuild = ''
+1 -1
pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
··· 11 11 packageJSON = ./woodpecker-package.json; 12 12 offlineCache = fetchYarnDeps { 13 13 yarnLock = "${common.src}/web/yarn.lock"; 14 - sha256 = common.yarnSha256; 14 + hash = common.yarnHash; 15 15 }; 16 16 17 17 buildPhase = ''
+3 -4
pkgs/development/tools/continuous-integration/woodpecker/update.sh
··· 28 28 version="${version#v}" 29 29 30 30 # Woodpecker repository 31 - src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .sha256) 31 + src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .hash) 32 32 33 33 # Front-end dependencies 34 34 woodpecker_src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/v$version" ··· 42 42 popd 43 43 44 44 # Use friendlier hashes 45 - src_hash=$(nix hash to-sri --type sha256 "$src_hash") 46 45 yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash") 47 46 48 47 sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix 49 - sed -i -E -e "s#srcSha256 = \".*\"#srcSha256 = \"$src_hash\"#" common.nix 50 - sed -i -E -e "s#yarnSha256 = \".*\"#yarnSha256 = \"$yarn_hash\"#" common.nix 48 + sed -i -E -e "s#srcHash = \".*\"#srcHash = \"$src_hash\"#" common.nix 49 + sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix
+1 -1
pkgs/development/web/netlify-cli/default.nix
··· 8 8 export ESBUILD_BINARY_PATH="${pkgs.esbuild_netlify}/bin/esbuild" 9 9 ''; 10 10 src = fetchFromGitHub { 11 - inherit (sourceInfo) owner repo rev sha256; 11 + inherit (sourceInfo) owner repo rev hash; 12 12 }; 13 13 bypassCache = true; 14 14 reconstructLock = true;
+1 -1
pkgs/development/web/netlify-cli/generate.sh
··· 2 2 set -eu -o pipefail 3 3 cd "$( dirname "${BASH_SOURCE[0]}" )" 4 4 rm -f ./node-env.nix 5 - src="$(nix-build --expr 'let pkgs = import ../../../.. {}; meta = (pkgs.lib.importJSON ./netlify-cli.json); in pkgs.fetchFromGitHub { inherit (meta) owner repo rev sha256; }')" 5 + src="$(nix-build --expr 'let pkgs = import ../../../.. {}; meta = (pkgs.lib.importJSON ./netlify-cli.json); in pkgs.fetchFromGitHub { inherit (meta) owner repo rev hash; }')" 6 6 echo $src 7 7 node2nix \ 8 8 --input $src/package.json \
+1 -4
pkgs/development/web/netlify-cli/netlify-cli.json
··· 2 2 "owner": "netlify", 3 3 "repo": "cli", 4 4 "rev": "6c7e8c9a4db4e2e408f65e6098a194497944e306", 5 - "sha256": "YMnQrurZDJtfeHBCIzy6vToGHnqtdRGvWFPX5RcWyPg=", 6 - "fetchSubmodules": false, 7 - "leaveDotGit": false, 8 - "deepClone": false 5 + "hash": "sha256-YMnQrurZDJtfeHBCIzy6vToGHnqtdRGvWFPX5RcWyPg=" 9 6 }
+1 -2
pkgs/development/web/pnpm-lock-export/update.sh
··· 28 28 version="${version#v}" 29 29 30 30 # pnpm-lock-export repository 31 - src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .sha256) 31 + src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .hash) 32 32 33 33 # Front-end dependencies 34 34 upstream_src="https://raw.githubusercontent.com/cvent/pnpm-lock-export/v$version" ··· 39 39 deps_hash=$(prefetch-npm-deps package-lock.json) 40 40 41 41 # Use friendlier hashes 42 - src_hash=$(nix hash to-sri --type sha256 "$src_hash") 43 42 deps_hash=$(nix hash to-sri --type sha256 "$deps_hash") 44 43 45 44 sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix
+1 -1
pkgs/servers/jellyseerr/default.nix
··· 23 23 owner = "Fallenbagel"; 24 24 repo = "jellyseerr"; 25 25 rev = "v${version}"; 26 - sha256 = pin.srcSha256; 26 + hash = pin.srcHash; 27 27 }; 28 28 29 29 packageJSON = ./package.json;
+1 -1
pkgs/servers/jellyseerr/pin.json
··· 1 1 { 2 2 "version": "1.4.1", 3 - "srcSha256": "LDqlQfy1bm2xMNn1oulImfanQmJX57P48VaZn0Jxwpk=", 3 + "srcHash": "sha256-LDqlQfy1bm2xMNn1oulImfanQmJX57P48VaZn0Jxwpk=", 4 4 "yarnSha256": "162aip7r5vcpfj1sn42qwwdlwnaii32bd2k0gp9py1z0zmw0lwlf" 5 5 }
+2 -2
pkgs/servers/jellyseerr/update.sh
··· 19 19 fi 20 20 21 21 src="https://raw.githubusercontent.com/Fallenbagel/jellyseerr/$tag" 22 - src_sha256=$(nix-prefetch-github Fallenbagel jellyseerr --rev ${tag} | jq -r .sha256) 22 + src_hash=$(nix-prefetch-github Fallenbagel jellyseerr --rev ${tag} | jq -r .hash) 23 23 24 24 tmpdir=$(mktemp -d) 25 25 trap 'rm -rf "$tmpdir"' EXIT ··· 33 33 cat > pin.json << EOF 34 34 { 35 35 "version": "$(echo $tag | grep -P '(\d|\.)+' -o)", 36 - "srcSha256": "$src_sha256", 36 + "srcHash": "$src_hash", 37 37 "yarnSha256": "$yarn_sha256" 38 38 } 39 39 EOF
+1 -1
pkgs/servers/mastodon/source.nix
··· 4 4 owner = "mastodon"; 5 5 repo = "mastodon"; 6 6 rev = "v4.1.4"; 7 - sha256 = "8ULBO8IdwBzC5dgX3netTHbbRrODX4CropWZWtqWHZw="; 7 + hash = "sha256-8ULBO8IdwBzC5dgX3netTHbbRrODX4CropWZWtqWHZw="; 8 8 }; 9 9 in applyPatches { 10 10 inherit src;
+2 -2
pkgs/servers/mastodon/update.sh
··· 76 76 77 77 echo "Fetching source code $REVISION" 78 78 JSON=$(nix-prefetch-github "$OWNER" "$REPO" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out) 79 - SHA=$(echo "$JSON" | jq -r .sha256) 79 + HASH=$(echo "$JSON" | jq -r .hash) 80 80 81 81 echo "Creating version.nix" 82 82 echo "\"$VERSION\"" | sed 's/^"v/"/' > version.nix ··· 88 88 owner = "mastodon"; 89 89 repo = "mastodon"; 90 90 rev = "$REVISION"; 91 - sha256 = "$SHA"; 91 + hash = "$HASH"; 92 92 }; 93 93 in applyPatches { 94 94 inherit src;
+1 -1
pkgs/servers/matrix-appservice-discord/default.nix
··· 22 22 owner = "matrix-org"; 23 23 repo = "matrix-appservice-discord"; 24 24 rev = "v${version}"; 25 - sha256 = pin.srcSha256; 25 + hash = pin.srcHash; 26 26 }; 27 27 28 28 packageJSON = ./package.json;
+1 -1
pkgs/servers/matrix-appservice-discord/pin.json
··· 1 1 { 2 2 "version": "3.1.1", 3 - "srcSha256": "g681w7RD96/xKP+WnIyY4bcVHVQhysgDPZo4TgCRiuY=", 3 + "srcHash": "sha256-g681w7RD96/xKP+WnIyY4bcVHVQhysgDPZo4TgCRiuY=", 4 4 "yarnSha256": "0cm9yprj0ajmrdpap3p2lx3xrrkar6gghlxnj9127ks6p5c1ji3r" 5 5 }
+2 -2
pkgs/servers/matrix-appservice-discord/update.sh
··· 22 22 fi 23 23 24 24 src="https://raw.githubusercontent.com/$ORG/$PROJ/$tag" 25 - src_sha256=$(nix-prefetch-github $ORG $PROJ --rev ${tag} | jq -r .sha256) 25 + src_hash=$(nix-prefetch-github $ORG $PROJ --rev ${tag} | jq -r .hash) 26 26 27 27 tmpdir=$(mktemp -d) 28 28 trap 'rm -rf "$tmpdir"' EXIT ··· 36 36 cat > pin.json << EOF 37 37 { 38 38 "version": "$(echo $tag | grep -P '(\d|\.)+' -o)", 39 - "srcSha256": "$src_sha256", 39 + "srcSha256": "$src_hash", 40 40 "yarnSha256": "$yarn_sha256" 41 41 } 42 42 EOF
+1 -1
pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
··· 19 19 owner = "matrix-org"; 20 20 repo = "matrix-appservice-slack"; 21 21 rev = data.version; 22 - sha256 = data.srcHash; 22 + hash = data.srcHash; 23 23 }; 24 24 25 25 offlineCache = fetchYarnDeps {
+1 -1
pkgs/servers/matrix-synapse/matrix-appservice-slack/pin.json
··· 1 1 { 2 2 "version": "2.1.1", 3 - "srcHash": "+NO/V3EyqdxavnSTBU7weJnueL6+aCH3UWkqclpsId0=", 3 + "srcHash": "sha256-+NO/V3EyqdxavnSTBU7weJnueL6+aCH3UWkqclpsId0=", 4 4 "yarnHash": "1pqv7g3xbfs4zhmyxy5p216kq2jwjfjzxw2dv2a7hl0qwk6igyki" 5 5 }
+1 -1
pkgs/servers/matrix-synapse/matrix-appservice-slack/update.sh
··· 16 16 fi 17 17 18 18 src="https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/$version" 19 - src_hash=$(nix-prefetch-github matrix-org matrix-appservice-slack --rev ${version} | jq -r .sha256) 19 + src_hash=$(nix-prefetch-github matrix-org matrix-appservice-slack --rev ${version} | jq -r .hash) 20 20 21 21 tmpdir=$(mktemp -d) 22 22 trap 'rm -rf "$tmpdir"' EXIT
+2 -2
pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
··· 26 26 owner = "matrix-org"; 27 27 repo = "matrix-hookshot"; 28 28 rev = data.version; 29 - sha256 = data.srcHash; 29 + hash = data.srcHash; 30 30 }; 31 31 32 32 packageJSON = ./package.json; ··· 39 39 cargoDeps = rustPlatform.fetchCargoTarball { 40 40 inherit src; 41 41 name = "${pname}-${version}"; 42 - sha256 = data.cargoHash; 42 + hash = data.cargoHash; 43 43 }; 44 44 45 45 packageResolutions = {
+2 -2
pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
··· 1 1 { 2 2 "version": "4.4.0", 3 - "srcHash": "mPLDdAVIMb5d2LPGtIfm/ofRs42081S3+QTsvqkfp3s=", 3 + "srcHash": "sha256-mPLDdAVIMb5d2LPGtIfm/ofRs42081S3+QTsvqkfp3s=", 4 4 "yarnHash": "0qd3h870mk3a2lzm0r7kyh07ykw86h9xwai9h205gnv1w0d59z6i", 5 - "cargoHash": "NGcnRKasYE4dleQLq+E4cM6C04Rfu4AsenDznGyC2Nk=" 5 + "cargoHash": "sha256-NGcnRKasYE4dleQLq+E4cM6C04Rfu4AsenDznGyC2Nk=" 6 6 }
+2 -2
pkgs/servers/matrix-synapse/matrix-hookshot/update.sh
··· 15 15 fi 16 16 17 17 src="https://raw.githubusercontent.com/matrix-org/matrix-hookshot/$version" 18 - src_hash=$(nix-prefetch-github matrix-org matrix-hookshot --rev ${version} | jq -r .sha256) 18 + src_hash=$(nix-prefetch-github matrix-org matrix-hookshot --rev ${version} | jq -r .hash) 19 19 20 20 tmpdir=$(mktemp -d) 21 21 trap 'rm -rf "$tmpdir"' EXIT ··· 32 32 "version": "$version", 33 33 "srcHash": "$src_hash", 34 34 "yarnHash": "$yarn_hash", 35 - "cargoHash": "0000000000000000000000000000000000000000000000000000" 35 + "cargoHash": "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" 36 36 } 37 37 EOF
+2 -2
pkgs/servers/memos/default.nix
··· 6 6 owner = "usememos"; 7 7 repo = "memos"; 8 8 rev = "v${version}"; 9 - sha256 = "lcOZg5mlFPp04ZCm5GDhQfSwE2ahSmGhmdAw+pygK0A="; 9 + hash = "sha256-lcOZg5mlFPp04ZCm5GDhQfSwE2ahSmGhmdAw+pygK0A="; 10 10 }; 11 11 12 12 frontend = buildNpmPackage { ··· 32 32 33 33 # check will unable to access network in sandbox 34 34 doCheck = false; 35 - vendorSha256 = "sha256-UM/xeRvfvlq+jGzWpc3EU5GJ6Dt7RmTbSt9h3da6f8w="; 35 + vendorHash = "sha256-UM/xeRvfvlq+jGzWpc3EU5GJ6Dt7RmTbSt9h3da6f8w="; 36 36 37 37 # Inject frontend assets into go embed 38 38 prePatch = ''
+3 -3
pkgs/servers/memos/update.sh
··· 34 34 35 35 # update hash 36 36 SRC_HASH="$(nix-instantiate --eval -A memos.src.outputHash | tr -d '"')" 37 - NEW_HASH="$(nix-prefetch-github usememos memos --rev v$TARGET_VERSION | jq -r .sha256)" 37 + NEW_HASH="$(nix-prefetch-github usememos memos --rev v$TARGET_VERSION | jq -r .hash)" 38 38 39 39 replaceHash "$SRC_HASH" "$NEW_HASH" 40 40 41 - GO_HASH="$(nix-instantiate --eval -A memos.vendorSha256 | tr -d '"')" 42 - EMPTY_HASH="$(nix-instantiate --eval -A lib.fakeSha256 | tr -d '"')" 41 + GO_HASH="$(nix-instantiate --eval -A memos.vendorHash | tr -d '"')" 42 + EMPTY_HASH="$(nix-instantiate --eval -A lib.fakeHash | tr -d '"')" 43 43 replaceHash "$GO_HASH" "$EMPTY_HASH" 44 44 replaceHash "$EMPTY_HASH" "$(extractVendorHash "$GO_HASH")" 45 45
+1 -1
pkgs/servers/web-apps/hedgedoc/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 - #!nix-shell -I nixpkgs=../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq 2 + #!nix-shell -I nixpkgs=../../../../ -i bash -p nix wget prefetch-yarn-deps jq 3 3 set -euo pipefail 4 4 cd "$(dirname "$0")" 5 5
+4 -4
pkgs/servers/web-apps/lemmy/pin.json
··· 1 1 { 2 2 "serverVersion": "0.18.2", 3 3 "uiVersion": "0.18.2", 4 - "serverSha256": "sha256-T08CjsRREgGJb1vXJrYihYaCin8NNHtsG+2PUHoI4Ho=", 5 - "serverCargoSha256": "sha256-nTZcLOpsbdeGzpz3PzgXZEGZHMbvSDA5rB2A3S9tMF8=", 6 - "uiSha256": "sha256-qFFnmdCONjfPyfp8v0VonPQP8G5b2DVpxEUAQT731Z0=", 7 - "uiYarnDepsSha256": "sha256-fRJpA9WstNNNOePoqotJKYmlikkcjc34iM0WO8+a/3Q=" 4 + "serverHash": "sha256-T08CjsRREgGJb1vXJrYihYaCin8NNHtsG+2PUHoI4Ho=", 5 + "serverCargoHash": "sha256-nTZcLOpsbdeGzpz3PzgXZEGZHMbvSDA5rB2A3S9tMF8=", 6 + "uiHash": "sha256-qFFnmdCONjfPyfp8v0VonPQP8G5b2DVpxEUAQT731Z0=", 7 + "uiYarnDepsHash": "sha256-fRJpA9WstNNNOePoqotJKYmlikkcjc34iM0WO8+a/3Q=" 8 8 }
+2 -2
pkgs/servers/web-apps/lemmy/server.nix
··· 22 22 owner = "LemmyNet"; 23 23 repo = "lemmy"; 24 24 rev = version; 25 - sha256 = pinData.serverSha256; 25 + hash = pinData.serverHash; 26 26 fetchSubmodules = true; 27 27 }; 28 28 ··· 30 30 echo 'pub const VERSION: &str = "${version}";' > crates/utils/src/version.rs 31 31 ''; 32 32 33 - cargoSha256 = pinData.serverCargoSha256; 33 + cargoHash = pinData.serverCargoHash; 34 34 35 35 buildInputs = [ postgresql ] 36 36 ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+2 -2
pkgs/servers/web-apps/lemmy/ui.nix
··· 40 40 repo = name; 41 41 rev = version; 42 42 fetchSubmodules = true; 43 - sha256 = pinData.uiSha256; 43 + hash = pinData.uiHash; 44 44 }; 45 45 in 46 46 mkYarnPackage { ··· 52 52 packageJSON = ./package.json; 53 53 offlineCache = fetchYarnDeps { 54 54 yarnLock = src + "/yarn.lock"; 55 - sha256 = pinData.uiYarnDepsSha256; 55 + hash = pinData.uiYarnDepsHash; 56 56 }; 57 57 58 58 yarnPreBuild = ''
+14 -28
pkgs/servers/web-apps/lemmy/update.py
··· 3 3 from urllib.request import Request, urlopen 4 4 import dataclasses 5 5 import subprocess 6 - import hashlib 7 6 import os.path 8 7 import semver 9 - import base64 10 8 from typing import ( 11 9 Optional, 12 10 Dict, ··· 29 27 class Pin: 30 28 serverVersion: str 31 29 uiVersion: str 32 - serverSha256: str = "" 33 - serverCargoSha256: str = "" 34 - uiSha256: str = "" 35 - uiYarnDepsSha256: str = "" 30 + serverHash: str = "" 31 + serverCargoHash: str = "" 32 + uiHash: str = "" 33 + uiYarnDepsHash: str = "" 36 34 37 35 filename: Optional[str] = None 38 36 ··· 48 46 49 47 50 48 def github_get(path: str) -> Dict: 51 - """Send a GET request to Gituhb, optionally adding GITHUB_TOKEN auth header""" 49 + """Send a GET request to GitHub, optionally adding GITHUB_TOKEN auth header""" 52 50 url = f"https://api.github.com/{path.lstrip('/')}" 53 - print(f"Retreiving {url}") 51 + print(f"Retrieving {url}") 54 52 55 53 req = Request(url) 56 54 ··· 65 63 return github_get(f"/repos/{owner}/{repo}/releases/latest")["tag_name"] 66 64 67 65 68 - def sha256_url(url: str) -> str: 69 - sha256 = hashlib.sha256() 70 - with urlopen(url) as resp: 71 - while data := resp.read(1024): 72 - sha256.update(data) 73 - return "sha256-" + base64.urlsafe_b64encode(sha256.digest()).decode() 74 - 75 - 76 66 def prefetch_github(owner: str, repo: str, rev: str) -> str: 77 - """Prefetch github rev and return sha256 hash""" 67 + """Prefetch GitHub rev and return SRI hash""" 78 68 print(f"Prefetching {owner}/{repo}({rev})") 79 69 80 70 proc = subprocess.run( ··· 83 73 stdout=subprocess.PIPE, 84 74 ) 85 75 86 - sha256 = json.loads(proc.stdout)["sha256"] 87 - if not sha256.startswith("sha256-"): # Work around bug in nix-prefetch-github 88 - return "sha256-" + sha256 89 - 90 - return sha256 76 + return json.loads(proc.stdout)["hash"] 91 77 92 78 93 79 def get_latest_tag(owner: str, repo: str, prerelease: bool = False) -> str: 94 - """Get the latest tag from a Github Repo""" 80 + """Get the latest tag from a GitHub Repo""" 95 81 tags: List[str] = [] 96 82 97 - # As the Github API doesn't have any notion of "latest" for tags we need to 83 + # As the GitHub API doesn't have any notion of "latest" for tags we need to 98 84 # collect all of them and sort so we can figure out the latest one. 99 85 i = 0 100 86 while i <= 100: # Prevent infinite looping ··· 144 130 145 131 146 132 def make_server_pin(pin: Pin, attr: str) -> None: 147 - pin.serverSha256 = prefetch_github(OWNER, SERVER_REPO, pin.serverVersion) 133 + pin.serverHash = prefetch_github(OWNER, SERVER_REPO, pin.serverVersion) 148 134 pin.write() 149 - pin.serverCargoSha256 = get_fod_hash(attr) 135 + pin.serverCargoHash = get_fod_hash(attr) 150 136 pin.write() 151 137 152 138 ··· 159 145 with open(os.path.join(SCRIPT_DIR, package_json), "wb") as fd: 160 146 fd.write(resp.read()) 161 147 162 - pin.uiSha256 = prefetch_github(OWNER, UI_REPO, pin.uiVersion) 148 + pin.uiHash = prefetch_github(OWNER, UI_REPO, pin.uiVersion) 163 149 pin.write() 164 - pin.uiYarnDepsSha256 = get_fod_hash(attr) 150 + pin.uiYarnDepsHash = get_fod_hash(attr) 165 151 pin.write() 166 152 167 153
+1 -1
pkgs/servers/web-apps/plausible/default.nix
··· 18 18 owner = "plausible"; 19 19 repo = "analytics"; 20 20 rev = "v${version}"; 21 - sha256 = "1ckw5cd4z96jkjhmzjq7k3kzjj7bvj38i5xq9r43cz0sn7w3470k"; 21 + hash = "sha256-Exwy+LEafDZITriXiIbc60j555gHy1+hnNKkTxorfLI="; 22 22 }; 23 23 24 24 # TODO consider using `mix2nix` as soon as it supports git dependencies.
+6 -6
pkgs/servers/web-apps/plausible/update.sh
··· 33 33 > $dir/package.json 34 34 35 35 tarball_meta="$(nix-prefetch-github plausible analytics --rev "$latest")" 36 - tarball_hash="$(nix to-base32 sha256-$(jq -r '.sha256' <<< "$tarball_meta"))" 36 + tarball_hash="$(jq -r '.hash' <<< "$tarball_meta")" 37 37 tarball_path="$(nix-build -E 'with import ./. {}; { p }: fetchFromGitHub (builtins.fromJSON p)' --argstr p "$tarball_meta")" 38 - fake_hash="$(nix-instantiate --eval -A lib.fakeSha256 | xargs echo)" 38 + fake_hash="$(nix-instantiate --eval -A lib.fakeHash | xargs echo)" 39 39 40 40 sed -i "$dir/default.nix" \ 41 41 -e 's,version = ".*",version = "'"$nix_version"'",' \ 42 - -e '/^ src = fetchFromGitHub/,+4{;s/sha256 = "\(.*\)"/sha256 = "'"$tarball_hash"'"/}' \ 43 - -e '/^ mixFodDeps =/,+3{;s/sha256 = "\(.*\)"/sha256 = "'"$fake_hash"'"/}' 42 + -e '/^ src = fetchFromGitHub/,+4{;s#hash = "\(.*\)"#hash = "'"$tarball_hash"'"#}' \ 43 + -e '/^ mixFodDeps =/,+3{;s#hash = "\(.*\)"#hash = "'"$fake_hash"'"#}' 44 44 45 - mix_hash="$(nix to-base32 $(nix-build -A plausible.mixFodDeps 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true))" 45 + mix_hash="$(nix-build -A plausible.mixFodDeps 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)" 46 46 47 - sed -i "$dir/default.nix" -e '/^ mixFodDeps =/,+3{;s/sha256 = "\(.*\)"/sha256 = "'"$mix_hash"'"/}' 47 + sed -i "$dir/default.nix" -e '/^ mixFodDeps =/,+3{;s#hash = "\(.*\)"#hash = "'"$mix_hash"'"#}' 48 48 49 49 tmp_setup_dir="$(mktemp -d)" 50 50 trap "rm -rf $tmp_setup_dir" EXIT
+1 -1
pkgs/tools/inputmethods/fcitx5/update.py
··· 1 1 #!/usr/bin/env nix-shell 2 - #!nix-shell -i python3 -p nix-update nix-prefetch-github python3Packages.requests 2 + #!nix-shell -i python3 -p nix-update python3Packages.requests 3 3 4 4 from nix_prefetch_github import * 5 5 import requests