`github.com/eric-lindau/udpfacade` (que importa src/server/udp) ya no existe: GitHub da «Repository not found» y proxy.golang.org 404 para esa versión, así que `go mod vendor` moría y la receta era INCONSTRUIBLE. No se arregla subiendo de versión: master de gobetween pinea el mismo módulo. Se redirige con `replace` al único superviviente, illarion/udpfacade. ⚠ Apunta a MASTER (031998cc71fa), no al commit pineado. El original (d8c1c27add169599654f71a6c62d13cde1c51e50) SÍ existe como objeto en illarion —los forks comparten almacén y la API de GitHub lo muestra— pero NO es alcanzable desde ninguna ref, y `go` sólo resuelve pseudo-versiones alcanzables desde una ref. Comprobado: `unknown revision d8c1c27add16`. (`git fetch <sha>` sí lo trae; `go` no usa esa vía.) ⚠ SEGURO y comprobado, no supuesto: entre master y el commit pineado hay TRES commits y el diff entero es `udp.go` +2 y `udp_test.go` +2 —sólo la línea `// +build !windows`— más `udp_windows.go` nuevo con `// +build windows`. Para GOOS=linux el código compilado es IDÉNTICO, y esto construye x86_64-linux-musl. Va como PATCH y no como fase porque `vendor_go_deps` corre en el fetch (lib.rs:277), antes de las fases; los patches se aplican antes (lib.rs:224). Verificado: el patch aplica limpio sobre un checkout pristino, hammer sella, y el binario arranca e imprime su versión.
44 lines
2.3 KiB
TOML
44 lines
2.3 KiB
TOML
# Importada de nixpkgs por `hammer import-nix` (Etapa G). PUNTO DE PARTIDA, no final:
|
|
# - el build usa el lab de hammer (zig-cc / musl estático), NO el stdenv de nix ⇒ revisá
|
|
# compiler/link/phases y adaptá hasta que compile.
|
|
# - las deps van con su nombre NIX; remapealas a las recetas del corpus si difieren.
|
|
name = "gobetween"
|
|
version = "0.8.1"
|
|
license = "MIT"
|
|
|
|
# ── 2026-08-27: una dep TRANSITIVA de Go desapareció de internet ────────────────────────────────
|
|
# `github.com/eric-lindau/udpfacade` (que `src/server/udp` importa) ya no existe: GitHub responde
|
|
# «Repository not found» y `proxy.golang.org` da 404 para su versión ⇒ `go mod vendor` moría con
|
|
# `invalid version: unknown revision` y la receta era INCONSTRUIBLE. No se arregla subiendo de
|
|
# versión: master de gobetween pinea exactamente el mismo módulo.
|
|
#
|
|
# El parche redirige con `replace` al único superviviente, `github.com/illarion/udpfacade`.
|
|
#
|
|
# ⚠ Apunta a MASTER (031998cc71fa), no al commit pineado. El commit original
|
|
# (d8c1c27add169599654f71a6c62d13cde1c51e50) SÍ existe como objeto en illarion —los forks comparten
|
|
# almacén de objetos, y la API de GitHub te lo muestra— pero NO es alcanzable desde ninguna ref, y
|
|
# `go` sólo resuelve pseudo-versiones alcanzables desde una ref (`git fetch <sha>` sí funciona; `go`
|
|
# no lo usa). Comprobado: da `unknown revision d8c1c27add16`.
|
|
#
|
|
# ⚠ Y es SEGURO, comprobado y no supuesto: entre master y el commit pineado hay TRES commits y el
|
|
# diff entero es `udp.go` +2 y `udp_test.go` +2 (sólo la línea `// +build !windows`) más
|
|
# `udp_windows.go` nuevo con `// +build windows`. Para GOOS=linux el código compilado es IDÉNTICO,
|
|
# y esta receta construye x86_64-linux-musl.
|
|
#
|
|
# ⚠ Un `replace` NO se puede meter desde una fase: `vendor_go_deps` corre en el FETCH, antes del
|
|
# build (lib.rs:277). Por eso va como patch — los patches sí se aplican antes (lib.rs:224).
|
|
[source]
|
|
repo = "https://github.com/yyyar/gobetween"
|
|
commit = "23a7c246d7ed40b53b4631c3dcba0f79ddc6c838"
|
|
patches = ["gobetween-udpfacade-replace.patch"]
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = []
|
|
|
|
# buildInputs de nix (no usados con CGO off): go
|
|
[deps]
|
|
build = ["go"]
|