# libyaml-shared 0.2.5 — variante DINÁMICA de libyaml para la isla dinámica de GNOME. # # Por qué existe: libadwaita declara `Requires: appstream` en su .pc (es dep PÚBLICA desde 1.6, para # las release-notes de AdwAboutDialog), y appstream parsea los catálogos DEP-11 con libyaml. En el # mundo estático eso da igual, pero la SOMBRA dinámica de libadwaita mete todo ese cierre dentro de # `libadwaita-1.so`, y la libyaml.a canónica NO es PIC: 226 reubicaciones R_X86_64_32/32S en secciones # de código. Mismo muro que fontconfig/freetype/libpng/libjpeg-turbo/libtiff/libxml2, que ya tienen su # sombra en esta cola. libyaml era la ÚNICA no-PIC del cierre de libadwaita sin variante. # # ⚠ CÓMO SE MIDE «no es PIC», porque la regla corta miente. `readelf -r x.a | grep R_X86_64_32` cuenta # también las reubicaciones de `.rela.debug_*`, que son inocuas y existen en TODO objeto. Medido así, # libepoxy da 39.630 «no-PIC» — y sin embargo está EMBEBIDA dentro de la libgtk-4.so de la isla, con # 3.446 símbolos `epoxy_` definidos. Hay que excluir las secciones de debug: # readelf -r x.a | awk '/^Relocation section/{s=$3} /R_X86_64_32/{if (s !~ /debug/) n++} END{print n}' # Con esa prueba el control sale limpio: libepoxy=0 (embebe bien) y fontconfig=1122 (rompe el link). # # Mismo tarball y misma versión que la canónica: no se abre skew entre el mundo estático y el dinámico. name = "libyaml-shared" version = "0.2.5" license = "MIT" [source] tarball = "https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz" sha256 = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] [build.phases] configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static' compile = 'make -j"$(nproc)"' install = 'make DESTDIR=/out install' [deps] build = ["make", "pkgconf"]