chore(3p|nix): Remove typed Go

Nobody has actually done any experimentation with typed Go, so we're
getting rid of it for now - it's causing annoying IFD during build
graph generation.

Change-Id: Ibac3dea98ebed1b3ee08acda184d24c500cf695d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2458
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
Vincent Ambo 2021-01-29 19:14:27 +02:00 committed by tazjin
parent c726c6c264
commit 8f57ca92bd
7 changed files with 3 additions and 89 deletions

View file

@ -1,34 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#
# A crude wrapper around //nix/buildGo that supports the Go 2 alpha.
#
# The way the alpha is implemented is via a transpiler from typed to
# untyped Go.
{ depot, pkgs, ... }:
let
inherit (builtins)
baseNameOf
stringLength
substring;
inherit (depot.nix.buildGo) gpackage program;
go2goext = file: substring 0 ((stringLength file) - 1) file;
go2go = file: pkgs.runCommandNoCC "${go2goext (baseNameOf file)}" {} ''
cp ${file} .
${pkgs.go}/bin/go tool go2go translate *.go2
mv *.go $out
'';
in rec {
program = { name, srcs, deps ? [], x_defs ? {} }: depot.nix.buildGo.program {
inherit name deps x_defs;
srcs = map go2go srcs;
};
package = { name, srcs, deps ? [], path ? name, sfiles ? [] }: depot.nix.buildGo.package {
inherit name deps path sfiles;
srcs = map go2go srcs;
};
}

View file

@ -1,8 +0,0 @@
{ depot, ... }:
depot.nix.buildTypedGo.program {
name = "example";
srcs = [
./main.go2
];
}

View file

@ -1,15 +0,0 @@
package main
import (
"fmt"
)
func Print(type T)(s []T) {
for _, v := range s {
fmt.Print(v)
}
}
func main() {
Print([]string{"Hello, ", "TVL\n"})
}

View file

@ -4,7 +4,7 @@
let
inherit (builtins) toFile toJSON;
in depot.nix.buildTypedGo.program {
in depot.nix.buildGo.program {
name = "besadii";
srcs = [ ./main.go2 ];
srcs = [ ./main.go ];
}

View file

@ -67,36 +67,6 @@ in exposed.lib.fix(self: exposed // {
emacs27-nox = assert ((exposed.lib.versions.major nixpkgs.emacs.version) == "27");
nixpkgs.emacs-nox;
# 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.
go = 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 = "1nxmqdlyfx7w3g5vhjfq24yrc9hwpsa2mjv58xrmhh8vvy50ziqq";
postFetch = ''
cd $out
${nixpkgs.git}/bin/git log -n 1 "--format=format:devel +%H %cd" HEAD > VERSION
rm -rf .git
'';
};
});
# Make NixOS available
nixos = import "${nixpkgsSrc}/nixos";
})

View file

@ -62,6 +62,7 @@
gmock
gnused
gnutar
go
google-cloud-sdk
graphviz
gzip