From 3d8c6fc6c7f214f36bbb7847b31ed85e645249f0 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 8 Sep 2026 22:26:17 +0000 Subject: [PATCH] =?UTF-8?q?KDE:=20cerrar=20los=203=20huecos=20que=20quedab?= =?UTF-8?q?an=20=E2=80=94=20polkit-qt-1,=20qqc2-breeze-style=20y=20xwaylan?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2 --- docs/state/build-state-cosmic.json | 10 +- docs/state/build-state-gnome.json | 10 +- docs/state/build-state-kde.json | 409 ++++++++++---------- docs/state/build-state-wlr.json | 10 +- docs/state/build-state.json | 10 +- docs/state/frontera-triaje.toml | 9 +- docs/state/repro-verificado.tsv | 6 + recipes/incoming-kde/kauth.toml | 19 +- recipes/incoming-kde/libXfont2.toml | 34 ++ recipes/incoming-kde/libfontenc.toml | 25 ++ recipes/incoming-kde/libxkbfile.toml | 25 ++ recipes/incoming-kde/libxshmfence.toml | 25 ++ recipes/incoming-kde/plasma-workspace.toml | 7 + recipes/incoming-kde/polkit-qt-1.toml | 93 ++--- recipes/incoming-kde/qqc2-breeze-style.toml | 62 +-- recipes/incoming-kde/xkbcomp.toml | 33 ++ recipes/incoming-kde/xwayland.toml | 69 ++++ 17 files changed, 515 insertions(+), 341 deletions(-) create mode 100644 recipes/incoming-kde/libXfont2.toml create mode 100644 recipes/incoming-kde/libfontenc.toml create mode 100644 recipes/incoming-kde/libxkbfile.toml create mode 100644 recipes/incoming-kde/libxshmfence.toml create mode 100644 recipes/incoming-kde/xkbcomp.toml create mode 100644 recipes/incoming-kde/xwayland.toml diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index 32269381..29af054f 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -5147,7 +5147,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 30 }, "freetype-shared": { "iname": "freetype-shared", @@ -5172,7 +5172,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 27 }, "freeze": { "iname": "freeze", @@ -10075,7 +10075,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 34 }, "libqalculate": { "iname": "libqalculate", @@ -11346,7 +11346,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 123 }, "micro": { "iname": "micro", @@ -14288,7 +14288,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 264 + "dependientes_total": 265 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index fe27882c..fa7dcb77 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -4857,7 +4857,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 30 }, "freetype-shared": { "iname": "freetype-shared", @@ -4882,7 +4882,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 27 }, "freeze": { "iname": "freeze", @@ -10567,7 +10567,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 34 }, "libpsl": { "iname": "libpsl", @@ -12006,7 +12006,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 123 }, "micro": { "iname": "micro", @@ -15192,7 +15192,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 264 + "dependientes_total": 265 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index d39eef0e..fe42851a 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -3,10 +3,8 @@ "totals": { "recipes": 1043, "nodes": 1044, - "sealed": 1032, - "ajeno": 1, - "never": 5, - "debt": 6 + "sealed": 1043, + "ajeno": 1 }, "by_class": { "ajeno": 1, @@ -16,19 +14,14 @@ "kernel": 6, "rust": 233 }, - "debt_by_class": { - "c": 10, - "gui": 1 - }, + "debt_by_class": {}, "by_queue": { "corpus": { "sealed": 850, "ajeno": 1 }, "incoming-kde": { - "sealed": 182, - "never": 5, - "debt": 6 + "sealed": 193 } }, "by_profile": { @@ -45,9 +38,7 @@ "escritorio-kde": { "raices": 47, "clausura": 302, - "sealed": 291, - "never": 5, - "debt": 6 + "sealed": 302 }, "escritorio-mirada": { "raices": 17, @@ -897,7 +888,7 @@ "hash": "b3:836ffa8142596772a30af87749c3aa87152cd10498c6cd550ccb4da282621140", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -2759,7 +2750,7 @@ "hash": "b3:5f6c63a239018869d4b0f37e019ce081f2a5f077dbf3d441d8f14163c54dcb2f", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -3335,7 +3326,7 @@ "hash": "b3:7f36c9d970e5586c34d8d5af4d61bf4ab380ae73618d14a02beea14e53d9bdc5", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -4415,7 +4406,7 @@ "hash": "b3:cff096fb476451967bbd1cc59e01744b23a26edc5fd03cf72e550c560e77cb95", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -4607,7 +4598,7 @@ "hash": "b3:4d2ec5342a50d512cc2cbaa03251dda56223e9ca321b36c4b3cec3415e95691a", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4997,7 +4988,7 @@ "hash": "b3:9c4ed8cd793d3ceb1b68e8878efd380f1565a54d728975d108fea7ef9da52a44", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -5202,14 +5193,14 @@ "hash": "b3:6ce0c82fd108d262643a8c8fe395af309b7ceb78cfe91aa77c1693bfa8f339d8", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 30 }, "freetype-shared": { "iname": "freetype-shared", @@ -5234,7 +5225,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 27 }, "freeze": { "iname": "freeze", @@ -5550,7 +5541,7 @@ "hash": "b3:d1150e03a1f52c7c6445412f3c92c31ef4cdd3bdcdabcd1cbcf8633c10c62a1f", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -6105,7 +6096,7 @@ "hash": "b3:c3810d3b23e6fb1d8dc6874ddf229f648e3039c5725d5d70035f250394d5dd96", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8105,7 +8096,7 @@ "hash": "b3:92ef211974cea96f559df9784e108c07b155f80932d12d1ef4d7e3cc1363b074", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-gnome", "escritorio-kde" @@ -8801,7 +8792,7 @@ "hash": "b3:469668ca86edbcd4017bc77b0256db294e6e132757445019caa5823a24d582f2", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -8952,7 +8943,7 @@ "hash": "b3:44023a1492d394551a8ca5cb349e21416555a4703db05f7778f2825e5e902b3d", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9031,7 +9022,7 @@ "hash": "b3:59339de376f88cfd51e791ac1cc03be528696854ad156e94a2efa051f9a834cb", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9265,7 +9256,7 @@ "hash": "b3:391d231d4e28e02e716e23d9d87de4cc93cc720b776832a8f90dae2707404614", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9292,7 +9283,7 @@ "hash": "b3:f80f98561e64847c2613411126add2777708117ab892ec6447d3cb1d8881870b", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9329,7 +9320,7 @@ "hash": "b3:b4c3497f2a0ef4ea84dbaf153fc7359a738c3b6cf65faa4d51377e8823877797", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9365,7 +9356,7 @@ "hash": "b3:bfbfa31ef98f4077ca54e23a9010cbad99570c83fc520147fc9ad9c6c0c2297e", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9397,7 +9388,7 @@ "hash": "b3:7aff0a375bfdce5a479c51d55d1a28b1daf9b6318361b00a5d20fa5eb49fe188", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9437,7 +9428,7 @@ "hash": "b3:805539df35185ed6665d1d03a80b2dd26b6d256c64a63e1b45da7f499118771a", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9470,7 +9461,7 @@ "hash": "b3:5eb302519ec39709c3e3131964238c37155e18ea296fdd90dbe58be4bf4df76b", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9502,7 +9493,7 @@ "hash": "b3:fa19b3274d0757c93cb9aecf470a34f23310f2bc35124da0feb9e9790a0e1cb5", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9533,7 +9524,7 @@ "hash": "b3:8faf1512d184bf730a807a39c436e78a2791deb9b12ee7a7cd82c6172599f993", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9578,7 +9569,7 @@ "hash": "b3:639e958a2c1232de7986addc8ad175ae786bb4b92b7124d90f0984314975035d", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9613,7 +9604,7 @@ "hash": "b3:821bb8db7b3b2675f5fc284c7beefe4626ef95184aad9ce3744ede329e28e5a7", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9653,7 +9644,7 @@ "hash": "b3:e51658039b831076eea327456506676357e746b18b4eb3e925e0741048f7426d", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9763,7 +9754,7 @@ "hash": "b3:89de58958d1cb247fe0c655c1f33c1f10caa009ce7074c610dc66bca8c0fcb98", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9804,7 +9795,7 @@ "hash": "b3:22778d1152c519e9d0c55d22baeea47ba2969a947ba147bae499cd0af134faf4", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9912,7 +9903,7 @@ "hash": "b3:e1c3d43b3a58db60f2c8b93f78924baad2474b8d8c4256c6438fedfec965de88", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -9985,7 +9976,7 @@ "hash": "b3:f5039a64b72fa672df5da5241004d0a91475670e6225798955aebfdfc3a9acb4", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10019,7 +10010,7 @@ "hash": "b3:daa69cf2ae7d9953e0165f75907f1c2ff4cef1861392b4c726675657584c5c01", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10053,7 +10044,7 @@ "hash": "b3:1bdf497a8d135cf6b272cb6a45ef31bf38921eecd8792befa98af47b5ce483e2", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10086,7 +10077,7 @@ "hash": "b3:1f7a7c6cd28a2041b72b2d28617fa9acc642d1475cf48c71341ad9fe77b3422c", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10142,7 +10133,7 @@ "hash": "b3:2d6f4b56e44728cf97f8eb0732ded04f3dbbf8ac115ab98256d443201ab15703", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10185,7 +10176,7 @@ "hash": "b3:2ded9afd5157e8d17d21401ecc08eb340b93c1155d9cb58663cdbf9b82b98b5e", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10361,7 +10352,7 @@ "hash": "b3:82810b3d30d2ade44c09420950097a58522b13ba003231c845fb01e5e6097193", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10395,7 +10386,7 @@ "hash": "b3:41eea38e3b827596562f8c71b234f4eb7ce0d939f2470cdd6e49eadb60eba8f6", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10436,7 +10427,7 @@ "hash": "b3:2358b95de5f6e98e8078ca3445a8411c01e6c2cdf06f1d2cf6c27ef126e1b410", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10468,7 +10459,7 @@ "hash": "b3:9d93e2aee041677ff3b67df53722373b37f2a50ccc84f06455e7aea443d133f7", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10499,7 +10490,7 @@ "hash": "b3:db60ddf1f1ff32f5b2f0ec00c5e1e9947729885bf7bb5d0049245d9fc5933a11", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10552,7 +10543,7 @@ "hash": "b3:9160b204e5b8b9ea867192b545838846d02e69fe83373fdb08ecdf3cf8dbd87f", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10731,7 +10722,7 @@ "hash": "b3:8e524b1bad4d9c0ecf491a55cdf55895200274f99390ffe272a53066c5bc110b", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10770,7 +10761,7 @@ "hash": "b3:7cadbec81ff70c4ab00b9bb96f6a843a63f5493b22c4f15d27bc069d9bb8a519", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10805,7 +10796,7 @@ "hash": "b3:ff1dcec23d85dcd877d3b9de5524168c74ba8816debb54eaaada96bf23e72237", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -10882,7 +10873,7 @@ "hash": "b3:1a08e8a66a2a971abecc41bcaed8338963f95c0126cce89717cf49866658b88f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11094,7 +11085,7 @@ "hash": "b3:3a4379587b50658ba3a2acb4b1d8e36a116932debe55d69a786f960682696a98", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11166,7 +11157,7 @@ "hash": "b3:ee3a50a316d6e7f3a6edcc52716c14eb11cc6ca87c5a2fd4770d0831fa1cc8d3", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11232,7 +11223,7 @@ "hash": "b3:39a3daf63887e7b566d749a848fb9fd107a08927e54ddd70d15404db1d1325c2", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11263,7 +11254,7 @@ "hash": "b3:b01980cf4dbeba7f906fd59e0a7abe30407abcfa18b51b88aa75ece0b378695c", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11311,7 +11302,7 @@ "hash": "b3:d8ccc93df945f928ca8b02430e13fa6bc3c128055abfc37ccac2486d9f87b647", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11347,7 +11338,7 @@ "hash": "b3:7824e880996bb8cbdf312fea869811ae2384e8ade0bb4ec1838d3cb341f039ae", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11385,7 +11376,7 @@ "hash": "b3:02fd3a4b4bb74b987058be7453ef95aba5dddab38e4f8fc8dd1efccbb854c20f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11526,7 +11517,7 @@ "hash": "b3:ab20e6a040eeb910a3e68a7826c476982953e5b34e9bb5fbf3c282972306b24e", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11713,7 +11704,7 @@ "hash": "b3:0b7fc5877d9b2cfbb7c24bd53f9a69e5f648a4a89cd5ccff160daa62edf50494", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11749,7 +11740,7 @@ "hash": "b3:720be7ac0cea0fa1c8a54acf82cad3ce98004af2c756de509a91a596ffd2310d", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11793,7 +11784,7 @@ "hash": "b3:0e5a7c10b16b8dcc614054eaf0855742320081f5e791cfa2ef3f154d6e2ff81e", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11839,7 +11830,7 @@ "hash": "b3:ce0398efe780bd4b2253f2055337c1a89e1ea54d0f72eb62b2eb114cd7d9b933", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11918,7 +11909,7 @@ "hash": "b3:a7cb13574447ec1ea503d78ee1dfafdedb0641d72c02cbace2f18e18cff70d22", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -11956,7 +11947,7 @@ "hash": "b3:70d95e39b9b3ec13bf4b3839106205525b51551d04c2ff4029d878d738f8045c", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12371,7 +12362,7 @@ "hash": "b3:594976978e815184f666e8d4d58111737f674202756e9d4fd883fc200c3c2222", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12486,7 +12477,7 @@ "hash": "b3:7ac959dae374d43f9281cc21361b1ca9d99a03b0c67495339d070a3c18ea924d", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12518,7 +12509,7 @@ "hash": "b3:57bc3207c9c2f8234daa3a321e85642de6b50c481f2305dc17dacfce3f135885", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12637,7 +12628,7 @@ "hash": "b3:3e1378669821ab0a0ce2d02826944171c26c2981fe56980ce856a5d2224b77b2", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12682,7 +12673,7 @@ "hash": "b3:c1c0ee55dd9c13f0b6b1fd131047c153dd76e6372fcbf62263f9cd62166befc0", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12729,7 +12720,7 @@ "hash": "b3:602bfecc50c475c11a97dfc8dbbb49ef2b3b50b371e6bc3c0dd973c67e52dc68", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12799,7 +12790,7 @@ "hash": "b3:80d00913eed957c615afcd39ab474ff86b99ae4b0336c52424d08295a8628300", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -12892,7 +12883,7 @@ "hash": "b3:955a60f3fb0eb87c51d39a8d97c1133a85bd2600ded5b1a46f94953dfc74e01c", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12954,7 +12945,7 @@ "hash": "b3:3afa8063e28abdf3cdc40c9b062a547049f7b8fc9218b395b2e9b5a562ea1099", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13086,7 +13077,7 @@ "hash": "b3:daad0e59678b5d52a9f47a25abe93287e04a35521056c1daa4c0760a9c4069ee", "state": "sealed", "blocked_by": [], - "unblocks": 9, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13108,7 +13099,7 @@ "hash": "b3:2067e83f3ca7fbd30cd06112a9bb52209612bc7d616ff505eab54d957d971702", "state": "sealed", "blocked_by": [], - "unblocks": 9, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13159,7 +13150,7 @@ "hash": "b3:26406a1d95568ffa9b56b7a3e38f68a4a64fd8d34e085ce969d67b5e3acc17b2", "state": "sealed", "blocked_by": [], - "unblocks": 9, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13186,7 +13177,7 @@ "hash": "b3:14f478804d858f5ad948a2dfc260e83a1d00d1c7f4054f9c8726abeb141c5130", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13213,7 +13204,7 @@ "hash": "b3:49cdc38e77ac4e76a2524217def9b1fb90df5b9d572dab5fa6b9d4a10745a8c7", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13225,8 +13216,9 @@ "link": "dynamic", "compiler": "zig-cc", "deps": [ - "freetype", + "freetype-shared", "libfontenc", + "libpng-shared", "pkgconf", "python3", "util-macros", @@ -13237,10 +13229,10 @@ "cls": "c", "queue": "incoming-kde", "foreign": false, - "hash": "b3:c43ae1953ddbea5b3fbc1b01a72198cbce4402032076286e5d55d5fc17fb4427", - "state": "never", + "hash": "b3:297f66a9b864360a53e1495199c3f53c04c78db2616df8da6e37c5dbef87eb32", + "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13269,7 +13261,7 @@ "hash": "b3:3c4d1ec08027cdf5f757d17d6afd810673bc840146922e34097615d4727b2b47", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13296,7 +13288,7 @@ "hash": "b3:b2e8944a32abda568c2bf6aed1c7aadbe3c098f461fd48ad9aa429e96a0d5e99", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13486,7 +13478,7 @@ "hash": "b3:3e4df6820d12c3683016cab47f53dcaee5abf2ca8d98f77887b0f4048aba9075", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13558,7 +13550,7 @@ "hash": "b3:bbe561b7869d7ec30aa7f194e812df81e28a98e9f0ac5d114e0dc13d08829749", "state": "sealed", "blocked_by": [], - "unblocks": 7, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13605,7 +13597,7 @@ "hash": "b3:5891ca31e343ec822e5e8381d8e6b8ea35374fb40badb07fa321b1950e87d8ad", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13667,7 +13659,7 @@ "hash": "b3:1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13719,7 +13711,7 @@ "hash": "b3:20aeeabe5565d70fbae297b87bfd23bf1952f44aa33c481494abe5583bfd596f", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13739,7 +13731,7 @@ "hash": "b3:7ca40f0ff37befe18fd89c4940aaeaf02b1a1cce2d9bafe782d8c4c4e08b47aa", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13780,7 +13772,7 @@ "hash": "b3:f6448a3a6b2d788797c729ce9d9b27dc11fabbd4848088a38fec0ef943a82826", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13850,7 +13842,7 @@ "hash": "b3:afc8000655fb31cc2204fb24be2bded107dea7810ddc18159fc9a6b22bf6939e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13924,7 +13916,7 @@ "hash": "b3:d157cb18f2bdd2777ba527e625c77f401f5f5da309bab672899e5426f42016f5", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13993,7 +13985,7 @@ "hash": "b3:e9c5e68eff992d0747e16a7b1bf1b53a3b7e94114d9000771a06c0160feb9d1f", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14088,7 +14080,7 @@ "hash": "b3:d2c833ceba7fe9495fffd30a8bd3d889b21ddf2daa6b5233443f20969a3c41b8", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14225,7 +14217,7 @@ "hash": "b3:cbded83f4c4e64e857d4b78c7cd34708a9041c1aaef09c608688033adeb47af6", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14291,14 +14283,14 @@ "hash": "b3:761a6a9f25f59fa351663d574ae527d6a100aed86eef6ea2ef77a8e8ce628f6f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 34 }, "libpthread-stubs": { "iname": "libpthread-stubs", @@ -14343,7 +14335,7 @@ "hash": "b3:d02403033478aa2c73921f1b9703d4bd5c97b7f1abb812878db8f38124d001fb", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14384,7 +14376,7 @@ "hash": "b3:1c9024c3857474fad57754e85c1576b8fcfba0c79b626c9fbb1e34dbf5211b55", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14498,7 +14490,7 @@ "hash": "b3:5c09bff565b24c0a8edb306e0d4ca4e5e8e2a8c8e4a2b8ac047c8816b6883dcb", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14519,7 +14511,7 @@ "hash": "b3:eb42376d716ede0b72381c96158121cf45dd8d5dfeef7dd717970f5ecaf7a39b", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -14613,7 +14605,7 @@ "hash": "b3:949a1a172d33e5d532f4d77986d05634093b5168f7a60be793bea2c1d9f97b6f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14637,7 +14629,7 @@ "hash": "b3:d67268c2a67aebc442898cdb9c9aec170bfc0a498c4d9ef656c774a7aba0ec89", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14690,7 +14682,7 @@ "hash": "b3:3c5b6a4e322e454f3d27083324e937c7293acdb0c71458bb905dd13169495963", "state": "sealed", "blocked_by": [], - "unblocks": 9, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14713,7 +14705,7 @@ "hash": "b3:ef85d1df235f463f08978730b21b8811668747cf3656a403650ec2085ca99b5e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14742,7 +14734,7 @@ "hash": "b3:d026c7a748e89247f20abd94df4fa095ee28e6218299325baa382e1ef60c3d76", "state": "sealed", "blocked_by": [], - "unblocks": 7, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14758,18 +14750,20 @@ "libXau", "libXdmcp", "libxcb", + "meson", "pkgconf", "python3", + "samurai", "util-macros", "xorgproto" ], "cls": "c", "queue": "incoming-kde", "foreign": false, - "hash": "b3:8a77b2edaade5edcef4e0973b5bb8ae55242e1361a2bf770986a7c05605522c3", - "state": "never", + "hash": "b3:529bace3f42db52bac31f369f2e336f674c9621c3f61032e9ed3dbd2e35a33ba", + "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -14860,9 +14854,9 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:10a14013f92be4d25b228713fd3ac056e0b836a1857325497328f31e9b7f9b27", - "state": "never", + "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -15699,7 +15693,7 @@ "hash": "b3:2ed75159165da8c1d96ee6b15a3cbc9850ff818f93add282fafd49d00a49a7d0", "state": "sealed", "blocked_by": [], - "unblocks": 7, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -15793,7 +15787,7 @@ "hash": "b3:6564ae63c23ca73b0738e0708dfde01cf965ff9bd1c5950d7376fa1659fd5058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -15803,7 +15797,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 123 }, "micro": { "iname": "micro", @@ -16093,7 +16087,7 @@ "hash": "b3:2f54f303dea53f174ea213f8e63abf7d3f0d69bc34d6934e8964d15c5ea596b2", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -16131,7 +16125,7 @@ "hash": "b3:8533262d49313b7fc04019e75c69dbb5a6333205ce0eee18b6530bdcf379fc48", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -16674,7 +16668,7 @@ "hash": "b3:d7696e449e589620aa2c4c67d8d47e98589fe7ee41a193e355c5f5a289ef54e1", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -16713,7 +16707,7 @@ "hash": "b3:3b3c2d796c702d675a9f43513780c8fe43066f030043ddff4b41704287765f17", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -17227,7 +17221,7 @@ "hash": "b3:8d0b8c46f6e826d41c797808637b56bde292cc3693df66b6e08e279ab1c08b61", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -17287,11 +17281,11 @@ "hash": "b3:54f2cc9c4e83e6861087aa2bcacc17f8d7a4482229f7ce079480db061aa7eeb8", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], - "dependientes_total": 22 + "dependientes_total": 23 }, "openssl-threads": { "iname": "openssl-threads", @@ -17730,7 +17724,7 @@ "hash": "b3:a92e924a4d25b7dd42a02411518367a1905463c5cc3165f5fbdfb5925aa877ec", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -17968,7 +17962,7 @@ "hash": "b3:e240653adae656318d5c3445b36ffb37aa491589b5c34c8688515bc3806944ab", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -18012,7 +18006,7 @@ "hash": "b3:22f640e209a9559d193a99563fff6378dc92c8f7f6a44be935172c8f4f7ecb0a", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -18034,7 +18028,7 @@ "hash": "b3:cfb6a37eb990fb001dd66d5c2103e80cfa858b49aaa60a397ba0356830cc09b4", "state": "sealed", "blocked_by": [], - "unblocks": 11, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -18079,7 +18073,7 @@ "hash": "b3:c4f7f2fe7d8b0062f23a9488c3615cc98cf0f6c4426aaa41ba77a9a2d012f4d8", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -18114,7 +18108,7 @@ "hash": "b3:677930a594b1818b92d09905e1ba9d2652d11dc77b412c1797a375e57981ed3d", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -18244,10 +18238,8 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:3f57a62b55af51e5febdc05eb756f3185dcc491f804a7fd13d83cfbd2f50bc2d", - "state": "debt", - "blocked_by": [ - "plasma-workspace" - ], + "state": "sealed", + "blocked_by": [], "unblocks": 0, "perfiles": [ "escritorio-kde" @@ -18431,7 +18423,7 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:066ebf43bc9b7da2571f8aa261e552a9bc22ce880d2bc7b68b0a680bbac8c05d", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -18525,7 +18517,7 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:4efcd2d58eb95e769ffc131a665cea4b3bc4b884f78f7a1b7274578c44546107", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -18550,7 +18542,7 @@ "hash": "b3:191d5fd996fda5af575346c80eaf8aa57b6cd37e9fc73b8ba0dd2a590051c24e", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -18680,9 +18672,9 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:567f6c6169060f93da91a3c361b760055f0e94443670e0750a6587590fe1a776", - "state": "debt", + "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -18771,7 +18763,7 @@ "hash": "b3:c270aa9f5aced26f07d7a910ac9f46d231da43deea5a10813b10348b71b9af8a", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19165,10 +19157,8 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:13a9950cadde828c1760464b64ffbabcf15d24028052bf22163922b30fe7ab2c", - "state": "debt", - "blocked_by": [ - "plasma-workspace" - ], + "state": "sealed", + "blocked_by": [], "unblocks": 0, "perfiles": [ "escritorio-kde" @@ -19235,7 +19225,7 @@ "hash": "b3:33a1db2ed91cb13da0d43696239819ade54a117cb9bf2d9655c4fec6c7d0f031", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19271,7 +19261,7 @@ "hash": "b3:1b277c27be57ece98f6aebc9439a562fa91bd0a36cfa393045e8e401cf3d1927", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19436,7 +19426,7 @@ "hash": "b3:3edffbb1549c779810ac89d872e0ae92064646a37e525011203cd6bea4e187fe", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19475,7 +19465,7 @@ "hash": "b3:30845350aae479da214287962c6e6ed08ff08e1524307b8f7999dd2c88438718", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19519,7 +19509,7 @@ "hash": "b3:ff5cf5e5080f20587b26946d0dfff36a58c9096d30eace4ae9cece24594d171e", "state": "sealed", "blocked_by": [], - "unblocks": 11, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -19554,7 +19544,7 @@ "hash": "b3:dc9ff8d8d6b7d40725113be1e40ec434c5b8d042250df524a9847cae7297c2d5", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19583,7 +19573,7 @@ "hash": "b3:b2889297d8b63ac66a22548f9ee460907df9ed3fbba8fd309f587f6e209193d8", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19626,7 +19616,7 @@ "hash": "b3:aabd2417ea27d5e543be2526851cadba5b79f1a4014af3247b8dc4639250f420", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19704,7 +19694,7 @@ "hash": "b3:ca8419298d53d63b5d2a763cc8516b0278456a082172ef85aff1849124bbebc2", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19793,7 +19783,7 @@ "hash": "b3:f411d8504536a33ba6a927d50cdfa67241ed2bb07675f43172d0a10d33ce14a5", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19840,7 +19830,7 @@ "hash": "b3:553480ec6d4188fd010959049402cab59b55f59c3f34d567e106a69c550ba0aa", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19872,7 +19862,7 @@ "hash": "b3:3cce306de27374f15d58a94788544cc8a685d2fdd0b40e8e5561d776db029956", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19902,7 +19892,7 @@ "hash": "b3:68bb8ab0fabcb93ea0153947f514160e919c5217fc7aa101ae5f81afb4a3db96", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19957,7 +19947,7 @@ "hash": "b3:f38c283076b01699e3b416321c07a58c489e086bcd15edc4ec6d9d26f1d22357", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -19988,7 +19978,7 @@ "hash": "b3:3ecadbdf9642923532ab7606eeb9c5844d7f14a202a299e175c9419e2ea5aaf2", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20018,7 +20008,7 @@ "hash": "b3:754506a7c2a05e91a3383c15622634c8e5b3c0aeb90362276cd6bd4e1b383b5e", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20045,7 +20035,7 @@ "hash": "b3:8e6f8d7fc45dc8f6cddd45fffdfb55b2b25e9cdc6e626e6746436d04cf107164", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20074,7 +20064,7 @@ "hash": "b3:a9f7eed3016abc7168a7d80245eed4d180990fa1dc625a6dfdefb9dc384acc09", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20101,7 +20091,7 @@ "hash": "b3:32311f906dd84d3a83b78d90cc9360fe3cf320f1782d87cd7b5c9389d37d1e52", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20130,7 +20120,7 @@ "hash": "b3:84cca568287e69ab116ab707d09532d00d0719bd4836acf5ab3dbd0624439058", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20171,7 +20161,7 @@ "hash": "b3:ef3e3964f590e5fcbb845c6580cce20411024c731f7d7488bc4ae9bbaa1d161c", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -20744,7 +20734,7 @@ "hash": "b3:2f75c0e225a60fd56f7e415b7a739a461c97695c2e3f015c9af576d8a4a2492c", "state": "sealed", "blocked_by": [], - "unblocks": 7, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -20754,7 +20744,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 264 + "dependientes_total": 265 }, "sassc": { "iname": "sassc", @@ -21269,7 +21259,7 @@ "hash": "b3:0f0a6b213ceed6a387219e47c930e4cb40b06d53a0f338d38764e7b09c97abdc", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -21301,7 +21291,7 @@ "hash": "b3:1d5ace7a359c7a8f2864c46e75dc5116f336596e768c510d627200c51f87e94e", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -21488,7 +21478,7 @@ "queue": "incoming-kde", "foreign": false, "hash": "b3:69f94ad617a0d194e97bd04bf6f55036fb1e1262f3099f82fb5d9c188addcb10", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -22019,7 +22009,7 @@ "hash": "b3:4c1638a086090c3366efc1dd8f51d8bf04bc401ca848aed664b58ea004c071fa", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -22495,7 +22485,7 @@ "hash": "b3:3c99818ed57f2bb9b0d4ac1483bdade866a8be6dcbc53c290348a257792a302b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -23274,7 +23264,7 @@ "hash": "b3:cd87b4d3ba2148f6d82ac9a97049629e43e3634df9566d66d448620716fd15f0", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -23294,7 +23284,7 @@ "hash": "b3:d112e717e3d97cbf414fc3fc6b18c05c514e42b2c02602ceafcbfac5c3d15f44", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -23861,7 +23851,7 @@ "hash": "b3:51116f72a799ceaf8bc9d5512ec5dc413865a6376e2285e550af10046572287b", "state": "sealed", "blocked_by": [], - "unblocks": 7, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -23889,7 +23879,7 @@ "hash": "b3:9f81e41cbe8cb202121d8b9d697c7334a2c5d58bbf7cf7734eded9878c5db303", "state": "sealed", "blocked_by": [], - "unblocks": 5, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -24232,7 +24222,7 @@ "hash": "b3:56dd8eeb2a63636674df59d744fb6ccb1c26fc62667227f92817dbd24eb7ad6f", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24261,7 +24251,7 @@ "hash": "b3:50cb4b0064111f3309233d5979c49bd6250bd1e1f35be3c61c06b1d66d664ba0", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24289,7 +24279,7 @@ "hash": "b3:0d517bca701b8eeec45a83983078274fc54d43824416d80b5ef4766045690644", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24316,7 +24306,7 @@ "hash": "b3:85f82ea10dbeef839e95e0783cf21e13f5e51934e72ec6167d2ccc62ab3b69ab", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24343,7 +24333,7 @@ "hash": "b3:86d3a55267520b692cee7c680462ec5f904e82a620d535ebd33772385f90cd06", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24370,7 +24360,7 @@ "hash": "b3:0c81dbba0b49ddde316996ad89ca5945478f1817c94520e37813e21dac3c14c7", "state": "sealed", "blocked_by": [], - "unblocks": 6, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24412,12 +24402,10 @@ "cls": "c", "queue": "incoming-kde", "foreign": false, - "hash": "b3:1a8c7262598d56c04fdc1df5019496732c8d38cd27b392515cfe282d14051e61", - "state": "never", - "blocked_by": [ - "libxkbfile" - ], - "unblocks": 1, + "hash": "b3:ae4a27e7b8b6672ba0ffd2ddba8127f4b5f84b50358b0c3337d0bf0281873225", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24440,7 +24428,7 @@ "hash": "b3:c343cfecadc44f6fdc409709da5694e12bf531e9f2b7668a3df9d012f7d59954", "state": "sealed", "blocked_by": [], - "unblocks": 3, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -24466,7 +24454,7 @@ "hash": "b3:dc60926f38b0059d867f735488b8a763f2f994bc73cf61813fbab00010c7d48a", "state": "sealed", "blocked_by": [], - "unblocks": 11, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24555,7 +24543,7 @@ "hash": "b3:6f06b9f2a9db2cf4b9cb15ff709d2d1aad21e1afa0f740ece57bc471f2f17e2b", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -24567,7 +24555,7 @@ "link": "dynamic", "compiler": "zig-cc", "deps": [ - "freetype", + "freetype-shared", "libX11", "libXau", "libXdmcp", @@ -24575,6 +24563,7 @@ "libdrm", "libepoxy", "libfontenc", + "libpng-shared", "libxcb", "libxcvt", "libxkbcommon", @@ -24582,6 +24571,7 @@ "libxshmfence", "mesa", "meson", + "openssl", "pixman", "pkgconf", "python3", @@ -24598,14 +24588,9 @@ "cls": "gui", "queue": "incoming-kde", "foreign": false, - "hash": "b3:4243a520dc75212da14aa464729c1843a9854f0830b829a8f78e0d40a723b352", - "state": "never", - "blocked_by": [ - "libXfont2", - "libxkbfile", - "libxshmfence", - "xkbcomp" - ], + "hash": "b3:d43f7ba02a1f9f4b2cf01e1d03610020779991fb13adbd804f5dd3007244bf3d", + "state": "sealed", + "blocked_by": [], "unblocks": 0, "perfiles": [ "escritorio-kde" @@ -24953,7 +24938,7 @@ "hash": "b3:dc363f261a71239412f6090e50e8abc0c7f6e544ccefa48c5ee5f47d26e84ef3", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -24997,7 +24982,7 @@ "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], - "unblocks": 4, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -25056,7 +25041,7 @@ "hash": "b3:1ceb6215a5a3061ac385e036da642341da61a585abe62a1c904bd0c8c2f4d5fb", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -25083,7 +25068,7 @@ "hash": "b3:b5c39a875cdd922a4f4e495e08486346d51a5c7999e500f4ad7b16cfec2e97b6", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index 4960180b..067591da 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -4722,7 +4722,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 30 }, "freetype-shared": { "iname": "freetype-shared", @@ -4747,7 +4747,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 27 }, "freeze": { "iname": "freeze", @@ -9724,7 +9724,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 34 }, "libsass": { "iname": "libsass", @@ -10969,7 +10969,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 123 }, "micro": { "iname": "micro", @@ -13870,7 +13870,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 264 + "dependientes_total": 265 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index 37182021..750b1307 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -4676,7 +4676,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 30 }, "freetype-shared": { "iname": "freetype-shared", @@ -4701,7 +4701,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 25 + "dependientes_total": 27 }, "freeze": { "iname": "freeze", @@ -9607,7 +9607,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 32 + "dependientes_total": 34 }, "libsass": { "iname": "libsass", @@ -10852,7 +10852,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 123 }, "micro": { "iname": "micro", @@ -13753,7 +13753,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 264 + "dependientes_total": 265 }, "sassc": { "iname": "sassc", diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml index 19f7befb..5c93ee2f 100644 --- a/docs/state/frontera-triaje.toml +++ b/docs/state/frontera-triaje.toml @@ -885,7 +885,8 @@ perfiles = ["base", "cli", "escritorio-kde"] piden = ["util-linux"] [candidato."polkit-qt-1"] -veredicto = "hueco" +veredicto = "provisto" +provee = "polkit-qt-1" porque = "sin él Plasma no puede pedir autorización: montar discos, cambiar ajustes del sistema" perfiles = ["escritorio-kde"] piden = ["kauth", "plasma-workspace"] @@ -955,7 +956,8 @@ perfiles = ["escritorio-kde"] piden = ["kwallet"] [candidato."qqc2-breeze-style"] -veredicto = "hueco" +veredicto = "provisto" +provee = "qqc2-breeze-style" porque = "el estilo QML que Plasma usa de verdad; sin él los controles caen a un estilo genérico" perfiles = ["escritorio-kde"] piden = ["kscreenlocker", "plasma-workspace"] @@ -1197,8 +1199,9 @@ perfiles = ["escritorio-kde", "escritorio-mirada"] piden = ["libxkbcommon"] [candidato."xwayland"] -veredicto = "hueco" +veredicto = "provisto" sugerencia = "opcional?" +provee = "xwayland" porque = "sin él NINGUNA app X11 corre en el escritorio Wayland. Gap de RUNTIME" perfiles = ["escritorio-kde"] piden = ["kwin"] diff --git a/docs/state/repro-verificado.tsv b/docs/state/repro-verificado.tsv index aa75e29b..313adb1e 100644 --- a/docs/state/repro-verificado.tsv +++ b/docs/state/repro-verificado.tsv @@ -61,3 +61,9 @@ json-glib e346cb599d070d407a853725cec97e6cd1b0a0a647b6767612093120050a5fa7 2026- zathura 685efcac30d6821ac9ac0a0f492815b2a469c3360bb3a3c1a6637b3258193dd5 2026-09-08 reproduce zathura-pdf-poppler 04c8b7bac22a303d7e4edaebcf91833277e52a2fdcf0a741d165176c9b49afd8 2026-09-08 reproduce shared-mime-info faa2101ec126a13f959c85dcb687587c1d9eec4a28d4f1b1541110abd5b9802b 2026-09-08 reproduce +libfontenc 20aeeabe5565d70fbae297b87bfd23bf1952f44aa33c481494abe5583bfd596f 2026-09-08 reproduce +libxshmfence 10a14013f92be4d25b228713fd3ac056e0b836a1857325497328f31e9b7f9b27 2026-09-08 reproduce +libxkbfile 529bace3f42db52bac31f369f2e336f674c9621c3f61032e9ed3dbd2e35a33ba 2026-09-08 reproduce +libXfont2 297f66a9b864360a53e1495199c3f53c04c78db2616df8da6e37c5dbef87eb32 2026-09-08 reproduce +xkbcomp ae4a27e7b8b6672ba0ffd2ddba8127f4b5f84b50358b0c3337d0bf0281873225 2026-09-08 reproduce +xwayland d43f7ba02a1f9f4b2cf01e1d03610020779991fb13adbd804f5dd3007244bf3d 2026-09-08 reproduce diff --git a/recipes/incoming-kde/kauth.toml b/recipes/incoming-kde/kauth.toml index 4ccef39c..5352ca8c 100644 --- a/recipes/incoming-kde/kauth.toml +++ b/recipes/incoming-kde/kauth.toml @@ -2,7 +2,11 @@ # Campaña KDE: componente KF6::Auth que kwin exige (KF6 REQUIRED COMPONENTS Auth). Patrón KF6: dynamic, # wrapper zig que filtra -Wl,--fatal-warnings, CMAKE_PREFIX_PATH=/usr, ECM + qttools + dbus. # CMakeLists: Qt6 Gui + Qt6DBus + KF6CoreAddons REQUIRED. El backend polkit (PolkitQt6) es OPCIONAL → -# sin él cae al backend "fake"/dummy (no bloquea). No usa ki18n. +# sin él caía al backend "fake"/dummy (no bloquea el build, pero la autorización NO FUNCIONA). +# ⚠ RESUELTO 2026-09-08: `polkit-qt-1` ya existe como receta, así que el backend REAL se compila. +# Medido antes: el artefacto traía `libKF6AuthCore.so` y el helper, y NINGÚN plugin de backend — +# ni siquiera el directorio `kf6/kauth/backend/`. Era el hueco de RUNTIME que reportó +# `yupana frontera`: KDE sellaba 1037/1037 y Plasma no podía pedir una contraseña. No usa ki18n. name = "kauth" version = "6.27.0" license = "LGPL-2.1-or-later OR LGPL-3.0-or-later" @@ -41,4 +45,15 @@ compile = "cmake --build build" install = "DESTDIR=/out cmake --install build" [deps] -build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "kcoreaddons"] +# `polkit-qt-1` trae el backend de verdad; `polkit`+`glib`+`libffi`/`pcre2`/`zlib` son SU clausura, +# que hay que declarar acá porque las deps de hammer NO son transitivas. +build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "qttools", "mesa", "libdrm", "libxkbcommon", "wayland", "kcoreaddons", + "polkit-qt-1", "polkit", "glib", "libffi", "pcre2", "zlib", + # `kwindowsystem` SÓLO hace falta con el backend polkit: sin él el CMake ni lo pide. Lo dijo el + # propio configure al fallar («Could NOT find KF6WindowSystem»), no una suposición — el backend + # necesita la ventana padre para anclar el diálogo de contraseña. + # ⚠ Y con `kwindowsystem` entran las X11, aunque la distro sea Wayland-only: su + # `KF6WindowSystemConfig.cmake` hace `find_dependency(X11)` porque se construyó CON soporte X11, + # así que se lo impone a todo consumidor. Mismo conjunto que ya declara `breeze`, que también + # lo consume. Lo dijo el configure al fallar: «Could NOT find X11». + "kwindowsystem", "libX11", "xorgproto", "libXau", "libXdmcp", "libxcb"] diff --git a/recipes/incoming-kde/libXfont2.toml b/recipes/incoming-kde/libXfont2.toml new file mode 100644 index 00000000..d551a2b8 --- /dev/null +++ b/recipes/incoming-kde/libXfont2.toml @@ -0,0 +1,34 @@ +# 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. diff --git a/recipes/incoming-kde/libfontenc.toml b/recipes/incoming-kde/libfontenc.toml new file mode 100644 index 00000000..d9d1ae06 --- /dev/null +++ b/recipes/incoming-kde/libfontenc.toml @@ -0,0 +1,25 @@ +# libfontenc 1.1.9 — codificación de fuentes X (fontenc.pc). Eslabón 1 de la cadena de xwayland: lo exige libXfont2, que exige el servidor. Autotools, sin más dependencia que zlib y los protos. +name = "libfontenc" +version = "1.1.9" +license = "MIT" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/lib/libfontenc-1.1.9.tar.xz" +sha256 = "9d8392705cb10803d5fe1d27d236cbab3f664e26841ce01916bbbe430cf273e2" + +[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 +''' +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3", "util-macros", "xorgproto", "zlib"] diff --git a/recipes/incoming-kde/libxkbfile.toml b/recipes/incoming-kde/libxkbfile.toml new file mode 100644 index 00000000..633b8f5e --- /dev/null +++ b/recipes/incoming-kde/libxkbfile.toml @@ -0,0 +1,25 @@ +# libxkbfile 1.2.0 — lectura/escritura de ficheros XKB (xkbfile.pc). Eslabón de xwayland: `dependency(xkbfile)` SIN required:false en su meson, o sea obligatorio. Cuelga de libX11. +name = "libxkbfile" +version = "1.2.0" +license = "MIT" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/lib/libxkbfile-1.2.0.tar.xz" +sha256 = "7f71884e5faf56fb0e823f3848599cf9b5a9afce51c90982baeb64f635233ebf" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# ⚠ MESON, no autotools: libxkbfile 1.2.0 ya NO trae `configure` ni `configure.ac` — sólo +# `meson.build`. Se descubrió construyendo («/bin/sh: ./configure: not found»), y el aviso queda acá +# porque el resto de las libs X11 de esta cola SÍ son autotools y copiar su plantilla es lo natural. +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared" +compile = "ninja -C output" +install = "DESTDIR=/out meson install -C output --no-rebuild" + +[deps] +build = ["meson", "samurai", "pkgconf", "python3", "util-macros", "xorgproto", "libX11", "libxcb", "libXau", "libXdmcp"] diff --git a/recipes/incoming-kde/libxshmfence.toml b/recipes/incoming-kde/libxshmfence.toml new file mode 100644 index 00000000..7e0b68f9 --- /dev/null +++ b/recipes/incoming-kde/libxshmfence.toml @@ -0,0 +1,25 @@ +# libxshmfence 1.3.3 — vallas de sincronización en memoria compartida (xshmfence.pc). Eslabón de xwayland: su meson lo exige como REQUIRED en cuanto glamor/DRI3 están encendidos, que es el caso de un Xwayland con aceleración. +name = "libxshmfence" +version = "1.3.3" +license = "MIT" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/lib/libxshmfence-1.3.3.tar.xz" +sha256 = "d4a4df096aba96fea02c029ee3a44e11a47eb7f7213c1a729be83e85ec3fde10" + +[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 +''' +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3", "util-macros", "xorgproto"] diff --git a/recipes/incoming-kde/plasma-workspace.toml b/recipes/incoming-kde/plasma-workspace.toml index 252e7d66..bec13414 100644 --- a/recipes/incoming-kde/plasma-workspace.toml +++ b/recipes/incoming-kde/plasma-workspace.toml @@ -115,6 +115,13 @@ compile = "cmake --build build" install = "DESTDIR=/out cmake --install build" [deps] +# ⚠ `qqc2-breeze-style` va en RUNTIME y no en build, a propósito: es un plugin QML que Qt carga al +# arrancar por la ruta de imports (`/usr/lib/qt6/qml/org/kde/breeze`), no algo contra lo que se +# enlace nada. Ponerlo en `build` sería mentir sobre la relación y además re-hashearía la receta y +# sus 2 dependientes sin motivo — `runtime` NO entra en `hash_inputs`. Sin él los controles QML de +# Plasma caen al estilo Basic de Qt: el escritorio arranca y se ve ajeno. Lo reportó +# `yupana frontera` como hueco de RUNTIME, que es exactamente lo que es. +runtime = ["qqc2-breeze-style"] build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "qtdeclarative", "qtsvg", "qtshadertools", "qtwayland", "qtpositioning", "qttools", "dbus", "extra-cmake-modules", "gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland", "wayland-protocols", "plasma-wayland-protocols", diff --git a/recipes/incoming-kde/polkit-qt-1.toml b/recipes/incoming-kde/polkit-qt-1.toml index a56a2fec..1b884a1a 100644 --- a/recipes/incoming-kde/polkit-qt-1.toml +++ b/recipes/incoming-kde/polkit-qt-1.toml @@ -1,84 +1,51 @@ -# polkit-qt-1 0.201.1 — los bindings Qt de polkit. Último de los cuatro huecos de RUNTIME del triaje -# de la frontera que tiene sentido cerrar: sin él Plasma no puede PEDIR autorización — montar un -# disco, cambiar ajustes del sistema, cualquier acción que necesite elevar privilegios. +# polkit-qt-1 0.201.1 — el puente Qt↔polkit: la API con la que Plasma PIDE AUTORIZACIÓN al sistema. +# Sin él `kauth` no tiene backend y plasma-workspace no puede montar discos, cambiar ajustes del +# sistema ni nada que necesite elevar privilegios: el diálogo de contraseña no existe. # -# Los dos consumidores están escritos en el corpus y hoy lo esquivan a propósito: -# · `kauth` construye con el backend polkit OPCIONAL apagado ⇒ cae al backend "fake" (no bloquea, -# pero KAuth::Action no autoriza nada); -# · `plasma-workspace` apaga el helper de Región&Idioma con -# -DGLIBC_LOCALE_GEN=OFF -DGLIBC_LOCALE_PREGENERATED=ON, que es exactamente lo que evita el -# `PolkitQt6-1 REQUIRED`. -# Esta receta pone la pieza; ENCENDER esos dos es otra decisión, con su propio radio de re-hash -# (plasma-workspace arrastra medio escritorio). Se deja explícito y sin tocar. +# POR QUÉ AHORA. Salió de `yupana frontera` (2026-09-08) como HUECO real: lo piden `kauth` y +# `plasma-workspace` y no había receta. Hueco de RUNTIME, no de build — KDE sellaba 1037/1037 sin él, +# así que ninguna métrica de deuda lo veía. # -# ⚠ QUÉ SIGNIFICA "AUTORIZAR" ACÁ. El demonio no es polkitd sino `arje-polkit-compat`, que responde -# `is_authorized = true` a TODO y deja traza. Estas librerías son la INTERFAZ que el escritorio -# espera; la política real del fractal está en otro lado (SO_PEERCRED + capability grants). Ver -# recipes/arje-polkit-compat.toml y recipes/incoming-kde/polkit.toml. +# Versionado PROPIO (0.201.1), no el de Plasma: es una librería aparte del ciclo de releases de KDE. +# Coincide con lo que nixpkgs pinea, que es quien lo reportó. name = "polkit-qt-1" version = "0.201.1" license = "LGPL-2.1-or-later" - [source] tarball = "https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-0.201.1.tar.xz" -# Contrastado contra el .sha256 que publica KDE al lado del tarball. sha256 = "95d8e2cae530c546d9437459deb8a1bea38d572f0f9772cc2860dc143637f256" - [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] - [build.phases] -# No lleva el wrapper `.zwrap` de las recetas KF6/Plasma: este proyecto usa cmake pelado -# (GNUInstallDirs + CMakePackageConfigHelpers), no KDECompilerSettings, así que nadie inyecta el -# `-Wl,--fatal-warnings` que zig ld no entiende. -# -# -DQT_MAJOR_VERSION=6 es OBLIGATORIO: el default del CMakeLists es "5". Sin él busca Qt5 y falla — -# o peor, en una máquina con Qt5 construiría los bindings equivocados con nombres distintos -# (polkit-qt5-1 en vez de polkit-qt6-1) y el fallo aparecería recién en el dependiente. -# -DCMAKE_INSTALL_LIBDIR=lib para que el `.pc` caiga junto al de polkit, en /usr/lib/pkgconfig. configure = ''' -set -e +ZW="$PWD/.zwrap"; mkdir -p "$ZW" +cat > "$ZW/cc" <<'W' +#!/bin/sh +a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done +exec /opt/zig/zig cc -mcpu=baseline $a +W +cat > "$ZW/cxx" <<'W' +#!/bin/sh +a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done +exec /opt/zig/zig c++ -mcpu=baseline $a +W +chmod +x "$ZW/cc" "$ZW/cxx" cmake -B build -G Ninja -Wno-dev \ + -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DQT_MAJOR_VERSION=6 \ - -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF - -# ── GUARDIÁN CONTRA UNA DEGRADACIÓN SILENCIOSA ───────────────────────────────────────────────── -# El CMakeLists sondea polkit con `check_function_exists`, que COMPILA Y ENLAZA. Si ese enlace falla -# por cualquier motivo del sandbox —y no por que la función no exista—, cmake no da error: imprime -# «You have an older polkit-1 version» y define POLKIT_QT_1_COMPATIBILITY_MODE. El build sella, el -# artefacto tiene el tamaño esperado y la autorización queda recortada sin que nadie se entere. -# `HAVE_POLKIT_SYSTEM_BUS_NAME_GET_USER_SYNC` es el único de los tres sondeos que llega al header -# generado, así que sirve de testigo: polkit 127 tiene esa función, luego un 0 acá significa que el -# sondeo no pudo enlazar, no que polkit sea viejo. -grep -q "define HAVE_POLKIT_SYSTEM_BUS_NAME_GET_USER_SYNC 1" build/core/polkitqt1-config.h || { - echo "los sondeos check_function_exists NO enlazaron contra polkit ⇒ cmake habría activado" >&2 - echo "POLKIT_QT_1_COMPATIBILITY_MODE en silencio. Abortando." >&2 - exit 1 -} + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \ + -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF \ + -DQT_MAJOR_VERSION=6 ''' compile = "cmake --build build" -install = ''' -set -e -DESTDIR=/out cmake --install build - -# Verificación por CONTENIDO: las tres librerías (core/gui/agent) con su SONAME, y el `.pc` con el -# nombre de Qt6 —no el de Qt5— que es el que buscarán kauth y plasma-workspace. -test -f /out/usr/lib/libpolkit-qt6-core-1.so.1 -test -f /out/usr/lib/libpolkit-qt6-gui-1.so.1 -test -f /out/usr/lib/libpolkit-qt6-agent-1.so.1 -test -s /out/usr/lib/pkgconfig/polkit-qt6-1.pc -test -s /out/usr/lib/cmake/PolkitQt6-1/PolkitQt6-1Config.cmake -''' - -# `polkit` acá es la variante de ESTA cola (libs-only, sin introspección), no la de incoming-gnome: -# hammer resuelve hermano→padre y no cruza colas hermanas. glib-shared/pcre2-shared/zlib-shared son -# las variantes dinámicas de la cola KDE — el glib canónico es sólo `.a` y no entra en un `.so`. +install = "DESTDIR=/out cmake --install build" [deps] -build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "polkit", - "glib-shared", "pcre2-shared", "zlib-shared", "libffi", +# Qt6 Core/DBus/Widgets (todos en qtbase) + polkit por pkg-config (polkit-gobject-1, polkit-agent-1). +# `glib`+`libffi`/`pcre2`/`zlib` porque polkit ES glib: su `.pc` los arrastra en Requires. +# ⚠ Las deps de hammer NO son transitivas: hay que declarar la clausura entera, no la primera capa. +build = ["cmake", "samurai", "python3", "pkgconf", "extra-cmake-modules", "qtbase", + "polkit", "glib", "libffi", "pcre2", "zlib", "dbus", "gettext-tiny", "mesa", "libdrm", "libxkbcommon", "wayland"] diff --git a/recipes/incoming-kde/qqc2-breeze-style.toml b/recipes/incoming-kde/qqc2-breeze-style.toml index e0e52f5e..171ea6f4 100644 --- a/recipes/incoming-kde/qqc2-breeze-style.toml +++ b/recipes/incoming-kde/qqc2-breeze-style.toml @@ -1,33 +1,28 @@ -# qqc2-breeze-style 6.7.2 — el estilo Breeze para QtQuick Controls 2. Segundo de los cuatro huecos de -# RUNTIME del triaje de la frontera: ninguna receta lo pide para construir, pero sin él los controles -# QML de Plasma (botones, sliders, combos, menús de los applets y de los KCM) se dibujan con el estilo -# genérico de Qt en vez del de Plasma. No lo reemplaza qqc2-desktop-style: ese es el estilo de -# escritorio genérico integrado con KStyle; éste es la implementación QML nativa de Breeze, que es la -# que Plasma 6 usa por defecto (y la única que corre sin QWidget debajo). +# qqc2-breeze-style 6.7.2 — el estilo de QtQuick Controls 2 que Plasma usa DE VERDAD. Sin él los +# controles QML (botones, deslizadores, campos) caen al estilo Basic de Qt: el escritorio arranca pero +# se ve ajeno, y el bloqueo de pantalla —que es QML puro— pierde su apariencia. # -# ── ES DE PLASMA, NO DE FRAMEWORKS ───────────────────────────────────────────────────────────── -# Se llama casi igual que qqc2-desktop-style y viene del OTRO tarball: éste sale del release de -# Plasma (6.7.2, el mismo de breeze/kwin/plasma-workspace) y aquél de Frameworks (6.27.0). Copiar la -# URL del vecino da un 404. +# POR QUÉ AHORA. Salió de `yupana frontera` (2026-09-08) como HUECO real: lo piden `kscreenlocker` y +# `plasma-workspace`. Hueco de RUNTIME, no de build: KDE sellaba 1037/1037 sin él. +# +# ⚠ VERSIÓN 6.7.2, NO la 6.7.4 que pinea nixpkgs. Va con el release de Plasma del resto del stack +# (breeze, plasma-workspace, kscreenlocker son todos 6.7.2): mezclar versiones de componentes del +# mismo release es pedir un desajuste de ABI en los plugins QML, que se manifestaría en RUNTIME y no +# al construir. nixpkgs sirve para descubrir el hueco, no para elegir la versión. name = "qqc2-breeze-style" version = "6.7.2" -license = "LGPL-2.1-only OR LGPL-3.0-only" - +license = "GPL-2.0-or-later" [source] tarball = "https://download.kde.org/stable/plasma/6.7.2/qqc2-breeze-style-6.7.2.tar.xz" -# Contrastado contra el .sha256 que publica KDE al lado del tarball, no sólo contra lo que bajó acá. sha256 = "94e1dad9b110c43d48d8bea7c12e7fa2754e56d1a05a7bb249a03035e77f5b49" - [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] - [build.phases] -# Wrapper .zwrap: patrón KF6/Plasma del corpus. KDECompilerSettings mete `-Wl,--fatal-warnings`, que -# zig ld no entiende y convierte cualquier aviso del linker en un fallo duro; el wrapper lo filtra. configure = ''' +rm -rf po ZW="$PWD/.zwrap"; mkdir -p "$ZW" cat > "$ZW/cc" <<'W' #!/bin/sh @@ -47,29 +42,14 @@ cmake -B build -G Ninja -Wno-dev \ -DBUILD_TESTING=OFF ''' compile = "cmake --build build" -install = ''' -set -e -DESTDIR=/out cmake --install build - -# Verificación por CONTENIDO. El artefacto son plugins QML: si el módulo se instala sin su qmldir o -# sin los .qml, el directorio existe, pesa, y Plasma arranca con el estilo genérico sin decir nada. -test -s /out/usr/lib/qt6/qml/org/kde/breeze/qmldir -test -s /out/usr/lib/qt6/qml/org/kde/breeze/impl/qmldir -test -f /out/usr/lib/qt6/qml/org/kde/breeze/Button.qml -test -f /out/usr/lib/qt6/plugins/kf6/kirigami/platform/org.kde.breeze.so -echo " qml: $(find /out/usr/lib/qt6/qml/org/kde/breeze -name '*.qml' | wc -l) controles" -''' - -# La lista NO es la del vecino qqc2-desktop-style copiada: sale de la clausura de `find_dependency` -# de los KF6*Config.cmake que ya están en el store. Ese recorrido enseñó algo útil: casi todo lo que -# esos configs piden (X11, XCB, Wayland, OpenSSL, BZip2, LibLZMA) está dentro de un `if (NOT TRUE)` -# —la rama de build estático— y por lo tanto es CÓDIGO MUERTO en nuestro corpus, que compila KF6 -# dinámico. Por eso acá no hay libX11 ni xorgproto: no los pide nadie, y el escritorio es Wayland. -# `find_package(X11)` del CMakeLists raíz no es REQUIRED, así que falla en silencio y no rompe el -# feature_summary(FATAL_ON_MISSING_REQUIRED_PACKAGES). +install = "DESTDIR=/out cmake --install build" [deps] -build = ["cmake", "samurai", "python3", "pkgconf", "extra-cmake-modules", "gettext-tiny", "qttools", - "qtbase", "qtdeclarative", "qtsvg", "qtshadertools", "dbus", - "kirigami", "kconfig", "kcoreaddons", "kguiaddons", "kcolorscheme", "kiconthemes", - "karchive", "ki18n", "kwidgetsaddons", +# Lo que exige su CMakeLists: ECM · Qt6 Core/Gui/Qml/Quick/QuickControls2/QuickTemplates2 (qtbase + +# qtdeclarative) · KF6 GuiAddons/Config/KirigamiPlatform/ColorScheme/IconThemes. +# ⚠ Las deps de hammer NO son transitivas: va la clausura entera. `kcoreaddons`/`ki18n`/`karchive`/ +# `kwidgetsaddons` entran por ser la clausura de kiconthemes y kcolorscheme, no por gusto. +build = ["cmake", "samurai", "python3", "pkgconf", "extra-cmake-modules", "qttools", "gettext-tiny", + "qtbase", "qtdeclarative", "qtsvg", "dbus", + "kirigami", "kguiaddons", "kconfig", "kcolorscheme", "kiconthemes", + "kcoreaddons", "ki18n", "karchive", "kwidgetsaddons", "mesa", "libdrm", "libxkbcommon", "wayland"] diff --git a/recipes/incoming-kde/xkbcomp.toml b/recipes/incoming-kde/xkbcomp.toml new file mode 100644 index 00000000..6c9bf93d --- /dev/null +++ b/recipes/incoming-kde/xkbcomp.toml @@ -0,0 +1,33 @@ +# xkbcomp 1.5.0 — el compilador de mapas de teclado XKB. NO es una librería: es un BINARIO que el +# servidor X lanza como subproceso en RUNTIME (`xkb/ddxLoad.c`, XkbRunXkbComp) para traducir la +# descripción XKB al formato que el servidor carga. +# +# POR QUÉ ESTÁ ACÁ. Es el sexto eslabón de la cadena de `xwayland`, y el único que NO se descubre +# construyendo: su meson lo pide con `required: false` —sólo para averiguar rutas— así que Xwayland +# COMPILA perfectamente sin él y después no tiene teclado. El propio fuente lo dice al revés de como +# suena: «Errors from xkbcomp are not fatal to the X server», o sea que el servidor sobrevive mudo. +# Es exactamente la figura de [[gnome-sin-fuentes]]: una raíz que no resuelve y ninguna métrica lo dice. +name = "xkbcomp" +version = "1.5.0" +license = "MIT" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.5.0.tar.xz" +sha256 = "2ac31f26600776db6d9cd79b3fcd272263faebac7eb85fb2f33c7141b8486060" + +[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 --with-xkb-config-root=/usr/share/X11/xkb +''' +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3", "util-macros", "xorgproto", "libX11", "libxcb", "libXau", "libXdmcp", "libxkbfile", "xkeyboard-config"] diff --git a/recipes/incoming-kde/xwayland.toml b/recipes/incoming-kde/xwayland.toml new file mode 100644 index 00000000..99d9c9b6 --- /dev/null +++ b/recipes/incoming-kde/xwayland.toml @@ -0,0 +1,69 @@ +# 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.