Files
takana/recipes/incoming-kde/libXfont2.toml
T
SergioandClaude Opus 5 3d8c6fc6c7 KDE: cerrar los 3 huecos que quedaban — polkit-qt-1, qqc2-breeze-style y xwayland
La frontera queda en CERO huecos y cero pendientes, y el perfil escritorio-kde en 302/302
sellados. Los tres eran huecos de RUNTIME: KDE sellaba 1037/1037 con la autorización muerta,
los controles QML en estilo genérico y ninguna app X11 capaz de arrancar.

polkit-qt-1 0.201.1 — al conectarlo se vio lo que ninguna métrica decía: kauth NO traía plugin
de backend, ni siquiera el directorio. Ahora trae kf6/kauth/backend/kauth_backend_plugin.so con
el símbolo KAuth::Polkit1Backend. Cascada de 26 dependientes reconstruida, 26/26 sin fallos.
Añadirlo cambió la rama del CMake y pidió kwindowsystem y tras él las X11 — cada cosa dicha por
el configure al fallar, no supuesta.

qqc2-breeze-style 6.7.2 (la del stack Plasma, NO la 6.7.4 de nixpkgs: mezclar versiones de un
mismo release es pedir desajuste de ABI en los plugins QML, que se ve en runtime y no al
construir). Enganchado a plasma-workspace como deps.runtime, no build: es un plugin que Qt carga
por la ruta de imports. Verificado que runtime no re-hashea ⇒ cero rebuilds.

xwayland 24.1.13 — resultó ser una CADENA de seis: libfontenc, libXfont2, libxkbfile,
libxshmfence, xkbcomp y el servidor. Ninguna existía. Tres tropiezos con su lección:

  · libxkbfile 1.2.0 ya no trae ./configure: es sólo meson. El resto de las libs X11 de la cola
    son autotools, así que copiar su plantilla era lo natural y estaba mal.
  · «checking for freetype2... no» culpaba a freetype, que estaba perfecta: freetype2.pc declara
    Requires: zlib, libpng y pkg-config resuelve transitivamente. El mensaje señala al paquete
    equivocado.
  · libXfont2 construye una .so y moría en «recompile with -fPIC» contra la libfreetype.a
    estática. Van las variantes -shared.

  Y xkbcomp es el eslabón que NINGÚN build habría delatado: xwayland lo lanza como subproceso en
  runtime (xkb/ddxLoad.c) y su meson lo pide con required:false, así que la receta compila igual
  y el servidor arranca sin teclado. Se encontró leyendo la fuente.

⚠ Sin GLX, y no por preferencia: glx/meson.build:43 pide dependency('gl') y ninguna cola publica
gl.pc — las tres recetas de mesa van con glx y glvnd apagados por decisión anterior. Las apps
X11 corren en 2D. ⚠ Y el meson.build RAÍZ engaña: ahí build_glx sólo enciende una tabla hash y
parece gratis; yo mismo di la preocupación por infundada mirando el fichero equivocado.

Verificado: Xwayland arranca y se identifica («The X.Org Foundation Xwayland Version 24.1.13»),
las 6 REPRODUCEN bit a bit, los 5 grafos con deuda 0, y los 6 tarballs en el mirror.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-08 22:26:17 +00:00

35 lines
1.7 KiB
TOML

# libXfont2 2.0.9 — la capa de fuentes del SERVIDOR X (xfont2.pc), no del cliente. Eslabón de xwayland: `dependency(xfont2, >= 2.0)` obligatorio. Cuelga de libfontenc y freetype.
name = "libXfont2"
version = "2.0.9"
license = "MIT"
[source]
tarball = "https://xorg.freedesktop.org/releases/individual/lib/libXfont2-2.0.9.tar.xz"
sha256 = "f042a370666815e7b941e9b7019024755bd1c6c2954afbfa515af378251799e2"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
zig_version = "0.13.0"
[build.phases]
configure = '''
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig \
./configure --prefix=/usr --disable-static --enable-shared --disable-devel-docs
'''
compile = "make -j\"$(nproc)\""
install = "make install DESTDIR=/out"
[deps]
# ⚠ `libpng` no lo usa libXfont2: lo exige `freetype2.pc`, que declara `Requires: zlib, libpng`.
# pkg-config resuelve Requires TRANSITIVAMENTE, así que sin libpng responde «checking for
# freetype2... no» y culpa a freetype, que está perfectamente instalada. El mensaje señala al
# paquete equivocado — por eso se mira el .pc y no sólo el error.
build = ["pkgconf", "python3", "util-macros", "xorgproto", "xtrans", "libfontenc", "freetype-shared", "zlib", "libpng-shared"]
# ⚠ Las variantes -shared, NO las estáticas del corpus (2026-09-08). libXfont2 construye una
# `.so`, y enlazar ahí una `libfreetype.a` compilada sin `-fPIC` muere con «relocation
# R_X86_64_64 cannot be used against local symbol; recompile with -fPIC». El error apunta al
# enlazador y la causa está en la FORMA de la dependencia: una librería compartida sólo puede
# absorber objetos PIC. Es la misma figura que ya documentan `libpng-pic` y el `.so` de gtk4.