Files
takana/recipes/incoming-gnome/sqlite-shared.toml
T
sergioandClaude Opus 5 1283215173 gnome onda 3: libsoup SELLADO (b3:79d6bf81) + sqlite-shared
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>
2026-07-28 19:51:14 -04:00

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