gobetween: renombrar el binario de `main` a `gobetween`
El módulo es `github.com/yyyar/gobetween/main` y el paquete main está en la raíz, así que `go install` —que nombra el binario por el último elemento de la ruta del módulo— lo dejaba como `/usr/bin/main`. Un `/usr/bin/main` en una distro choca con cualquier cosa y no dice qué es. La fase `install` que genera hammer para Go es `true` (el binario ya lo puso `go install` en GOBIN=/out/usr/bin), así que definirla sólo añade el renombrado. Los `test -x` no son adorno: si `go install` cambiara el nombre, sin ellos el `mv` fallaría y se sellaría un artefacto SIN binario — regla 3 del repo, que falle ruidosamente. Verificado: /usr/bin/gobetween (33 M), arranca e imprime su versión, y no queda ningún fichero `main` en el artefacto.
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +12 −0
- recipes/gobetween.toml +12 −0
diff --git a/recipes/gobetween.toml b/recipes/gobetween.toml
index b4aa45b2..7a6ad6a6 100644
--- a/recipes/gobetween.toml
+++ b/recipes/gobetween.toml
@@ -38,6 +38,18 @@ target = "x86_64-linux-musl"
link = "static"
flags = []
+# ── El binario se llama `main` si no se renombra ────────────────────────────────────────────────
+# El módulo es `github.com/yyyar/gobetween/main` y el paquete main está en la raíz, así que
+# `go install` —que nombra el binario por el último elemento de la ruta del módulo— lo deja como
+# **`/usr/bin/main`**. Un `/usr/bin/main` es inservible en una distro: choca con cualquier cosa y no
+# dice qué es. La fase `install` que genera hammer para Go es `true` (el binario ya lo puso
+# `go install` en GOBIN=/out/usr/bin), así que definirla acá sólo añade el renombrado.
+#
+# Los `test -x` no son adorno: si `go install` cambiara el nombre, sin ellos el `mv` fallaría y la
+# receta sellaría un artefacto SIN binario. Regla 3 del repo: que falle ruidosamente.
+[build.phases]
+install = "test -x /out/usr/bin/main && mv /out/usr/bin/main /out/usr/bin/gobetween && test -x /out/usr/bin/gobetween"
+
# buildInputs de nix (no usados con CGO off): go
[deps]
build = ["go"]