sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
Etapa G: frente Go — toolchain go.toml + patron de build de-riskeado
1# go — toolchain Go como build-dep del corpus (Etapa G, frente Go).
2# Destraba las recetas Go importadas (amfora/cheat/dnsx/croc/dyff/csvtk/git-town/
3# miller/jump/gron/qrcp/walk/gtrash): declaran `deps.build = ["go"]` y hammer lo
4# materializa como capa overlay ⇒ /usr/bin/go visible en el sandbox.
5#
6# Pragmático (igual que Alpine/nix): empaqueta el tarball BINARIO oficial, no lo
7# bootstrapea desde fuente. El binario `go` es ESTÁTICO (statically linked, Go puro)
8# ⇒ corre en el rootfs musl sin glibc. Bootstrap-desde-fuente (go1.4→…) queda como
9# frente futuro, análogo a mrustc para Rust.
10name = "go"
11version = "1.26.4"
12
13[source]
14tarball = "https://go.dev/dl/go1.26.4.linux-amd64.tar.gz"
15sha256 = "1153d3d50e0ac764b447adfe05c2bcf08e889d42a02e0fe0259bd47f6733ad7f"
16
17[build]
18compiler = "zig-cc" # inerte: no se compila nada, solo se reubica el árbol
19target = "x86_64-linux-musl"
20link = "static"
21
22# El tarball extrae a `go/` (cwd del build). No hay nada que compilar: el toolchain
23# ya viene binario. Solo reubicamos el GOROOT a /usr/lib/go y exponemos go/gofmt.
24# El binario `go` resuelve GOROOT relativo a su ruta real ⇒ el symlink basta.
25[build.phases]
26configure = "true"
27compile = "true"
28install = "mkdir -p /out/usr/lib/go /out/usr/bin && cp -a . /out/usr/lib/go/ && ln -sf ../lib/go/bin/go /out/usr/bin/go && ln -sf ../lib/go/bin/gofmt /out/usr/bin/gofmt"