# DIFERIDA (go-12): build especial. El main (./cmd/syncthing) compila, pero lib/api referencia # `auto.Assets` (GUI web embebida) que syncthing GENERA en build-time vía `go generate`/build.go # (empaqueta gui/ → lib/auto/gui.files.go). Un checkout plano + `go install` no corre ese paso ⇒ # `undefined: auto.Assets`. Necesita una fase pre-compile que genere los assets (como csvtk/git-town, # casos de layout no-estándar). Parqueada hasta resolver el generate offline/reproducible. # 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 = "syncthing" version = "2.1.0" [source] repo = "https://github.com/syncthing/syncthing" commit = "c0c401efebf27af58b91309b381d7d3eae870a64" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" # la raíz trae .go con build-constraints (excluyen todos los archivos) ⇒ el main real está en # ./cmd/syncthing; lo forzamos (gana sobre detect_go_main, que elige la raíz por heurística). flags = ["./cmd/syncthing"] # buildInputs de nix (no usados con CGO off): go [deps] build = ["go"]