diff options
-rw-r--r-- | third_party/default.nix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/third_party/default.nix b/third_party/default.nix index 8fda06857ef5..0f25b3730e3f 100644 --- a/third_party/default.nix +++ b/third_party/default.nix @@ -179,6 +179,36 @@ in exposed.lib.fix(self: exposed // { clangStdenv = nixpkgs.llvmPackages_10.stdenv; stdenv = nixpkgs.llvmPackages_10.stdenv; + # The Go authors have released a version of Go (in alpha) that has a + # type system. This makes it available, specifically for use with + # //nix/buildTypedGo. + typedGo = nixpkgs.go.overrideAttrs(old: { + version = "dev-go2go"; + doCheck = false; + patches = []; # they all don't apply and are mostly about Darwin crap + + src = nixpkgs.fetchgit { + url = "https://go.googlesource.com/go"; + # You might think these hashes are trivial to update. It's just + # a branch in a git repository, right? + # + # Well, think again. Somehow I managed to get no fewer than 3 + # (!) different commit hashes for the same branch by cloning + # this repository thrice. Only the third one (which you, the + # reader, can find below for your reading pleasure) actually + # gave me `go tool go2go`. + rev = "ad307489d41133f32c779cfa1b0db4a852ace047"; + leaveDotGit = true; + sha256 = "0wxa1zawvmf0hflrb42qi1ggrj28nwr8vjmmygnxny8f00xi8198"; + + postFetch = '' + cd $out + ${nixpkgs.git}/bin/git log -n 1 "--format=format: +%h %cd" HEAD > VERSION + rm -rf .git + ''; + }; + }); + # Make NixOS available nixos = import "${nixpkgsSrc}/nixos"; }) |