# libxml2 2.13.9 — parser XML/HTML (C). Lib FUNDACIONAL: dep de muchísima cola C + crates *-sys. # De-Alpinizada (Etapa G): # - 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. # - --disable-shared --enable-static: el lab linkea estático; queremos libxml2.a en /usr/lib. # - core sin compresión/bindings: --without-lzma (no hay xz en corpus), --without-zlib, # --without-python (el binding no aplica al userland estático). El parseo XML —el valor— no los pide. # - patches CVE de Alpine conservados (seguridad). name = "libxml2" version = "2.13.9" [source] tarball = "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz" sha256 = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a" patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"] [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" flags = [] # configure EXPLÍCITO: si se deja vacío, la heurística del lab inyecta su propio ./configure # minimal (defaults → exige python-3.12) que corre antes y aborta. Definirlo lo desactiva. [deps] build = ["make"] [build.phases] configure = ''' ./configure \ --build=$CBUILD --host=$CHOST \ --prefix=/usr \ --disable-shared --enable-static \ --without-python --without-lzma --without-zlib \ --with-legacy ''' compile = 'make' install = 'make DESTDIR=/out install'