triaje: 26 más — quedan 27, y un Chromium entero colgaba de una VPN

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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV
This commit is contained in:
Sergio
2026-09-09 17:00:16 +00:00
co-authored by Claude Opus 5
parent 133e1dd802
commit f09927cc53
3 changed files with 57 additions and 52 deletions
+2
View File
@@ -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
+54 -52
View File
@@ -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 = "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"]
+1
View File
@@ -5,6 +5,7 @@ ffmpeg-headless
git-minimal
glibc
lndir
lzip
python3-3.14.6-env
python3-3.14.7-env
remove-references-to