From f09927cc535aa2c3a0c8d71c55e874828ee2b618 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 9 Sep 2026 17:00:16 +0000 Subject: [PATCH] =?UTF-8?q?triaje:=2026=20m=C3=A1s=20=E2=80=94=20quedan=20?= =?UTF-8?q?27,=20y=20un=20Chromium=20entero=20colgaba=20de=20una=20VPN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit De 53 pendientes a 27. Cierran okular, libsndfile, libpsl, libtiff, colord, libplacebo, zxing-cpp, glib, modemmanager, plasma-nm y evolution-data-server. ⚠ EL HALLAZGO QUE ABARATA MÁS: qtwebengine. En plasma-nm, Qt6WebEngineWidgets se pide REQUIRED — pero SÓLO dentro de `if(BUILD_OPENCONNECT)` (CMakeLists.txt:54-56). O sea que un Chromium entero colgaba de la vista web de SSO de una VPN, y el -DBUILD_OPENCONNECT=OFF que la receta ya pasaba lo saca del grafo. Vale la pena mirar dónde MÁS aparece qtwebengine antes de darlo por deuda. ⚠ DOS ALIAS MÁS, y cada uno estrena una FORMA nueva de fallar el cruce por nombre: gusb → libgusb el prefijo `lib` (libgusb 0.4.9, ya en el [deps].build de colord) glad2 → glad la VERSIÓN metida en el nombre: recipes/glad.toml pinea la 2.0.8, que ES glad2. nixpkgs parte glad(v1) y glad2(v2) en dos paquetes; acá hay uno solo Van seis alias y cuatro formas distintas: puntuación, mayúsculas, prefijo y versión. Ya no es casualidad — cuando el sembrador vuelva a tocarse, normalizar por ahí. DOS BUNDLEOS que parecían deps y no lo son, los dos verificados en el fuente: zint zxing-cpp lo trae adentro (CMakeLists.txt:7, ZXING_USE_BUNDLED_ZINT ON por defecto, y core/CMakeLists.txt:532 compila core/src/libzint) publicsuffix-list la lista VIENE en el tarball de libpsl y --enable-builtin la hornea en el .so. Traerla aparte sería meter un dato mutable en un store direccionable por contenido Y autogen es andamiaje, no dep: configure.ac:68 busca el PROGRAMA y si falta sólo hace `touch tests/*.c`; el Makefile.am:414 dice que los ficheros generados vienen en el tarball «to prevent stale files from calling autogen in tarball releases». CAPACIDADES AUSENTES que quedan dichas: okular abre PDF pero no PostScript (libspectre), ni DjVu, ni previsualiza Markdown; no hay cliente VPN AnyConnect (openconnect); no hay calibración de pantalla por colorímetro (argyllcms) ni stack de escáner (sane-backends). Quedan 27 pendientes, todos de 1×. Dos de ellos NO son «opcional» y no los firmo de paso — gnome-keyring y glib-networking, los dos con la medición hecha y escrita. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV --- docs/state/alias-triaje.txt | 2 + docs/state/frontera-triaje.toml | 106 ++++++++++++++++---------------- docs/state/nixismos-triaje.txt | 1 + 3 files changed, 57 insertions(+), 52 deletions(-) diff --git a/docs/state/alias-triaje.txt b/docs/state/alias-triaje.txt index 7e0615c2..5740d0d0 100644 --- a/docs/state/alias-triaje.txt +++ b/docs/state/alias-triaje.txt @@ -4,7 +4,9 @@ bash-completion bash-completion bubblewrap bwrap desktop-file-utils desktop-file-utils +glad2 glad gmp-with-cxx gmp +gusb libgusb libxcb-cursor xcb-util-cursor libxcb-image xcb-util-image libxcb-keysyms xcb-util-keysyms diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml index 16d144c0..ef762e84 100644 --- a/docs/state/frontera-triaje.toml +++ b/docs/state/frontera-triaje.toml @@ -72,9 +72,9 @@ perfiles = ["escritorio-gnome"] piden = ["mutter"] [candidato."argyllcms"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (colord); mirá si es una feature opcional" +porque = "colord va con -Dargyllcms_sensor=false explícito: es el soporte de colorímetros de hardware para calibrar la pantalla" perfiles = ["escritorio-gnome"] piden = ["colord"] @@ -134,9 +134,9 @@ perfiles = ["base", "cli", "escritorio-cosmic", "escritorio-gnome", "escritorio- piden = ["python3"] [candidato."autogen"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libsndfile); mirá si es una feature opcional" +porque = "no se enlaza: configure.ac:68 busca el PROGRAMA `autogen` y si no está sólo hace `touch tests/*.c` (línea 535). El Makefile.am:414 lo dice con todas las letras — los ficheros generados VIENEN en el tarball de release y el touch existe «to prevent stale files from calling autogen in tarball releases». Andamiaje de los tests, no de la librería" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libsndfile"] @@ -304,16 +304,16 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["mesa"] [candidato."discount"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (okular); mirá si es una feature opcional" +porque = "okular la declara OPCIONAL dos veces: entra en la lista FORCE_NOT_REQUIRED_DEPENDENCIES (CMakeLists.txt:37) y su find_package va con set_okular_optional_package_properties. Es el back-end de Markdown; sin él okular no previsualiza .md" perfiles = ["escritorio-kde"] piden = ["okular"] [candidato."djvulibre"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (okular); mirá si es una feature opcional" +porque = "okular la declara OPCIONAL dos veces: entra en la lista FORCE_NOT_REQUIRED_DEPENDENCIES (CMakeLists.txt:37) y su find_package va con set_okular_optional_package_properties. Es el back-end de DjVu, el formato de libros escaneados" perfiles = ["escritorio-kde"] piden = ["okular"] @@ -425,9 +425,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["pipewire", "pulseaudio", "speexdsp"] [candidato."flac"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libsndfile); mirá si es una feature opcional" +porque = "libsndfile va con --disable-external-libs, que es lo que hace que esta receta sea UNA y no CINCO (la receta lo explica): apaga FLAC, Ogg, Vorbis y Opus de una" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libsndfile"] @@ -501,9 +501,10 @@ piden = ["starship"] ausente = true # ya no aparece en el último barrido de la frontera [candidato."glad2"] -veredicto = "pendiente" +veredicto = "provisto" sugerencia = "opcional?" -porque = "lo pide una sola receta (libplacebo); mirá si es una feature opcional" +provee = "glad" +porque = "no falta: recipes/glad.toml pinea la 2.0.8, que ES glad2 — nixpkgs parte glad (v1) y glad2 (v2) en dos paquetes y acá hay uno solo. Ya figura en el [deps].build de libplacebo. Cuarta forma de alias: la VERSIÓN metida en el nombre" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libplacebo"] @@ -579,9 +580,9 @@ perfiles = ["escritorio-gnome"] piden = ["gnome-shell"] [candidato."gnome-online-accounts"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (evolution-data-server); mirá si es una feature opcional" +porque = "evolution-data-server va con -DENABLE_GOA=OFF y la receta lo documenta. Sin cuentas en línea no hay qué sincronizar" perfiles = ["escritorio-gnome"] piden = ["evolution-data-server"] @@ -679,9 +680,10 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["adwaita-icon-theme", "evolution-data-server", "firefox", "girara", "gjs", "gnome-desktop", "qtbase"] [candidato."gusb"] -veredicto = "pendiente" +veredicto = "provisto" sugerencia = "opcional?" -porque = "lo pide una sola receta (colord); mirá si es una feature opcional" +provee = "libgusb" +porque = "no falta: es el mismo paquete con el prefijo `lib`. recipes/incoming-gnome/libgusb.toml (0.4.9) está sellada y ya figura en el [deps].build de colord. Tercera FORMA de alias del barrido: prefijo, después de puntuación y mayúsculas" perfiles = ["escritorio-gnome"] piden = ["colord"] @@ -814,9 +816,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["pipewire"] [candidato."lerc"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libtiff); mirá si es una feature opcional" +porque = "libtiff va con -Dlerc=OFF explícito" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libtiff"] @@ -932,9 +934,9 @@ perfiles = ["escritorio-kde"] piden = ["xwayland"] [candidato."libdeflate"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libtiff); mirá si es una feature opcional" +porque = "libtiff va con -Dlibdeflate=OFF explícito" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libtiff"] @@ -946,9 +948,9 @@ perfiles = ["escritorio-kde"] piden = ["prison"] [candidato."libdovi"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libplacebo); mirá si es una feature opcional" +porque = "libplacebo va con -Dlibdovi=disabled explícito (mantiene -Ddovi=enabled, que es el soporte propio de Dolby Vision sin la librería externa)" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libplacebo"] @@ -1062,9 +1064,9 @@ perfiles = ["escritorio-sway"] piden = ["wlroots"] [candidato."libmbim"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (modemmanager); mirá si es una feature opcional" +porque = "modemmanager va con -Dmbim=false explícito" perfiles = ["escritorio-kde"] piden = ["modemmanager"] @@ -1096,9 +1098,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["mpc", "yambar"] [candidato."libmpg123"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libsndfile); mirá si es una feature opcional" +porque = "libsndfile va con --disable-mpeg, que apaga LAME y mpg123 juntos" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["libsndfile"] @@ -1137,9 +1139,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["libdrm"] [candidato."libphonenumber"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (evolution-data-server); mirá si es una feature opcional" +porque = "evolution-data-server va con -DWITH_PHONENUMBER=OFF explícito (receta:121): es la normalización de números de teléfono de Google en la libreta" perfiles = ["escritorio-gnome"] piden = ["evolution-data-server"] @@ -1180,9 +1182,9 @@ perfiles = ["escritorio-kde"] piden = ["kwin"] [candidato."libqmi"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (modemmanager); mirá si es una feature opcional" +porque = "modemmanager va con -Dqmi=false explícito" perfiles = ["escritorio-kde"] piden = ["modemmanager"] @@ -1229,9 +1231,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["swayimg"] [candidato."libspectre"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (okular); mirá si es una feature opcional" +porque = "okular la declara OPCIONAL dos veces: entra en la lista FORCE_NOT_REQUIRED_DEPENDENCIES (CMakeLists.txt:37) y su find_package va con set_okular_optional_package_properties. Es el back-end de PostScript (.ps/.eps) ⇒ capacidad ausente dicha en voz alta: okular abre PDF, no PostScript" perfiles = ["escritorio-kde"] piden = ["okular"] @@ -1262,9 +1264,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["gjs", "glib", "mutter"] [candidato."libsystemtap"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (glib); mirá si es una feature opcional" +porque = "lo mismo que systemtap: glib declara dtrace/systemtap como features 'auto' (meson.options:52 y :58) y ninguna está en [deps]" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["glib"] @@ -1296,9 +1298,9 @@ perfiles = ["escritorio-kde"] piden = ["xwayland"] [candidato."libunistring"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libpsl); mirá si es una feature opcional" +porque = "libpsl va con --enable-runtime=libicu: la IDNA la resuelve ICU —icu4c ya está en [deps]— y no libidn2, que es quien arrastraría libunistring" perfiles = ["escritorio-gnome"] piden = ["libpsl"] @@ -1569,9 +1571,9 @@ perfiles = ["base", "cli", "escritorio-sway"] piden = ["parted"] [candidato."lzip"] -veredicto = "pendiente" +veredicto = "nix-ismo" sugerencia = "opcional?" -porque = "lo pide una sola receta (libpsl); mirá si es una feature opcional" +porque = "es un COMPRESOR, andamiaje de empaquetado: nixpkgs lo usa para desempaquetar .tar.lz. El tarball que pinea la receta es .tar.gz" perfiles = ["escritorio-gnome"] piden = ["libpsl"] @@ -1741,9 +1743,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["ffmpeg"] [candidato."openconnect"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (plasma-nm); mirá si es una feature opcional" +porque = "plasma-nm va con -DBUILD_OPENCONNECT=OFF explícito, contra un default ON (CMakeLists.txt:20). Capacidad ausente: no hay cliente VPN de Cisco/AnyConnect" perfiles = ["escritorio-kde"] piden = ["plasma-nm"] @@ -1893,9 +1895,9 @@ perfiles = ["escritorio-kde"] piden = ["qtbase"] [candidato."publicsuffix-list"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (libpsl); mirá si es una feature opcional" +porque = "no falta: la lista VIENE en el tarball de libpsl y la receta la hornea en el .so con --enable-builtin=libicu, cosa que además la fija al ArtifactHash. Traerla por separado sería meter un dato mutable en un store direccionable por contenido" perfiles = ["escritorio-gnome"] piden = ["libpsl"] @@ -2003,9 +2005,9 @@ perfiles = ["escritorio-kde"] piden = ["kwin", "plasma-workspace"] [candidato."qtwebengine"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (plasma-nm); mirá si es una feature opcional" +porque = "⚠ hallazgo que abarata mucho: en plasma-nm, Qt6WebEngineWidgets se pide REQUIRED pero SÓLO dentro de `if(BUILD_OPENCONNECT)` (CMakeLists.txt:54-56), y la receta pasa -DBUILD_OPENCONNECT=OFF. O sea que un Chromium entero colgaba de la vista web de SSO de una VPN, y apagar la VPN lo saca del grafo" perfiles = ["escritorio-kde"] piden = ["plasma-nm"] @@ -2067,9 +2069,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["mesa"] [candidato."sane-backends"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (colord); mirá si es una feature opcional" +porque = "colord va con -Dsane=false explícito. ⚠ Capacidad ausente de fondo: la distro no tiene stack de escáner, así que no hay perfil de color de escáner que hacer" perfiles = ["escritorio-gnome"] piden = ["colord"] @@ -2194,9 +2196,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["ffmpeg", "obs-studio"] [candidato."stb"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (zxing-cpp); mirá si es una feature opcional" +porque = "sólo la usa example/CMakeLists.txt de zxing-cpp para leer PNG/JPEG en los programas de ejemplo, y la receta pasa -DZXING_EXAMPLES=OFF" perfiles = ["escritorio-kde"] piden = ["zxing-cpp"] @@ -2250,9 +2252,9 @@ perfiles = ["base", "cli", "escritorio-cosmic", "escritorio-gnome", "escritorio- piden = ["appstream", "at-spi2-core", "atk", "colord", "cosmic-applets", "cosmic-comp", "cosmic-osd", "cosmic-settings", "cosmic-settings-daemon", "cosmic-workspaces-epoch", "dhcpcd", "gnome-desktop"] # …y 16 más [candidato."systemtap"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (glib); mirá si es una feature opcional" +porque = "glib 2.88.1 declara `systemtap` como feature 'auto' (meson.options:58) y no está en el sandbox, que monta sólo las deps declaradas. Son sondas de trazado del runtime, no funcionalidad" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["glib"] @@ -2522,9 +2524,9 @@ perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritor piden = ["ffmpeg"] [candidato."zint"] -veredicto = "pendiente" +veredicto = "opcional" sugerencia = "opcional?" -porque = "lo pide una sola receta (zxing-cpp); mirá si es una feature opcional" +porque = "zxing-cpp la BUNDLEA: CMakeLists.txt:7 declara ZXING_USE_BUNDLED_ZINT en ON por defecto y core/CMakeLists.txt:532 compila core/src/libzint. La externa sólo entraría apagando esa opción, cosa que la receta no hace" perfiles = ["escritorio-kde"] piden = ["zxing-cpp"] diff --git a/docs/state/nixismos-triaje.txt b/docs/state/nixismos-triaje.txt index aeacd7ea..d16af816 100644 --- a/docs/state/nixismos-triaje.txt +++ b/docs/state/nixismos-triaje.txt @@ -5,6 +5,7 @@ ffmpeg-headless git-minimal glibc lndir +lzip python3-3.14.6-env python3-3.14.7-env remove-references-to