# libgcrypt-shared 1.12.2 — variante DINÁMICA de libgcrypt para el escritorio GNOME. # # La pide gcr (-Dcrypto=libgcrypt), que es un .so; la canónica (recipes/libgcrypt.toml) es estática # sin PIC y no entra en una librería compartida. Ver libgpg-error-shared.toml para el razonamiento # completo de por qué se hace variante en vez de tocar la canónica (radio medido, ajuste fino # documentado en la receta original). # # -fno-sanitize=undefined: zig cc inyecta el runtime UBSan y el .so queda con referencias a # __ubsan_handle_* que nadie define, que `--no-allow-shlib-undefined` rechaza. Es exactamente lo que # zlib-shared ya tenía documentado para este mismo frente. # # compiler = zig-cc, NO gcc: la canónica sigue en gcc y es una de las 16 que quedan en la lista de # matar-gcc. Esta variante nace ya del lado correcto — si compila bien acá, es evidencia de que la # canónica también puede migrar cuando le toque. name = "libgcrypt-shared" version = "1.12.2" license = "LGPL-2.1-or-later" [source] tarball = "https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.bz2" sha256 = "7ce33c2492221a0436f96a8500215e9f3e3dcb5fd26a757cd415e7a843babd5e" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" [build.phases] configure = 'CFLAGS="-O2 -fPIC -fno-sanitize=undefined" ./configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static --with-pic --with-libgpg-error-prefix=/usr --disable-doc' compile = 'make -j"$(nproc)"' install = 'make DESTDIR=/out install' [deps] build = ["make", "libgpg-error-shared"]