Barrido de TEXTO puro: 1427 líneas de comentario TOML. Cero ArtifactHash movidos, y eso está MEDIDO, no deducido: hasheé las 741 antes y después y los ficheros de hashes son idénticos byte a byte (723 con hash real + 18 que ya no hasheaban de antes). El guardián valió la pena: el primer barrido, filtrando por 'la línea empieza con #', movió el hash de helix, lsof y steam-runtime-sniper. La causa es que una fase se escribe como compile = <triple> ... <triple> y sus comentarios de SHELL también empiezan con #, pero viven dentro del VALOR — y las fases sí entran en hash_inputs. El barrido ahora calcula los rangos de las cadenas multilínea de TOML y no entra ahí. Quedan intactos a propósito: .hammer-zig-cc y .hammer-cargo-vendor (literales dentro de fases), hammerd, hammer-recover y toda ruta que empiece por /
30 lines
1.4 KiB
TOML
30 lines
1.4 KiB
TOML
# go — toolchain Go como build-dep del corpus (Etapa G, frente Go).
|
|
# Destraba las recetas Go importadas (amfora/cheat/dnsx/croc/dyff/csvtk/git-town/
|
|
# miller/jump/gron/qrcp/walk/gtrash): declaran `deps.build = ["go"]` y takana lo
|
|
# materializa como capa overlay ⇒ /usr/bin/go visible en el sandbox.
|
|
#
|
|
# Pragmático (igual que Alpine/nix): empaqueta el tarball BINARIO oficial, no lo
|
|
# bootstrapea desde fuente. El binario `go` es ESTÁTICO (statically linked, Go puro)
|
|
# ⇒ corre en el rootfs musl sin glibc. Bootstrap-desde-fuente (go1.4→…) queda como
|
|
# frente futuro, análogo a mrustc para Rust.
|
|
name = "go"
|
|
version = "1.26.4"
|
|
license = "BSD-3-Clause"
|
|
|
|
[source]
|
|
tarball = "https://go.dev/dl/go1.26.4.linux-amd64.tar.gz"
|
|
sha256 = "1153d3d50e0ac764b447adfe05c2bcf08e889d42a02e0fe0259bd47f6733ad7f"
|
|
|
|
[build]
|
|
compiler = "zig-cc" # inerte: no se compila nada, solo se reubica el árbol
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
|
|
# El tarball extrae a `go/` (cwd del build). No hay nada que compilar: el toolchain
|
|
# ya viene binario. Solo reubicamos el GOROOT a /usr/lib/go y exponemos go/gofmt.
|
|
# El binario `go` resuelve GOROOT relativo a su ruta real ⇒ el symlink basta.
|
|
[build.phases]
|
|
configure = "true"
|
|
compile = "true"
|
|
install = "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"
|