Files
hammer/recipes/llimphi-counter.toml
T
sergioandClaude Opus 5 0225aa4e08 licencias: el código propio (tawasuyu) queda en MIT — 1017 de 1141 (89%)
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>
2026-08-07 14:01:15 -04:00

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