# libsoup 3.6.6 — cliente HTTP sobre GLib. Entra al frente GNOME como dep dura de
# evolution-data-server: libedataserver enlaza soup-3.0 (ESoupSession) y los backends de calendario
# CalDAV/WebDAV son HTTP. O sea que llega por la cima: gnome-shell → eds → libsoup.
#
# LISTA CONTRA EL meson.build REAL (3.6.6), no de memoria. Corrige el mapa que traía la campaña:
#   libxml2  → NO la usa. libsoup 2.x la necesitaba para SoupXMLRPC; en libsoup 3.x no aparece ni
#              una vez en meson.build. Se ahorra una variante -shared que ya estaba presupuestada.
#   sqlite3  → DURA (:123-136). El fallback termina en `dependency('sqlite3')` sin `required:false`,
#              así que no hay perilla. Es el HSTS enforcer, que persiste en disco.
#   libnghttp2, libpsl, zlib, glib → duras. Las cuatro ya selladas en esta cola.
#
# Cada apagado, y lo que compra:
#   -Dtls_check=false  → meson.build:~200 corre un test que ASSERTEA `libsoup requires
#                        glib-networking for TLS support`. glib-networking no está en el corpus y
#                        arrastraría gnutls o openssl+p11-kit. Apagar el CHECK no apaga el TLS: GIO
#                        resuelve el backend por módulo en runtime, así que el día que exista una
#                        receta de glib-networking basta hidratarla y libsoup habla HTTPS sin
#                        recompilar. Lo que se pierde HOY es HTTPS en runtime, no la API.
#   -Dbrotli=disabled  → brotli está en el corpus pero SÓLO estático y no-PIC (mismo caso que
#                        sqlite), o sea que habilitarlo costaba otra variante -shared. Es sólo
#                        Content-Encoding: br; el calendario de eds no lo necesita.
#   -Dgssapi=disabled -Dntlm=disabled → autenticación Kerberos/NTLM corporativa; krb5 no existe acá.
#   -Dsysprof=disabled -Dtests=false -Ddocs=disabled -Dvapi=disabled -Dpkcs11_tests=disabled
#                      → sysprof, gnutls y las suites de test (que quieren apache/httpd) fuera.
#   -Dintrospection=enabled → NO es opcional acá: gnome-shell es JavaScript y eds expone typelibs
#                        que arrastran Soup-3.0. Es la isla dinámica: sin .so no hay typelib.
#
# ISLA DINÁMICA: shared, con sqlite-shared/zlib-shared en vez de las canónicas estáticas — sus .a no
# son PIC y no entran en un .so (es el muro que frenó a mutter contra freetype).
name    = "libsoup"
version = "3.6.6"
license = "LGPL-2.0-or-later"

[source]
tarball = "https://download.gnome.org/sources/libsoup/3.6/libsoup-3.6.6.tar.xz"
sha256  = "51ed0ae06f9d5a40f401ff459e2e5f652f9a510b7730e1359ee66d14d4872740"

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

[build.phases]
configure = "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=shared -Dtls_check=false -Dbrotli=disabled -Dgssapi=disabled -Dntlm=disabled -Dsysprof=disabled -Dtests=false -Ddocs=disabled -Ddoc_tests=false -Dinstalled_tests=false -Dpkcs11_tests=disabled -Dautobahn=disabled -Dintrospection=enabled -Dvapi=disabled -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", "py3-setuptools", "gi-foreign-girs", "gobject-introspection", "glib", "glib-introspected", "libpsl", "nghttp2", "sqlite-shared", "zlib-shared", "icu4c", "libffi", "pcre2"]
