2022-12-24 15:05:40 -08:00
|
|
|
#!/bin/sh
|
|
|
|
|
# Updates SRI hashes for flake.nix.
|
|
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
|
|
OUT=$(mktemp -d -t nar-hash-XXXXXX)
|
2024-03-09 04:54:36 +05:30
|
|
|
rm -rf "$OUT"
|
2022-12-24 15:05:40 -08:00
|
|
|
|
2024-03-09 04:54:36 +05:30
|
|
|
./tool/go mod vendor -o "$OUT"
|
|
|
|
|
./tool/go run tailscale.com/cmd/nardump --sri "$OUT" >go.mod.sri
|
|
|
|
|
rm -rf "$OUT"
|
2022-12-24 15:05:40 -08:00
|
|
|
|
2025-10-08 14:37:47 -04:00
|
|
|
GOOUT=$(mktemp -d -t gocross-XXXXXX)
|
|
|
|
|
GOREV=$(xargs < ./go.toolchain.rev)
|
|
|
|
|
TARBALL="$GOOUT/go-$GOREV.tar.gz"
|
|
|
|
|
curl -Ls -o "$TARBALL" "https://github.com/tailscale/go/archive/$GOREV.tar.gz"
|
|
|
|
|
tar -xzf "$TARBALL" -C "$GOOUT"
|
|
|
|
|
./tool/go run tailscale.com/cmd/nardump --sri "$GOOUT/go-$GOREV" > go.toolchain.rev.sri
|
|
|
|
|
rm -rf "$GOOUT"
|
|
|
|
|
|
2022-12-24 15:05:40 -08:00
|
|
|
# nix-direnv only watches the top-level nix file for changes. As a
|
|
|
|
|
# result, when we change a referenced SRI file, we have to cause some
|
|
|
|
|
# change to shell.nix and flake.nix as well, so that nix-direnv
|
|
|
|
|
# notices and reevaluates everything. Sigh.
|
2023-02-02 19:37:32 -08:00
|
|
|
perl -pi -e "s,# nix-direnv cache busting line:.*,# nix-direnv cache busting line: $(cat go.mod.sri)," shell.nix
|
|
|
|
|
perl -pi -e "s,# nix-direnv cache busting line:.*,# nix-direnv cache busting line: $(cat go.mod.sri)," flake.nix
|