tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

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
(commit f64859ba):
  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

71904ebbdee562bc5b0c8dbfd126b7392d6b2bb4 · ruwaq Sergio · (1 killa ñawpaq) · tayta a35f4dcf1 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

5 qillqakuna · +56 −166

diff --git a/docs/state/alias-triaje.txt b/docs/state/alias-triaje.txt
index 8898c1cf..f227f0fa 100644
--- a/docs/state/alias-triaje.txt
+++ b/docs/state/alias-triaje.txt
@@ -25,4 +25,3 @@ qqc2-breeze-style qqc2-breeze-style
 shared-mime-info shared-mime-info
 uname coreutils
 wayland-scanner wayland
-xwayland xwayland
diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json
index a2b394cd..796f7cb3 100644
--- a/docs/state/build-state-kde.json
+++ b/docs/state/build-state-kde.json
@@ -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",
diff --git a/docs/state/drenaje.json b/docs/state/drenaje.json
index e02bb5d3..80c8a1b3 100644
--- a/docs/state/drenaje.json
+++ b/docs/state/drenaje.json
@@ -40,7 +40,7 @@
   },
   "escritorio-kde": {
    "grafo": "docs/state/build-state-kde.json",
-   "nodos": 304,
+   "nodos": 299,
    "en_deuda": 0,
    "ondas": 0,
    "profundidad": 0,
diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml
index c1695b11..05192584 100644
--- a/docs/state/frontera-triaje.toml
+++ b/docs/state/frontera-triaje.toml
@@ -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
diff --git a/recipes/incoming-kde/xwayland.toml b/recipes/incoming-kde/xwayland.toml
deleted file mode 100644
index 99d9c9b6..00000000
--- a/recipes/incoming-kde/xwayland.toml
+++ /dev/null
@@ -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.