From c29a4fcb9e83d7496aee796f40fb97ab6ecf3457 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 2 Sep 2026 14:10:56 +0000 Subject: [PATCH] gnome: retirar 8 copias de cola que sellan igual que el corpus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `fontconfig-shared`, `freetype-shared`, `libjpeg-turbo-shared`, `libpng-shared`, `libtiff-shared`, `libxml2-shared`, `libyaml-shared` y `zlib-shared` existían a la vez en `incoming-gnome/` y en `recipes/`, y las ocho daban el MISMO ArtifactHash que su gemela del corpus. Como la resolución de deps cae al padre cuando no hay hermano, quitarlas deja a las consumidoras resolviendo contra `recipes/` y con el mismo hash. Medido, no supuesto: se hashearon las 1144 recetas antes y las 1136 después, y de las 1136 supervivientes **0 cambiaron de hash**. No hay rebuild. Lo que NO se toca, y conviene que quede dicho porque se parece: - Las variantes de la ISLA DINÁMICA (glib, gtk4, gdk-pixbuf, pango, harfbuzz, graphene, libadwaita, json-glib, libusb, libxcvt, pipewire, pulseaudio, wireplumber, xdg-desktop-portal): mismo nombre, hash DISTINTO. Son sombras a propósito — la introspección de GNOME exige .so reales. - Las copias entre COLAS (alsa-lib, hwdata, xkeyboard-config, libdisplay-info, lcms2, icu4c, lua, nasm, fuse3, libsndfile, libelogind, hicolor-icon-theme, dbus-shared): también dan el mismo hash, pero NO sobran. Cada cola necesita su propio hermano para cerrar su clausura; borrar la de una rompe esa cola. No es el caso de onda-2, donde la cola entera duplicaba a otra. Y el criterio, otra vez: `pipewire` y `pulseaudio` son TEXTUALMENTE idénticas a las de COSMIC y sellan distinto, porque sus deps resuelven distinto según la cola. El fichero no dice la verdad; el hash sí. Gate --check OK, grafo CIERRA, escritorio-gnome sigue 119/119. La cola queda en 82 recetas (79 selladas + la terna GTK3) y sus 5 parches, todos en uso. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4 --- docs/state/build-state-cosmic.json | 58 +++++++++++------- docs/state/build-state-gnome.json | 37 +++++------ docs/state/build-state-kde.json | 34 ++++++----- docs/state/build-state-wlr.json | 61 ++++++++++++------- docs/state/build-state.json | 61 ++++++++++++------- recipes/incoming-gnome/fontconfig-shared.toml | 28 --------- recipes/incoming-gnome/freetype-shared.toml | 32 ---------- .../incoming-gnome/libjpeg-turbo-shared.toml | 25 -------- recipes/incoming-gnome/libpng-shared.toml | 24 -------- recipes/incoming-gnome/libtiff-shared.toml | 27 -------- recipes/incoming-gnome/libxml2-shared.toml | 42 ------------- recipes/incoming-gnome/libyaml-shared.toml | 38 ------------ recipes/incoming-gnome/zlib-shared.toml | 34 ----------- 13 files changed, 151 insertions(+), 350 deletions(-) delete mode 100644 recipes/incoming-gnome/fontconfig-shared.toml delete mode 100644 recipes/incoming-gnome/freetype-shared.toml delete mode 100644 recipes/incoming-gnome/libjpeg-turbo-shared.toml delete mode 100644 recipes/incoming-gnome/libpng-shared.toml delete mode 100644 recipes/incoming-gnome/libtiff-shared.toml delete mode 100644 recipes/incoming-gnome/libxml2-shared.toml delete mode 100644 recipes/incoming-gnome/libyaml-shared.toml delete mode 100644 recipes/incoming-gnome/zlib-shared.toml diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index a2f7a390..91b7196f 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -47,7 +47,7 @@ "sealed": 33 } }, - "sin_perfil": 656, + "sin_perfil": 649, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -2220,7 +2220,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 143 + "dependientes_total": 141 }, "cmctl": { "iname": "cmctl", @@ -4037,7 +4037,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 64 + "dependientes_total": 63 }, "expat-shared": { "iname": "expat-shared", @@ -4406,8 +4406,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 10 }, "foot": { "iname": "foot", @@ -4519,8 +4521,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 12 }, "freeze": { "iname": "freeze", @@ -6002,7 +6006,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 8 + "dependientes_total": 7 }, "gping": { "iname": "gping", @@ -8623,8 +8627,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 7 }, "libksba": { "iname": "libksba", @@ -8728,8 +8734,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 2 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 14 }, "libqalculate": { "iname": "libqalculate", @@ -8870,8 +8878,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libudev-zero": { "iname": "libudev-zero", @@ -9017,8 +9027,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libxmlb": { "iname": "libxmlb", @@ -9082,8 +9094,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 2 }, "linux": { "iname": "linux", @@ -9421,7 +9435,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 108 }, "mako": { "iname": "mako", @@ -11338,7 +11352,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 380 + "dependientes_total": 375 }, "plow": { "iname": "plow", @@ -11707,7 +11721,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 285 + "dependientes_total": 284 }, "qrcp": { "iname": "qrcp", @@ -12262,7 +12276,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 251 + "dependientes_total": 250 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index c3fe61c8..4f6e001c 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -19,11 +19,11 @@ }, "by_queue": { "corpus": { - "sealed": 770, + "sealed": 778, "never": 1 }, "incoming-gnome": { - "sealed": 87, + "sealed": 79, "never": 3 } }, @@ -2334,7 +2334,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 143 + "dependientes_total": 141 }, "cmctl": { "iname": "cmctl", @@ -3773,7 +3773,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 64 + "dependientes_total": 63 }, "expat-shared": { "iname": "expat-shared", @@ -4137,7 +4137,7 @@ "zlib-shared" ], "cls": "gui", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:3031ef0098201d2d302f431a283cfe397e74da20c21b026591a59e2200e5f955", "state": "sealed", "blocked_by": [], @@ -4252,7 +4252,7 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:80b5c5f06b0756b876178e54b47e280bdc32e7dc926605a8d8b059697dc48d1a", "state": "sealed", "blocked_by": [], @@ -6211,7 +6211,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 8 + "dependientes_total": 7 }, "gping": { "iname": "gping", @@ -9227,7 +9227,7 @@ "samurai" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:afc8000655fb31cc2204fb24be2bded107dea7810ddc18159fc9a6b22bf6939e", "state": "sealed", "blocked_by": [], @@ -9334,7 +9334,7 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:761a6a9f25f59fa351663d574ae527d6a100aed86eef6ea2ef77a8e8ce628f6f", "state": "sealed", "blocked_by": [], @@ -9599,7 +9599,7 @@ "libjpeg-turbo-shared" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:960010a612f1dbde16a0d7f8b41f58a52c1353bc529951654ed5e6a9e7aa8981", "state": "sealed", "blocked_by": [], @@ -9788,7 +9788,7 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:24b1540aadc530114f90dedecfce4941a6304fa4c6608c699cee284aa2d91142", "state": "sealed", "blocked_by": [], @@ -9855,7 +9855,7 @@ "pkgconf" ], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:a8eafc078776301c87dceb67b5fbd9d9e9fff63d15876b545e412d801364b983", "state": "sealed", "blocked_by": [], @@ -10199,7 +10199,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 108 }, "mako": { "iname": "mako", @@ -12240,7 +12240,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 380 + "dependientes_total": 375 }, "plow": { "iname": "plow", @@ -12679,7 +12679,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 285 + "dependientes_total": 284 }, "qrcp": { "iname": "qrcp", @@ -13234,7 +13234,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 251 + "dependientes_total": 250 }, "sassc": { "iname": "sassc", @@ -16247,13 +16247,14 @@ "compiler": "zig-cc", "deps": [], "cls": "c", - "queue": "incoming-gnome", + "queue": "corpus", "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-gnome" + "escritorio-gnome", + "escritorio-sway" ], "dependientes_total": 36 }, diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index b664a637..52178a33 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -50,7 +50,7 @@ "sealed": 29 } }, - "sin_perfil": 729, + "sin_perfil": 726, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -2453,7 +2453,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 143 + "dependientes_total": 141 }, "cmctl": { "iname": "cmctl", @@ -3902,7 +3902,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 64 + "dependientes_total": 63 }, "expat-shared": { "iname": "expat-shared", @@ -6019,7 +6019,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 8 + "dependientes_total": 7 }, "gping": { "iname": "gping", @@ -12852,8 +12852,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libtool": { "iname": "libtool", @@ -13107,8 +13109,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libxmlb": { "iname": "libxmlb", @@ -13192,8 +13196,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 2 }, "libzip": { "iname": "libzip", @@ -13556,7 +13562,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 108 }, "mako": { "iname": "mako", @@ -15768,7 +15774,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 380 + "dependientes_total": 375 }, "plasma-activities": { "iname": "plasma-activities", @@ -17074,7 +17080,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 285 + "dependientes_total": 284 }, "qcoro": { "iname": "qcoro", @@ -18190,7 +18196,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 251 + "dependientes_total": 250 }, "sassc": { "iname": "sassc", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index c1517878..d5e1af38 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -47,7 +47,7 @@ "sealed": 129 } }, - "sin_perfil": 656, + "sin_perfil": 649, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -2178,7 +2178,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 143 + "dependientes_total": 141 }, "cmctl": { "iname": "cmctl", @@ -3529,7 +3529,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 64 + "dependientes_total": 63 }, "expat-shared": { "iname": "expat-shared", @@ -3898,8 +3898,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 10 }, "foot": { "iname": "foot", @@ -4011,8 +4013,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 12 }, "freeze": { "iname": "freeze", @@ -5468,7 +5472,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 8 + "dependientes_total": 7 }, "gping": { "iname": "gping", @@ -8054,8 +8058,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 7 }, "libksba": { "iname": "libksba", @@ -8159,8 +8165,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 2 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 14 }, "libsass": { "iname": "libsass", @@ -8256,8 +8264,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libudev-zero": { "iname": "libudev-zero", @@ -8403,8 +8413,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libxmlb": { "iname": "libxmlb", @@ -8468,8 +8480,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 2 }, "linux": { "iname": "linux", @@ -8787,7 +8801,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 108 }, "mako": { "iname": "mako", @@ -10613,7 +10627,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 380 + "dependientes_total": 375 }, "plow": { "iname": "plow", @@ -10912,7 +10926,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 285 + "dependientes_total": 284 }, "qrcp": { "iname": "qrcp", @@ -11467,7 +11481,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 251 + "dependientes_total": 250 }, "sassc": { "iname": "sassc", @@ -14549,9 +14563,10 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ + "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 36 }, "zola": { "iname": "zola", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index b77df846..874c552e 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -39,7 +39,7 @@ "sealed": 33 } }, - "sin_perfil": 656, + "sin_perfil": 649, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -2170,7 +2170,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 143 + "dependientes_total": 141 }, "cmctl": { "iname": "cmctl", @@ -3504,7 +3504,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 64 + "dependientes_total": 63 }, "expat-shared": { "iname": "expat-shared", @@ -3873,8 +3873,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 10 }, "foot": { "iname": "foot", @@ -3986,8 +3988,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 12 }, "freeze": { "iname": "freeze", @@ -5402,7 +5406,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 8 + "dependientes_total": 7 }, "gping": { "iname": "gping", @@ -7916,8 +7920,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 1 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 7 }, "libksba": { "iname": "libksba", @@ -8021,8 +8027,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 2 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 14 }, "libsass": { "iname": "libsass", @@ -8118,8 +8126,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libudev-zero": { "iname": "libudev-zero", @@ -8265,8 +8275,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 6 }, "libxmlb": { "iname": "libxmlb", @@ -8330,8 +8342,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 0 + "perfiles": [ + "escritorio-gnome" + ], + "dependientes_total": 2 }, "linux": { "iname": "linux", @@ -8649,7 +8663,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 110 + "dependientes_total": 108 }, "mako": { "iname": "mako", @@ -10475,7 +10489,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 380 + "dependientes_total": 375 }, "plow": { "iname": "plow", @@ -10774,7 +10788,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 285 + "dependientes_total": 284 }, "qrcp": { "iname": "qrcp", @@ -11329,7 +11343,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 251 + "dependientes_total": 250 }, "sassc": { "iname": "sassc", @@ -14083,9 +14097,10 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ + "escritorio-gnome", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 36 }, "zola": { "iname": "zola", diff --git a/recipes/incoming-gnome/fontconfig-shared.toml b/recipes/incoming-gnome/fontconfig-shared.toml deleted file mode 100644 index fb94611f..00000000 --- a/recipes/incoming-gnome/fontconfig-shared.toml +++ /dev/null @@ -1,28 +0,0 @@ -# fontconfig-shared 2.18.1 — variante DINÁMICA (libfontconfig.so.1, PIC) para el escritorio KDE. -# El canónico (recipes/fontconfig.toml) es --disable-shared (sólo libfontconfig.a sin PIC) ⇒ no enlaza en -# un .so. Lo exige poppler (búsqueda/sustitución de fuentes del PDF) → okular. Deuda Capa 0 del ADR 0011. -# -# expat NO necesita variante: el canónico ya usa --with-pic (su .a lleva objetos PIC, enlazable en .so). -# libpng-shared+zlib-shared: freetype se compila --with-png ⇒ freetype2.pc trae `Requires: libpng` (y -# libpng.pc → zlib); sin ellos pkg-config no resuelve freetype2 y ./configure aborta (gotcha .pc transitivo). -name = "fontconfig-shared" -version = "2.18.1" -license = "MIT" - -[source] -tarball = "https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.18.1/fontconfig-2.18.1.tar.xz" -sha256 = "2300f3dbfa7253b3a44f4feecdbc8dfa45dde5dc2cfb71fceaf31f394cb41031" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = "./configure --build=$CBUILD --host=$CHOST --prefix=/usr --sysconfdir=/etc --enable-shared --disable-static --disable-docs" -compile = 'make -j"$(nproc)"' -install = "make install DESTDIR=/out && find /out -name '*.la' -delete" - -[deps] -build = ["freetype-shared", "expat", "pkgconf", "gperf", "python3", "libpng-shared", "zlib-shared"] diff --git a/recipes/incoming-gnome/freetype-shared.toml b/recipes/incoming-gnome/freetype-shared.toml deleted file mode 100644 index dbde8863..00000000 --- a/recipes/incoming-gnome/freetype-shared.toml +++ /dev/null @@ -1,32 +0,0 @@ -# freetype-shared 2.14.3 — variante DINÁMICA (libfreetype.so.6, PIC) para el escritorio KDE. -# El canónico (recipes/freetype.toml) es --disable-shared (sólo libfreetype.a sin PIC) ⇒ no enlaza dentro -# de un .so. Lo exige poppler (rasterizado de fuentes del PDF) → okular. Deuda Capa 0 que el ADR 0011 -# marcaba pendiente ("freetype/fontconfig shared-PIC"). -# -# SIN los 3 patches del canónico (pcf-family-names/subpixel/table-validation-modules): son tweaks de -# rendering de Alpine y viven en recipes/ (copiarlos a esta cola arriesga la colisión de patches homónimos). -# No afectan la corrección del rasterizado que poppler necesita. -# -# --without-harfbuzz: corta el ciclo freetype↔harfbuzz (harfbuzz autodetectaría freetype). --without-brotli: -# no hay brotli sellado (sólo afecta fuentes WOFF2). zlib/png dinámicos vía las variantes -shared. -name = "freetype-shared" -version = "2.14.3" -license = "FTL OR GPL-2.0-or-later" - -[source] -tarball = "https://download.savannah.gnu.org/releases/freetype/freetype-2.14.3.tar.xz" -sha256 = "36bc4f1cc413335368ee656c42afca65c5a3987e8768cc28cf11ba775e785a5f" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static --without-harfbuzz --without-brotli --with-zlib=yes --with-png=yes CPPFLAGS=-I/usr/include LDFLAGS=-L/usr/lib' -compile = 'make -j"$(nproc)"' -install = "make DESTDIR=/out install && find /out -name '*.la' -delete" - -[deps] -build = ["zlib-shared", "libpng-shared", "pkgconf"] diff --git a/recipes/incoming-gnome/libjpeg-turbo-shared.toml b/recipes/incoming-gnome/libjpeg-turbo-shared.toml deleted file mode 100644 index e3dc03a6..00000000 --- a/recipes/incoming-gnome/libjpeg-turbo-shared.toml +++ /dev/null @@ -1,25 +0,0 @@ -# libjpeg-turbo-shared 3.1.3 — variante DINÁMICA (libjpeg.so.8 + libturbojpeg.so.0, PIC) para el -# escritorio KDE. El canónico (recipes/incoming-kde/libjpeg-turbo.toml) es ENABLE_SHARED=0 (sólo .a sin -# PIC) ⇒ no enlaza dentro de un .so ('R_X86_64_32S ... recompile with -fPIC', jpeg_nbits_table). Como -# zlib-shared/bzip2-shared. Nombre distinto para no colisionar con el canónico. gwenview lo linkea. -name = "libjpeg-turbo-shared" -version = "3.1.3" -license = "IJG AND BSD-3-Clause AND Zlib" - -[source] -tarball = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.3/libjpeg-turbo-3.1.3.tar.gz" -sha256 = "075920b826834ac4ddf97661cc73491047855859affd671d52079c6867c1c6c0" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DENABLE_SHARED=1 -DENABLE_STATIC=0 -DWITH_SIMD=0" -compile = "cmake --build build" -install = "DESTDIR=/out cmake --install build" - -[deps] -build = ["cmake", "samurai"] diff --git a/recipes/incoming-gnome/libpng-shared.toml b/recipes/incoming-gnome/libpng-shared.toml deleted file mode 100644 index ec37536d..00000000 --- a/recipes/incoming-gnome/libpng-shared.toml +++ /dev/null @@ -1,24 +0,0 @@ -# libpng-shared 1.6.58 — variante DINÁMICA (libpng16.so.16, PIC) para el escritorio KDE. El canónico -# (recipes/libpng.toml) es --disable-shared (sólo libpng16.a sin PIC) ⇒ no enlaza dentro de un .so. Como -# zlib-shared/xz-shared: autotools --enable-shared, zig-cc, contra zlib-shared (libz.so). gwenview linkea. -name = "libpng-shared" -version = "1.6.58" -license = "Libpng" - -[source] -tarball = "https://downloads.sourceforge.net/libpng/libpng-1.6.58.tar.gz" -sha256 = "8c9b05b675ca7301a458df2c2e46f26e1d41ff36b8863f8c33530bc58c2e6225" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static CPPFLAGS=-I/usr/include LDFLAGS=-L/usr/lib' -compile = 'make -j"$(nproc)"' -install = "make DESTDIR=/out install && find /out -name '*.la' -delete" - -[deps] -build = ["zlib-shared", "pkgconf"] diff --git a/recipes/incoming-gnome/libtiff-shared.toml b/recipes/incoming-gnome/libtiff-shared.toml deleted file mode 100644 index 6e84552e..00000000 --- a/recipes/incoming-gnome/libtiff-shared.toml +++ /dev/null @@ -1,27 +0,0 @@ -# libtiff-shared 4.7.0 — variante DINÁMICA (libtiff.so, NEEDED libz.so/libjpeg.so) para la isla GNOME. -# gtk4 EXIGE libtiff-4 (meson.build:450, sin required:false ⇒ no se puede quitar). El canónico es -# BUILD_SHARED_LIBS=OFF: su libtiff.a arrastra zlib/jpeg como cadena estática que gtk4 (dinámico) no -# resuelve ('undefined inflate'). La .so lo resuelve por NEEDED. Ver [[gnome-introspection-dinamica]]. -name = "libtiff-shared" -version = "4.7.0" -license = "libtiff" - -[source] -tarball = "https://download.osgeo.org/libtiff/tiff-4.7.0.tar.gz" -sha256 = "67160e3457365ab96c5b3286a0903aa6e78bdc44c4bc737d2e486bcecb6ba976" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -# --undefined-version: el version-script de libtiff.so nombra símbolos Windows-only (TIFFOpenWExt) que -# en musl no se compilan; lld lo trata como error salvo con este flag (lo hace laxo, estándar en cross). -configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--undefined-version -Dtiff-tools=OFF -Dtiff-tests=OFF -Dtiff-contrib=OFF -Dtiff-docs=OFF -Dzlib=ON -Djpeg=ON -Dlzma=OFF -Dzstd=OFF -Dwebp=OFF -Djbig=OFF -Dlerc=OFF -Dlibdeflate=OFF -Dcxx=OFF" -compile = "cmake --build build --target tiff" -install = "DESTDIR=/out cmake --install build" - -# zlib-shared/libjpeg-turbo-shared: la .so de tiff los enlaza por NEEDED (libz.so/libjpeg.so). -[deps] -build = ["cmake", "zlib-shared", "libjpeg-turbo-shared"] diff --git a/recipes/incoming-gnome/libxml2-shared.toml b/recipes/incoming-gnome/libxml2-shared.toml deleted file mode 100644 index 302aa9fa..00000000 --- a/recipes/incoming-gnome/libxml2-shared.toml +++ /dev/null @@ -1,42 +0,0 @@ -# libxml2-shared 2.13.9 — variante DINÁMICA de libxml2 para la isla dinámica de GNOME. -# -# Por qué existe, y por qué NO existía hasta ahora: en libical la libxml2 sólo la enlazaba un -# ejecutable de build (ical-glib-src-generator), así que la .a canónica alcanzó. En -# evolution-data-server NO: libxml-2.0 es dep REQUERIDA de libedataserver, libebackend, libebook y -# libecal (CMakeLists.txt:932,936,937,938), o sea que entra dentro de .so reales. La libxml2.a -# canónica no es PIC (verificado: reubicaciones R_X86_64_32) ⇒ mismo muro que sqlite y freetype. -# -# Mismo tarball, misma versión y MISMOS patches de CVE que la canónica: no se abre skew entre el -# mundo estático y el dinámico, y la superficie de seguridad es idéntica. Los .patch están copiados -# a esta cola porque se resuelven contra el base_dir de la receta, no contra recipes/. -# -# Se mantienen --without-{python,lzma,zlib} de la canónica: eds parsea XML, no comprime. -name = "libxml2-shared" -version = "2.13.9" -license = "MIT" - -[source] -tarball = "https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.9.tar.xz" -sha256 = "a2c9ae7b770da34860050c309f903221c67830c86e4a7e760692b803df95143a" -patches = ["CVE-2026-6732.patch", "CVE-2026-6732-test.patch"] - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = ''' -./configure \ - --build=$CBUILD --host=$CHOST \ - --prefix=/usr \ - --enable-shared --disable-static \ - --without-python --without-lzma --without-zlib \ - --with-legacy -''' -compile = 'make -j"$(nproc)"' -install = 'make DESTDIR=/out install' - -[deps] -build = ["make", "pkgconf"] diff --git a/recipes/incoming-gnome/libyaml-shared.toml b/recipes/incoming-gnome/libyaml-shared.toml deleted file mode 100644 index c6cbd1a7..00000000 --- a/recipes/incoming-gnome/libyaml-shared.toml +++ /dev/null @@ -1,38 +0,0 @@ -# libyaml-shared 0.2.5 — variante DINÁMICA de libyaml para la isla dinámica de GNOME. -# -# Por qué existe: libadwaita declara `Requires: appstream` en su .pc (es dep PÚBLICA desde 1.6, para -# las release-notes de AdwAboutDialog), y appstream parsea los catálogos DEP-11 con libyaml. En el -# mundo estático eso da igual, pero la SOMBRA dinámica de libadwaita mete todo ese cierre dentro de -# `libadwaita-1.so`, y la libyaml.a canónica NO es PIC: 226 reubicaciones R_X86_64_32/32S en secciones -# de código. Mismo muro que fontconfig/freetype/libpng/libjpeg-turbo/libtiff/libxml2, que ya tienen su -# sombra en esta cola. libyaml era la ÚNICA no-PIC del cierre de libadwaita sin variante. -# -# ⚠ CÓMO SE MIDE «no es PIC», porque la regla corta miente. `readelf -r x.a | grep R_X86_64_32` cuenta -# también las reubicaciones de `.rela.debug_*`, que son inocuas y existen en TODO objeto. Medido así, -# libepoxy da 39.630 «no-PIC» — y sin embargo está EMBEBIDA dentro de la libgtk-4.so de la isla, con -# 3.446 símbolos `epoxy_` definidos. Hay que excluir las secciones de debug: -# readelf -r x.a | awk '/^Relocation section/{s=$3} /R_X86_64_32/{if (s !~ /debug/) n++} END{print n}' -# Con esa prueba el control sale limpio: libepoxy=0 (embebe bien) y fontconfig=1122 (rompe el link). -# -# Mismo tarball y misma versión que la canónica: no se abre skew entre el mundo estático y el dinámico. -name = "libyaml-shared" -version = "0.2.5" -license = "MIT" - -[source] -tarball = "https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz" -sha256 = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" -flags = [] - -[build.phases] -configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static' -compile = 'make -j"$(nproc)"' -install = 'make DESTDIR=/out install' - -[deps] -build = ["make", "pkgconf"] diff --git a/recipes/incoming-gnome/zlib-shared.toml b/recipes/incoming-gnome/zlib-shared.toml deleted file mode 100644 index e4d9acdc..00000000 --- a/recipes/incoming-gnome/zlib-shared.toml +++ /dev/null @@ -1,34 +0,0 @@ -# zlib-shared 1.3.1 — variante DINÁMICA de zlib para el escritorio KDE. -# -# El zlib canónico (recipes/zlib.toml) es `--static` (sólo libz.a, para el toolchain rust/mrustc). Pero -# el stack GUI dinámico (Qt/KDE/libpng/Mesa) linkea `libz.so.1` por SONAME en runtime, y ese `.so` no lo -# provee ningún artefacto sellado ⇒ el rootfs hidratado caía a la libz.so.1 del sysroot Alpine (fuga de -# soberanía, deuda static↔dinámico de Capa 0). Esta variante sella el `libz.so.1` soberano: los `.so` de -# KDE ya tienen NEEDED libz.so.1 (mismo soname), así que basta hidratar este artefacto — sin rebuild de KDE. -# -# Build shared: el configure de zlib aborta bajo zig cc ("compiler error reporting too harsh"), así que se -# fabrica el libz.so.1 a mano del libz.a PIC con --whole-archive. CLAVE (fix soberanía): se pasa el -# --version-script=zlib.map del propio tarball ⇒ el .so exporta los símbolos VERSIONADOS (ZLIB_1.2.0 -# compressBound, ZLIB_1.2.3.4 inflateReset2, …). Qt6 (libQt6Core/Gui) fue enlazado contra un zlib -# versionado y NEEDED esos @tags; sin el mapa, un libz.so con nombres pelados no resolvía -# inflateReset2@ZLIB_1.2.3.4 al enlazar gwenview (--no-allow-shlib-undefined) y Qt caía en runtime a la -# libz.so.1 de Alpine (fuga). El .so versionado satisface consumidores versionados Y no-versionados. -# -fPIC/-O2/-fno-sanitize=undefined igual que la canónica (evita el runtime UBSan de zig). - -name = "zlib-shared" -version = "1.3.1" -license = "Zlib" - -[source] -tarball = "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" -sha256 = "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" - -[build] -compiler = "zig-cc" -target = "x86_64-linux-musl" -link = "dynamic" - -[build.phases] -configure = "CFLAGS='-fPIC -O2 -fno-sanitize=undefined' ./configure --prefix=/usr --static" -compile = "make -j\"$(nproc)\" && ${CC:-zig cc} -shared -Wl,-soname,libz.so.1 -Wl,--version-script,zlib.map -Wl,--whole-archive libz.a -Wl,--no-whole-archive -o libz.so.1.3.1" -install = "make install DESTDIR=/out && install -Dm755 libz.so.1.3.1 /out/usr/lib/libz.so.1.3.1 && ln -sf libz.so.1.3.1 /out/usr/lib/libz.so.1 && ln -sf libz.so.1 /out/usr/lib/libz.so"