# cosmic-panel — la barra superior y el dock. Es el cliente de iced/libcosmic MÁS grande de la suite:
# no sólo se dibuja a sí mismo, sino que hospeda los applets como clientes Wayland anidados
# (`xdg-shell-wrapper`, que es uno de los miembros del workspace).
#
# ── LA INSTALACIÓN ES EL DATO ───────────────────────────────────────────────────────────────────
# El `default_schema` no es un fichero: es un ÁRBOL de tres componentes de cosmic-config
# (`…CosmicPanel`, `…CosmicPanel.Panel`, `…CosmicPanel.Dock`), cada uno con su `v1/` y **un fichero
# por clave** (`size`, `padding`, `plugins_center`, `entries`…). Copiarlo aplanado o renombrando deja
# un panel que arranca con TODO por defecto compilado: sin plugins, sin dock, sin tamaño. Por eso el
# `install` reproduce la estructura tal cual con `cp -r`, y no fichero por fichero.
#
# El binario sale del paquete `cosmic-panel-bin` del workspace, pero se llama `cosmic-panel`.
name    = "cosmic-panel"
version = "1.5.0"

[source]
tarball = "https://github.com/pop-os/cosmic-panel/archive/epoch-1.5.0/cosmic-panel-epoch-1.5.0.tar.gz"
sha256  = "66d8dfbc8aa62ff6a91e83e5bdcb5363c663aac5a58c111152b258054a815222"

[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-panel"]

[build.phases]
install = '''
mkdir -p /out/usr/bin /out/usr/share/cosmic
cp target/release/cosmic-panel /out/usr/bin/cosmic-panel
chmod 755 /out/usr/bin/cosmic-panel
cp -r data/default_schema/. /out/usr/share/cosmic/
'''

[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"]
