# gnome-desktop (libgnome-desktop) 44.5 — utilidades compartidas del escritorio GNOME:
# info de monitores (GnomeRR/BG), thumbnails (thumbnailer sandboxeado con bwrap+seccomp),
# idioma/locale (GnomeLanguage vía iso-codes). meson static.
#
# OJO VERSION: no existe "gnome-desktop 48". Upstream dejó de cortar releases estables tras 44.5
# y saltó directo a 51.alpha (verificado en download.gnome.org y en los tags de gitlab.gnome.org:
# ...44.3, 44.4, 44.5, 51.alpha — sin 45..50). Las distros que envían GNOME 45/46/47/48 shippean
# esta misma 44.5 porque es la ÚLTIMA estable de la librería compartida. Por eso 44.5 es la versión
# correcta para un escritorio GNOME 48. sha256 REAL de `curl -sL <url> | sha256sum`.
#
# Feature-minimal: build_gtk4=true, legacy_library=false (SIN libgnome-desktop-3/gtk3 — no está en
# el corpus), introspection/docs/debug_tools/installed_tests OFF, udev/systemd disabled (Wayland-only,
# el logind/udev lo cubre arje). backend GL vía gtk4 (ya wayland-only, sin X11).
name    = "gnome-desktop"
version = "44.5"
license = "GPL-2.0-or-later AND LGPL-2.0-or-later"

[source]
tarball = "https://download.gnome.org/sources/gnome-desktop/44/gnome-desktop-44.5.tar.xz"
sha256  = "20e0995a6e3a03e8c1026c5a27bc3f45e69ffcc392ad743dcab6107a541d232f"

[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 -Dbuild_gtk4=true -Dlegacy_library=false -Dintrospection=false -Ddesktop_docs=false -Ddebug_tools=false -Dgtk_doc=false -Dinstalled_tests=false -Dudev=disabled -Dsystemd=disabled -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"

# deps = tools meson + gtk4 y su cierre .pc transitivo completo (static ⇒ pkg-config resuelve
# Requires.private). libxkbcommon aporta xkbregistry (dep opcional, required:false en meson.build).
#
# gsettings-desktop-schemas: REQUERIDA (schemas_dep) — YA sellada (b3:4777231b), en [deps].build.
# FRONTERA: iso-codes sin receta — REQUERIDA (GnomeLanguage lee su prefix vía pkg-config).
# FRONTERA: xkeyboard-config sin receta alcanzable — REQUERIDA (xkb_config_dep, lee xkb_base). Existe en
#           recipes/incoming-kde/ pero el resolver sólo mira incoming-gnome/ + recipes/ (no incoming-kde/):
#           promover a recipes/ o duplicar a incoming-gnome/ para que resuelva.
# FRONTERA: libseccomp sin receta — REQUERIDA INCONDICIONAL en linux (sandbox bwrap+seccomp del
#           thumbnailer; no hay opción meson para desactivarla).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "gsettings-desktop-schemas", "gtk4", "glib", "gdk-pixbuf", "fontconfig", "libxkbcommon", "cairo", "pango", "graphene", "libepoxy", "wayland", "wayland-protocols", "libdrm", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "libjpeg-turbo", "libtiff", "mesa"]
