# kcoreaddons 6.27.0 — framework KF6 tier-1 más fundamental (KAboutData, KFormat, KJob, KProcess…). # Solo Qt6Core + ECM; base de casi todo KF6. Campaña KDE (ADR 0011), Capa 2. Patrón KF6 = patrón módulo # Qt (dynamic, wrappers zig, CMAKE_PREFIX_PATH=/usr) + dep extra-cmake-modules. Python bindings y docs # apagados. Core-only ⇒ sin el set Gui (mesa/xkb/wayland). # # ── `KCOREADDONS_USE_QML=ON` (2026-09-03): EL MENÚ DE APLICACIONES NO ABRÍA SIN ESTO ───────────── # Estuvo en OFF desde que se escribió la receta, con el argumento razonable de que un framework # tier-1 no debería arrastrar QML. El precio no se vio hasta hacer CLIC en el lanzador del panel # dentro de QEMU, donde Plasma contesta con el diálogo entero: # # qrc:/qt/qml/plasma/applet/org/kde/plasma/kickoff/main.qml:191:25: Type FullRepresentation unavailable # .../FullRepresentation.qml:69:13: Type Header unavailable # .../Header.qml:18:1: module "org.kde.coreaddons" is not installed # # `kickoff` —el menú, o sea la puerta de entrada del escritorio— importa `org.kde.coreaddons` para # `KUser`/`KFormat` desde QML, y ese módulo lo instala ESTA receta y ninguna otra. Con el flag en OFF # la librería C++ sale completa, todos sus 70 consumidores enlazan bien, el perfil reporta 100% y el # menú no abre. **Es la forma más pura del «sellado ≠ arranca»: no falta una librería, falta una # porción OPCIONAL de una librería que sí está.** # # `qtdeclarative` ya estaba en `[deps].build` (lo pedían otros consumidores del cierre), así que # prenderlo no agrega una dep: sólo deja de tirar a la basura lo que ya se podía construir. # # ⚠ COSTO, medido antes de tocar: `yupana radio kcoreaddons` = **71** recetas KDE que caen a deuda, # porque el ArtifactHash cambia y con él el de todo lo que cuelga. Es campaña de granja, no ticket. # # EL BARRIDO QUE LO ENCUENTRA SIN HACER CLIC, para la próxima: cruzar los `import` de los `.qml` # INSTALADOS en el rootfs contra los módulos QML que tienen `qmldir`. Además de éste destapó que # faltan `org.kde.kscreenlocker` y `org.kde.newstuff.core` — dos huecos del mismo tipo, sin diagnosticar. name = "kcoreaddons" version = "6.27.0" license = "LGPL-2.1-or-later OR LGPL-3.0-or-later" [source] tarball = "https://download.kde.org/stable/frameworks/6.27/kcoreaddons-6.27.0.tar.xz" sha256 = "ad0d0147968dabdcf011425cf7764e71a0d0cfdc30e9e34b561ea5ba9a768001" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] [build.phases] configure = ''' # Wrapper zig que FILTRA -Wl,--fatal-warnings: ECM (KDECompilerSettings) lo agrega y el linker de zig # lo rechaza ("unsupported linker arg"). Patrón KF6 (todos los frameworks usan ECM). ZW="$PWD/.zwrap"; mkdir -p "$ZW" cat > "$ZW/cc" <<'W' #!/bin/sh a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done exec /opt/zig/zig cc -mcpu=baseline $a W cat > "$ZW/cxx" <<'W' #!/bin/sh a=""; for x in "$@"; do [ "$x" = "-Wl,--fatal-warnings" ] && continue; a="$a $x"; done exec /opt/zig/zig c++ -mcpu=baseline $a W chmod +x "$ZW/cc" "$ZW/cxx" cmake -B build -G Ninja -Wno-dev \ -DCMAKE_C_COMPILER="$ZW/cc" -DCMAKE_CXX_COMPILER="$ZW/cxx" -DCMAKE_ASM_COMPILER="$ZW/cc" \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF \ -DBUILD_TESTING=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_DESIGNERPLUGIN=OFF \ -DKCOREADDONS_USE_QML=ON ''' compile = "cmake --build build" install = "DESTDIR=/out cmake --install build" [deps] build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "extra-cmake-modules", "util-linux", "qttools", "qtdeclarative", "mesa", "libdrm", "libxkbcommon", "wayland"]