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…
pin de tawasuyu: las 37 recetas saltan al mismo commit
1# puriy-costura-torrent — el brazo LARGO de la costura (SDD 26 §6.9): el daemon de torrent.
2#
3# ══ POR QUÉ ES UN BINARIO APARTE Y NO UN VERBO DENTRO DEL HOST ════════════════════════════════
4# Dos razones, y la primera decide: **una descarga tiene que sobrevivir al navegador**, y Gecko
5# lanza un host de native messaging POR PUERTO y lo mata cuando el puerto se cierra (medido el
6# 2026-09-10). Un cliente BitTorrent dentro de `puriy-costura` dejaría de bajar al cerrar la
7# pestaña. La segunda es el precio: librqbit + tokio + rustls son 226 crates, y ese host —952 K,
8# compartido por las extensiones del navegador— pasaría a ~20 MB y cada iteración a un cuarto de
9# hora.
10#
11# ⚠ Que esa pila COMPILA para musl con zig-cc se midió antes de decidir nada, con una receta
12# desechable: 226 crates y sella. Era una incógnita real —ninguna receta de tawasuyu del corpus
13# había construido tokio+rustls; las que hay dicen «deps livianas (sin tokio/libp2p/axum)»— así que
14# la decisión no fue «no se puede», fue «no ahí».
15#
16# ══ PEREZOSO: ESTO NO ES UN SERVICIO ══════════════════════════════════════════════════════════
17# El artefacto es un binario y nada más: NO se declara ningún `.service`, ni nada que corra al
18# iniciar sesión. Lo levanta su propio cliente la primera vez que hay un `magnet:` que tomar, y se
19# va solo cuando no queda nada bajando. Un daemon que arranca con la sesión es un daemon que nadie
20# pidió, y en una distro se nota.
21#
22# ══ EL COMMIT PINEADO ═════════════════════════════════════════════════════════════════════════
23# `3f69aab2` = el crate + el `Cargo.lock` cerrado (generado en un árbol LIMPIO del commit, que es
24# la única forma de que describa `main` y no el árbol compartido de las sesiones).
25
26name = "puriy-costura-torrent"
27version = "0.1.0"
28license = "MIT OR Apache-2.0"
29
30[source]
31repo = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git"
32commit = "cbff0c7dda490b11214c5f454c68f765647baa2d"
33# Obligatorio para cualquier receta desde este monorepo: tawasuyu commitea su propio `vendor/` con
34# un `smithay` parcheado por RUTA, y el `cargo vendor` de takana convertiría ese directorio en uno
35# de reemplazo de fuente, donde cada crate tiene que traer `.cargo-checksum.json` — que ese patch
36# nunca tuvo. El síntoma no menciona nada de esto (ver `puriy-costura.toml`).
37cargo_vendor_dir = ".hammer-cargo-vendor"
38
39[build]
40compiler = "zig-cc"
41target = "x86_64-linux-musl"
42# Estático: lo lanza el navegador (a través del host) y no puede depender de encontrar un loader.
43link = "static"
44# `--bin` además de `-p` porque el crate tiene lib + bin y `cargo rustc` exige un target único.
45flags = ["-p", "puriy-costura-torrent", "--bin", "puriy-costura-torrent"]