Files
takana/docs/plan-apps-usuario-final.md
T
Sergio 223dc47c64 plan de apps: el orden mpv → OBS → Firefox del ADR 0015 no sobrevive a la medición
Al ir por la segunda app del montón A salió que la premisa del ADR —«no lo bloquea nada
estructural, falta escribirlas»— vale para mpv y no para el resto. Medido contra el catálogo real
(1079 recetas) cruzando los makedepends del APKBUILD de Alpine de cada candidata:

  · firefox   → pide gtk+3.0-dev. Firefox NO tiene backend GTK4. Más X11 y un toolchain wasi que
                no existe acá. La memoria decía «le falta subir el techo MSRV»: eso es cierto y es
                LO MENOR. ⇒ NO es montón A.
  · obs       → pide qt6-qtbase/qtsvg, y Qt6 vive SÓLO en incoming-kde. Una receta del corpus no
                alcanza una cola hermana ⇒ OBS hoy sólo puede ser una app DE KDE, no de las cuatro
                imágenes. Más X11 y 20 recetas.
  · chromium, libreoffice, gimp → peores, y los tres con GTK3 encima.

La consecuencia estratégica, que es lo que hay que decidir despierto: TODOS los navegadores Linux
son GTK3 (Firefox y derivados) o Chromium (que arrastra GTK3 y Qt6). «Tener navegador» no es un
ticket de recetas: es elegir entre autorar GTK3 o darle el navegador a qorpa (ADR 0015). La segunda
es coherente con lo ya decidido, y el navegador es justamente el proceso al que menos ganas dan de
darle el sistema entero.

Lo que SÍ está a mano, y es el hallazgo útil: `wf-recorder` sale con CERO recetas faltantes y cero
muros —su cierre quedó completo cuando entró mpv— y cubre el caso de uso principal por el que uno
instala OBS. Después `imv` (7 faltantes, todos cargadores de formato opcionales).

El método incluye su propio control: mpv, que YA ESTÁ SELLADA, aparece con 16 faltantes, que son
exactamente las perillas que su receta apaga a propósito. La columna que decide no es «cuántas
faltan» sino «cuántos MUROS», porque un muro no se paga escribiendo una receta sino cambiando una
decisión.
2026-09-03 03:45:25 +00:00

6.3 KiB

Plan — apps de usuario final (montón A del ADR 0015), MEDIDO

Fecha de la medición: 2026-09-03 · Catálogo contra el que se midió: 1079 recetas (corpus + las cuatro colas) · Instrumento: makedepends+depends del APKBUILD de Alpine de cada candidata, cruzados contra los nombres de receta que existen en el disco.

Por qué existe este documento

El ADR 0015 parte las apps que faltan en tres montones y dice del A —Firefox, Chromium, LibreOffice, mpv, GIMP, Inkscape, Blender, OBS— que no lo bloquea «nada estructural: son Wayland-nativos y compilables. Falta escribirlas», y propone el orden mpv → OBS → Firefox.

mpv se escribió el 2026-09-03 y esa parte se confirmó. Al ir por el segundo, la medición desmiente la premisa para el resto del montón: OBS y Firefox no están a una receta de distancia, están detrás de muros que esta distro levantó a propósito. Este documento deja el dato escrito para que la decisión se tome mirándolo y no de memoria.

Cómo leer la tabla

Dos columnas, y la que importa es la segunda:

  • recetas que faltan — cuántos makedepends de Alpine no tienen receta acá. Es una cota superior floja: Alpine construye con todo activado y nosotros no. El control lo da mpv, que YA ESTÁ SELLADA y aun así aparece con 16 faltantes — son exactamente las perillas que su receta apaga a propósito (jack, sndio, libbluray, zimg, rubberband…). O sea: un número alto no prueba que sea caro.
  • muros de diseño — dependencias que NO son «una receta más», sino decisiones ya tomadas de esta distro: GTK3 aparcado, X11 al tacho, Qt6 que vive sólo en incoming-kde, toolchain wasi inexistente. Un muro no se paga escribiendo una receta: se paga cambiando una decisión.

La tabla

app faltan muros veredicto
wf-recorder 0 construible HOY. Grabar pantalla en Wayland.
imv 7 barato: los 7 son cargadores de formato opcionales (heif, jxl, freeimage…). Visor de imágenes.
zathura 8 lector de PDF; girara es su propia lib y ya usa GTK4 en Alpine.
mupdf 9 X11 el X11 es del visor mupdf-x11; el motor y mupdf-gl no. Requiere mirar.
inkscape 14 sin muros, pero gtkmm3 en la lista hay que verificarlo (¿GTK3 encubierto?).
mpv 16 X11 YA SELLADA — es el control del método, no una candidata.
gimp 18 GTK3, X11 GIMP 2.10 es GTK2/3. Fuera de alcance mientras GTK3 esté aparcado.
obs-studio 20 Qt6, X11 ver abajo.
firefox 26 GTK3, X11, wasi ver abajo.
chromium 38 GTK3, Qt6, X11 peor que Firefox por todos lados.
libreoffice 59 GTK3, Qt6, X11 59 recetas y tres muros. No es un ticket, es un año.

Los dos veredictos que corrigen al ADR

Firefox NO es montón A

Su APKBUILD pide gtk+3.0-devFirefox no tiene backend GTK4 ni lo va a tener a corto plazo, y GTK3 es una de las tres deudas que el frente GNOME aparcó por diseño. Además pide libxt, libxcomposite (X11) y un toolchain wasi (wasi-sdk, wasi-compiler-rt) que no existe en el corpus, más nodejs, icu, nss/nspr, clang/llvm/lld versionados y cbindgen.

La memoria del repo decía que a Firefox «le falta subir el techo MSRV». Eso es cierto y es lo menor: el bloqueo real es GTK3.

Consecuencia estratégica, que es la decisión que hay que tomar despierto: todos los navegadores del mundo Linux son o GTK3 (Firefox y derivados) o Chromium (que además arrastra Qt6 y GTK3 en Alpine). Entonces «tener navegador» no es un ticket del montón A: es elegir entre

  1. autorar el stack GTK3 —revierte una decisión de diseño y reabre GIMP/Inkscape de paso—, o
  2. darle el navegador a qorpa, o sea tratarlo como montón B: el navegador corre en la imagen ajena, hablando Wayland por socket.

La opción 2 es coherente con todo lo demás que ya se decidió, y tiene una ventaja que conviene nombrar: el navegador es justamente el proceso al que menos ganas dan de darle el sistema entero.

OBS no puede ser una app del corpus

Pide qt6-qtbase-dev, qt6-qtbase-private-dev y qt6-qtsvg-dev, y Qt6 vive sólo en incoming-kde/. Una receta resuelve sibling-first y después el catálogo padre: desde el corpus no se alcanza una cola. O sea que OBS hoy sólo puede existir dentro de la cola de KDE, y entonces no es una app de las cuatro imágenes sino una app de KDE. Súmese X11 (libx11, libxcb, libxcomposite, libxinerama) y 20 recetas nuevas (libdatachannel, librist, libsrt, mbedtls, rnnoise, x264, luajit, swig, vlc…).

Si lo que se quiere es grabar la pantalla —que es el 80% de para qué se instala OBS— eso ya está al alcance de la mano: wf-recorder sale con CERO recetas faltantes y cero muros, porque su cierre (wayland, ffmpeg, libdrm) quedó completo cuando entró mpv.

Orden propuesto, en reemplazo del del ADR

  1. mpv — hecho (2026-09-03).
  2. wf-recorder — 0 faltantes. Cubre el caso de uso principal de OBS por una receta.
  3. imv — visor de imágenes; los 7 faltantes son opcionales y se puede entrar con los mínimos.
  4. zathura (+ backend PDF) — verificar antes que su cadena sea GTK4 y no GTK3.
  5. Decisión de navegador — no es trabajo de recetas, es la elección de arriba. No debería entrar a una cola de build hasta que esté tomada.

OBS, Firefox, Chromium, GIMP y LibreOffice salen del montón A hasta que se decida GTK3 o qorpa. Que se llame montón A y no se pueda construir es peor que no tenerlo en la lista: es deuda fantasma, la misma figura que la terna de GNOME que había que sacar de targets.toml para que el grafo dejara de mentir.

Reproducir la medición

/tmp/.../triaje-apps.py fue un script de una sola vez; si hace falta repetirlo, lo que hace es: bajar el APKBUILD de cada candidata, extraer makedepends/depends, quitarles el sufijo -dev, y cruzar contra recipes/*.toml + recipes/incoming-*/*.toml, separando una lista fija de nombres que son muros de diseño (gtk+3.0, qt6-, lib X11, wasi-). No se guarda en scripts/ porque la lista de candidatas es del momento, no un invariante que valga la pena vigilar.