# gnome-settings-daemon 48.1 — el daemon de ajustes de GNOME (media-keys, energía, color, sonido,
# rfkill, sharing…). meson static. Feature-minimal: apaga TODO backend opcional (cups/smartcard/wwan/
# network-manager/usb-protection/wayland/systemd/elogind/colord); quedan sólo los core + los que el
# proyecto marca "not optional on Linux" (alsa/gudev/rfkill).
#
# HALLAZGO DE FRONTERA (el valor del mapa): gnome-settings-daemon 48 SIGUE en GTK3 + X11 —
# `dependency('gtk+-3.0')`, `gtk+-x11-3.0`, `x11`, `xfixes` son INCONDICIONALES (no hay opción para
# apagarlas). El corpus sólo tiene gtk4 ⇒ esta receta NO es construible hasta autorar el stack GTK3/X11.
# Se sella como mapa honesto de la cadena, no como artefacto listo.
#
# VERIFICADO EN VIVO el 2026-07-28 (antes era lectura del meson.build; ahora es un build corrido):
# el configure muere ANTES, en `geocode-glib-1.0` (meson.build:100), que tampoco tiene receta. Las
# de GTK3/X11 vienen inmediatamente después y siguen ahí en 48.1: gtk+-3.0 :106, gtk+-x11-3.0 :107,
# x11 :116, xfixes :117. O sea que cerrar geocode-glib NO destraba nada — sólo mueve el muro cuatro
# líneas. ⇒ APARCADA junto con gnome-session, por la misma razón (asume un stack que tiramos).
#
# NO BLOQUEA EL ESCRITORIO: gnome-shell no depende de g-s-d ni en build ni para arrancar; sin él la
# sesión sube y lo que se pierde son las teclas de medios, la gestión de energía y el perfil de color
# (los aplica este daemon, no el shell). Es degradación, no ausencia de escritorio.
name    = "gnome-settings-daemon"
version = "48.1"

[source]
tarball = "https://download.gnome.org/sources/gnome-settings-daemon/48/gnome-settings-daemon-48.1.tar.xz"
sha256  = "3860a2ea214dcbcb6600ae7a1e3358a5389215087bc3e4a47cee3f87baee062e"

[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 -Dcups=false -Dsmartcard=false -Dwwan=false -Dnetwork_manager=false -Dusb-protection=false -Dcolord=false -Dsystemd=false -Delogind=false -Dwayland=false -Drfkill=false"
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"

[deps]
# Recetas EXISTENTES o en autoría paralela hacia incoming-gnome (gsettings-desktop-schemas,
# gnome-desktop, gobject-introspection). pulseaudio/alsa-lib viven en incoming-kde.
build = ["meson", "samurai", "python3", "pkgconf", "gobject-introspection", "glib", "gsettings-desktop-schemas", "gnome-desktop", "pango", "cairo", "gdk-pixbuf", "harfbuzz", "libffi", "pcre2", "zlib"]

# FRONTERA: pulseaudio / alsa-lib — REQUERIDA (media-keys/volumen); existen en incoming-kde/ pero el
#           resolver no ve esa cola (mismo gap que pipewire/xkeyboard-config). Promover o duplicar.

# FRONTERA: gtk3 (gtk+-3.0 / gtk+-x11-3.0) — INCONDICIONAL; sólo existe gtk4
# FRONTERA: libX11 (x11) — INCONDICIONAL, sin opción para apagar
# FRONTERA: libXfixes (xfixes >= 6.0) — INCONDICIONAL
# FRONTERA: libgweather (gweather4) — INCONDICIONAL
# FRONTERA: geocode-glib (geocode-glib-2.0) — INCONDICIONAL
# FRONTERA: libnotify (>= 0.7.3) — INCONDICIONAL
# FRONTERA: polkit (polkit-gobject-1 >= 0.114) — INCONDICIONAL
# FRONTERA: upower (upower-glib >= 0.99.12) — INCONDICIONAL
# FRONTERA: libcanberra-gtk3 — existe recipe libcanberra (backend NULL) pero NO la variante gtk3
# FRONTERA: geoclue (libgeoclue-2.0 >= 2.3.1) — INCONDICIONAL
# FRONTERA: libgudev (gudev-1.0) — "not optional on Linux", no hay recipe
