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