El grafo de build de KF6/Qt converge en qtbase/kcoreaddons por decenas de rutas; artifact_hash_rec
recorría cada camino sin caché ⇒ O(nº caminos) exponencial. Memo por path canónico de receta.
El hash resultante es idéntico (sólo cachea) ⇒ no invalida artefactos sellados.
kwin CONFIGURA OK (todos los REQUIRED hallados: Vulkan/KWayland/KNightTime/libinput/etc.) y compila
hasta [880/1827], pero ki18n build-pofiles falla: msgfmt de gettext-tiny (minimal) crashea con las
traducciones de kwin. Quitamos po/ → sin traducciones (deuda i18n diferida). Único blocker restante.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
KNightTimeConfig.cmake hace find_dependency(Qt6Positioning + KF6Holidays) → kwin necesita ambos en
deps directas (regla cierre transitivo). KWayland ya resuelto. Último REQUIRED faltante.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kwayland 6.7.2 (integración Wayland cliente, Qt6WaylandClientPrivate de qtwayland). kwin lo exige
para el plugin de plataforma wayland. Era el último REQUIRED faltante (con KNightTime ya sellado).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
El sed previo no matcheó (array [deps].build multilínea) → vulkan-loader/headers no se agregaron.
Ahora sí en la línea del sustrato GL/DRM.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
lcms2 hwdata libxcvt libdisplay-info qtwayland kauth kidletime sellados. qtwayland (QtWaylandCompositor)
construye con el set X11. Falta kwin (4 blockers: Vulkan/Canberra/KNightTime/libinput).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sustrato para el compositor. qtwayland (QtWaylandCompositor server-side, kwin lo exige) con SET X11.
libdisplay-info↝hwdata (pnp.ids). kauth/kidletime frameworks. kwin escrito completo (95 deps cierre) pero
con 4 BLOCKERS DUROS: Vulkan REQUIRED (falta vulkan-headers/loader), Canberra REQUIRED (parcheable),
KNightTime (qtpositioning+kholidays), libinput≥1.28 (canónica 1.27.1). KScreenLocker OFF por flag.
pixman/libevdev/mtdev/libinput ya existen en recipes/ raíz (mirada).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
libplasma con WITHOUT_X11=OFF (X11 habilitado): con qtbase-xcb + kwindowsystem-X11 + set X11 en deps,
el path X11 es consistente (BlurEffectWatcher::nativeEventFilter implementado bajo HAVE_X11). Antes con
WITHOUT_X11=ON pero X11 presente el guard quedaba inconsistente (pure virtual sin implementar).
Plasma-foundation 5/5: kdecoration ksvg plasma-activities kglobalacceld libplasma (+qt5compat).
DEUDA Qt-xcb SALDADA END-TO-END: qtbase-xcb (libqxcb.so) → kwindowsystem-X11 (KX11Extras) → kio-X11 →
libplasma. El overlay-merge (fix KIO) probado con dep-sets de ~66 (libplasma). Camino a kwin/plasmashell abierto.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Con qtbase-xcb + kwindowsystem-X11, kio activa find_package(X11) → necesita libX11/xorgproto/libXext/
Xfixes/Xrender/Xi/Xau/Xdmcp/xcb. Sellado (44376420). Patrón: TODO consumidor de kwindowsystem-X11 que
haga find_package(X11) necesita el set X11 (cascada del Qt-xcb). Logging debug de merge_deps_layer
revertido (sirvió para diagnosticar: el fallo X11 era de kio, no libplasma).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- kwindowsystem KWINDOWSYSTEM_X11=ON sella (d7a1fad7, KX11Extras) con libXfixes/Xext/Xrender/Xi.
- qtbase-xcb (8ead29a2, libqxcb.so) + kwindowsystem-X11 sellados → deuda Qt-xcb SALDADA a nivel infra.
- libplasma BLOQUEADO por bug del overlay-merge (sandbox.rs): con dep-sets grandes (~45) el merge por
hardlinks dropea archivos de algunas deps (libX11/xorgproto) ⇒ find_package(X11) falla. KIO (43 deps)
lo toleró (WITH_X11=OFF). El cp -alf manual de xorgproto+libX11 funciona aislado; el bug aparece en el
merge de 45 deps (¿conflicto/overwrite entre deps? ¿cp devuelve 0 saltando archivos?). Requiere fix del
merge (verificar cp per-file, o estrategia distinta). qtbase-xcb+kwindowsystem-X11 quedan sellados.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Con qtbase-xcb (libqxcb.so), kwindowsystem construye el backend X11 (usa qtx11extras_p.h) → provee
KX11Extras que libplasma exige. +deps cadena X11 (libxcb/libX11/xcb-util-keysyms/wm/libXau/libXdmcp).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
El gate xkbcommon-x11 de Qt usa pkg_check_modules(IMPORTED_TARGET) que resuelve TODO el árbol Requires:
xkbcommon-x11→xcb→(xau/xdmcp Requires.private de xcb.pc). Sin xau.pc/xdmcp.pc el target
PkgConfig::XKB_COMMON_X11 no se creaba → XcbQpaPrivate abortaba. Agregados libXau+libXdmcp+xtrans a
deps + PKG_CONFIG_PATH. Configure PASA con xcb=ON, qtbase compila la QPA xcb. Deuda Qt-xcb SALDADA.
Cascada rebuild qtbase→Capa1→KF6→kio→plasma en marcha.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Activar QT_FEATURE_xcb=ON falla en configure: Qt 6.11 no crea PkgConfig::XKB_COMMON_X11 pese a que
xkbcommon-x11.pc existe (override enable-x11) y su cadena Requires resuelve (xcb-xkb en libxcb),
incluso con PKG_CONFIG_PATH explícito. Detalle del build-system de Qt a investigar (feature
xkbcommon_x11/system_xkbcommon o patch a la QPA xcb CMakeLists). Dejo qtbase en xcb=OFF (buildable,
SSL intacto, hash a3c76e8a vigente) para catálogo coherente. Cadena enabler (12 libs) queda sellada
+ committeada para el próximo intento. Instrucciones de reactivación en el comentario del .toml.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Completa la cadena X11 para habilitar QT_FEATURE_xcb=ON en qtbase (deuda Qt-xcb, task #6).
SHAs reales x.org. libxkbcommon override (enable-x11=true → libxkbcommon-x11.so). GOTCHA .pc
transitivo (libXau/libXdmcp) en las 8. Prepara la cascada Qt-xcb (idéntica a la SSL).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- qt5compat 6.11.1 (Qt5Compat.GraphicalEffects, +qtshadertools por qtgraphicaleffectsprivate). Sellado.
- kdecoration/ksvg/plasma-activities/kglobalacceld sellados con qtbase-SSL.
- libplasma BLOQUEADO en la deuda Qt-xcb (task #6): pese a -DWITHOUT_X11=ON, blureffectwatcher usa
xcb/xcb.h y theme_p.cpp usa KX11Extras (de kwindowsystem-X11, que necesita Qt-xcb). En 6.7.2 el
guard WITHOUT_X11 es incompleto. Primer componente que EXIGE saldar Qt-xcb (qtbase xcb=ON +
xcb-util-image/renderutil/cursor + libxkbcommon-x11 + kwindowsystem KWINDOWSYSTEM_X11=ON + cascade).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kcmutils hace ecm_find_qmlmodule(org.kde.kirigami) ⇒ necesita el módulo QML de kirigami materializado.
Tier-4: attica kpackage kirigami kparts kcmutils knewstuff — todos sellados con qtbase-SSL.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SHAs reales 6.27.0, cierre transitivo KIO completo en kparts/kcmutils. attica Qt6-only.
kirigami: QuickControls2+ShaderTools (de qtdeclarative/qtshadertools). Ninguna con WITH_X11 en 6.27.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
KIO (ksslerroruidata.cpp) usa QSslSocket → exige Qt con SSL, pero el gate tenía openssl OFF
(libcrypto.a/libssl.a static sin PIC no entran en .so). Variante openssl-PIC (-fPIC en Configure,
override incoming-kde) + qtbase openssl=ON/openssl_linked=ON/ssl=ON + openssl en deps → libQt6Network
con QSslSocket completo. Cascada rebuild qtbase→Capa1→KF6 (nuevo hash qtbase). Desbloquea KIO + todo
el networking Qt. Deuda Capa 0 SSL CERRADA.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
overlayfs concatena todas las lowerdir en un string de opciones acotado a ~1 página (4096B). KIO
(~43 deps) desbordaba → bwrap 'Can't make overlay mount ... No such file or directory' (truncado).
bwrap CANONICALIZA cada --overlay-src a su ruta real, así que symlinks cortos no ayudan (probado).
Fix: cuando la suma de rutas supera ~3000B, se funden todas las deps en un dir real por hardlinks
(cp -alf, last-wins = misma semántica que el apilado overlay) y se pasa esa ÚNICA capa ⇒ lowerdir
constante, escala a cientos de deps (todo Plasma/apps). Cacheado por build con marker .done (una vez
aunque bwrap_args corra por fase). Pocas deps = ruta directa sin I/O (sandbox idéntico, tests intactos).
Validado: KIO configura con 43 deps visibles y compila. 57 tests verdes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SHAs reales 6.27.0, deps del cierre transitivo completo leído subdir por subdir.
- kio: WITH_X11=OFF (kioexec usa qtx11extras); LibMount→util-linux(shared); ACL RECOMMENDED (off);
help worker gated por DocTools (no sellado, no compila).
- kfilemetadata: Xattr TYPE REQUIRED sorteado (-DXATTR_INCLUDE_DIRS=/usr -DXATTR_LIBRARIES=c;
musl tiene xattr en libc, no hay libattr.so; las vars sólo se usan en FindXattr).
- kdeclarative: qtshadertools REQUIRED (graphicaleffects); NO depende de kio.
- kdnssd: Avahi opcional (backend dummy sin él).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>