# ⛔ 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).
