Mismo fallo raíz que ya se corrigió en pixman, ahora en la siguiente capa de la cascada GUI: meson
produce SÓLO .so por defecto, el consumidor enlaza estáticamente y el link muere. gtk4 lo dice
explícito: "unable to find static system library 'xkbcommon'" y "Static library 'drm' not found
for dependency 'libdrm'".
NO son "las 30 recetas meson". De las que no tienen `default_library=both`, 16 declaran
`=static` a propósito (gtk4, glib, cairo, pango…) y pasarlas a `both` sería otro cambio, no este
arreglo. Quedan 13 sin ninguna forma del flag —ojo, hay que buscar las DOS grafías,
`-Ddefault_library` y `--default-library`, o fcft se cuela como falso positivo— y de ésas sólo 5
producen librería que alguien enlaza: libxkbcommon (9 consumidores), libdrm (12), tllist (2),
libinput (1), seatd (1). El resto son ejecutables puros (bwrap, foot, iputils, usbutils, los
mesa-*) donde el flag no produce nada y sólo re-hashearía sin ganancia, o datos (wayland-protocols
son XML de protocolos, no compila librería).
`mesa` queda FUERA a propósito: produce librería y tiene 10 consumidores, pero es un build enorme
y no aparece en la cadena de fallo. Si hace falta, se decide aparte.
Radio de re-sellado medido con `hammer hash --check` antes/después: 8 recetas, de 754 selladas a
746. Las 4 tocadas que estaban selladas (libdrm, libxkbcommon, tllist, seatd) más 4 dependientes
que se invalidan (libepoxy y la cadena mesa, que cuelgan de libdrm). libinput ya estaba en deuda.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adapta las recetas importadas a fases hammer (meson/samurai directos, link=dynamic)
y construye+sella la base del stack gráfico para el escritorio tawasuyu:
- samurai: zig 0.13.0 (el default miscompila musl → reallocarray falla en runtime)
- meson: Python puro, copia mesonbuild/+wrapper (sin wheel/gpep517 que hammer no tiene)
- libdrm: core-only (GPU helpers disabled) → sin libpciaccess; iris usa libdrm core
- seatd: libseat.so.1, -Dwerror=false (CMSG_NXTHDR de musl dispara -Wsign-compare)
Pendiente (docs/14-mesa-stack.md §Estado): wayland (los headers de wayland-scanner
no aparecen, prob. libexpat.so en el scanner), wayland-protocols (bloqueada por
wayland) y mesa (la grande, recortada iris-only). meson validado con zig cc sobre
proyectos meson reales (libdrm, seatd).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>