Files
Sergio e852f48491 takana etapa 5a: los comentarios de las 741 recetas
Barrido de TEXTO puro: 1427 líneas de comentario TOML. Cero ArtifactHash
movidos, y eso está MEDIDO, no deducido: hasheé las 741 antes y después y los
ficheros de hashes son idénticos byte a byte (723 con hash real + 18 que ya no
hasheaban de antes).

El guardián valió la pena: el primer barrido, filtrando por 'la línea empieza
con #', movió el hash de helix, lsof y steam-runtime-sniper. La causa es que una
fase se escribe como compile = <triple> ... <triple> y sus comentarios de SHELL
también empiezan con #, pero viven dentro del VALOR — y las fases sí entran en
hash_inputs. El barrido ahora calcula los rangos de las cadenas multilínea de
TOML y no entra ahí.

Quedan intactos a propósito: .hammer-zig-cc y .hammer-cargo-vendor (literales
dentro de fases), hammerd, hammer-recover y toda ruta que empiece por /
2026-09-09 19:23:26 +00:00

55 lines
3.3 KiB
TOML

# ── ⚠ HAY DOS `gmp` EN EL CORPUS, Y ES A PROPÓSITO (verificado 2026-09-01) ─────────────────────
# `incoming-kde/gmp.toml` (ésta) y `incoming-cosmic/gmp.toml` emiten el MISMO nombre de artefacto y
# sellan en direcciones distintas. NO es un duplicado rancio que haya que unificar — son dos
# variantes deliberadas, y la diferencia está en las dos líneas que importan:
#
# KDE link=dynamic --enable-shared --enable-cxx ⇒ libgmp.so + libgmpxx.so
# COSMIC link=static --disable-shared ⇒ libgmp.a, sin C++
#
# Y las dos citan a libqalculate como consumidor con conclusiones opuestas sobre `gmpxx.h`: acá se
# activa porque el libqalculate de la campaña KDE lo exige; allá se apaga a propósito para no
# arrastrar el runtime de C++. Las dos están selladas y las dos son correctas para su frente.
#
# ⚠ LO QUE SÍ CUESTA, Y CUÁNDO. Compartir nombre hace ambigua la clasificación de `store-gc.sh`: un
# artefacto rancio de UNA de las dos puede caer como SUPERADO porque la OTRA tiene sellado vigente,
# y ahí se perdería el único ejemplar. La condición es precisa: **sólo corre riesgo si el hash
# vigente de una de las dos NO está sellado**. Medido el 2026-09-01: las dos selladas ⇒ exposición
# CERO. Antes de podar con nombres compartidos, comprobar eso, no el nombre.
#
# `mpfr` tiene exactamente el mismo par (KDE dynamic / COSMIC static) por la misma razón.
# ⇒ Si algún día molesta de verdad, la salida NO es unificar sino renombrar la dinámica a
# `gmp-shared`, que es la convención que el corpus ya usa (zlib-shared, cairo-shared…). Cuesta
# re-hashear: `yupana radio` da 7 sellados de KDE que caen a deuda. No se hizo por eso.
# GNU GMP 6.3.0 — aritmética de enteros/racionales/floats de precisión arbitraria (libgmp.so + libgmpxx.so).
# Campaña KDE (ADR 0011): sustrato de libqalculate (motor matemático de KCalc/KRunner), que exige el
# interfaz C++ gmpxx.h además del C. También base de mpfr (#2 de esta tanda).
#
# compiler=zig-cc + --disable-assembly: GMP trae asm x86_64 a mano, pero el gueto-gcc del sandbox falla el
# test de configure ("cannot find -lssp_nonshared/-lgcc: file in wrong format" — libgcc/ssp del gcc de
# Alpine en formato incorrecto para el link musl). zig cc compila musl limpio; con --disable-assembly usa
# el mpn en C genérico (más lento, irrelevante para un build-dep de libqalculate). --enable-cxx = libgmpxx.so
# (gmpxx.h que libqalculate exige). La descarga es del mirror GNU (gmplib.org cuelga en TLS con takana-fetch).
name = "gmp"
version = "6.3.0"
# licencia: README del tarball pineado (sha256 verificado al bajarlo): LGPLv3+ o GPLv2+, «or both in parallel»
license = "LGPL-3.0-or-later OR GPL-2.0-or-later"
[source]
tarball = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz"
sha256 = "a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
zig_version = "0.13.0"
flags = []
[build.phases]
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-static --enable-shared --enable-cxx --disable-assembly'
compile = 'make -j"$(nproc)"'
install = "make install DESTDIR=/out && find /out -name '*.la' -delete"
[deps]
build = ["m4", "pkgconf"]