Segunda pieza de la cadena eds. Leer el meson.build real (y no el mapa de
memoria) corrigió dos cosas del presupuesto:
libxml2 → libsoup 3.x NO la usa (era de la era 2.x, SoupXMLRPC). Se ahorra
una variante -shared que estaba presupuestada.
sqlite3 → DURA, no opcional: meson.build:123-136 termina en dependency()
sin `required:false`. Y el libsqlite3.a canónico NO es PIC, así que
no entra en un .so — mismo muro R_X86_64_32 que frenó a mutter
contra freetype. De ahí sqlite-shared (b3:7aba78e7), hermana de
zlib-shared/cairo-shared, sin tocar la canónica.
El apagado que más compra es -Dtls_check=false: el meson ASSERTEA que exista
glib-networking para TLS, y eso arrastraba 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 haya receta de glib-networking basta hidratarla, sin recompilar.
Verificado: Soup-3.0.typelib producido (la isla dinámica lo exige) y el NEEDED
cierra en artefactos sellados + libc.so, sin fuga al sysroot Alpine.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33 lines
1.5 KiB
TOML
33 lines
1.5 KiB
TOML
# sqlite-shared 3.46.1 — variante DINÁMICA de sqlite para la isla dinámica de GNOME.
|
|
#
|
|
# Por qué existe: el sqlite canónico (recipes/sqlite.toml) es `--disable-shared --enable-static` y su
|
|
# libsqlite3.a NO es PIC (verificado: trae reubicaciones R_X86_64_32). libsoup 3.6 lo pide DURO
|
|
# (meson.build:123-136 cae a `dependency('sqlite3')` sin `required:false`) y libsoup es un .so ⇒
|
|
# meter el .a no-PIC adentro corta con el mismo `relocation R_X86_64_32 ... recompile with -fPIC`
|
|
# que frenó a mutter contra freetype. Mismo patrón y misma solución que zlib-shared/cairo-shared:
|
|
# una variante hermana, sin tocar la canónica (su radio son cientos de sellados).
|
|
#
|
|
# El único cambio real frente a la canónica es --enable-shared --disable-static y sacar el
|
|
# `-all-static -no-pie` de LDFLAGS, que es justo lo que impide producir un .so. Misma versión y mismo
|
|
# tarball a propósito: el sqlite3.pc que consume libsoup declara la misma versión que el resto del
|
|
# corpus, así que no se abre un skew de versiones entre el mundo estático y el dinámico.
|
|
name = "sqlite-shared"
|
|
version = "3.46.1"
|
|
|
|
[source]
|
|
tarball = "https://sqlite.org/2024/sqlite-autoconf-3460100.tar.gz"
|
|
sha256 = "67d3fe6d268e6eaddcae3727fce58fcc8e9c53869bdd07a0c61e38ddf2965071"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
|
|
[build.phases]
|
|
configure = "./configure --prefix=/usr --enable-shared --disable-static"
|
|
compile = 'make -j"$(nproc)"'
|
|
install = "make install DESTDIR=/out"
|
|
|
|
[deps]
|
|
build = ["make", "pkgconf"]
|