gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

recipes/findutils-xargs: xargs Rust-nativo (Etapa C pieza 2b)

uutils/findutils 0.9.1 --bin xargs (mismo crate/commit/patch que findutils.toml).
Construye+sella+corre: xargs 0.9.1, ELF estático, -n1/-I{}/pipe OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

7bd326170d641f4bbfdb62744eccaaaca21514e9 · por sergio · (hace 4 meses) · padre c2c84a96a · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +29 −0

diff --git a/recipes/findutils-xargs.toml b/recipes/findutils-xargs.toml
new file mode 100644
index 00000000..b7a7ccf4
--- /dev/null
+++ b/recipes/findutils-xargs.toml
@@ -0,0 +1,29 @@
+# uutils/findutils 0.9.1 — xargs en Rust (reemplazo Rust-nativo del xargs de busybox/GNU findutils).
+#
+# Etapa C pieza 2b: receta hermana de recipes/findutils.toml. Mismo crate (uutils/findutils), mismo
+# commit y mismo patch de [workspace]; sólo cambia el bin seleccionado (`--bin xargs`). findutils compila
+# bins SEPARADOS sobre una lib común y `cargo rustc -- <flags-codegen>` exige un único target, así que
+# cada herramienta es su propia receta (recompila el dep-graph compartido — coste aceptado).
+#
+# Fuente git pinned al tag 0.9.1 (ADR 0006); Cargo.lock committeado ⇒ vendor + `--locked`
+# bit-reproducible. Estático musl con zig cc (sin loader del host).
+
+name    = "findutils-xargs"
+version = "0.9.1"
+
+[source]
+repo   = "https://github.com/uutils/findutils"
+commit = "17d852c428414c1c2e5eb4b1024eaa3484d69a45"
+# Mismo motivo que findutils.toml: crate suelto dentro del workspace de hammer ⇒ cargo vendor lo absorbe.
+patches = ["findutils-workspace.patch"]
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "static"
+# `--bin xargs`: selecciona el binario xargs entre los 4 bins del paquete (find/xargs/locate/updatedb).
+flags    = ["--bin", "xargs"]
+
+# Install custom: el static musl en /usr/bin/xargs.
+[build.phases]
+install = "mkdir -p /out/usr/bin && cp target/release/xargs /out/usr/bin/xargs"