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 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

⎇ d0ad93c7c5af6570852ef4fb306948d1a15b067f recipes/llimphi-counter.toml TOML · 29 siq'ikuna · 1.5 KB Ñawpa willay ch'uya

feat(build): BuildSys::Cargo — el lab construye crates Rust c5ab7e450 · Sergio ·

1# Ejemplo de receta Rust (BuildSys::Cargo) — un front-door de tawasuyu.
2#
3# Muestra el caso GRÁFICO (el más exigente): wgpu+winit+vello cargan Vulkan/Wayland por
4# `dlopen` en runtime, así que el binario va `link = "dynamic"` (no estático) y el link lo
5# cierra el `zig cc` del lab (provee `libgcc_s`). Un crate NO gráfico (CLI, daemon) usa
6# `link = "static"` y sale como binario monolítico hidratable por hardlink.
7#
8# DOS requisitos para que el build hermético funcione (el sandbox no tiene red):
9#   1. commit FIJADO del repo público (reproducibilidad, ADR 0006).
10#   2. deps VENDOREADAS en la fuente: `cargo vendor` + `.cargo/config.toml`, o el repo ya las
11#      trae. `cargo build --offline --locked` falla si falta cualquiera.
12
13name    = "llimphi-counter"
14version = "0.1.0"
15
16[source]
17repo   = "https://git.tawasuyu.net/tawasuyu/llimphi.git"
18commit = "0000000000000000000000000000000000000000"  # ← fijar al commit real con deps vendoreadas
19
20[build]
21compiler = "zig-cc"            # linker del binario (wrapper zig cc, cierra -lgcc_s)
22target   = "x86_64-linux-musl" # se traduce a x86_64-unknown-linux-musl para rustc
23link     = "dynamic"           # gráfico: necesita dlopen de Vulkan/Wayland en runtime
24# Selección del binario a construir dentro del workspace/crate:
25flags    = ["-p", "llimphi-ui", "--example", "counter"]
26
27# runtime: en un userland musl coherente (Alpine) el binario dlopea mesa/vulkan/wayland
28# musl-built sin fricción; mezclar con gráficos glibc es lo que rompe (ver M2 del plan
29# arje↔hammer en tawasuyu).