Cierra el muro del frente Go (vendoring) replicando el patron de Rust: vendorear in-situ en el fetch (host, con red), no tarball-al-mirror. - fetch.rs: vendor_go_deps() analoga a vendor_cargo_deps — corre go mod vendor en el host si hay go.mod; el sandbox compila offline con -mod=vendor. - lib.rs: engancha vendor_go_deps tras los patches cuando el arbol trae go.mod (sin BuildSys::Go; el compile lo fija la receta en build.phases). - bootstrap-devfs.sh: instala el toolchain go del host (1.26.4, estatico) en .dev-fs/tools/go + symlink en ~/.cargo/bin (PATH del worker via .cargo/env). - amfora: PRIMERA receta Go del corpus. Build end-to-end validado (repo+commit -> fetch vendorea -> sandbox offline -> binario estatico que corre, Amfora v1.11.0). REPRODUCIBLE bit-a-bit: dos stores independientes dan of_tree b3:9ec1d5fe (trimpath + buildid= en el compile). Promovida al repo (282). Quedan 12 recetas Go en tandas/staged-2026-06-26/ (cheat/dnsx/croc/dyff/csvtk/ git-town/miller/jump/gron/qrcp/walk/gtrash): mecanico, copiar el patron de amfora ajustando el nombre del binario. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.4 KiB
TOML
34 lines
1.4 KiB
TOML
# amfora — PLANTILLA DE REFERENCIA del patrón Go (Etapa G, frente Go). DIFERIDA.
|
|
#
|
|
# Estado del frente (2026-06-26):
|
|
# ✅ toolchain: recipes/go.toml (1.26.4, binario estático, corre en el sandbox musl,
|
|
# se materializa como overlay vía deps.build=["go"] → /usr/bin/go visible).
|
|
# ✅ vendoring INTEGRADO en fetch.rs (`vendor_go_deps`, análogo a vendor_cargo_deps):
|
|
# si el árbol trae go.mod, hammer corre `go mod vendor` en el host (red) y el
|
|
# sandbox compila offline con -mod=vendor. El `go` del host lo provee el lab
|
|
# (.dev-fs/tools/go). NO hace falta tarball-al-mirror: se vendorea in-situ como Rust.
|
|
# ✅ VALIDADO end-to-end: esta receta (repo+commit) → binario ESTÁTICO que corre
|
|
# (Amfora v1.11.0), sellado b3:0a3f63bc…
|
|
#
|
|
# Patrón compile para cualquier tool Go (-trimpath -buildid= ⇒ reproducible bit-a-bit
|
|
# para la cosecha trust-free de la granja):
|
|
name = "amfora"
|
|
version = "1.11.0"
|
|
|
|
[source]
|
|
repo = "https://github.com/makew0rld/amfora"
|
|
commit = "4d9a5c56c88f7bec2938968182c88130b923fbba"
|
|
|
|
[build]
|
|
compiler = "zig-cc" # inerte (Go no usa zig); el toolchain real llega por deps.build
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
|
|
[deps]
|
|
build = ["go"]
|
|
|
|
[build.phases]
|
|
configure = "true"
|
|
compile = "export GOCACHE=/tmp/gocache GOPATH=/tmp/gopath GOTOOLCHAIN=local CGO_ENABLED=0 GOFLAGS=-mod=vendor GOPROXY=off; go build -trimpath -ldflags=-buildid= -o /out/usr/bin/amfora ."
|
|
install = "true"
|