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…
Etapa G: libs C base pcre2 + libxml2 al corpus (223→225)
1# libxml2 2.13.9 — parser XML/HTML (C). Lib FUNDACIONAL: dep de muchísima cola C + crates *-sys.
2# De-Alpinizada (Etapa G):
3# - compiler=gcc: zig-cc miscompila libs C (patrón file/jq); gcc del rootfs es musl.
4# - --disable-shared --enable-static: el lab linkea estático; queremos libxml2.a en /usr/lib.
5# - core sin compresión/bindings: --without-lzma (no hay xz en corpus), --without-zlib,
6# --without-python (el binding no aplica al userland estático). El parseo XML —el valor— no los pide.
7# - patches CVE de Alpine conservados (seguridad).
8name = "libxml2"
9version = "2.13.9"
10
11[source]
12tarball = "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz"
13sha256 = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a"
14patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"]
15
16[build]
17compiler = "gcc"
18target = "x86_64-linux-musl"
19link = "static"
20flags = []
21
22# configure EXPLÍCITO: si se deja vacío, la heurística del lab inyecta su propio ./configure
23# minimal (defaults → exige python-3.12) que corre antes y aborta. Definirlo lo desactiva.
24[build.phases]
25configure = '''
26./configure \
27 --build=$CBUILD --host=$CHOST \
28 --prefix=/usr \
29 --disable-shared --enable-static \
30 --without-python --without-lzma --without-zlib \
31 --with-legacy
32'''
33compile = 'make'
34install = 'make DESTDIR=/out install'