sealed 765 → 768 debt 3 → 0 never 2 (los dos con bloqueo documentado) base 50/51 → 51/51 cli 73/74 → 74/74 escritorio-mirada 29/31 → 31/31 Cierre de la deuda que yo mismo abrí al parchear libudev-zero (una hoja del cierre de las CINCO imágenes): reconstruidas `usbutils` (b3:245c718b — depende de libudev por pkg-config), `mirada-compositor` (b3:c906e244) y `mirada-greeter` (b3:c7dfcf09). Ojo con la aritmética, que casi me confunde: `yupana radio libudev-zero` dice 58 dependientes transitivos y build-state sólo veía 3 en deuda. No es contradicción — **build-state cubre el catálogo canónico `recipes/`, no las colas `incoming-*`**, y 47 de esos 58 están en incoming-kde. Los 8 de incoming-gnome ya se habían reconstruido ayer. Los dos `never` NO son trabajo pendiente disfrazado; los dos tienen bloqueo real y ya escrito: - **dwarves**: su cmake no halla libdw. La receta ya lo documentaba y el build lo confirmó palabra por palabra («Could NOT find libdw include dir / library»): `elfutils.toml` empaqueta sólo LIBELF —lo que kbuild necesita— y es INTOCABLE porque es build-dep de los kernels sellados. La salida es una receta hermana `elfutils-libdw`, que en musl arrastra shims de argp/fts/obstack. Campaña propia, no un arreglo. - **llimphi-counter**: es una PLANTILLA, no un paquete. Su commit es `000…0`, un placeholder que nunca se llenó. Gasté un build en descubrirlo, así que ahora la receta lo dice en la primera línea: `⛔ ESTO ES UNA PLANTILLA, NO UN PAQUETE. NO INTENTES CONSTRUIRLA.` El estado `never` del grafo era técnicamente cierto y semánticamente engañoso. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
41 lines
2.3 KiB
TOML
41 lines
2.3 KiB
TOML
# ⛔ ESTO ES UNA PLANTILLA, NO UN PAQUETE. NO INTENTES CONSTRUIRLA.
|
|
#
|
|
# Su `commit` es `000…0`, un placeholder que nunca se llenó (ver el comentario en `[source]`), así que
|
|
# el fetch falla con `commit 000…0 no existe en …/llimphi.git tras fetch`. Eso es CORRECTO: la receta
|
|
# existe para MOSTRAR cómo se escribe una receta Rust gráfica, no para producir un artefacto.
|
|
#
|
|
# Aparece como `never` en `docs/state/build-state.json`, y ahí el estado es técnicamente cierto y
|
|
# semánticamente engañoso: no es trabajo pendiente, es un ejemplo. Este aviso está acá porque el
|
|
# 2026-07-30 gasté un build en descubrirlo mientras cerraba la deuda real del corpus. Si algún día se
|
|
# quiere de verdad, hay que fijar un commit real del repo con las deps vendoreadas.
|
|
#
|
|
# Ejemplo de receta Rust (BuildSys::Cargo) — un front-door de tawasuyu.
|
|
#
|
|
# Muestra el caso GRÁFICO (el más exigente): wgpu+winit+vello cargan Vulkan/Wayland por
|
|
# `dlopen` en runtime, así que el binario va `link = "dynamic"` (no estático) y el link lo
|
|
# cierra el `zig cc` del lab (provee `libgcc_s`). Un crate NO gráfico (CLI, daemon) usa
|
|
# `link = "static"` y sale como binario monolítico hidratable por hardlink.
|
|
#
|
|
# DOS requisitos para que el build hermético funcione (el sandbox no tiene red):
|
|
# 1. commit FIJADO del repo público (reproducibilidad, ADR 0006).
|
|
# 2. deps VENDOREADAS en la fuente: `cargo vendor` + `.cargo/config.toml`, o el repo ya las
|
|
# trae. `cargo build --offline --locked` falla si falta cualquiera.
|
|
|
|
name = "llimphi-counter"
|
|
version = "0.1.0"
|
|
|
|
[source]
|
|
repo = "https://git.tawasuyu.net/tawasuyu/llimphi.git"
|
|
commit = "0000000000000000000000000000000000000000" # ← fijar al commit real con deps vendoreadas
|
|
|
|
[build]
|
|
compiler = "zig-cc" # linker del binario (wrapper zig cc, cierra -lgcc_s)
|
|
target = "x86_64-linux-musl" # se traduce a x86_64-unknown-linux-musl para rustc
|
|
link = "dynamic" # gráfico: necesita dlopen de Vulkan/Wayland en runtime
|
|
# Selección del binario a construir dentro del workspace/crate:
|
|
flags = ["-p", "llimphi-ui", "--example", "counter"]
|
|
|
|
# runtime: en un userland musl coherente (Alpine) el binario dlopea mesa/vulkan/wayland
|
|
# musl-built sin fricción; mezclar con gráficos glibc es lo que rompe (ver M2 del plan
|
|
# arje↔hammer en tawasuyu).
|