xwayland: retirar la receta — la decisión ya estaba escrita y decía que no
Decisión del usuario (2026-09-09): X11 se erradica, y eso incluye no construir el servidor que lo mantiene vivo. La receta se retira; `xwayland` VUELVE a ser lo que sus propios documentos decían. ⚠ LO QUE APARECIÓ AL MIRAR: esto ya estaba decidido, por escrito y DOS VECES, el 2026-09-03 (commitf64859ba): docs/state/targets.toml:143 «`xwayland` sigue acá como RAÍZ pero su receta NO se va a escribir: lo provee una imagen ajena enjaulada … el hueco se disuelve sin receta y sin tocar la postura Wayland-only» docs/state/qorpa-ajenos.toml «X11 está fuera de alcance para toda la distro … el Xwayland vive DENTRO de la imagen —Arch y Fedora ya lo traen— y se cuelga de nuestro kwin por el socket. La receta no se escribe.» El 2026-09-08 se escribió igual (3d8c6fc6, «cerrar los 3 huecos que quedaban»), y los dos documentos siguieron diciendo lo contrario durante toda la jornada de hoy. No hubo que cambiar ninguno de los dos: alcanzó con borrar la receta para que el repo volviera a coincidir con ellos. MEDIDO ANTES DE SACARLA, no supuesto: · Sólo kwin podía lanzarlo. mutter va con -Dxwayland=false y wlroots con -Dxwayland=disabled ⇒ GNOME, sway y COSMIC no podían usarlo aunque el binario existiera. Nunca sirvió a más de un perfil de los cuatro. · NINGUNA app del catálogo necesita servidor X: todo lo gráfico es Wayland nativo (Qt6 con qtwayland, GTK3 Wayland-only, mpv, OBS con ENABLE_WAYLAND=ON, foot, fuzzel, swayimg). El consumidor que lo justificaba está nombrado en qorpa-ajenos.toml y es Steam, que corre enjaulado y TRAE EL SUYO ADENTRO. · Y la imagen KDE ya arrancaba sin él: la propia receta contaba que KDE sellaba 1037/1037 con las apps X11 muertas. Esto no estrena una configuración, vuelve a una ya probada. EFECTO EN EL GRAFO, verificado regenerando: `xwayland` deja de ser una receta y pasa a clase `ajeno` —que es como targets.toml decía que había que contarlo— y el perfil escritorio-kde baja de 304 a 299 nodos con deuda 0. Los cinco que se van son la cadena que sólo él usaba. ⚠ QUEDAN CINCO RECETAS HUÉRFANAS, y no las borro de paso: `libfontenc`, `libXfont2`, `libxkbfile`, `libxshmfence` y `xkbcomp`. Medido: NADA más en el catálogo las declara, y ninguna es raíz de ningún perfil ⇒ siguen selladas pero no entran en ninguna imagen. Sacarlas es su propia unidad de trabajo y su propia decisión. El triaje pasa de `provisto` a `opcional` con la historia entera en su `porque`, y con eso se cae el alias `xwayland xwayland` de alias-triaje.txt, que habría afirmado que tenemos una receta con ese nombre. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV
This commit is contained in:
@@ -25,4 +25,3 @@ qqc2-breeze-style qqc2-breeze-style
|
||||
shared-mime-info shared-mime-info
|
||||
uname coreutils
|
||||
wayland-scanner wayland
|
||||
xwayland xwayland
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 1046,
|
||||
"recipes": 1045,
|
||||
"nodes": 1047,
|
||||
"sealed": 1046,
|
||||
"ajeno": 1
|
||||
"sealed": 1045,
|
||||
"ajeno": 2
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"ajeno": 2,
|
||||
"c": 400,
|
||||
"go": 362,
|
||||
"gui": 45,
|
||||
"gui": 44,
|
||||
"kernel": 6,
|
||||
"rust": 233
|
||||
},
|
||||
@@ -21,7 +21,8 @@
|
||||
"ajeno": 1
|
||||
},
|
||||
"incoming-kde": {
|
||||
"sealed": 194
|
||||
"sealed": 193,
|
||||
"ajeno": 1
|
||||
}
|
||||
},
|
||||
"by_profile": {
|
||||
@@ -37,8 +38,9 @@
|
||||
},
|
||||
"escritorio-kde": {
|
||||
"raices": 48,
|
||||
"clausura": 304,
|
||||
"sealed": 304
|
||||
"clausura": 299,
|
||||
"sealed": 298,
|
||||
"ajeno": 1
|
||||
},
|
||||
"escritorio-mirada": {
|
||||
"raices": 17,
|
||||
@@ -46,7 +48,7 @@
|
||||
"sealed": 37
|
||||
}
|
||||
},
|
||||
"sin_perfil": 648,
|
||||
"sin_perfil": 653,
|
||||
"orphan_deps": [],
|
||||
"topo_ok": true,
|
||||
"nodes": {
|
||||
@@ -5278,7 +5280,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 27
|
||||
"dependientes_total": 26
|
||||
},
|
||||
"freeze": {
|
||||
"iname": "freeze",
|
||||
@@ -13135,7 +13137,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 63
|
||||
"dependientes_total": 62
|
||||
},
|
||||
"libXau": {
|
||||
"iname": "libXau",
|
||||
@@ -13157,7 +13159,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 70
|
||||
"dependientes_total": 69
|
||||
},
|
||||
"libXcursor": {
|
||||
"iname": "libXcursor",
|
||||
@@ -13208,7 +13210,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 70
|
||||
"dependientes_total": 69
|
||||
},
|
||||
"libXext": {
|
||||
"iname": "libXext",
|
||||
@@ -13287,10 +13289,8 @@
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 1
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"libXi": {
|
||||
"iname": "libXi",
|
||||
@@ -13612,7 +13612,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 150
|
||||
"dependientes_total": 149
|
||||
},
|
||||
"libelogind": {
|
||||
"iname": "libelogind",
|
||||
@@ -13658,7 +13658,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 22
|
||||
"dependientes_total": 21
|
||||
},
|
||||
"libevdev": {
|
||||
"iname": "libevdev",
|
||||
@@ -13766,10 +13766,8 @@
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 2
|
||||
"perfiles": [],
|
||||
"dependientes_total": 1
|
||||
},
|
||||
"libgcrypt": {
|
||||
"iname": "libgcrypt",
|
||||
@@ -14344,7 +14342,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 34
|
||||
"dependientes_total": 33
|
||||
},
|
||||
"libpthread-stubs": {
|
||||
"iname": "libpthread-stubs",
|
||||
@@ -14740,7 +14738,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 70
|
||||
"dependientes_total": 69
|
||||
},
|
||||
"libxcvt": {
|
||||
"iname": "libxcvt",
|
||||
@@ -14763,7 +14761,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 2
|
||||
"dependientes_total": 1
|
||||
},
|
||||
"libxkbcommon": {
|
||||
"iname": "libxkbcommon",
|
||||
@@ -14792,7 +14790,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 119
|
||||
"dependientes_total": 118
|
||||
},
|
||||
"libxkbfile": {
|
||||
"iname": "libxkbfile",
|
||||
@@ -14818,10 +14816,8 @@
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 2
|
||||
"perfiles": [],
|
||||
"dependientes_total": 1
|
||||
},
|
||||
"libxml2": {
|
||||
"iname": "libxml2",
|
||||
@@ -14911,10 +14907,8 @@
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 1
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"libxslt": {
|
||||
"iname": "libxslt",
|
||||
@@ -15755,7 +15749,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 147
|
||||
"dependientes_total": 146
|
||||
},
|
||||
"mesa-llvmpipe": {
|
||||
"iname": "mesa-llvmpipe",
|
||||
@@ -15851,7 +15845,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 124
|
||||
"dependientes_total": 123
|
||||
},
|
||||
"micro": {
|
||||
"iname": "micro",
|
||||
@@ -17340,7 +17334,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 23
|
||||
"dependientes_total": 22
|
||||
},
|
||||
"openssl-threads": {
|
||||
"iname": "openssl-threads",
|
||||
@@ -18069,7 +18063,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 46
|
||||
"dependientes_total": 45
|
||||
},
|
||||
"pkgconf": {
|
||||
"iname": "pkgconf",
|
||||
@@ -18093,7 +18087,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 396
|
||||
"dependientes_total": 395
|
||||
},
|
||||
"plasma-activities": {
|
||||
"iname": "plasma-activities",
|
||||
@@ -19652,7 +19646,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 315
|
||||
"dependientes_total": 314
|
||||
},
|
||||
"qcoro": {
|
||||
"iname": "qcoro",
|
||||
@@ -20877,7 +20871,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 267
|
||||
"dependientes_total": 266
|
||||
},
|
||||
"sassc": {
|
||||
"iname": "sassc",
|
||||
@@ -23422,7 +23416,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 26
|
||||
"dependientes_total": 25
|
||||
},
|
||||
"uutils": {
|
||||
"iname": "uutils",
|
||||
@@ -23993,7 +23987,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 161
|
||||
"dependientes_total": 160
|
||||
},
|
||||
"wayland-protocols": {
|
||||
"iname": "wayland-protocols",
|
||||
@@ -24021,7 +24015,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 58
|
||||
"dependientes_total": 57
|
||||
},
|
||||
"websocketd": {
|
||||
"iname": "websocketd",
|
||||
@@ -24540,10 +24534,8 @@
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 1
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"xkeyboard-config": {
|
||||
"iname": "xkeyboard-config",
|
||||
@@ -24569,7 +24561,7 @@
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 7
|
||||
"dependientes_total": 6
|
||||
},
|
||||
"xorgproto": {
|
||||
"iname": "xorgproto",
|
||||
@@ -24592,7 +24584,7 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 78
|
||||
"dependientes_total": 77
|
||||
},
|
||||
"xorriso": {
|
||||
"iname": "xorriso",
|
||||
@@ -24681,49 +24673,19 @@
|
||||
"perfiles": [
|
||||
"escritorio-kde"
|
||||
],
|
||||
"dependientes_total": 6
|
||||
"dependientes_total": 5
|
||||
},
|
||||
"xwayland": {
|
||||
"iname": "xwayland",
|
||||
"version": "24.1.13",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [
|
||||
"freetype-shared",
|
||||
"libX11",
|
||||
"libXau",
|
||||
"libXdmcp",
|
||||
"libXfont2",
|
||||
"libdrm",
|
||||
"libepoxy",
|
||||
"libfontenc",
|
||||
"libpng-shared",
|
||||
"libxcb",
|
||||
"libxcvt",
|
||||
"libxkbcommon",
|
||||
"libxkbfile",
|
||||
"libxshmfence",
|
||||
"mesa",
|
||||
"meson",
|
||||
"openssl",
|
||||
"pixman",
|
||||
"pkgconf",
|
||||
"python3",
|
||||
"samurai",
|
||||
"util-macros",
|
||||
"wayland",
|
||||
"wayland-protocols",
|
||||
"xkbcomp",
|
||||
"xkeyboard-config",
|
||||
"xorgproto",
|
||||
"xtrans",
|
||||
"zlib"
|
||||
],
|
||||
"cls": "gui",
|
||||
"version": null,
|
||||
"link": null,
|
||||
"compiler": null,
|
||||
"deps": [],
|
||||
"cls": "ajeno",
|
||||
"queue": "incoming-kde",
|
||||
"foreign": false,
|
||||
"hash": "b3:d43f7ba02a1f9f4b2cf01e1d03610020779991fb13adbd804f5dd3007244bf3d",
|
||||
"state": "sealed",
|
||||
"imagen": "arch",
|
||||
"hash": null,
|
||||
"state": "ajeno",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
@@ -25082,7 +25044,7 @@
|
||||
"escritorio-mirada",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 113
|
||||
"dependientes_total": 112
|
||||
},
|
||||
"zlib-ng": {
|
||||
"iname": "zlib-ng",
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
},
|
||||
"escritorio-kde": {
|
||||
"grafo": "docs/state/build-state-kde.json",
|
||||
"nodos": 304,
|
||||
"nodos": 299,
|
||||
"en_deuda": 0,
|
||||
"ondas": 0,
|
||||
"profundidad": 0,
|
||||
|
||||
@@ -2509,10 +2509,8 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor
|
||||
piden = ["ffmpeg"]
|
||||
|
||||
[candidato."xwayland"]
|
||||
veredicto = "provisto"
|
||||
sugerencia = "opcional?"
|
||||
provee = "xwayland"
|
||||
porque = "sin él NINGUNA app X11 corre en el escritorio Wayland. Gap de RUNTIME"
|
||||
veredicto = "opcional"
|
||||
porque = "X11 está FUERA DE ALCANCE para toda la distro y la decisión ya estaba escrita dos veces el 2026-09-03 (commit f64859ba): targets.toml y qorpa-ajenos.toml dicen «la receta no se escribe» — el Xwayland vive DENTRO de la imagen ajena enjaulada (Arch ya lo trae) y se cuelga de kwin por el socket. Se escribió igual el 2026-09-08 y se RETIRA el 2026-09-09 por decisión del usuario. Medido antes de sacarla: sólo kwin podía lanzarlo (mutter va -Dxwayland=false y wlroots -Dxwayland=disabled) y NINGUNA app del catálogo necesita servidor X — todo lo gráfico es Wayland nativo. Sigue como raíz en targets.toml a propósito, contado en clase `ajeno`"
|
||||
perfiles = ["escritorio-kde"]
|
||||
piden = ["kwin"]
|
||||
ausente = true # ya no aparece en el último barrido de la frontera
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
# xwayland 24.1.13 — el servidor X que corre DENTRO de una sesión Wayland para que las apps X11
|
||||
# sigan funcionando. NO es «volver a X11»: la distro es Wayland-only y eso se refiere al servidor de
|
||||
# la sesión y al display manager. Xwayland es lo contrario — la capa que permite jubilar X11 SIN
|
||||
# perder las aplicaciones que aún no se portaron.
|
||||
#
|
||||
# POR QUÉ AHORA. Es el último HUECO de `escritorio-kde` en la frontera, y estaba declarado como raíz
|
||||
# en `docs/state/targets.toml` desde el 2026-07-22 («sin apps X11»). `kwin` ya se construye con
|
||||
# `-DKWIN_BUILD_X11=ON`, o sea que el lado del compositor está compilado: lo que faltaba era el
|
||||
# BINARIO que kwin lanza. Hueco de RUNTIME puro — nada de build lo necesitaba y por eso KDE sellaba
|
||||
# 1037/1037 con las apps X11 muertas.
|
||||
#
|
||||
# ⚠ CADENA DE 4 ESLABONES PREVIOS, todos autorados en la misma tanda porque ninguno existía:
|
||||
# `libfontenc` → `libXfont2` (la capa de fuentes DEL SERVIDOR, no del cliente), `libxkbfile` y
|
||||
# `libxshmfence`. Su meson los pide sin `required: false`, así que no son opcionales.
|
||||
name = "xwayland"
|
||||
version = "24.1.13"
|
||||
license = "MIT"
|
||||
|
||||
[source]
|
||||
tarball = "https://www.x.org/releases/individual/xserver/xwayland-24.1.13.tar.xz"
|
||||
sha256 = "173aea3d6f79609164c04528e1c8e4c9b60fcd59391c3c9dad4667297d727fb6"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
|
||||
[build.phases]
|
||||
# Apagado lo que esta distro no tiene ni quiere:
|
||||
# xvfb — servidor de pantalla virtual, no pinta nada acá
|
||||
# secure-rpc — pide libtirpc, que no está en el catálogo
|
||||
# xdmcp — protocolo de display manager remoto; no hay XDM en una distro Wayland-only
|
||||
# xwayland_ei — emulación de entrada por libei, que tampoco tenemos
|
||||
# glx — ⚠ NO es una preferencia: `glx/meson.build:43` pide `dependency('gl')` y en esta
|
||||
# distro NINGUNA cola publica `gl.pc` ni `libGL.so` (las tres recetas de mesa van
|
||||
# con glx y glvnd apagados, decisión de catálogo anterior a esto). Consecuencia
|
||||
# honesta: las apps X11 corren en 2D bajo Xwayland; las que piden OpenGL de
|
||||
# escritorio ya estaban bloqueadas en toda la distro, no las bloquea esta receta.
|
||||
# ⚠ El `meson.build` RAÍZ engaña: ahí `build_glx` sólo enciende una tabla hash y
|
||||
# parece gratis. El requisito de verdad está en el subdirectorio.
|
||||
# `xkb_dir` apunta a los datos de `xkeyboard-config`, que ya está en el corpus: sin eso el servidor
|
||||
# arranca sin mapa de teclado, que es el mismo síntoma que ya nos costó una noche en sway.
|
||||
configure = "meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dxvfb=false -Dsecure-rpc=false -Dxdmcp=false -Dxdm-auth-1=false -Dxwayland_ei=false -Dglx=false -Dxkb_dir=/usr/share/X11/xkb -Dxkb_output_dir=/var/lib/xkb"
|
||||
compile = "ninja -C output"
|
||||
install = "DESTDIR=/out meson install -C output --no-rebuild"
|
||||
|
||||
[deps]
|
||||
# `xkbcomp` va en RUNTIME, no en build: Xwayland lo lanza como SUBPROCESO para compilar el mapa de
|
||||
# teclado (`xkb/ddxLoad.c`, XkbRunXkbComp). Su meson lo pide con `required: false` —sólo para
|
||||
# averiguar rutas—, así que sin él la receta COMPILA IGUAL y el servidor arranca sin teclado. El
|
||||
# propio fuente lo dice: «Errors from xkbcomp are not fatal to the X server». Un hueco que el build
|
||||
# no puede delatar, encontrado leyendo la fuente y no esperando a que fallara.
|
||||
runtime = ["xkbcomp"]
|
||||
# ⚠ Las deps de hammer NO son transitivas: va la clausura entera, no la primera capa.
|
||||
build = ["meson", "samurai", "python3", "pkgconf", "util-macros",
|
||||
"xorgproto", "xtrans", "libX11", "libxcb", "libXau", "libXdmcp",
|
||||
"libfontenc", "libXfont2", "libxkbfile", "libxshmfence",
|
||||
"pixman", "libdrm", "mesa", "libepoxy", "libxcvt", "libxkbcommon",
|
||||
"wayland", "wayland-protocols", "freetype-shared", "libpng-shared", "zlib", "xkeyboard-config",
|
||||
# SHA-1: el servidor lo usa para las cookies de autorización (XDM-AUTHORIZATION). Su meson
|
||||
# prueba libsha1 → nettle → libgcrypt → openssl y ABORTA si no hay ninguna («No suitable SHA1
|
||||
# implementation found»). Se elige `openssl`, que ya está en el catálogo y en la clausura de
|
||||
# media cola KDE, en vez de traer nettle o libsha1 sólo para esto.
|
||||
"openssl"]
|
||||
# ⚠ `freetype-shared` y `libpng-shared`, no las estáticas, y `libpng` aunque xwayland no lo use:
|
||||
# la cadena de pkg-config es `xfont2.pc` → `freetype2.pc` → `Requires: zlib, libpng`, y se
|
||||
# resuelve TRANSITIVAMENTE. Sin libpng el meson dice «Run-time dependency xfont2 found: NO»,
|
||||
# culpando a xfont2, que está perfectamente instalada. Compartidas porque es lo que enlaza
|
||||
# libXfont2.so: mezclar la estática ahí revienta en PIC.
|
||||
Reference in New Issue
Block a user