File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4040 # From https://nixos.wiki/wiki/Google_Cloud_SDK
4141 gdk = pkgs . google-cloud-sdk . withExtraComponents ( [ pkgs . google-cloud-sdk . components . gke-gcloud-auth-plugin ] ) ;
4242
43+ proto_gen_go_1_30 = pkgs . buildGoModule rec {
44+ name = "protoc-gen-go" ;
45+ owner = "protocolbuffers" ;
46+ repo = "protobuf-go" ;
47+ rev = "v1.30.0" ;
48+ src = pkgs . fetchFromGitHub {
49+ owner = "protocolbuffers" ;
50+ repo = "protobuf-go" ;
51+ rev = rev ;
52+ # Updated with ./scripts/update-flake.sh`.
53+ sha256 = "sha256-GTZQ40uoi62Im2F4YvlZWiSNNJ4fEAkRojYa0EYz9HU=" ;
54+ } ;
55+ subPackages = [ "cmd/protoc-gen-go" ] ;
56+ vendorHash = null ;
57+ proxyVendor = true ;
58+ preBuild = ''
59+ export GOPROXY=https://proxy.golang.org,direct
60+ go mod download
61+ '' ;
62+ } ;
63+
4364 # The minimal set of packages to build Coder.
4465 devShellPackages = with pkgs ; [
4566 # google-chrome is not available on OSX and aarch64 linux
80101 playwright-driver . browsers
81102 postgresql_16
82103 protobuf
83- protoc-gen-go
104+ proto_gen_go_1_30
84105 ripgrep
85106 # This doesn't build on latest nixpkgs (July 10 2024)
86107 ( pinnedPkgs . sapling )
117138 name = "coder-${ osArch } " ;
118139 # Updated with ./scripts/update-flake.sh`.
119140 # This should be updated whenever go.mod changes!
120- vendorHash = "sha256-KyMqZxav64rbybUUFoBsOlB6XH7y8aQ7ekaYm0QD4Ew =" ;
141+ vendorHash = "sha256-kPXRp7l05iJd4IdvQeOFOgg2UNzBcloy3tA9Meep9VI =" ;
121142 proxyVendor = true ;
122143 src = ./. ;
123144 nativeBuildInputs = with pkgs ; [ getopt openssl zstd ] ;
151172 '' ;
152173 } ;
153174 packages = {
175+ proto_gen_go = proto_gen_go_1_30 ;
154176 all = pkgs . buildEnv {
155177 name = "all-packages" ;
156178 paths = devShellPackages ;
Original file line number Diff line number Diff line change 55
66cd " $( dirname " ${BASH_SOURCE[0]} " ) /.."
77
8+ check_and_install () {
9+ if ! command -v " $1 " & > /dev/null; then
10+ echo " $1 is not installed. Attempting to install..."
11+ if ! nix-env -iA nixpkgs." $1 " ; then
12+ echo " Failed to install $1 . Please install it manually and try again."
13+ exit 1
14+ fi
15+ echo " $1 has been installed successfully."
16+ fi
17+ }
18+
19+ check_and_install jq
20+ check_and_install nix-prefetch-git
21+
822OUT=$( mktemp -d -t nar-hash-XXXXXX)
923
1024echo " Downloading Go modules..."
@@ -13,4 +27,14 @@ echo "Calculating SRI hash..."
1327HASH=$( go run tailscale.com/cmd/nardump --sri " $OUT /pkg/mod/cache/download" )
1428sudo rm -rf " $OUT "
1529
30+ echo " Updating go.mod vendorHash"
1631sed -i " s#\(vendorHash = \" \)[^\" ]*#\1${HASH} #" ./flake.nix
32+
33+ # Update protoc-gen-go sha256
34+ echo " Updating protoc-gen-go sha256..."
35+ PROTOC_GEN_GO_REV=$( nix eval --extra-experimental-features nix-command --extra-experimental-features flakes --raw .# proto_gen_go.rev)
36+ echo " protoc-gen-go version: $PROTOC_GEN_GO_REV "
37+ PROTOC_GEN_GO_SHA256=$( nix-prefetch-git https://github.com/protocolbuffers/protobuf-go --rev " $PROTOC_GEN_GO_REV " | jq -r .hash)
38+ sed -i " s#\(sha256 = \" \)[^\" ]*#\1${PROTOC_GEN_GO_SHA256} #" ./flake.nix
39+
40+ echo " Flake updated successfully!"
You can’t perform that action at this time.
0 commit comments