Decidido el 2026-08-08. Las tres recetas dependen de GTK3 (gnome-settings-daemon además de gtk+-x11-3.0) y quedan cerradas, **no «en deuda»**. La diferencia no es semántica: una deuda invita a reintentarla en cada informe y en cada ciclo de granja; una decisión se respeta. POR QUÉ ES RAZONABLE Y NO UNA RENDICIÓN: · GNOME funciona sin esto — el camino vivo es mutter → gnome-shell arrancado por arje, y ninguno de los dos depende de gnome-session (su cierre es mutter+gjs+gobject-introspection+ gnome-desktop). · Traer GTK3 sería una torre de C muerta —y para waybar además gtkmm, sus bindings de C++— por un gestor de sesión y un login manager que este escritorio no necesita. · La función está cubierta: la sesión la levanta arje y la barra de estado es `yambar`, C puro, sellado anoche en el frente wlr. Se reabre si alguien trae GTK3 por otro motivo con peso propio (una app gráfica que lo exija). EL MARCADOR VIVE EN LA RECETA, NO EN UNA LISTA APARTE. `build-farm.sh` salta las recetas cuya cabecera dice «CERRADA POR DECISIÓN». Podría haber hecho un fichero de exclusiones, pero una lista y una cabecera se desincronizan solas: así, quien lee el porqué y quien decide saltarla miran EL MISMO TEXTO. Y el drenador lo dice en su salida, para que la decisión sea visible en vez de silenciosa. Con esto la granja deja de quemar CPU en tres recetas que nadie va a arreglar. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
88 lines
6.5 KiB
TOML
88 lines
6.5 KiB
TOML
# gnome-session 48.0 — el gestor de sesión de GNOME: arranca y supervisa los componentes de una
|
|
# sesión (gnome-shell, settings-daemon, portales) y expone org.gnome.SessionManager. meson static.
|
|
# sha256 REAL de curl|sha256sum.
|
|
#
|
|
# Esta distro NO usa systemd: el login1 lo provee arje-logind-compat (D-Bus), el init es arje-zero.
|
|
# Feature-minimal: -Dsystemd=false -Dsystemd_journal=false (sin dep de libsystemd), docs/man off.
|
|
# gnome-session usa gtk4 para el diálogo de fallo ("failwhale") y json-glib para el perfil de sesión.
|
|
#
|
|
# ⛔ APARCADA: el diagnóstico completo está más abajo, junto a `[deps]` (GTK3 **y** libsystemd, los
|
|
# dos incondicionales). Lo confirmado el 2026-08-07 no lo cambia; sólo añade que la granja seguía
|
|
# reintentándola, que es un problema de COLA, no de receta.
|
|
#
|
|
# ═══════════════════════════════════════════════════════════════════════════════════════════════
|
|
# ⛔ CERRADA POR DECISIÓN, 2026-08-08. NO REINTENTAR.
|
|
# ═══════════════════════════════════════════════════════════════════════════════════════════════
|
|
# El usuario decidió NO traer GTK3 al catálogo. Esta receta depende de él (ver el diagnóstico de
|
|
# abajo) ⇒ queda cerrada, no «en deuda». La diferencia importa: una deuda invita a reintentarla en
|
|
# cada informe; una decisión se respeta.
|
|
#
|
|
# POR QUÉ ES RAZONABLE, y no una rendición:
|
|
# · GNOME funciona sin esto. El camino vivo es mutter → gnome-shell, arrancado por arje; ninguno
|
|
# de los dos depende de gnome-session (su cierre es mutter+gjs+gobject-introspection+gnome-desktop).
|
|
# · Traer GTK3 sería una torre de C muerta —y para waybar, además, gtkmm, o sea sus bindings de
|
|
# C++— por un gestor de sesión y un login manager que este escritorio no necesita.
|
|
# · La función que aportaban está cubierta: la sesión la levanta arje, y la barra de estado es
|
|
# `yambar` en el frente wlr, que es C puro y ya está sellado.
|
|
#
|
|
# SE REABRE SI, Y SÓLO SI, alguien trae GTK3 por otro motivo con peso propio (una aplicación
|
|
# gráfica de terceros que lo exija). Entonces esto sale gratis; hoy no.
|
|
|
|
name = "gnome-session"
|
|
version = "48.0"
|
|
license = "GPL-2.0-or-later"
|
|
|
|
[source]
|
|
tarball = "https://download.gnome.org/sources/gnome-session/48/gnome-session-48.0.tar.xz"
|
|
sha256 = "dd909fbc5b22cdbdb2fc4df1a47d78d1b5943ccc5e61e6a20a1846246347c417"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
|
|
[build.phases]
|
|
# ── `-Dsystemd=false -Dsystemd_journal=false` NO EXISTEN en 48.0 y mataban el build ────────────
|
|
# Fallaba con `meson.build:1:0: ERROR: Unknown option: "systemd"`. Comprobado contra el
|
|
# `meson_options.txt` del tag 48.0, las opciones REALES son exactamente seis:
|
|
# deprecation_flags · session_selector · systemduserunitdir · docbook · man · x11
|
|
# O sea que el soporte de systemd dejó de ser una perilla booleana; lo único que queda de systemd es
|
|
# `systemduserunitdir`, que es una RUTA, no un interruptor. Pasar perillas que no existen no es
|
|
# inofensivo: meson aborta en la primera, así que la receta nunca llegó a configurar.
|
|
# ⇒ Lección: una opción `-D` inventada no se ignora, mata el build. Verificar contra el
|
|
# `meson_options.txt` DEL TAG que la receta pinea, no contra la memoria de otra versión.
|
|
#
|
|
# `-Dx11=false`: la imagen es Wayland pura y el default de esa opción es `true`, que arrastraría la
|
|
# torre de X11 que deliberadamente no tenemos (ver la deuda aparcada de GTK3/X11/PAM del frente).
|
|
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Dx11=false -Ddocbook=false -Dman=false -Dc_args=-Wno-error=date-time"
|
|
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"
|
|
|
|
# ⛔ MURO ESTRUCTURAL, medido el 2026-07-27 — esta receta NO puede sellar tal cual, y no por un
|
|
# parche que falte. El primer intento murió en «Unknown option: systemd»: el comentario de arriba
|
|
# suponía perillas que gnome-session 48.0 no tiene. Leyendo su meson.build, lo que pide es peor que
|
|
# un nombre de opción (líneas del tarball 48.0):
|
|
#
|
|
# :86 gtk_dep = dependency('gtk+-3.0', '>= 3.22') INCONDICIONAL — es GTK **3**.
|
|
# :97 dependency('gnome-desktop-3.0', '>= 3.34.2') la librería LEGACY, la que gnome-desktop
|
|
# apaga a propósito con legacy_library=false
|
|
# («SIN libgnome-desktop-3/gtk3»).
|
|
# :124 dependency('libsystemd', required: true) INCONDICIONAL, sin opción que lo apague.
|
|
# (el -Dsystemduserunitdir= sólo esquiva el
|
|
# dependency('systemd') de :119, no éste.)
|
|
#
|
|
# O sea: gnome-session 48 asume systemd Y GTK3. Esta distro no tiene ninguno de los dos por decisión
|
|
# —arje-zero es PID1, arje-logind-compat da login1, y el frente es Wayland-only con X11 al tacho—
|
|
# así que sellarla exigiría meter GTK3 entero + un shim de libsystemd. Eso no es feature-minimal:
|
|
# es traer un toolkit muerto para un gestor de sesión que el escritorio no necesita.
|
|
#
|
|
# POR QUÉ NO BLOQUEA EL ESCRITORIO: gnome-shell NO depende de gnome-session (su cierre es
|
|
# mutter+gjs+gobject-introspection+gnome-desktop). El único que la pide es gdm. El camino vivo es
|
|
# mutter → gnome-shell, arrancado por arje como ya arranca mirada. gnome-session/gdm quedan
|
|
# APARCADAS con este diagnóstico, no en cola: es la decisión de alcance, escrita donde se busca.
|
|
#
|
|
# json-glib: frontera CERRADA (b3:1b90c876, en esta cola). No era el problema.
|
|
# gsettings-desktop-schemas / gnome-desktop: ya en incoming-gnome/ y selladas.
|
|
[deps]
|
|
build = ["meson", "samurai", "python3", "pkgconf", "gsettings-desktop-schemas", "gnome-desktop", "gtk4", "glib", "cairo", "pango", "graphene", "libepoxy", "wayland", "wayland-protocols", "libdrm", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "gdk-pixbuf", "libjpeg-turbo", "libtiff", "mesa", "fontconfig"]
|