La pieza que escala a miles: scripts/build-farm.sh construye N recetas a la vez (worker pool xargs -P) sobre recipes/incoming/, y lo que CONSTRUYE+sella lo promueve incoming/->recipes/ + publica al repo firmado (en serie: el index.json es mutable compartido); lo que falla queda staged con su motivo. Idempotente (cache-hit del store). Corrida sobre las 22 del lote Rust #2, JOBS=4 en la laptop libre (8 cores/19GB): BUILD-YIELD 11/22 promovidos, los 11 corren static-musl (bandwhich/difftastic/fclones/ gping/grex/mcfly/miniserve/navi/onefetch/pastel/viu). Corpus 71->82, repo 82. Los 11 fallos, FLAGEADOS por la granja (esto es el valor: triage automatico, no adivinanza) y staged en incoming/ para revision: - crate+dep-C bajo zig-cc (frente conocido, mismo family que el gueto gcc): delta (libgit2-sys), gitui (openssl-sys), jless (libc-stdhandle). - MSRV > 1.91.1 (techo del sandbox): ouch (1.93). watchexec: feature nightly E0658. - LINK colgado con zig-cc en binarios Rust grandes (deadlock, hubo que matarlos): broot, pueue, starship. Patron a investigar (zig cc + lld en binarios pesados). - import roto (no build): xsv/zellij 'No such file' (la fuente no clasifico), dog (importo un dog.c ajeno, no el cliente DNS Rust). GOTCHA infra: builds Rust grandes pueden COLGARSE en el link final con zig-cc (broot 7min frozen, pueue/starship idem); la granja deja matar el slot (pkill -f 'build recipes/incoming/<n>.toml') y sigue con los demas.
20 lines
672 B
TOML
20 lines
672 B
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 = "pastel"
|
|
version = "0.12.0"
|
|
|
|
[source]
|
|
repo = "https://github.com/sharkdp/pastel"
|
|
commit = "5e9f9c01fe167f59ecc0888975c7ddc095816ca2"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = ["--bin", "pastel"]
|
|
|
|
[build.phases]
|
|
install = "mkdir -p /out/usr/bin && cp target/release/pastel /out/usr/bin/pastel"
|