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# 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=zig-cc (migrado de gcc, matar-gcc 2026-07-16): 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"
10license = "MIT"
11
12[source]
13tarball = "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz"
14sha256 = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a"
15patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"]
16
17[build]
18compiler = "zig-cc"
19target = "x86_64-linux-musl"
20link = "static"
21flags = []
22
23# configure EXPLÍCITO: si se deja vacío, la heurística del lab inyecta su propio ./configure
24# minimal (defaults → exige python-3.12) que corre antes y aborta. Definirlo lo desactiva.
25[deps]
26build = ["make"]
27
28[build.phases]
29configure = '''
30./configure \
31 --build=$CBUILD --host=$CHOST \
32 --prefix=/usr \
33 --disable-shared --enable-static \
34 --without-python --without-lzma --without-zlib \
35 --with-legacy
36'''
37compile = 'make LDFLAGS="-all-static -no-pie" -j"$(nproc)"'
38install = 'make DESTDIR=/out install LDFLAGS="-all-static -no-pie"'