# libffi-shared 3.5.2 — variante DINÁMICA de libffi. # # Misma razón que `expat-shared` y `zlib-shared`, y el mismo trío: `sway` es `link = "dynamic"` por # diseño y sale con `NEEDED libffi.so.8`, que ningún artefacto sellado producía. El canónico # (recipes/libffi.toml) es `--disable-shared` porque su consumidor principal es el enlace estático # (python3, los crates `-sys`). Sin esta variante el rootfs hidratado resolvía `libffi.so.8` contra # el sysroot Alpine del lab — fuga de soberanía invisible para el store, porque el lab no entra en # `hash_inputs`. # # NO se toca `link` en la canónica: entra en `hash_inputs` y re-hashearía libffi y todo lo que lo # lista en deps (glib, python3, mesa, wayland…). El nombre `libffi-shared` es distinto del canónico # ⇒ conviven en el store sin pisarse. Va al CORPUS, no a `incoming-wlr/`, porque la resolución de # deps es hermano→padre y una receta del corpus no vería una cola. # # `--disable-exec-static-tramp` se conserva de la canónica: los trampolines estáticos ejecutables de # libffi 3.5 asumen un layout de memoria que musl no garantiza. Se cae `--disable-shared` y con él el # motivo por el que no había `.so`; el resto del configure es idéntico, a propósito, para que las dos # variantes sigan siendo comparables de un vistazo. name = "libffi-shared" version = "3.5.2" license = "MIT" [source] tarball = "https://github.com/libffi/libffi/releases/download/v3.5.2/libffi-3.5.2.tar.gz" sha256 = "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" [deps] build = ["make"] [build.phases] configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static --with-pic --disable-exec-static-tramp' compile = 'make -j"$(nproc)"' install = 'make DESTDIR=/out install'