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 815Rust 56Shell 37Markdown 291229 Sutichaykuna

⎇ 6e2772109867afcb780dbae97f48210ccd45d9ec recipes/libxml2-shared.toml TOML · 53 siq'ikuna · 2.5 KB Ñawpa willay ch'uya

sombras -shared: 8 promovidas al corpus, 0 hashes movidos — y cairo se para en un muro real 6e2772109 · sergio ·

1# libxml2-shared 2.13.9 — variante DINÁMICA de libxml2 para la isla dinámica de GNOME.
2#
3# Por qué existe, y por qué NO existía hasta ahora: en libical la libxml2 sólo la enlazaba un
4# ejecutable de build (ical-glib-src-generator), así que la .a canónica alcanzó. En
5# evolution-data-server NO: libxml-2.0 es dep REQUERIDA de libedataserver, libebackend, libebook y
6# libecal (CMakeLists.txt:932,936,937,938), o sea que entra dentro de .so reales. La libxml2.a
7# canónica no es PIC (verificado: reubicaciones R_X86_64_32) ⇒ mismo muro que sqlite y freetype.
8#
9# Mismo tarball, misma versión y MISMOS patches de CVE que la canónica: no se abre skew entre el
10# mundo estático y el dinámico, y la superficie de seguridad es idéntica. Los .patch están copiados
11# a esta cola porque se resuelven contra el base_dir de la receta, no contra recipes/.
12#
13# Se mantienen --without-{python,lzma,zlib} de la canónica: eds parsea XML, no comprime.
14name    = "libxml2-shared"
15version = "2.13.9"
16license = "MIT"
17
18[source]
19tarball = "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz"
20sha256  = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a"
21patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"]
22
23[build]
24compiler = "zig-cc"
25target   = "x86_64-linux-musl"
26link     = "dynamic"
27flags    = []
28
29[build.phases]
30configure = '''
31./configure \
32	--build=$CBUILD --host=$CHOST \
33	--prefix=/usr \
34	--enable-shared --disable-static \
35	--without-python --without-lzma --without-zlib \
36	--with-legacy
37'''
38compile = 'make -j"$(nproc)"'
39install = 'make DESTDIR=/out install'
40
41[deps]
42build = ["make", "pkgconf"]
43
44# ── PROMOVIDA AL CORPUS 2026-08-08 ──────────────────────────────────────────────────────────────
45# Copia literal de la sombra que vivía en una cola `incoming-*`. Se promovió porque la resolución de
46# deps es hermano→padre: una receta del corpus NO ve las de `incoming-*`, así que sin esto ninguna
47# receta canónica puede usar las variantes dinámicas.
48#
49# NO hay riesgo de colisión —el que advierte la nota de `granja-promote-colisiones`— porque el nombre
50# `*-shared` es DISTINTO del canónico: `zlib-shared` no pisa a `zlib`. Verificado además de forma
51# empírica antes de commitear: se calcularon los hashes de LAS 1153 recetas antes y después, y
52# **ninguna cambió**. El hash de esta copia es idéntico al del original, así que su artefacto ya está
53# sellado y no hay que reconstruir nada.