From d42a99b5a38b1d9bc3a26fd8e11b3368522d1fa5 Mon Sep 17 00:00:00 2001 From: Keegan Carruthers-Smith Date: Thu, 20 Jun 2024 11:12:17 +0200 Subject: [PATCH] nix: use go1.22.4 (#63372) Tired of seeing the go toolchain being easier to use than nix. Test Plan: nix develop on linux amd64 and macbook arm64 followed by running "go test ./internal/search" working. Also confirming that "go env GOROOT" points into the nix store. --- dev/nix/go_1_22.nix | 9 +++++++++ flake.nix | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 dev/nix/go_1_22.nix diff --git a/dev/nix/go_1_22.nix b/dev/nix/go_1_22.nix new file mode 100644 index 00000000000..a63ff8e9bf9 --- /dev/null +++ b/dev/nix/go_1_22.nix @@ -0,0 +1,9 @@ +{ pkgs, fetchurl }: +pkgs.go_1_22.overrideAttrs rec { + # PLEASE UPDATE THE SHA512 BELOW OR NOTIFY ONE OF THE NIX USERS BEFORE MERGING A CHANGE TO THESE FILES + version = "1.22.4"; + src = fetchurl { + url = "https://go.dev/dl/go${version}.src.tar.gz"; + hash = "sha256-/tcgZ45yinyjC6jR3tHKr+J9FgKPqwIyuLqOIgCPt4Q="; + }; +} diff --git a/flake.nix b/flake.nix index 1ade3dcb728..6109c44ca0d 100644 --- a/flake.nix +++ b/flake.nix @@ -26,7 +26,7 @@ (system: let pkgs = nixpkgs.legacyPackages.${system}; - pkgsShell = import nixpkgs { inherit system; overlays = with self.overlays; [ nodejs-20_x bazel_7 ]; }; + pkgsShell = import nixpkgs { inherit system; overlays = with self.overlays; [ nodejs-20_x bazel_7 go_1_22 ]; }; pkgsBins = nixpkgs-stable.legacyPackages.${system}; pkgsAll = import nixpkgs { inherit system; overlays = builtins.attrValues self.overlays; }; pkgsX = xcompileTargets.${system} or null; @@ -47,6 +47,7 @@ # tzdata fails to build on pkgsStatic, and pkgsMusl isnt supported on macos tzdata = if pkgs.hostPlatform.isMacOS then pkgs.tzdata else pkgs.pkgsMusl.tzdata; }; + go_1_22 = pkgs.callPackage ./dev/nix/go_1_22.nix { }; }; # We use pkgsShell (not pkgsAll) intentionally to avoid doing extra work of @@ -63,6 +64,7 @@ p4-fusion = final: prev: { p4-fusion = self.packages.${prev.system}.p4-fusion; }; bazel_7 = final: prev: { bazel_7 = self.packages.${prev.system}.bazel_7; }; pg-utils = final: prev: { pg-utils = self.packages.${prev.system}.pg-utils; }; + go_1_22 = final: prev: { go_1_22 = self.packages.${prev.system}.go_1_22; }; }; }; }