# libgcrypt 1.12.2 — lib C base (de-Alpinizada, Etapa G). compiler=gcc, configure-split, estático.
name    = "libgcrypt"
version = "1.12.2"

[source]
tarball = "https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.bz2"
sha256  = "7ce33c2492221a0436f96a8500215e9f3e3dcb5fd26a757cd415e7a843babd5e"

[build]
compiler = "gcc"
target   = "x86_64-linux-musl"
link     = "static"
flags    = []

[build.phases]
# POR QUÉ `-all-static` y por qué en compile Y en install: `link = "static"` hace que el lab
# exporte `LDFLAGS=-static`, pero libgcrypt enlaza con **libtool**, y libtool lee ese `-static`
# como "preferí mis .a", NO como flag al linker ⇒ los binarios (hmac256, dumpsexp, mpicalc) salían
# DINÁMICOS (`NEEDED: libc.so`) jurando ser estáticos. Ese `libc.so` es la musl que el toolchain
# bundlea: en el host son 255B de linker script ⇒ el artefacto NO corría fuera del sandbox. El
# único flag de libtool para un binario 100% estático es `-all-static`, y hay que repetirlo en
# `install` porque libtool RELINKEA al instalar (sólo en compile: se instala la versión dinámica y
# el fix se pierde en silencio). NUNCA en configure: rompe los tests de link de autotools.
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-shared --enable-static --with-libgpg-error-prefix=/usr --disable-doc'
compile   = 'make LDFLAGS="-all-static -no-pie" -j"$(nproc)"'
install   = 'make DESTDIR=/out install LDFLAGS="-all-static -no-pie"'


[deps]
build = ["libgpg-error", "make"]
