diff --git a/docs/state/targets.toml b/docs/state/targets.toml index b0c70c65..9efc8656 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -179,6 +179,12 @@ paquetes = [ # bindings C++, que es deuda aparcada por diseño. Medido, no supuesto.) "foot", # emulador de terminal (misma familia que fcft/tllist, ya en la clausura) "fuzzel", # lanzador de aplicaciones + # ── DATOS, no binarios: nadie los declara como dep de build, así que SÓLO entran como raíces ── + # Ninguna receta depende de una fuente ni de un mapa de teclado para COMPILAR, de modo que la + # clausura no puede alcanzarlos por más aristas que siga. Si no están acá, no están. + "dejavu-fonts", # sin UNA fuente, foot muere con «monospace::size=8: failed to match font» + "xkeyboard-config", # sin datos XKB: «xkbcommon: ERROR: failed to add default include path + # /usr/share/X11/xkb», y sway no completa el seat "swaybg", # fondo de escritorio "swaylock", # bloqueo de pantalla (con PAM: linux-pam SÍ está en el corpus) "swayidle", # apagado por inactividad diff --git a/recipes/incoming-wlr/dejavu-fonts.toml b/recipes/incoming-wlr/dejavu-fonts.toml new file mode 100644 index 00000000..4522df39 --- /dev/null +++ b/recipes/incoming-wlr/dejavu-fonts.toml @@ -0,0 +1,22 @@ +# dejavu-fonts 2.37 — fuentes TTF. Qt ya no trae fuentes ("QFontDatabase: Cannot find font directory"); +# sin ellas el escritorio renderiza sin texto legible. Data-only: copia los .ttf a /usr/share/fonts. +name = "dejavu-fonts" +version = "2.37" +license = "MIT" + +[source] +tarball = "https://github.com/dejavu-fonts/dejavu-fonts/releases/download/version_2_37/dejavu-fonts-ttf-2.37.tar.bz2" +sha256 = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" + +[build.phases] +configure = "true" +compile = "true" +install = "mkdir -p /out/usr/share/fonts/dejavu && cp ttf/*.ttf /out/usr/share/fonts/dejavu/" + +[deps] +build = [] diff --git a/recipes/incoming-wlr/xkeyboard-config.toml b/recipes/incoming-wlr/xkeyboard-config.toml new file mode 100644 index 00000000..ea61893c --- /dev/null +++ b/recipes/incoming-wlr/xkeyboard-config.toml @@ -0,0 +1,24 @@ +# xkeyboard-config 2.44 — datos de layouts de teclado XKB + `xkeyboard-config.pc` (variable xkb_base). +# plasma-desktop lo EXIGE en ConfigureChecks (pkg_get_variable xkb_base) y kwin/Qt-wayland lo usan en +# runtime (/usr/share/X11/xkb; sin él: "xkbcommon: failed to add default include path /usr/share/X11/xkb"). +# Meson, sin compilación real (instala datos + .pc). nls off (evita gettext); sin libxml2 (validación). +name = "xkeyboard-config" +version = "2.44" +license = "MIT" + +[source] +tarball = "https://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.44.tar.xz" +sha256 = "54d2c33eeebb031d48fa590c543e54c9bcbd0f00386ebc6489b2f47a0da4342a" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" + +[build.phases] +configure = "meson setup output --prefix=/usr -Dnls=false -Dcompat-rules=false" +compile = "ninja -C output" +install = "DESTDIR=/out ninja -C output install" + +[deps] +build = ["meson", "samurai", "python3", "pkgconf"] diff --git a/scripts/wlr/sway-headless.sh b/scripts/wlr/sway-headless.sh index d8309e1d..2b7243ca 100755 --- a/scripts/wlr/sway-headless.sh +++ b/scripts/wlr/sway-headless.sh @@ -23,13 +23,14 @@ # produce los `.a`. `libz.so.1` está como artefacto aparte (`zlib-shared`); las otras dos hoy # sólo existen en `.dev-fs/alpine`. Sin ellas sway ni arranca: «Error relocating /usr/bin/sway: # XML_ParserFree: symbol not found». -# · xkeyboard-config — «xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb». -# Sway sigue vivo pero no completa el seat. HAY receta, en incoming-{kde,gnome,cosmic}; en la -# cola de wlr no, así que el perfil no la alcanza. -# · dejavu-fonts — el rootfs no tiene UNA fuente. `foot` muere con «monospace::size=8: failed to -# match font». Misma historia: la receta existe en incoming-{kde,cosmic} y no en la de wlr. -# · /etc/passwd y /etc/fonts/fonts.conf — sin el primero yambar hace getpwuid y falla; sin el -# segundo fontconfig no mira /usr/share/fonts aunque las fuentes estén. +# · /etc/passwd — sin él yambar hace getpwuid y falla. (`fonts.conf` NO hace falta: lo trae el +# propio artefacto de fontconfig; el problema eran las fuentes, no su configuración.) +# +# YA NO hace falta inyectar `xkeyboard-config` ni `dejavu-fonts`: desde el 2026-08-26 están +# DECLARADAS como raíces de `escritorio-sway` y las recetas viven en `recipes/incoming-wlr/`. Antes +# existían sólo en las colas de kde/gnome/cosmic, así que el perfil no las alcanzaba y el escritorio +# arrancaba sin datos XKB y sin una sola fuente. Prueba de que la declaración es equivalente a la +# inyección manual: la captura resultante es **bit a bit idéntica**, mismo sha256. # # ── BASH NO CORRE EN ESTE ROOTFS, Y ASÍ ES COMO SE VE ────────────────────────────────────────── # `/bin/bash` está enlazado dinámico contra ncurses y el corpus sólo produce `libncurses.a`: