tawasuyu

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 1463Shell 157Markdown 91Rust 853029 Definiciones

fix(recetas): las deps medidas en la granja que nunca llegaron a un commit

Seis recetas que la granja YA SELLÓ con estos cambios y que vivían sólo en el árbol de
`/opt/takana` —el clon que siembra al worker—, sin estar en ningún commit. Se traen tal cual: los
trece hashes portados se recalcularon en el hub y coinciden byte a byte con los que el grafo
publica, que es la única verificación que vale acá.

`churay-metal`: tira el `Cargo.lock` del subworkspace (pinea blake3 1.8.7 y el vendor del
workspace raíz trae 1.8.5 ⇒ «failed to select a version» a los 27 s, offline y sin aviso), pasa a
`--manifest-path` y gana una fase `install` que busca el binario en los DOS `target/` posibles —el
del subworkspace y el que el sandbox fija por `CARGO_TARGET_DIR`—, que es la diferencia entre
instalar y fallar al final de una compilación larga.

Las cinco `pata-*`: `openssl`, `fontconfig` y `cmake` en `[deps] build`, medidas igual que
`alsa-lib` el 13-oct — con alsa resuelto el build llegó 41 min más lejos y murió en `openssl-sys`.
Las `-sys` del grafo salen de `cargo tree`; se declaran las que piden algo del sistema.

Artefactos presentes en el store del hub: churay-metal 7,7M · pata-centro 27M.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

6aa4b4081b3c0bb62b0d46764f528d7de7d00d44 · por Sergio · (hace 7 d) · padre 6c1c30b28 · ver el árbol en este commit

Delta semántico

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

6 archivos · +74 −7

diff --git a/recipes/churay-metal.toml b/recipes/churay-metal.toml
index 7c6c63d3..291d1602 100644
--- a/recipes/churay-metal.toml
+++ b/recipes/churay-metal.toml
@@ -50,13 +50,44 @@ cp .hammer-cargo-vendor/atspi-common/xml/*.xml "$XMLDIR"/
 export LOCKSTEP_XML_PATH="$XMLDIR"
 printf '%s\n' '#!/bin/sh' 'for a do' 'case "$a" in --target=*) a=--target=x86_64-linux-musl ;; esac' 'set -- "$@" "$a"' 'shift' 'done' 'exec zig cc -mcpu=baseline "$@"' > "$PWD/.hammer-zig-cc"
 chmod +x "$PWD/.hammer-zig-cc"
+# El lock del subworkspace pinea `blake3 1.8.7` y el vendor —derivado del lock del workspace RAÍZ,
+# en el MISMO commit— trae 1.8.5: churay-metal está excluido del workspace y su lock se actualizó
+# sin el de arriba. Offline eso no avisa, falla a los 27 s con «failed to select a version».
+# Tirando el lock, cargo resuelve contra lo que el vendor tiene de verdad.
+rm -f 02_ruway/churay/churay-metal/Cargo.lock
 RF="-C linker=$PWD/.hammer-zig-cc"
 rustc -vV | grep -q 'host: .*-alpine-' || RF="$RF -C link-self-contained=no"
-CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offline -p churay-metal --bin churay-metal -- -C target-feature=-crt-static
+CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --offline \
+  --manifest-path 02_ruway/churay/churay-metal/Cargo.toml -- -C target-feature=-crt-static
+'''
+
+install = '''
+set -e
+# El subworkspace tiene `target/` propio, pero el sandbox puede fijar CARGO_TARGET_DIR: se
+# buscan los dos sitios en vez de suponer uno, que es la diferencia entre instalar y fallar
+# al final de una compilación larga.
+for d in 02_ruway/churay/churay-metal/target/release target/release; do
+  if [ -x "$d/churay-metal" ]; then
+    install -Dm755 "$d/churay-metal" /out/usr/bin/churay-metal
+    exit 0
+  fi
+done
+echo "no encontre el binario churay-metal en ninguno de los dos target/" >&2
+exit 1
 '''
 
 [deps]
 # El set de deps sale de `recipes/churay.toml`, la receta de la cara *hybrid* que OTRO AGENTE ya
 # tenía escrita (sin commitear) con esta lista probada. Adoptarla en vez de adivinarla es lo que
 # evita repetir su trabajo mal: mi primera versión salió sin `[deps]` y por eso no construyó.
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+# alsa-lib: MEDIDO el 13-oct — esta receta murio a los 38 min con «Package alsa was not
+# found in the pkg-config search path». El cargo tree del host NO lo habia mostrado para este
+# binario, asi que el hecho manda sobre la medicion: el grafo del commit pineado trae alsa-sys.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "alsa-lib", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]
+
diff --git a/recipes/pata-centro.toml b/recipes/pata-centro.toml
index 029dd0be..8e1ec1ca 100644
--- a/recipes/pata-centro.toml
+++ b/recipes/pata-centro.toml
@@ -73,4 +73,13 @@ CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offlin
 
 [deps]
 # Mismo set que `churay-metal`: cliente Wayland con stack gráfico.
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+# alsa-lib: MEDIDO el 13-oct — esta receta murio a los 38 min con «Package alsa was not
+# found in the pkg-config search path». El cargo tree del host NO lo habia mostrado para este
+# binario, asi que el hecho manda sobre la medicion: el grafo del commit pineado trae alsa-sys.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "alsa-lib", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]
diff --git a/recipes/pata-llimphi.toml b/recipes/pata-llimphi.toml
index 6f8d6f97..577d4195 100644
--- a/recipes/pata-llimphi.toml
+++ b/recipes/pata-llimphi.toml
@@ -77,4 +77,10 @@ CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offlin
 # del `Cargo.toml` no las anuncian.
 # ⚠ Es `alsa-lib` para el BUILD; el servidor de audio de la distro es PipeWire, que es otra cosa
 # y otra decisión (ver la receta `pipewire`).
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "alsa-lib", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "alsa-lib", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]
diff --git a/recipes/pata-notify-panel.toml b/recipes/pata-notify-panel.toml
index 9f3fbde4..b6863e26 100644
--- a/recipes/pata-notify-panel.toml
+++ b/recipes/pata-notify-panel.toml
@@ -72,4 +72,10 @@ CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offlin
 [deps]
 # Mismo set que `churay-metal`. Mi primera versión salió sin `[deps]` y murió en
 # `smithay-client-toolkit/build.rs` pidiendo `xkbcommon.pc` por pkg-config.
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]
diff --git a/recipes/pata-notify-triage.toml b/recipes/pata-notify-triage.toml
index a3942b00..17e1a1f0 100644
--- a/recipes/pata-notify-triage.toml
+++ b/recipes/pata-notify-triage.toml
@@ -67,4 +67,13 @@ CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offlin
 # `build.rs` encuentre los `.pc`, y `libxkbcommon` porque es el que nombró el fallo.
 # Unificado con el set de `churay-metal` —el que otro agente tenía probado— en vez de dejar el
 # mínimo que yo había deducido del primer fallo: adivinar la lista corta ya me costó una vuelta.
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+# alsa-lib: MEDIDO el 13-oct — esta receta murio a los 38 min con «Package alsa was not
+# found in the pkg-config search path». El cargo tree del host NO lo habia mostrado para este
+# binario, asi que el hecho manda sobre la medicion: el grafo del commit pineado trae alsa-sys.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "alsa-lib", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]
diff --git a/recipes/pata-notify.toml b/recipes/pata-notify.toml
index a64072cf..358a34d2 100644
--- a/recipes/pata-notify.toml
+++ b/recipes/pata-notify.toml
@@ -57,4 +57,10 @@ CC="$PWD/.hammer-zig-cc" RUSTFLAGS="$RF" cargo rustc --release --locked --offlin
 
 [deps]
 # Mismo set que `churay-metal`: arrastra el toolkit de cliente Wayland.
-build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf"]
+# ⚠ `openssl`, `fontconfig` y `cmake` añadidos tras MEDIRLO igual que `alsa-lib` (2026-10-13): con
+# alsa resuelto, el build llegó 41 min más lejos y murió en `openssl-sys` —«Package 'openssl' was not
+# found in the pkg-config search path»—. Las `-sys` del grafo de este binario, por `cargo tree`:
+# alsa-sys · openssl-sys · yeslogic-fontconfig-sys · aws-lc-sys (compila su C con cmake) · zstd-sys
+# (vendorea) · wayland-sys (dlopen). Se declaran las que piden algo del sistema; las tres publican su
+# `.pc` o su binario, verificado en el store antes de relanzar.
+build = ["mesa", "wayland", "wayland-protocols", "libdrm", "libxkbcommon", "expat", "zlib", "zstd", "libffi", "pkgconf", "openssl", "fontconfig", "cmake"]