Files
hammer/recipes/libxkbcommon.toml
T
sergioandClaude Opus 4.8 bbcdad1625 recetas: -Ddefault_library=both en las 5 libs meson que sólo publicaban .so
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>
2026-07-22 16:49:27 -04:00

28 lines
1.3 KiB
TOML

# libxkbcommon 1.7.0 — manejo de keymaps XKB. La enlaza mirada-compositor (smithay, crate xkbcommon).
# Proyecto meson. Recorte: sin X11, sin docs, sin las utilidades wayland, sin xkbregistry (libxml2),
# sin tools. Sólo libxkbcommon core. bison para el parser de keymaps.
# (En runtime usa los datos de xkeyboard-config; no es dep de build.)
name = "libxkbcommon"
version = "1.7.0"
[source]
tarball = "https://github.com/xkbcommon/libxkbcommon/archive/refs/tags/xkbcommon-1.7.0.tar.gz"
sha256 = "20d5e40dabd927f7a7f4342bebb1e8c7a59241283c978b800ae3bf60394eabc4"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
zig_version = "0.13.0"
[build.phases]
# `-Ddefault_library=both`: meson produce SÓLO .so por defecto. gtk4 enlaza xkbcommon ESTÁTICAMENTE
# y sin `libxkbcommon.a` muere con "unable to find static system library 'xkbcommon'". Mismo fallo
# raíz que ya se corrigió en pixman: el consumidor pide .a y la dep sólo publicó .so.
configure = "meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Denable-x11=false -Denable-docs=false -Denable-wayland=false -Denable-xkbregistry=false -Denable-tools=false"
compile = "ninja -C output"
install = "DESTDIR=/out ninja -C output install"
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "bison"]