Decisión del usuario: «tawasuyu está en MIT». Es la misma licencia que hammer (LICENSE en la raíz + Cargo.toml), así que todo lo nuestro queda coherente bajo un solo término. Las 20 recetas con fuente en git.tawasuyu.net: arje-* (el init y sus compat), mirada-* (el compositor, el greeter y mirada-ctl), netup, agora-cli, cosmos-cli, dominium-cli, tinkuy-sim, llimphi-counter y libelogind. ⚠ ANOTADO EN LA TABLA porque es una trampa que casi pisé: `libelogind` NO es el elogind de upstream (que sería LGPL-2.1+). Por el nombre lo parece; su cabecera dice que es una reimplementación PROPIA de la C-ABI sd-login dentro de arje-compat. Declararla LGPL «porque se llama así» habría sido exactamente el error que este fichero prohíbe — el tercero del mismo tipo hoy, después de `knighttime` (parecía Go y es KDE) y de la familia `kube*` (parecen KDE y son Go). El nombre nunca es evidencia; la fuente sí. Hashes verificados sobre las 20: idénticos. Quedan 124 sin declarar, ya todas de terceros. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
42 lines
2.3 KiB
TOML
42 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"
|
|
license = "MIT"
|
|
|
|
[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).
|