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