From 7d76c644e4cbc3e69cf4c0a68bd7b5bfe097700f Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 11 Jul 2026 15:33:37 -0400 Subject: [PATCH] =?UTF-8?q?kde/H-Qt:=20bundlear=20fuentes/im=C3=A1genes=20?= =?UTF-8?q?+=20fontconfig=3DOFF=20(mata=20dep=20transitiva=20expat)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 8vo ciclo: entró a Gui, murió con símbolos expat (XML_ParseBuffer…) — fontconfig.a → expat pero el link estático no arrastra la transitiva (el .pc no la declara). En vez de iterar lib-por-lib, bundleo freetype/harfbuzz/libpng/libjpeg en Qt (PIC, cierre completo) y apago fontconfig. zlib/pcre2 siguen reusándose. Deuda Capa 0. Co-Authored-By: Claude Opus 4.8 --- recipes/incoming-kde/qtbase.toml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/recipes/incoming-kde/qtbase.toml b/recipes/incoming-kde/qtbase.toml index 94060920..9fc6fb38 100644 --- a/recipes/incoming-kde/qtbase.toml +++ b/recipes/incoming-kde/qtbase.toml @@ -72,12 +72,12 @@ cmake -B build -G Ninja -Wno-dev \ -DQT_FEATURE_openssl=OFF \ -DQT_FEATURE_ssl=OFF \ -DQT_FEATURE_system_zlib=ON \ - -DQT_FEATURE_system_libpng=ON \ - -DQT_FEATURE_system_libjpeg=ON \ - -DQT_FEATURE_system_freetype=ON \ - -DQT_FEATURE_system_harfbuzz=ON \ + -DQT_FEATURE_system_libpng=OFF \ + -DQT_FEATURE_system_libjpeg=OFF \ + -DQT_FEATURE_system_freetype=OFF \ + -DQT_FEATURE_system_harfbuzz=OFF \ -DQT_FEATURE_system_pcre2=ON \ - -DQT_FEATURE_fontconfig=ON \ + -DQT_FEATURE_fontconfig=OFF \ -DQT_FEATURE_glib=OFF \ -DQT_FEATURE_opengl=ON \ -DQT_FEATURE_egl=ON \ @@ -100,7 +100,6 @@ fi # Sólo deps YA selladas + toolchain. double-conversion/libb2/icu/vulkan/xcb/cups quedan bundled u OFF. build = [ "cmake", "samurai", "python3", "pkgconf", - "glib", "freetype", "fontconfig", "harfbuzz", "libpng", "libjpeg-turbo", "pcre2", "zlib", "wayland", "wayland-protocols", "libxkbcommon", "mesa", ] @@ -113,4 +112,9 @@ build = [ # · glib → FEATURE_glib=OFF: el glib.a sellado deja símbolos indefinidos bajo -Wl,--no-undefined # (g_hmac_ref/g_strv_builder_ref/…); GTK4 lo linkea sin --no-undefined y no lo expone. # Qt trae su propio event loop ⇒ glib es opcional para una ventana. -# DEUDA Capa 0/1: para KDE con SSL/SQL/glib, reconstruir sqlite/openssl shared-PIC y glib .a completo. +# · fuentes/imágenes → system_{freetype,harfbuzz,libpng,libjpeg}=OFF + fontconfig=OFF: el link +# estático NO arrastra deps transitivas (fontconfig.a → símbolos expat XML_* indefinidos, +# el .pc sellado no las declara). En vez de iterar lib-por-lib, se BUNDLEAN en Qt (PIC +# internos, cierre completo). zlib/pcre2 SÍ se reusan (entran limpio: libz.so, pcre2.a PIC). +# DEUDA Capa 0/1: para reusar el stack sellado en KDE, hace falta el closure C shared-PIC y .pc con +# Requires.private completo (expat, etc.); mientras, el gate bundlea fuentes/imágenes.