diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index c235e5e1..f62cb231 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -17,11 +17,11 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 818, + "sealed": 819, "ajeno": 1 }, "incoming-cosmic": { - "sealed": 38 + "sealed": 37 } }, "by_profile": { @@ -6883,15 +6883,18 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-cosmic", + "queue": "corpus", "hash": "b3:98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e16", "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic" + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" ], - "dependientes_total": 0 + "dependientes_total": 1 }, "hivemind": { "iname": "hivemind", @@ -10182,7 +10185,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 121 }, "micro": { "iname": "micro", @@ -11809,7 +11812,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 383 + "dependientes_total": 382 }, "plow": { "iname": "plow", @@ -12252,7 +12255,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 294 + "dependientes_total": 293 }, "qrcp": { "iname": "qrcp", @@ -12807,7 +12810,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 256 + "dependientes_total": 255 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index 230e1c7a..67832b25 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -17,11 +17,11 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 809, + "sealed": 810, "ajeno": 1 }, "incoming-gnome": { - "sealed": 74 + "sealed": 73 } }, "by_profile": { @@ -36,9 +36,9 @@ "sealed": 74 }, "escritorio-gnome": { - "raices": 18, - "clausura": 156, - "sealed": 156 + "raices": 20, + "clausura": 158, + "sealed": 158 }, "escritorio-mirada": { "raices": 14, @@ -46,7 +46,7 @@ "sealed": 33 } }, - "sin_perfil": 660, + "sin_perfil": 658, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -201,7 +201,9 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], + "perfiles": [ + "escritorio-gnome" + ], "dependientes_total": 0 }, "age": { @@ -7079,12 +7081,17 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e16", "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], "dependientes_total": 1 }, "hivemind": { @@ -10846,7 +10853,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 121 }, "micro": { "iname": "micro", @@ -12616,7 +12623,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 383 + "dependientes_total": 382 }, "plow": { "iname": "plow", @@ -13126,7 +13133,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 294 + "dependientes_total": 293 }, "qrcp": { "iname": "qrcp", @@ -13681,7 +13688,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 256 + "dependientes_total": 255 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index 98f16b8c..0a747765 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 999, - "nodes": 1000, - "sealed": 999, + "recipes": 1000, + "nodes": 1001, + "sealed": 1000, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 364, + "c": 365, "go": 362, "gui": 38, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 802 + "sealed": 803 }, "incoming-kde": { "sealed": 197, @@ -36,9 +36,9 @@ "sealed": 70 }, "escritorio-kde": { - "raices": 42, - "clausura": 262, - "sealed": 261, + "raices": 44, + "clausura": 264, + "sealed": 263, "ajeno": 1 }, "escritorio-mirada": { @@ -47,7 +47,7 @@ "sealed": 29 } }, - "sin_perfil": 646, + "sin_perfil": 645, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -1247,7 +1247,9 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], + "perfiles": [ + "escritorio-kde" + ], "dependientes_total": 0 }, "broot": { @@ -6974,6 +6976,31 @@ "perfiles": [], "dependientes_total": 0 }, + "hicolor-icon-theme": { + "iname": "hicolor-icon-theme", + "version": "0.18", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "meson", + "samurai", + "python3", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e16", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "hivemind": { "iname": "hivemind", "version": "1.1.0", @@ -14373,7 +14400,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 121 }, "micro": { "iname": "micro", @@ -16336,7 +16363,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 383 + "dependientes_total": 382 }, "plasma-activities": { "iname": "plasma-activities", @@ -17777,7 +17804,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 294 + "dependientes_total": 293 }, "qcoro": { "iname": "qcoro", @@ -18925,7 +18952,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 256 + "dependientes_total": 255 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index 98b96a19..61591dcd 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 833, - "nodes": 834, - "sealed": 833, + "recipes": 834, + "nodes": 835, + "sealed": 834, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 201, + "c": 202, "go": 362, "gui": 35, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 819, + "sealed": 820, "ajeno": 1 }, "incoming-wlr": { @@ -41,9 +41,9 @@ "sealed": 33 }, "escritorio-sway": { - "raices": 69, - "clausura": 172, - "sealed": 172 + "raices": 70, + "clausura": 173, + "sealed": 173 } }, "sin_perfil": 644, @@ -6434,6 +6434,31 @@ "perfiles": [], "dependientes_total": 0 }, + "hicolor-icon-theme": { + "iname": "hicolor-icon-theme", + "version": "0.18", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "meson", + "samurai", + "python3", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e16", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "hivemind": { "iname": "hivemind", "version": "1.1.0", @@ -9661,7 +9686,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 121 }, "micro": { "iname": "micro", @@ -11270,7 +11295,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 383 + "dependientes_total": 382 }, "plow": { "iname": "plow", @@ -11671,7 +11696,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 294 + "dependientes_total": 293 }, "qrcp": { "iname": "qrcp", @@ -12226,7 +12251,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 256 + "dependientes_total": 255 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index da0d0232..157fdbeb 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 820, - "nodes": 821, - "sealed": 820, + "recipes": 821, + "nodes": 822, + "sealed": 821, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 188, + "c": 189, "go": 362, "gui": 35, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 820, + "sealed": 821, "ajeno": 1 } }, @@ -6357,6 +6357,31 @@ "perfiles": [], "dependientes_total": 0 }, + "hicolor-icon-theme": { + "iname": "hicolor-icon-theme", + "version": "0.18", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "meson", + "samurai", + "python3", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e16", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "hivemind": { "iname": "hivemind", "version": "1.1.0", @@ -9542,7 +9567,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 122 + "dependientes_total": 121 }, "micro": { "iname": "micro", @@ -11151,7 +11176,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 383 + "dependientes_total": 382 }, "plow": { "iname": "plow", @@ -11552,7 +11577,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 294 + "dependientes_total": 293 }, "qrcp": { "iname": "qrcp", @@ -12107,7 +12132,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 256 + "dependientes_total": 255 }, "sassc": { "iname": "sassc", diff --git a/docs/state/targets.toml b/docs/state/targets.toml index 028ba248..c7e7939f 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -165,6 +165,30 @@ paquetes = [ # Arreglarlo de verdad pide re-sellar pipewire, que arrastra 7 artefactos —entre ellos dos Rust # que ya murieron por OOM— así que se paga el día que pipewire se re-selle por otro motivo. "expat-shared", "libffi-shared", "bzip2-shared", "ncurses-shared", + # ── TEMA DE ICONOS ─────────────────────────────────────────────────────────────────────────── + # Añadido el 2026-09-03 releyendo la captura que dio el arranque por bueno + # (`docs/evidencia/plasma6-qemu-2026-09-03-kactivitymanagerd.png`): el panel salía con el reloj y + # NADA MÁS, y se leyó como «el panel arranca». No era el panel — era que ninguno de sus applets + # tenía icono que dibujar. `kickoff`, `systemtray`, `showdesktop` y `trash` SON un icono y poco + # más, así que sin tema quedan de ancho cero; el reloj se ve porque dibuja TEXTO. Los `.so` de los + # applets estaban todos instalados (`/usr/lib/qt6/plugins/plasma/applets/`), o sea que el síntoma + # no distingue «no cargó» de «cargó y no tiene qué pintar». + # El log lo decía en UNA línea que nadie leyó: `kf.iconthemes: Icon theme "breeze" not found.` + # + # `breeze`, que ya estaba de raíz, es el tema de WIDGETS y de CURSORES: instala + # `usr/share/icons/Breeze_Light` y `usr/share/icons/breeze_cursors`, que son punteros de ratón, no + # iconos de aplicación. Los ~11.000 iconos viven en `breeze-icons`, receta APARTE que estaba + # sellada desde siempre y que no declaraba NINGÚN perfil. Misma figura que las fuentes y que + # `foot`: es data de RUNTIME, no la alcanza ninguna arista de BUILD, y la clausura no la puede + # echar de menos porque mide lo declarado. + # + # `hicolor-icon-theme` es el FALLBACK obligatorio del estándar freedesktop: cada aplicación + # instala sus iconos en `usr/share/icons/hicolor/...` y todo buscador termina ahí cuando el tema + # activo no tiene lo pedido. Sin su `index.theme` el directorio existe pero NO es un tema y la + # búsqueda no lo recorre. Vive en el corpus desde hoy (promovida con hash IDÉNTICO + # b3:98ad44a5 desde `incoming-gnome`/`incoming-cosmic`, 0 rebuilds en sus 4 consumidores) para que + # la alcancen las cuatro imágenes. + "breeze-icons", "hicolor-icon-theme", ] [perfil.escritorio-gnome] @@ -298,6 +322,22 @@ paquetes = [ # Arreglarlo de verdad pide re-sellar pipewire, que arrastra 7 artefactos —entre ellos dos Rust # que ya murieron por OOM— así que se paga el día que pipewire se re-selle por otro motivo. "expat-shared", "libffi-shared", "bzip2-shared", "ncurses-shared", + # ── TEMA DE ICONOS Y DE CURSORES ───────────────────────────────────────────────────────────── + # Añadido el 2026-09-03: medido sobre los artefactos del cierre, este perfil tenía **CERO** temas + # de iconos — ni siquiera `hicolor`. Se ve en `docs/evidencia/gnome-shell-qemu-2026-09-03-libs- + # compartidas.png`: la barra superior trae la fecha (texto) y el pill de espacios de trabajo, y la + # DERECHA está vacía — los indicadores de red, volumen y batería son iconos, y no había ninguno + # que dibujar. Mismo defecto que en KDE y por el mismo motivo: data de RUNTIME que no alcanza + # ninguna arista de BUILD. + # + # `adwaita-icon-theme` estaba escrita y SELLADA desde el frente GNOME y no la declaraba nadie. Su + # propia cabecera explica por qué la escribieron: mutter avisa `No cursor theme available` y **sin + # tema de cursor no hay puntero visible** con el cursor por software que obliga virtio-gpu. Los + # XCursor viven ahí adentro (`Adwaita/cursors/`), no en un paquete aparte. + # `hicolor-icon-theme` va explícito aunque Adwaita lo declare `Inherits=hicolor`: la herencia se + # resuelve en RUNTIME leyendo el `index.theme` del padre, así que el padre tiene que estar + # INSTALADO. Desde hoy se resuelve contra el corpus (misma receta, mismo hash). + "adwaita-icon-theme", "hicolor-icon-theme", ] [perfil.escritorio-cosmic] @@ -549,4 +589,17 @@ paquetes = [ # En COSMIC habría que VERIFICAR si cosmic-comp expone el protocolo antes de listarlo. # Es la app que cobra la promoción de pipewire al corpus (2026-09-03): antes grababa muda. "wf-recorder", + # ── EL TEMA DE ICONOS BASE ─────────────────────────────────────────────────────────────────── + # Añadido el 2026-09-03 por el barrido que destapó que KDE y GNOME corrían SIN tema de iconos. + # Acá el agujero es más chico y conviene decir exactamente cuánto: los cuatro programas gráficos + # de esta imagen —foot, swayimg, mpv, wf-recorder— no piden iconos de tema, y `zathura` es GTK4, + # que lleva sus iconos de UI COMPILADOS en el recurso de la librería. O sea que acá no hay una + # captura con la barra vacía como en las otras dos. + # Lo que sí falta es el FALLBACK del estándar: sin `hicolor/index.theme` instalado, los iconos que + # una aplicación instala en `usr/share/icons/hicolor/...` son invisibles para cualquier buscador, + # porque ese directorio no cuenta como tema. Es el piso, y cuesta un artefacto de datos. + # Un tema COMPLETO (Adwaita, Breeze) sería una decisión aparte y NO gratis: los dos viven en colas + # hermanas —`incoming-gnome` e `incoming-kde`— y desde acá no se alcanza una cola hermana, así que + # pedirlo es promover uno al corpus. Queda escrito para que se elija, no para que se descubra. + "hicolor-icon-theme", ] diff --git a/recipes/incoming-cosmic/hicolor-icon-theme.toml b/recipes/hicolor-icon-theme.toml similarity index 100% rename from recipes/incoming-cosmic/hicolor-icon-theme.toml rename to recipes/hicolor-icon-theme.toml diff --git a/recipes/incoming-gnome/hicolor-icon-theme.toml b/recipes/incoming-gnome/hicolor-icon-theme.toml deleted file mode 100644 index c734f6fa..00000000 --- a/recipes/incoming-gnome/hicolor-icon-theme.toml +++ /dev/null @@ -1,34 +0,0 @@ -# hicolor-icon-theme 0.18 — el tema de iconos BASE del estándar freedesktop, y nada más que su -# esqueleto: un `index.theme` y el árbol de directorios vacíos por tamaño y categoría. -# -# QUÉ ES Y POR QUÉ HACE FALTA: `hicolor` es el tema de FALLBACK obligatorio de la especificación de -# iconos. Cada aplicación instala sus iconos en `/usr/share/icons/hicolor/...`, y todo buscador de -# iconos (GTK, Qt, el shell) termina ahí cuando el tema activo no tiene lo que se pide. Sin su -# `index.theme` el directorio existe pero NO es un tema: la búsqueda no lo recorre y los iconos de -# las aplicaciones quedan invisibles aunque los ficheros estén en su sitio. -# -# No trae ni un icono propio, a propósito — es el contrato, no el contenido. De ahí que sea la receta -# más chica del frente y a la vez la que no se puede saltear. -# -# Ojo con la versión: hasta 0.17 era autotools; **0.18 pasó a meson** y el tarball ya no trae -# `configure` (ni `configure.ac`). Un `./configure` heredado de la receta vieja sale con 127. -name = "hicolor-icon-theme" -version = "0.18" -license = "GPL-2.0-or-later" - -[source] -tarball = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.18.tar.xz" -sha256 = "db0e50a80aa3bf64bb45cbca5cf9f75efd9348cf2ac690b907435238c3cf81d7" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload" -compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" -install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" - -[deps] -build = ["meson", "samurai", "python3", "pkgconf"]