# gmp 6.3.0 — biblioteca de aritmética de precisión múltiple (C). Lib FUNDACIONAL: destraba
# calculadoras (kalker, qalc) y la cola C que depende de -lgmp. De-Alpinizada (Etapa G):
# - compiler=gcc: gmp tiene ensamblador + detección de CPU; zig-cc miscompila libs C (patrón file/jq).
# - sin --enable-cxx: el frente C++ (libgmpxx) bajo zig c++ choca; los consumidores piden libgmp (C).
# - --disable-shared --enable-static: el lab linkea estático; queremos libgmp.a en /usr/lib.
# - gcc15.patch (Alpine): completa un prototipo en acinclude.m4 para compat C23.
name    = "gmp"
version = "6.3.0"

[source]
tarball = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz"
sha256  = "a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898"
patches = ["gcc15.patch"]

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

[build.phases]
# autoreconf regenera configure desde el acinclude.m4 ya parcheado (gcc15/C23); sin esto el
# configure pre-generado del tarball falla el "long long reliability test" con gcc 15. Los
# autotools (autoconf/automake/libtool/m4) viven en el rootfs (bootstrap-devfs), no como deps.
compile = '''
./configure CC="gcc -std=gnu17" \
	--build=$CBUILD --host=$CHOST \
	--prefix=/usr \
	--disable-shared --enable-static \
	--with-pic
make
'''
install = 'make DESTDIR=/out install'

# DEFERIDO (2026-06-24): el probe GMP_PROG_CC_WORKS de configure falla al LINKEAR su conftest
# con gcc 15.2/musl del rootfs: "crt1.c: undefined reference to main" (el conftest no expone main
# válido bajo C23). El gcc15.patch de Alpine (acinclude.m4) no alcanza en este sandbox; el lab
# además corre su propio ./configure (heurística autotools §G-Fase3) que no toma el CC= del phase.
# Ángulos a probar: (1) CFLAGS=-std=gnu17 vía env del lab (no como arg), (2) más hunks del patch
# de Alpine sobre configure (no solo acinclude.m4), (3) build dedicado en el VPS con su gcc15.
