# geoclue 2.8.2 — SÓLO `libgeoclue` y su typelib `Geoclue-2.0`, sin el demonio.
#
# POR QUÉ ENTRA: gnome-shell lo importa desde JavaScript sin condicional
# (`js/misc/dependencies.js`: `import 'gi://Geoclue?version=2.0'`) — lo usa el indicador de
# «ubicación en uso» del panel y el ajuste automático de zona horaria. Dep de RUNTIME del shell,
# invisible a su grafo de build, destapada arrancando la sesión.
#
# `-Denable-backend=false` es la decisión de alcance de esta receta, y no es un recorte arbitrario:
# el demonio (`src/`) es el que arrastra ModemManager (fuentes 3G/CDMA/GPS de módem), Avahi (NMEA por
# red) y libsoup+json-glib (geolocalización por IP y por WiFi). La librería cliente no toca nada de
# eso: habla con el servicio por D-Bus. Como acá lo que hace falta es el typelib, se construye la
# mitad cliente y se deja escrito que la otra existe. Cuando haya un caso de uso real —ubicación de
# verdad, no el ícono— hay que volver por el demonio y traer esas dependencias.
#
# Sin el backend quedan `public-api`, `interface`, `libgeoclue` y `data`. Se borran a mano:
#  · `subdir('demo')`  → `where-am-i`, un ejecutable de ejemplo que nadie instala en una imagen.
#  · `subdir('po')`    → el msgfmt de gettext-tiny aborta. SÉPTIMA vez en la campaña; ya no es un
#                        gotcha, es la deuda de autorar el gettext de GNU.
#
# `-Dvapi=false` (no hay valac en el corpus) y `-Dgtk-doc=false`.
#
# ISLA DINÁMICA: el typelib nombra `libgeoclue-2.so.0` y gjs la dlopea.
#
# FUENTE: archivo de gitlab.freedesktop.org, como cairo/libdrm/libinput/pixman/modemmanager.
name    = "geoclue"
version = "2.8.2"
license = "GPL-2.0-or-later"

[source]
tarball = "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.8.2/geoclue-2.8.2.tar.gz"
sha256  = "5435f7d48105fe89a4259f807658281e854881267254bcd4eeac6e26c222055b"

[build]
compiler = "zig-cc"
target   = "x86_64-linux-musl"
link     = "dynamic"

[build.phases]
configure = '''
set -e
sed -i "/^subdir('demo')$/d; /^subdir('po')$/d" meson.build
PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output \
  --prefix=/usr --buildtype=release --wrap-mode=nodownload \
  -Ddefault_library=both -Denable-backend=false -Dlibgeoclue=true \
  -Dintrospection=true -Dvapi=false -Dgtk-doc=false -Ddemo-agent=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"

[deps]
build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "py3-setuptools", "gobject-introspection", "gi-foreign-girs", "glib", "glib-introspected", "libffi", "pcre2", "zlib-shared"]
