From d8f1280ae9f7f7fa4d9903ea6afa90770e07aa10 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 9 Sep 2026 17:34:07 +0000 Subject: [PATCH] =?UTF-8?q?frontera:=20rebarrida=20con=20el=20triaje=20pue?= =?UTF-8?q?sto=20=E2=80=94=20334=20=E2=86=92=20319=20candidatos,=20y=20CER?= =?UTF-8?q?O=20nuevos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El triaje sirve para algo o no sirve, y eso se mide corriendo el sembrador otra vez. Regenerados los SIETE perfiles de `seed-frontera.json` (1,3 s cada uno: el eval de nix estaba cacheado). perfil antes ahora base 41 41 +0 cli 44 44 +0 escritorio-cosmic 148 143 -5 escritorio-gnome 191 181 -10 escritorio-kde 276 266 -10 escritorio-mirada 39 38 -1 escritorio-sway 175 171 -4 UNIÓN 334 319 -15 Los 15 que se fueron son EXACTAMENTE los que el lazo cerrado puede sacar: los siete alias (bubblewrap, mesa-gl-headers, nlohmann_json, libxfont_2, gusb, glad2, libmpc), los nix-ismos (CUnit, ffmpeg-headless, lzip, validate-pkg-config, python3-3.14.7-env) y tres que dejaron de ser candidatos porque ahora TIENEN receta (bash-completion, desktop-file-utils, purpose). Y **cero candidatos nuevos**, que era la otra mitad de la pregunta: el barrido no se movió por debajo mientras lo triábamos. ⚠ LO QUE ESTE NÚMERO NO DICE. Los 327 veredictos `opcional` NO encogen la salida del sembrador — sólo `nix-ismo` y `provisto` realimentan. Es correcto que así sea (un `opcional` es una decisión nuestra, no un error de nixpkgs), pero significa que la frontera va a seguir saliendo con ~319 candidatos de los que 316 ya están contestados. Quien la lea tiene que cruzarla con `frontera-triaje.toml`, no leerla sola: `scripts/triaje.py` sin argumentos ya lo hace y dice «0 nuevos». De paso: 46 candidatos quedaron marcados `ausente = true` (estaban en barridos viejos y ya no salen). El fichero de triaje los conserva con su veredicto en vez de borrarlos, que es lo correcto — si alguno vuelve, vuelve ya contestado. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV --- docs/state/frontera-triaje.toml | 17 +++- docs/state/seed-frontera.json | 133 ++------------------------------ 2 files changed, 22 insertions(+), 128 deletions(-) diff --git a/docs/state/frontera-triaje.toml b/docs/state/frontera-triaje.toml index 08bd2536..c1695b11 100644 --- a/docs/state/frontera-triaje.toml +++ b/docs/state/frontera-triaje.toml @@ -23,6 +23,7 @@ sugerencia = "opcional?" porque = "nghttp2 1.64.0 no nombra CUnit en ningún fichero: sus tests usan munit VENDORIZADO en tests/munit/. Es una dep rancia de la expresión de nixpkgs ⇒ no puede volver como hueco ni encendiendo los tests" perfiles = ["escritorio-gnome"] piden = ["nghttp2"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."SPIRV-LLVM-Translator"] veredicto = "opcional" @@ -174,6 +175,7 @@ provee = "bash-completion" porque = "lo piden 5 recetas de la imagen — difícil que sea accesorio" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["appstream", "colord", "gnome-shell", "modemmanager", "swayimg"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."bluez"] veredicto = "opcional" @@ -208,6 +210,7 @@ provee = "bwrap" porque = "lo piden 2 recetas" perfiles = ["escritorio-cosmic", "escritorio-gnome"] piden = ["gnome-desktop", "xdg-desktop-portal"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."c-ares"] veredicto = "opcional" @@ -295,6 +298,7 @@ provee = "desktop-file-utils" porque = "lo piden 3 recetas" perfiles = ["escritorio-gnome"] piden = ["gnome-shell", "libadwaita", "mutter"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."directx-headers"] veredicto = "opcional" @@ -417,6 +421,7 @@ veredicto = "nix-ismo" porque = "lo piden 2 recetas" perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-sway"] piden = ["opencv", "pipewire"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."fftw-single"] veredicto = "opcional" @@ -507,6 +512,7 @@ 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"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."glib-networking"] veredicto = "pendiente" @@ -686,6 +692,7 @@ 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"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."hdf5-cpp"] veredicto = "opcional" @@ -1091,6 +1098,7 @@ provee = "mpc" porque = "no falta, y cierra el enigma de libmpdclient: nixpkgs llama `libmpc` a GNU MPC y `mpc` al cliente de MPD; acá GNU MPC se llama `mpc` (recipes/mpc.toml, --with-gmp --with-mpfr) y ya figura en el [deps].build de kcalc junto a gmp y mpfr. Séptimo alias, quinta forma: el mismo nombre significa DOS paquetes distintos en los dos catálogos" perfiles = ["escritorio-kde"] piden = ["kcalc"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."libmpdclient"] veredicto = "opcional" @@ -1443,6 +1451,7 @@ provee = "libXfont2" porque = "no falta: es el MISMO paquete con el nombre normalizado por el sembrador. recipes/incoming-kde/libXfont2.toml existe, se autoró en la misma tanda que xwayland y ya figura en su [deps].build. Alias de MAYÚSCULAS, primero de esa forma" perfiles = ["escritorio-kde"] piden = ["xwayland"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."libxft"] veredicto = "opcional" @@ -1577,6 +1586,7 @@ sugerencia = "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"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."lzo"] veredicto = "opcional" @@ -1618,6 +1628,7 @@ provee = "mesa" porque = "no falta: es el split de cabeceras que hace nixpkgs. El artefacto de mesa instala usr/include/{GL,GLES2,GLES3,KHR,EGL} —verificado en el store, no deducido— que es lo que incluyen mutter y xwayland. El único hueco es GLES1, apagado a propósito en la receta (-Dgles1=disabled)" perfiles = ["escritorio-gnome", "escritorio-kde"] piden = ["mutter", "xwayland"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."mesa-libclc"] veredicto = "opcional" @@ -1708,6 +1719,7 @@ provee = "nlohmann-json" porque = "no falta: es el MISMO paquete con el separador cambiado. recipes/nlohmann-json.toml está en el corpus y ya figura en [deps].build de obs-studio. Alias de puntuación, como libxcb-image→xcb-util-image" perfiles = ["escritorio-kde"] piden = ["obs-studio"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."nv-codec-headers"] veredicto = "opcional" @@ -1908,6 +1920,7 @@ provee = "purpose" porque = "lo piden 3 recetas" perfiles = ["escritorio-kde"] piden = ["gwenview", "okular", "spectacle"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."pycparser"] veredicto = "opcional" @@ -1942,7 +1955,8 @@ veredicto = "nix-ismo" sugerencia = "nix-ismo?" porque = "envoltorio de entorno de nixpkgs (python + paquetes en una derivación); hammer ya tiene la receta `python3` (3.12.10) y la libinput que lo pide YA la declara en sus deps de build. Mismo criterio que `git-minimal` unas líneas más arriba." perfiles = ["escritorio-cosmic", "escritorio-gnome", "escritorio-kde", "escritorio-mirada", "escritorio-sway"] -piden = ["breeze-icons", "gnome-shell", "gobject-introspection", "kcoreaddons", "kguiaddons", "kjobwidgets", "knotifications", "kstatusnotifieritem", "kunitconversion", "kwidgetsaddons", "kxmlgui", "libei"] # …y 8 más +piden = ["breeze-icons", "gnome-shell", "gobject-introspection", "kcoreaddons", "kguiaddons", "kjobwidgets", "knotifications", "kstatusnotifieritem", "kunitconversion", "kwidgetsaddons", "kxmlgui", "libei"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."pyyaml"] veredicto = "opcional" @@ -2367,6 +2381,7 @@ sugerencia = "opcional?" porque = "no es una librería: es un SETUP HOOK de nixpkgs (validatePkgConfig) que revisa los .pc al final del build. Andamiaje del otro sistema" perfiles = ["escritorio-kde"] piden = ["jansson"] +ausente = true # ya no aparece en el último barrido de la frontera [candidato."vid.stab"] veredicto = "opcional" diff --git a/docs/state/seed-frontera.json b/docs/state/seed-frontera.json index 35893628..838ce47a 100644 --- a/docs/state/seed-frontera.json +++ b/docs/state/seed-frontera.json @@ -134,7 +134,7 @@ "git" ] }, - "recetas_sembradas": 57, + "recetas_sembradas": 58, "sin_attr_en_nixpkgs": [ "bzip2-shared", "ca-certificates", @@ -293,7 +293,7 @@ "git" ] }, - "recetas_sembradas": 80, + "recetas_sembradas": 81, "sin_attr_en_nixpkgs": [ "bzip2-shared", "ca-certificates", @@ -332,9 +332,6 @@ "avahi": [ "pipewire" ], - "bash-completion": [ - "swayimg" - ], "bluez": [ "pipewire", "pulseaudio" @@ -342,9 +339,6 @@ "bluez-headers": [ "python3" ], - "bubblewrap": [ - "xdg-desktop-portal" - ], "c-ares": [ "nodejs" ], @@ -388,9 +382,6 @@ "ffado": [ "pipewire" ], - "ffmpeg-headless": [ - "pipewire" - ], "fftw-single": [ "pipewire", "pulseaudio" @@ -415,9 +406,6 @@ "json-glib", "pango" ], - "glad2": [ - "libplacebo" - ], "glslang": [ "mesa" ], @@ -671,11 +659,6 @@ "pycparser": [ "mesa" ], - "python3-3.14.7-env": [ - "libinput", - "wireplumber", - "xdg-desktop-portal" - ], "pyyaml": [ "mesa" ], @@ -821,7 +804,7 @@ "ffmpeg" ] }, - "recetas_sembradas": 159, + "recetas_sembradas": 160, "sin_attr_en_nixpkgs": [ "adwaita-cursors", "atuq", @@ -876,9 +859,6 @@ }, "escritorio-gnome": { "candidatos": { - "CUnit": [ - "nghttp2" - ], "SPIRV-LLVM-Translator": [ "mesa" ], @@ -906,12 +886,6 @@ "avahi": [ "pipewire" ], - "bash-completion": [ - "appstream", - "colord", - "gnome-shell", - "swayimg" - ], "bluez": [ "pipewire", "pulseaudio" @@ -919,10 +893,6 @@ "bluez-headers": [ "python3" ], - "bubblewrap": [ - "gnome-desktop", - "xdg-desktop-portal" - ], "c-ares": [ "nghttp2", "nodejs" @@ -948,11 +918,6 @@ "dejagnu": [ "libffi" ], - "desktop-file-utils": [ - "gnome-shell", - "libadwaita", - "mutter" - ], "directx-headers": [ "mesa" ], @@ -985,9 +950,6 @@ "ffado": [ "pipewire" ], - "ffmpeg-headless": [ - "pipewire" - ], "fftw-single": [ "pipewire", "pulseaudio" @@ -1021,9 +983,6 @@ "mutter", "pango" ], - "glad2": [ - "libplacebo" - ], "glib-networking": [ "evolution-data-server" ], @@ -1088,9 +1047,6 @@ "gjs", "gnome-desktop" ], - "gusb": [ - "colord" - ], "hdrhistogram_c": [ "nodejs" ], @@ -1300,18 +1256,12 @@ "llvm": [ "mesa" ], - "lzip": [ - "libpsl" - ], "lzo": [ "cairo" ], "merve": [ "nodejs" ], - "mesa-gl-headers": [ - "mutter" - ], "mesa-libclc": [ "mesa" ], @@ -1376,17 +1326,6 @@ "pygobject": [ "libsecret" ], - "python3-3.14.7-env": [ - "gnome-shell", - "gobject-introspection", - "libei", - "libical", - "libinput", - "mutter", - "nss", - "polkit", - "xdg-desktop-portal" - ], "pyyaml": [ "mesa" ], @@ -1562,7 +1501,7 @@ "ffmpeg" ] }, - "recetas_sembradas": 181, + "recetas_sembradas": 182, "sin_attr_en_nixpkgs": [ "atuq", "bzip2-shared", @@ -1691,10 +1630,6 @@ "baloo-widgets": [ "dolphin" ], - "bash-completion": [ - "modemmanager", - "swayimg" - ], "bluez": [ "networkmanager", "pipewire", @@ -1799,10 +1734,6 @@ "ffado": [ "pipewire" ], - "ffmpeg-headless": [ - "opencv", - "pipewire" - ], "fftw-single": [ "pipewire", "pulseaudio", @@ -1829,9 +1760,6 @@ "gi-docgen": [ "glib" ], - "glad2": [ - "libplacebo" - ], "glog": [ "opencv" ], @@ -2056,9 +1984,6 @@ "libmng": [ "qtsvg" ], - "libmpc": [ - "kcalc" - ], "libmpdclient": [ "mpc" ], @@ -2181,9 +2106,6 @@ "libxdamage": [ "gtk3" ], - "libxfont_2": [ - "xwayland" - ], "libxft": [ "plasma-desktop", "plasma-workspace" @@ -2245,9 +2167,6 @@ "merve": [ "nodejs" ], - "mesa-gl-headers": [ - "xwayland" - ], "mesa-libclc": [ "mesa" ], @@ -2276,9 +2195,6 @@ "curl", "nodejs" ], - "nlohmann_json": [ - "obs-studio" - ], "nv-codec-headers": [ "ffmpeg", "obs-studio" @@ -2350,11 +2266,6 @@ "psqlodbc": [ "qtbase" ], - "purpose": [ - "gwenview", - "okular", - "spectacle" - ], "pycparser": [ "mesa" ], @@ -2371,20 +2282,6 @@ "kwidgetsaddons", "kxmlgui" ], - "python3-3.14.7-env": [ - "breeze-icons", - "kcoreaddons", - "kguiaddons", - "kjobwidgets", - "knotifications", - "kstatusnotifieritem", - "kunitconversion", - "kwidgetsaddons", - "kxmlgui", - "libinput", - "networkmanager", - "polkit" - ], "pyyaml": [ "mesa" ], @@ -2576,9 +2473,6 @@ "mesa", "pipewire" ], - "validate-pkg-config": [ - "jansson" - ], "vid.stab": [ "ffmpeg" ], @@ -2629,7 +2523,7 @@ "ffmpeg" ] }, - "recetas_sembradas": 302, + "recetas_sembradas": 304, "sin_attr_en_nixpkgs": [ "atuq", "bzip2-shared", @@ -2779,9 +2673,6 @@ "pycparser": [ "mesa" ], - "python3-3.14.7-env": [ - "libinput" - ], "pyyaml": [ "mesa" ], @@ -2876,9 +2767,6 @@ "avahi": [ "pipewire" ], - "bash-completion": [ - "swayimg" - ], "bluez": [ "pipewire", "pulseaudio" @@ -2941,9 +2829,6 @@ "ffado": [ "pipewire" ], - "ffmpeg-headless": [ - "pipewire" - ], "fftw-single": [ "pipewire", "pulseaudio" @@ -2964,9 +2849,6 @@ "json-glib", "pango" ], - "glad2": [ - "libplacebo" - ], "glslang": [ "mesa", "wlroots" @@ -3278,9 +3160,6 @@ "pycparser": [ "mesa" ], - "python3-3.14.7-env": [ - "libinput" - ], "pyyaml": [ "mesa" ], @@ -3443,7 +3322,7 @@ "ffmpeg" ] }, - "recetas_sembradas": 203, + "recetas_sembradas": 205, "sin_attr_en_nixpkgs": [ "adwaita-cursors", "atuq",