gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1471Shell 173Rust 105Markdown 943545 Definiciones

⎇ 346cd597063c3275933d8a2dc03f17ca8a20d05a recipes/incoming-gnome/geoclue.toml TOML · 52 líneas · 2.7 KB Historia crudo

licencias: campo `license` en la receta — de 0 a 228 de 1141, sin re-hashear nada 346cd5970 · sergio ·

1# geoclue 2.8.2 — SÓLO `libgeoclue` y su typelib `Geoclue-2.0`, sin el demonio.
2#
3# POR QUÉ ENTRA: gnome-shell lo importa desde JavaScript sin condicional
4# (`js/misc/dependencies.js`: `import 'gi://Geoclue?version=2.0'`) — lo usa el indicador de
5# «ubicación en uso» del panel y el ajuste automático de zona horaria. Dep de RUNTIME del shell,
6# invisible a su grafo de build, destapada arrancando la sesión.
7#
8# `-Denable-backend=false` es la decisión de alcance de esta receta, y no es un recorte arbitrario:
9# el demonio (`src/`) es el que arrastra ModemManager (fuentes 3G/CDMA/GPS de módem), Avahi (NMEA por
10# red) y libsoup+json-glib (geolocalización por IP y por WiFi). La librería cliente no toca nada de
11# eso: habla con el servicio por D-Bus. Como acá lo que hace falta es el typelib, se construye la
12# mitad cliente y se deja escrito que la otra existe. Cuando haya un caso de uso real —ubicación de
13# verdad, no el ícono— hay que volver por el demonio y traer esas dependencias.
14#
15# Sin el backend quedan `public-api`, `interface`, `libgeoclue` y `data`. Se borran a mano:
16#  · `subdir('demo')`  → `where-am-i`, un ejecutable de ejemplo que nadie instala en una imagen.
17#  · `subdir('po')`    → el msgfmt de gettext-tiny aborta. SÉPTIMA vez en la campaña; ya no es un
18#                        gotcha, es la deuda de autorar el gettext de GNU.
19#
20# `-Dvapi=false` (no hay valac en el corpus) y `-Dgtk-doc=false`.
21#
22# ISLA DINÁMICA: el typelib nombra `libgeoclue-2.so.0` y gjs la dlopea.
23#
24# FUENTE: archivo de gitlab.freedesktop.org, como cairo/libdrm/libinput/pixman/modemmanager.
25name    = "geoclue"
26version = "2.8.2"
27license = "GPL-2.0-or-later"
28
29[source]
30tarball = "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.8.2/geoclue-2.8.2.tar.gz"
31sha256  = "5435f7d48105fe89a4259f807658281e854881267254bcd4eeac6e26c222055b"
32
33[build]
34compiler = "zig-cc"
35target   = "x86_64-linux-musl"
36link     = "dynamic"
37
38[build.phases]
39configure = '''
40set -e
41sed -i "/^subdir('demo')$/d; /^subdir('po')$/d" meson.build
42PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output \
43  --prefix=/usr --buildtype=release --wrap-mode=nodownload \
44  -Ddefault_library=both -Denable-backend=false -Dlibgeoclue=true \
45  -Dintrospection=true -Dvapi=false -Dgtk-doc=false -Ddemo-agent=false \
46  -Dc_args=-Wno-error=date-time
47'''
48compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
49install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
50
51[deps]
52build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "py3-setuptools", "gobject-introspection", "gi-foreign-girs", "glib", "glib-introspected", "libffi", "pcre2", "zlib-shared"]