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…
licencias: campo `license` en la receta — de 0 a 228 de 1141, sin re-hashear nada
1# libsoup 3.6.6 — cliente HTTP sobre GLib. Entra al frente GNOME como dep dura de
2# evolution-data-server: libedataserver enlaza soup-3.0 (ESoupSession) y los backends de calendario
3# CalDAV/WebDAV son HTTP. O sea que llega por la cima: gnome-shell → eds → libsoup.
4#
5# LISTA CONTRA EL meson.build REAL (3.6.6), no de memoria. Corrige el mapa que traía la campaña:
6# libxml2 → NO la usa. libsoup 2.x la necesitaba para SoupXMLRPC; en libsoup 3.x no aparece ni
7# una vez en meson.build. Se ahorra una variante -shared que ya estaba presupuestada.
8# sqlite3 → DURA (:123-136). El fallback termina en `dependency('sqlite3')` sin `required:false`,
9# así que no hay perilla. Es el HSTS enforcer, que persiste en disco.
10# libnghttp2, libpsl, zlib, glib → duras. Las cuatro ya selladas en esta cola.
11#
12# Cada apagado, y lo que compra:
13# -Dtls_check=false → meson.build:~200 corre un test que ASSERTEA `libsoup requires
14# glib-networking for TLS support`. glib-networking no está en el corpus y
15# arrastraría gnutls o openssl+p11-kit. Apagar el CHECK no apaga el TLS: GIO
16# resuelve el backend por módulo en runtime, así que el día que exista una
17# receta de glib-networking basta hidratarla y libsoup habla HTTPS sin
18# recompilar. Lo que se pierde HOY es HTTPS en runtime, no la API.
19# -Dbrotli=disabled → brotli está en el corpus pero SÓLO estático y no-PIC (mismo caso que
20# sqlite), o sea que habilitarlo costaba otra variante -shared. Es sólo
21# Content-Encoding: br; el calendario de eds no lo necesita.
22# -Dgssapi=disabled -Dntlm=disabled → autenticación Kerberos/NTLM corporativa; krb5 no existe acá.
23# -Dsysprof=disabled -Dtests=false -Ddocs=disabled -Dvapi=disabled -Dpkcs11_tests=disabled
24# → sysprof, gnutls y las suites de test (que quieren apache/httpd) fuera.
25# -Dintrospection=enabled → NO es opcional acá: gnome-shell es JavaScript y eds expone typelibs
26# que arrastran Soup-3.0. Es la isla dinámica: sin .so no hay typelib.
27#
28# ISLA DINÁMICA: shared, con sqlite-shared/zlib-shared en vez de las canónicas estáticas — sus .a no
29# son PIC y no entran en un .so (es el muro que frenó a mutter contra freetype).
30name = "libsoup"
31version = "3.6.6"
32license = "LGPL-2.0-or-later"
33
34[source]
35tarball = "https://download.gnome.org/sources/libsoup/3.6/libsoup-3.6.6.tar.xz"
36sha256 = "51ed0ae06f9d5a40f401ff459e2e5f652f9a510b7730e1359ee66d14d4872740"
37
38[build]
39compiler = "zig-cc"
40target = "x86_64-linux-musl"
41link = "dynamic"
42
43[build.phases]
44configure = "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"
45compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
46install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
47
48[deps]
49build = ["meson", "samurai", "python3", "pkgconf", "py3-setuptools", "gi-foreign-girs", "gobject-introspection", "glib", "glib-introspected", "libpsl", "nghttp2", "sqlite-shared", "zlib-shared", "icu4c", "libffi", "pcre2"]