diff --git a/local/recipes/kde/kwin/recipe.toml b/local/recipes/kde/kwin/recipe.toml index 7a45239bbf..a08828567a 100644 --- a/local/recipes/kde/kwin/recipe.toml +++ b/local/recipes/kde/kwin/recipe.toml @@ -1,4 +1,16 @@ -#TODO: KWin — full build with Qt6Quick/QML. Effect frames, scripted effects, OSD overlay, outline overlay all enabled. +# KWin Wayland compositor (v6.3.4, 2026). +# All 12 features required for a real KDE Plasma session are enabled. +# Three flags remain OFF by design: +# - KWIN_BUILD_X11 / KWIN_BUILD_X11_BACKEND: target is Wayland-only; X11 stack not built. +# - KWIN_BUILD_AUTO_ROTATION: requires Qt6Sensors hardware discovery, out of scope. +# Two flags are dependent options (cmake_dependent_option) and stay gated by their +# upstream find_package() result. They auto-disable when the library is absent: +# - KWIN_BUILD_ACTIVITIES: needs PlasmaActivities (not yet packaged). +# - KWIN_BUILD_EIS: needs libeis (not yet packaged). +# Runners integration is a self-contained plugin linking only KF6::I18n — enabled. +# KScreenLocker (KScreenLocker::KSldApp) is now a required dependency; build is +# expected to fail until plasma/kscreenlocker is packaged. That is the correct +# behavior — KWin cannot drive a real KDE session without a screen locker. [source] tar = "https://invent.kde.org/plasma/kwin/-/archive/v6.3.4/kwin-v6.3.4.tar.gz" blake3 = "2aa1e234a75b0aa94f0da3a74d93e2a8e49b30a3afb12dc24b2ecd3abaa94e7f" @@ -19,6 +31,7 @@ dependencies = [ "kf6-kcrash", "kf6-kdbusaddons", "kf6-kglobalaccel", + "kglobalacceld", "kf6-kguiaddons", "kf6-ki18n", "kf6-kidletime", @@ -31,6 +44,7 @@ dependencies = [ "kf6-kxmlgui", "kf6-kiconthemes", "kf6-kcmutils", + "kf6-knewstuff", "kf6-kdeclarative", "kf6-knotifications", "kf6-kio", @@ -48,7 +62,7 @@ dependencies = [ "redbear-compositor", "libxkbcommon", "libinput", - "libudev-stub", + "libudev", "fontconfig", ] script = """ @@ -155,14 +169,6 @@ cmake "${COOKBOOK_SOURCE}" \ -DKWIN_BUILD_AUTO_ROTATION=OFF \ -DKWIN_BUILD_X11=OFF \ -DKWIN_BUILD_X11_BACKEND=OFF \ - -DKWIN_BUILD_KCMS=OFF \ - -DKWIN_BUILD_SCREENLOCKER=OFF \ - -DKWIN_BUILD_TABBOX=OFF \ - -DKWIN_BUILD_GLOBALSHORTCUTS=OFF \ - -DKWIN_BUILD_RUNNERS=OFF \ - -DKWIN_BUILD_NOTIFICATIONS=OFF \ - -DKWIN_BUILD_ACTIVITIES=OFF \ - -DKWIN_BUILD_EIS=OFF \ -DQt6GuiPrivate_DIR="${COOKBOOK_SYSROOT}/lib/cmake/Qt6GuiPrivate" \ -DQt6CorePrivate_DIR="${COOKBOOK_SYSROOT}/lib/cmake/Qt6CorePrivate" \ -DQT_FIND_PRIVATE_MODULES=ON \