# 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.
name    = "gnome-session"
version = "48.0"

[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]
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 -Dsystemd=false -Dsystemd_journal=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"]
