From 42db2dfb35f64b802538fcbbb07c733614edb8c1 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 1 Sep 2026 20:33:11 +0000 Subject: [PATCH] =?UTF-8?q?gmp:=20las=20dos=20recetas=20son=20variantes=20?= =?UTF-8?q?DELIBERADAS,=20no=20un=20duplicado=20=E2=80=94=20queda=20escrit?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Yo mismo las reporte como "la misma clase de colision que onda1" y me pase: no lo son. onda1 tenia una copia RANCIA del mismo build; esto son dos builds distintos, cada uno correcto para su frente: KDE link=dynamic --enable-shared --enable-cxx => libgmp.so + libgmpxx.so COSMIC link=static --disable-shared => libgmp.a, sin C++ Las dos citan libqalculate y llegan a conclusiones opuestas sobre gmpxx.h, y las dos tienen razon para su cola. Unificarlas romperia una de las dos. Lo que compartir nombre SI cuesta es que hace ambigua la clasificacion de store-gc: un artefacto rancio de una puede caer como SUPERADO porque la otra tiene sellado vigente. La condicion es precisa y esta medida — solo hay riesgo si el hash vigente de una NO esta sellado, y hoy las dos lo estan => exposicion CERO. Antes de podar con nombres compartidos hay que comprobar ESO, no el nombre. La salida, si algun dia molesta, es renombrar la dinamica a gmp-shared (la convencion que el corpus ya usa: zlib-shared, cairo-shared...). No se hizo porque cuesta: da 7 sellados de KDE que caen a deuda. es el mismo par por la misma razon. Los comentarios NO entran en hash_inputs (medido: mismo hash antes y despues), asi que esto no re-hashea nada. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4 --- recipes/incoming-cosmic/gmp.toml | 22 ++++++++++++++++++++++ recipes/incoming-kde/gmp.toml | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/recipes/incoming-cosmic/gmp.toml b/recipes/incoming-cosmic/gmp.toml index ce7b7b0c..02518c97 100644 --- a/recipes/incoming-cosmic/gmp.toml +++ b/recipes/incoming-cosmic/gmp.toml @@ -1,3 +1,25 @@ +# ── ⚠ HAY DOS `gmp` EN EL CORPUS, Y ES A PROPÓSITO (verificado 2026-09-01) ───────────────────── +# `incoming-cosmic/gmp.toml` (ésta) y `incoming-kde/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 +# apaga a propósito para no arrastrar el runtime de C++; allá se activa porque el libqalculate de +# la campaña KDE exige `gmpxx.h`. 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 (2 si se renombrara ésta). No se hizo por eso. # gmp — aritmética de precisión arbitraria. Entra al corpus por abajo del lanzador: el plugin de la # calculadora de pop-launcher llama al binario `qalc`, `qalc` es libqalculate, y libqalculate corta el # configure con «libgmp not found» si no está. O sea que la cadena de una tecla del escritorio baja diff --git a/recipes/incoming-kde/gmp.toml b/recipes/incoming-kde/gmp.toml index 34fc369e..bea06d46 100644 --- a/recipes/incoming-kde/gmp.toml +++ b/recipes/incoming-kde/gmp.toml @@ -1,3 +1,25 @@ +# ── ⚠ 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).