# 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"

[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"]
