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>
28 lines
1.4 KiB
TOML
28 lines
1.4 KiB
TOML
# libdrm 2.4.134 — wrapper de los ioctls DRM del kernel. Lo enlazan Mesa, mirada (smithay) y
|
|
# arje-splash. Proyecto meson. Construimos SÓLO el core (todas las libs helper por-GPU
|
|
# deshabilitadas): el driver gallium `iris` de Mesa moderno usa libdrm CORE, no libdrm_intel
|
|
# (ése es el driver i915 clásico, legacy). Así evitamos la dep libpciaccess (sólo la piden
|
|
# los helpers intel/radeon/nouveau viejos). link=dynamic: shared lib que Mesa/mirada enlazan.
|
|
name = "libdrm"
|
|
version = "2.4.134"
|
|
|
|
[source]
|
|
tarball = "https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.134/libdrm-libdrm-2.4.134.tar.gz"
|
|
sha256 = "28af861f62e7a2c3a48c5ff2ad4d01cf440a419f7f877de5caa7f73d3afa5367"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
|
|
[build.phases]
|
|
# `-Ddefault_library=both`: meson produce SÓLO .so por defecto. gtk4 enlaza drm ESTÁTICAMENTE y sin
|
|
# `libdrm.a` avisa "Static library 'drm' not found for dependency 'libdrm'". 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 -Dintel=disabled -Dradeon=disabled -Damdgpu=disabled -Dnouveau=disabled -Dvmwgfx=disabled -Dman-pages=disabled -Dvalgrind=disabled -Dtests=false"
|
|
compile = "ninja -C output"
|
|
install = "DESTDIR=/out ninja -C output install"
|
|
|
|
[deps]
|
|
build = ["meson", "samurai", "python3", "pkgconf"]
|