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…
feat(recetas): pata y churay entran al catálogo — «no hay pata» era que no existía el paquete
1# arje-packager — el firmador del seed de atestación (plan A1). HERRAMIENTA de build-time, NO se
2# embarca en el producto: takana lo construye y lo corre durante el ensamblado del product-rootfs para
3# firmar las concesiones (`Card::attest`) sobre el BLAKE3 de los binarios críticos, bajo una rootkey.
4#
5# Con `--seed-out` (añadido en tawasuyu c78a0ada) emite el seed firmado STANDALONE (JSON), que takana
6# inyecta en /ente/seed.card.json del product-rootfs (que arma como disco, no como initramfs). El gate
7# de arje-zero-attest lo verifica al boot (A2). Reusa la cripto canónica (arje-attest/agora) — cero
8# criptografía nueva en takana.
9#
10# Commit 06184e43 (rama selfhost/arje-zero-attest-lockfile) = c78a0ada + Cargo.lock committeado ⇒ `cargo
11# vendor --locked` ⇒ build bit-reproducible (mismo lock que arje-zero-attest, mismo árbol).
12#
13# Estático musl con zig cc: corre en el host (durante el ensamblado) sin loader, como busybox/bwrap.
14
15name = "arje-packager"
16version = "0.0.1"
17license = "MIT"
18
19[source]
20repo = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git"
21commit = "619431cac9753cd55d0f9e2d99ff8efe7fab651b"
22# tawasuyu COMMITEA su propio `vendor/` (smithay 0.7.0 parcheado por `[patch.crates-io]` POR
23# RUTA: 159 líneas en 4 ficheros —flip async DRM, y dos de layer-shell—). El `cargo vendor` de
24# takana vendorea por default a `vendor/`, que convierte ESE dir en reemplazo de fuente, donde
25# cada crate debe traer `.cargo-checksum.json` — que el patch nunca tuvo (`git ls-tree`: no
26# existió nunca). El pin viejo (06184e43, 20-jun) es ANTERIOR a que ese `vendor/` naciera
27# (a37815634, 21-jul), por eso esta receta no lo traía: salta al mover el pin. No entra en
28# `hash_inputs`.
29cargo_vendor_dir = ".hammer-cargo-vendor"
30
31[build]
32compiler = "zig-cc"
33target = "x86_64-linux-musl"
34link = "static"
35# -p + --bin: el root del monorepo es un manifiesto VIRTUAL ⇒ `-p` elige el paquete, y como
36# arje-packager tiene lib + bin, `cargo rustc -- <flags>` exige además `--bin` (target único).
37flags = ["-p", "arje-packager", "--bin", "arje-packager"]