# libgweather 4.4.4 — el clima y la base de datos de ubicaciones (ciudades, estaciones METAR, zonas
# horarias). De acá sale el typelib `GWeather-4.0`.
#
# POR QUÉ ENTRA: gnome-shell lo importa desde JavaScript sin condicional
# (`js/misc/dependencies.js`: `import 'gi://GWeather?version=4.0'`) — lo usa el widget de clima del
# calendario y el selector de ciudades del reloj mundial. Dep de RUNTIME del shell, invisible a su
# grafo de build.
#
# ARRASTRA DOS RECETAS MÁS, y son de naturaleza distinta:
#  · `geocode-glib` (libgweather/meson.build:115) — dep de ENLACE. Ojo con su `-Dsoup2=false`: sin
#    eso se construye la variante `geocode-glib-1.0` contra libsoup2 y ésta no la encuentra.
#  · `py3-gobject` (pygobject) — dep del CONSTRUCTOR, no de la imagen. meson.build:50 exige
#    `find_installation('python3', modules: ['gi'])` porque `gen_locations_variant.py` importa
#    `gi.repository.GLib` para serializar la base de ubicaciones a un GVariant binario. El formato lo
#    define GLib; el script sólo lo alimenta. Reescribirlo sin `gi` sería reimplementar el
#    serializador de GVariant.
#
# `-Dsoup2=false` acá también, por lo mismo: el corpus va con libsoup 3.
#
# `-Dtests=false` no alcanza para el `subdir('po-locations')`: ese catálogo NO es de traducciones de
# interfaz sino de los NOMBRES de las ciudades de la base de datos, y su `gen_locations_variant.py`
# corre msgfmt sobre él. Igual que `po`, se borra — el msgfmt de gettext-tiny aborta (OCTAVA vez).
# Consecuencia honesta y acotada: las ciudades salen en inglés. La base de datos en sí (`Locations.xml`
# y su variante compilada) se genera igual, que es lo que el shell consulta.
#
# `-Dgtk_doc=false` y `-Denable_vala=false`: no hay gtk-doc ni valac en el corpus.
#
# ISLA DINÁMICA: el typelib nombra `libgweather-4.so.0` y gjs la dlopea.
name    = "libgweather"
version = "4.4.4"
license = "LGPL-2.1-or-later"

[source]
tarball = "https://download.gnome.org/sources/libgweather/4.4/libgweather-4.4.4.tar.xz"
sha256  = "7017677753cdf7d1fdc355e4bfcdb1eba8369793a8df24d241427a939cbf4283"

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

[build.phases]
configure = '''
set -e
sed -i "/^subdir('doc')$/d; /^subdir('po')$/d; /^subdir('po-locations')$/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 -Dintrospection=true -Dsoup2=false \
  -Dgtk_doc=false -Denable_vala=false -Dtests=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", "py3-gobject", "gobject-introspection", "gi-foreign-girs", "glib", "glib-introspected", "geocode-glib", "json-glib", "libsoup", "libpsl", "nghttp2", "sqlite-shared", "icu4c", "libxml2-shared", "libffi", "pcre2", "zlib-shared"]
