diff --git a/recipes/caddy.toml b/recipes/caddy.toml index fa9e0a14..6e325dc9 100644 --- a/recipes/caddy.toml +++ b/recipes/caddy.toml @@ -1,14 +1,26 @@ -# Importada de nixpkgs por `takana import-nix` (Etapa G). PUNTO DE PARTIDA, no final: -# - el build usa el lab de takana (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. +# caddy 2.11.4 — servidor web y proxy inverso. Un binario Go estático, sin dependencias en runtime. +# +# ── ESTADO: TERMINADA (2026-09-11). Antes era un import de nix en crudo ──────────────────────── +# La cabecera decía «PUNTO DE PARTIDA, no final» y el `commit` era el TAG FLOTANTE `v2.11.4`, que +# contradice el ADR 0006: un tag se puede mover, y entonces la misma receta construye otra cosa sin +# que el hash lo note. Anclado con `takana pin` al SHA inmutable `e2eee6a7…` — el hash se movió a +# propósito (`b3:d38acaa0…` → nuevo), que es exactamente lo que un anclaje debe hacer. +# +# ── POR QUÉ IMPORTA QUE ESTÉ TERMINADA ───────────────────────────────────────────────────────── +# El `caddy` de gioser **no tiene dueño**: es un binario puesto a mano en `/usr/bin`, sin paquete y +# sin receta (medido por `scripts/mudanza/censar.py`, que le preguntó a pacman). Se pierde con la +# máquina. Con esta receta el servidor nuevo lo declara en su perfil y lo reconstruye — que es la +# diferencia entre mudar un servidor y poder mudarlo otra vez (SDD 29). +# +# `link = "static"` y CGO apagado: Go estático no arrastra sonames, así que no repite la fuga del +# `NEEDED` colgante — el binario corre en la imagen sin el sysroot del lab debajo. name = "caddy" version = "2.11.4" license = "Apache-2.0" [source] repo = "https://github.com/caddyserver/caddy" -commit = "v2.11.4" +commit = "e2eee6a7fce366321294c9c2a79f3146891dcbdf" [build] compiler = "zig-cc" @@ -16,6 +28,6 @@ target = "x86_64-linux-musl" link = "static" flags = [] -# buildInputs de nix (no usados con CGO off): go +# `go` es herramienta de BUILD, no dependencia de runtime: el binario sale autocontenido. [deps] build = ["go"]