# cosmic-notifications — el servidor de notificaciones de COSMIC (implementa
# `org.freedesktop.Notifications` sobre el bus de sesión y las dibuja con libcosmic).
#
# Instalación mínima de toda la suite: sólo el binario. No trae `.desktop` ni iconos propios porque no
# es una app que se lance a mano — la levanta `cosmic-session`, primera de la lista.
#
# `libxkbcommon` + `pkgconf` por la regla del gotcha 7 del runbook: van en TODA la cola.
name    = "cosmic-notifications"
version = "1.5.0"
license = "GPL-3.0"

[source]
tarball = "https://github.com/pop-os/cosmic-notifications/archive/epoch-1.5.0/cosmic-notifications-epoch-1.5.0.tar.gz"
sha256  = "8c60dd4c2161a2b9d2314597e141c600da9882fe774858283303370b2409ead7"

[build]
compiler = "zig-cc"
target   = "x86_64-linux-musl"
# ── DINÁMICO, Y NO ES UNA PREFERENCIA ──────────────────────────────────────────────────────────
# `wayland-client` entra con la feature `dlopen`: no ENLAZA libwayland-client, la carga en runtime.
# Un binario musl ESTÁTICO no tiene dlopen funcional, así que el cliente arranca y muere con
# «The wayland library could not be loaded» — con el .so presente en el rootfs, que es lo que hace
# el diagnóstico confuso: no falta la librería, falta poder abrirla.
link     = "dynamic"
flags    = ["--bin", "cosmic-notifications"]

[build.phases]
install = '''
mkdir -p /out/usr/bin
cp target/release/cosmic-notifications /out/usr/bin/cosmic-notifications
chmod 755 /out/usr/bin/cosmic-notifications
'''

[deps]
# libudev-zero: lo pide `libudev-sys`, que llega por la cadena de libcosmic (enumeración de
# monitores y de dispositivos de entrada). Es el tercer miembro fijo del juego de deps de todo
# cliente de la suite, junto con libxkbcommon y pkgconf.
# La línea de enlace del primer intento pedía, en este orden: `-ludev -linput -lxkbcommon`. Los
# tres llegan por la cadena de libcosmic —enumeración de monitores y de dispositivos de entrada—,
# no por nada que el cliente haga a la vista. Es el juego FIJO de todo cliente de la suite; se
# descubrió uno por build hasta leerlo de una sola vez en el comando del linker.
build = ["libxkbcommon", "pkgconf", "libudev-zero", "libinput"]
