gioser

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…

TOML 604Rust 56Shell 36Markdown 281227 Sutichaykuna

⎇ 0f5f53259f607efa1d43a651f478b4ea2b16553c recipes/sqlite-shared.toml TOML · 57 siq'ikuna · 3.5 KB Ñawpa willay ch'uya

licencias: las 26 que faltaban, y el guardián que las contaba mal 3379a1f17 · Sergio ·

1# ── ⚠ VERRUGA MEDIDA (2026-09-05), sin decidir ─────────────────────────────────────────────────
2# `usr/bin/sqlite3` —el shell de la CLI, NO `libsqlite3.so.0`— sale con `NEEDED libreadline.so.8`, y
3# el `readline` canónico del corpus es `.a`. O sea que en la imagen GNOME ese comando no carga: lo
4# resolvía contra el sysroot Alpine DEL LAB. Lo cazó `scripts/vigia-sonames.py`; las APPS están bien,
5# porque la librería no lo lleva.
6#
7# Las dos salidas cuestan cosas distintas y por eso no se decide de paso:
8#   · construir `readline-shared` y sumarla de raíz a `escritorio-gnome` — 1 build nuevo, pero la
9#     imagen carga una librería más sólo para que ande un comando. (`ncurses-shared` ya es raíz del
10#     perfil, así que la cadena cierra.)
11#   · configurar acá `--disable-readline` y no instalar una CLI que nadie pidió — más limpio, pero
12#     re-hashea: `yupana radio sqlite-shared` da **6 dependientes en incoming-gnome** que caen a
13#     deuda.
14# Se paga barato el día que sqlite-shared se re-selle por otro motivo.
15
16# sqlite-shared 3.46.1 — variante DINÁMICA de sqlite para la isla dinámica de GNOME.
17#
18# Por qué existe: el sqlite canónico (recipes/sqlite.toml) es `--disable-shared --enable-static` y su
19# libsqlite3.a NO es PIC (verificado: trae reubicaciones R_X86_64_32). libsoup 3.6 lo pide DURO
20# (meson.build:123-136 cae a `dependency('sqlite3')` sin `required:false`) y libsoup es un .so ⇒
21# meter el .a no-PIC adentro corta con el mismo `relocation R_X86_64_32 ... recompile with -fPIC`
22# que frenó a mutter contra freetype. Mismo patrón y misma solución que zlib-shared/cairo-shared:
23# una variante hermana, sin tocar la canónica (su radio son cientos de sellados).
24#
25# El único cambio real frente a la canónica es --enable-shared --disable-static y sacar el
26# `-all-static -no-pie` de LDFLAGS, que es justo lo que impide producir un .so. Misma versión y mismo
27# tarball a propósito: el sqlite3.pc que consume libsoup declara la misma versión que el resto del
28# corpus, así que no se abre un skew de versiones entre el mundo estático y el dinámico.
29name    = "sqlite-shared"
30version = "3.46.1"
31# licencia: MISMO sha256 de tarball que recipes/sqlite.toml, que ya declara `blessing` (la bendición del dominio público de SQLite)
32license = "blessing"
33
34[source]
35tarball = "https://sqlite.org/2024/sqlite-autoconf-3460100.tar.gz"
36sha256  = "67d3fe6d268e6eaddcae3727fce58fcc8e9c53869bdd07a0c61e38ddf2965071"
37
38[build]
39compiler = "zig-cc"
40target   = "x86_64-linux-musl"
41link     = "dynamic"
42
43[build.phases]
44configure = "./configure --prefix=/usr --enable-shared --disable-static"
45compile   = 'make -j"$(nproc)"'
46install   = "make install DESTDIR=/out"
47
48[deps]
49# ✅ DECIDIDA 2026-09-06, y la decisión cambió porque cambió el cálculo. La verruga de arriba dejaba
50# dos salidas sin elegir, y el argumento contra la primera era «la imagen carga una librería más sólo
51# para que ande un comando». Ya no es cierto: `python3` sale con el MISMO `NEEDED libreadline.so.8`
52# y es raíz de los cuatro perfiles, así que `readline-shared` entra en la clausura igual. El coste
53# marginal de arreglar además el `sqlite3` de la CLI es CERO.
54# `runtime` no entra en el ArtifactHash ⇒ no re-hashea, y los 6 dependientes que menciona la nota de
55# arriba no se tocan. Esa era la otra mitad del precio y tampoco se paga.
56runtime = ["readline-shared"]
57build = ["make", "pkgconf"]