Segunda tanda. Candidatas que el VPS marcó migrable; re-verificadas en el LAPTOP (store completo, fiable) build+corre — 14/14, cero matraca: freetype jq libassuan libgpg-error libssh2 libuv libxml2 nano pcre2 pigz socat tig tmux vim pcre2 tuvo una discrepancia transitoria (falló en una prueba local temprana con "linker version script", migró en el VPS); re-verificado limpio en el laptop: construye Y corre. Era estado transitorio, no incompatibilidad. Confirma el patrón: el VPS acierta en las MIGRABLES (build+corre son evidencia real); sólo erraba en las matraca (build-falla espurio por store parcial). La medición fiable es el laptop. Total matar-gcc esta sesión: 25 recetas C migradas (11+14). El frente pasa de 47 compiler=gcc a ~22 (las 25 migradas + las que faltan medir + las 11 Rust). OJO: re-hashea, índice firmado 748 necesita re-firma en el próximo packaging. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
1.4 KiB
TOML
38 lines
1.4 KiB
TOML
# 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'
|