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