diff --git a/kde-plasma/kwin-x11/kwin-x11-6.4.91.ebuild b/kde-plasma/kwin-x11/kwin-x11-6.4.91.ebuild index 681b6b7f0ef..c10d7240c4b 100644 --- a/kde-plasma/kwin-x11/kwin-x11-6.4.91.ebuild +++ b/kde-plasma/kwin-x11/kwin-x11-6.4.91.ebuild @@ -14,7 +14,7 @@ DESCRIPTION="Flexible, composited X window manager" LICENSE="GPL-2+" SLOT="6" KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="accessibility gles2-only lock +shortcuts systemd" +IUSE="accessibility activities gles2-only lock +shortcuts systemd" RESTRICT="test" @@ -52,7 +52,6 @@ COMMON_DEPEND=" >=kde-plasma/breeze-${KDE_CATV}:6 >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) " @@ -80,7 +80,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kirigami-${KFMIN}:6 >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata >=x11-base/xwayland-23.1.0 " @@ -113,6 +113,7 @@ src_configure() { local mycmakeargs=( # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) ) diff --git a/kde-plasma/kwin-x11/kwin-x11-6.5.49.9999.ebuild b/kde-plasma/kwin-x11/kwin-x11-6.5.49.9999.ebuild index 41d313bd878..4169c2edb04 100644 --- a/kde-plasma/kwin-x11/kwin-x11-6.5.49.9999.ebuild +++ b/kde-plasma/kwin-x11/kwin-x11-6.5.49.9999.ebuild @@ -14,7 +14,7 @@ DESCRIPTION="Flexible, composited X window manager" LICENSE="GPL-2+" SLOT="6" KEYWORDS="" -IUSE="accessibility gles2-only lock +shortcuts systemd" +IUSE="accessibility activities gles2-only lock +shortcuts systemd" RESTRICT="test" @@ -52,7 +52,6 @@ COMMON_DEPEND=" >=kde-plasma/breeze-${KDE_CATV}:6 >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) " @@ -80,7 +80,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kirigami-${KFMIN}:6 >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata >=x11-base/xwayland-23.1.0 " @@ -113,6 +113,7 @@ src_configure() { local mycmakeargs=( # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) ) diff --git a/kde-plasma/kwin-x11/kwin-x11-9999.ebuild b/kde-plasma/kwin-x11/kwin-x11-9999.ebuild index 3e571987a0b..ff018d3fd17 100644 --- a/kde-plasma/kwin-x11/kwin-x11-9999.ebuild +++ b/kde-plasma/kwin-x11/kwin-x11-9999.ebuild @@ -14,7 +14,7 @@ DESCRIPTION="Flexible, composited X window manager" LICENSE="GPL-2+" SLOT="6" KEYWORDS="" -IUSE="accessibility gles2-only lock +shortcuts systemd" +IUSE="accessibility activities gles2-only lock +shortcuts systemd" RESTRICT="test" @@ -52,7 +52,6 @@ COMMON_DEPEND=" >=kde-plasma/breeze-${KDE_CATV}:6 >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) " @@ -80,7 +80,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kirigami-${KFMIN}:6 >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata >=x11-base/xwayland-23.1.0 " @@ -113,6 +113,7 @@ src_configure() { local mycmakeargs=( # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) ) diff --git a/kde-plasma/kwin-x11/metadata.xml b/kde-plasma/kwin-x11/metadata.xml index 6dd1cdb4f22..f00ac842f53 100644 --- a/kde-plasma/kwin-x11/metadata.xml +++ b/kde-plasma/kwin-x11/metadata.xml @@ -10,6 +10,7 @@ plasma/kwin-x11 + Enable support for KDE Activities Enable screen locking via kde-plasma/kscreenlocker Enable global shortcuts support via kde-plasma/kglobalacceld diff --git a/kde-plasma/kwin/kwin-6.4.91.ebuild b/kde-plasma/kwin/kwin-6.4.91.ebuild index 92e20fe0f77..bf90115b94e 100644 --- a/kde-plasma/kwin/kwin-6.4.91.ebuild +++ b/kde-plasma/kwin/kwin-6.4.91.ebuild @@ -15,7 +15,7 @@ DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" LICENSE="GPL-2+" SLOT="6" KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="accessibility gles2-only lock screencast +shortcuts systemd X" +IUSE="accessibility activities gles2-only lock screencast +shortcuts systemd X" RESTRICT="test" @@ -55,7 +55,6 @@ COMMON_DEPEND=" >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 >=kde-plasma/kwayland-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" >=x11-libs/libxkbcommon-1.5.0 x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) screencast? ( >=media-video/pipewire-1.2.0:= ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) @@ -87,7 +87,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 >=kde-plasma/breeze-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata X? ( >=x11-base/xwayland-23.1.0[libei] ) " @@ -129,6 +129,7 @@ src_configure() { # KWIN_BUILD_DECORATIONS exists, drops aurorae, breeze # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) -DKWIN_BUILD_X11=$(usex X) diff --git a/kde-plasma/kwin/kwin-6.5.49.9999.ebuild b/kde-plasma/kwin/kwin-6.5.49.9999.ebuild index e732a9f83bb..b5626fe4d8c 100644 --- a/kde-plasma/kwin/kwin-6.5.49.9999.ebuild +++ b/kde-plasma/kwin/kwin-6.5.49.9999.ebuild @@ -15,7 +15,7 @@ DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" LICENSE="GPL-2+" SLOT="6" KEYWORDS="" -IUSE="accessibility gles2-only lock screencast +shortcuts systemd X" +IUSE="accessibility activities gles2-only lock screencast +shortcuts systemd X" RESTRICT="test" @@ -55,7 +55,6 @@ COMMON_DEPEND=" >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 >=kde-plasma/kwayland-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" >=x11-libs/libxkbcommon-1.5.0 x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) screencast? ( >=media-video/pipewire-1.2.0:= ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) @@ -87,7 +87,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 >=kde-plasma/breeze-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata X? ( >=x11-base/xwayland-23.1.0[libei] ) " @@ -129,6 +129,7 @@ src_configure() { # KWIN_BUILD_DECORATIONS exists, drops aurorae, breeze # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) -DKWIN_BUILD_X11=$(usex X) diff --git a/kde-plasma/kwin/kwin-9999.ebuild b/kde-plasma/kwin/kwin-9999.ebuild index a8d1ee48d0c..b62c00b904e 100644 --- a/kde-plasma/kwin/kwin-9999.ebuild +++ b/kde-plasma/kwin/kwin-9999.ebuild @@ -15,7 +15,7 @@ DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" LICENSE="GPL-2+" SLOT="6" KEYWORDS="" -IUSE="accessibility gles2-only lock screencast +shortcuts systemd X" +IUSE="accessibility activities gles2-only lock screencast +shortcuts systemd X" RESTRICT="test" @@ -55,7 +55,6 @@ COMMON_DEPEND=" >=kde-plasma/kdecoration-${KDE_CATV}:6 >=kde-plasma/knighttime-${KDE_CATV}:6 >=kde-plasma/kwayland-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= media-libs/fontconfig media-libs/freetype media-libs/lcms:2 @@ -71,6 +70,7 @@ COMMON_DEPEND=" >=x11-libs/libxkbcommon-1.5.0 x11-libs/xcb-util-wm accessibility? ( media-libs/libqaccessibilityclient:6 ) + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) lock? ( >=kde-plasma/kscreenlocker-${KDE_CATV}:6 ) screencast? ( >=media-video/pipewire-1.2.0:= ) shortcuts? ( >=kde-plasma/kglobalacceld-${KDE_CATV}:6 ) @@ -87,7 +87,7 @@ RDEPEND="${COMMON_DEPEND} >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-plasma/aurorae-${KDE_CATV}:6 >=kde-plasma/breeze-${KDE_CATV}:6 - >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6[activities(+)?] sys-apps/hwdata X? ( >=x11-base/xwayland-23.1.0[libei] ) " @@ -129,6 +129,7 @@ src_configure() { # KWIN_BUILD_DECORATIONS exists, drops aurorae, breeze # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it $(cmake_use_find_package accessibility QAccessibilityClient6) + $(cmake_use_find_package activities PlasmaActivities) -DKWIN_BUILD_SCREENLOCKER=$(usex lock) -DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts) -DKWIN_BUILD_X11=$(usex X) diff --git a/kde-plasma/kwin/metadata.xml b/kde-plasma/kwin/metadata.xml index 74ac27d1a3b..dc9b2b227eb 100644 --- a/kde-plasma/kwin/metadata.xml +++ b/kde-plasma/kwin/metadata.xml @@ -10,6 +10,7 @@ plasma/kwin + Enable support for KDE Activities Enable screen locking via kde-plasma/kscreenlocker Enable screencast portal using media-video/pipewire Enable global shortcuts support via kde-plasma/kglobalacceld diff --git a/kde-plasma/libplasma/files/libplasma-6.4.4-activities-optional.patch b/kde-plasma/libplasma/files/libplasma-6.4.4-activities-optional.patch new file mode 100644 index 00000000000..91a9949bf02 --- /dev/null +++ b/kde-plasma/libplasma/files/libplasma-6.4.4-activities-optional.patch @@ -0,0 +1,146 @@ +From 064b36ae32a7bef43286ec98328cf3ed1a50927a Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Wed, 2 Aug 2023 22:24:00 +0200 +Subject: [PATCH] Make PlasmaActivities optional via ENABLE_ACTIVITIES cmake + option + +Much easier after 7b02210b76e95455a58e554b83ffa015ab183b75 + +Signed-off-by: Andreas Sturmlechner +--- + CMakeLists.txt | 7 ++++++- + src/plasma/CMakeLists.txt | 5 ++++- + src/plasma/config-plasma.h.cmake | 1 + + src/plasma/containment.cpp | 8 ++++++++ + src/plasma/private/containment_p.cpp | 4 ++++ + 5 files changed, 23 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a70580ab..e98600ee0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,6 +36,8 @@ include(ECMGenerateQDoc) + option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) + add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") + ++option(ENABLE_ACTIVITIES "Enable support for Plasma Activities in containments" ON) ++ + ecm_setup_version(PROJECT + VARIABLE_PREFIX PLASMA + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/plasma_version.h" +@@ -67,13 +69,16 @@ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED + Svg + ColorScheme + ) +-find_package(PlasmaActivities REQUIRED ${PROJECT_DEP_VERSION}) + + # Wayland features + find_package(PlasmaWaylandProtocols 1.10.0 REQUIRED) + find_package(Qt6WaylandClient ${QT_MIN_VERSION} REQUIRED CONFIG) + find_package(Wayland 1.9 REQUIRED Client) + ++if(ENABLE_ACTIVITIES) ++ find_package(PlasmaActivities REQUIRED ${PROJECT_DEP_VERSION}) ++endif() ++ + option(WITHOUT_X11 "Build without X11 support (skips finding X11)." OFF) + if(NOT WITHOUT_X11) + #optional features +diff --git a/src/plasma/CMakeLists.txt b/src/plasma/CMakeLists.txt +index a196dedd8..830bb03cb 100644 +--- a/src/plasma/CMakeLists.txt ++++ b/src/plasma/CMakeLists.txt +@@ -104,11 +104,14 @@ PRIVATE + KF6::GlobalAccel #Applet::setGlobalShortcut + KF6::Notifications + KF6::IconThemes +- Plasma::Activities + KF6::Svg + ${PLASMA_EXTRA_LIBS} + ) + ++if(ENABLE_ACTIVITIES) ++ target_link_libraries(Plasma PRIVATE Plasma::Activities) ++endif() ++ + target_link_libraries(Plasma PRIVATE KF6::Package) + + set(Plasma_BUILD_INCLUDE_DIRS +diff --git a/src/plasma/config-plasma.h.cmake b/src/plasma/config-plasma.h.cmake +index e3c9b61de..bb29a6511 100644 +--- a/src/plasma/config-plasma.h.cmake ++++ b/src/plasma/config-plasma.h.cmake +@@ -1,5 +1,6 @@ + #cmakedefine01 HAVE_X11 + #cmakedefine01 HAVE_GLX + #cmakedefine01 HAVE_EGL ++#cmakedefine01 ENABLE_ACTIVITIES + + #define PLASMA_RELATIVE_DATA_INSTALL_DIR "@PLASMA_RELATIVE_DATA_INSTALL_DIR@" +diff --git a/src/plasma/containment.cpp b/src/plasma/containment.cpp +index 74d2520e0..8510a7334 100644 +--- a/src/plasma/containment.cpp ++++ b/src/plasma/containment.cpp +@@ -27,7 +27,9 @@ + #include + #include + ++#if ENABLE_ACTIVITIES + #include ++#endif + + #include "containmentactions.h" + #include "corona.h" +@@ -212,7 +214,9 @@ void Containment::save(KConfigGroup &g) const + group.writeEntry("lastScreen", d->lastScreen); + group.writeEntry("formfactor", (int)d->formFactor); + group.writeEntry("location", (int)d->location); ++#if ENABLE_ACTIVITIES + group.writeEntry("activityId", d->activityId); ++#endif + + group.writeEntry("wallpaperplugin", d->wallpaperPlugin); + +@@ -662,10 +666,14 @@ QString Containment::activity() const + + QString Containment::activityName() const + { ++#if ENABLE_ACTIVITIES + if (!d->activityInfo) { + return QString(); + } + return d->activityInfo->name(); ++#else ++ return QString(); ++#endif + } + + void Containment::reactToScreenChange() +diff --git a/src/plasma/private/containment_p.cpp b/src/plasma/private/containment_p.cpp +index b9fa81e0d..b308881ec 100644 +--- a/src/plasma/private/containment_p.cpp ++++ b/src/plasma/private/containment_p.cpp +@@ -16,7 +16,9 @@ + + #include "pluginloader.h" + ++#if ENABLE_ACTIVITIES + #include ++#endif + + #include "debug_p.h" + #include "private/applet_p.h" +@@ -34,8 +36,10 @@ ContainmentPrivate::ContainmentPrivate(Containment *c) + , uiReady(false) + , appletsUiReady(false) + { ++#if ENABLE_ACTIVITIES + activityInfo = new KActivities::Info(activityId, q); + QObject::connect(activityInfo, &KActivities::Info::nameChanged, q, &Containment::activityNameChanged); ++#endif + } + + Plasma::ContainmentPrivate::~ContainmentPrivate() +-- +2.50.1 + diff --git a/kde-plasma/libplasma/libplasma-6.4.91.ebuild b/kde-plasma/libplasma/libplasma-6.4.91.ebuild index 844f6d98e1d..92a9bed508f 100644 --- a/kde-plasma/libplasma/libplasma-6.4.91.ebuild +++ b/kde-plasma/libplasma/libplasma-6.4.91.ebuild @@ -14,7 +14,7 @@ DESCRIPTION="Plasma library and runtime components based upon KF6 and Qt6" LICENSE="LGPL-2+" SLOT="6" KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="gles2-only" +IUSE="activities gles2-only" RESTRICT="test" @@ -40,10 +40,10 @@ COMMON_DEPEND=" >=kde-frameworks/ksvg-${KFMIN}:6 >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 >=kde-frameworks/kwindowsystem-${KFMIN}:6[X] - =kde-plasma/plasma-activities-${KDE_CATV}*:6= media-libs/libglvnd x11-libs/libX11 x11-libs/libxcb + activities? ( =kde-plasma/plasma-activities-${KDE_CATV}*:6= ) !gles2-only? ( media-libs/libglvnd[X] ) " DEPEND="${COMMON_DEPEND} @@ -59,8 +59,11 @@ BDEPEND=" " BDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] https://bugs.kde.org/ plasma/libplasma - - - Must only be used by packages that are known to use private parts of the Frameworks API. - - + + Enable support for KDE Activities + diff --git a/kde-plasma/powerdevil/files/powerdevil-6.4.80-activities-optional.patch b/kde-plasma/powerdevil/files/powerdevil-6.4.80-activities-optional.patch new file mode 100644 index 00000000000..4b59ee8a735 --- /dev/null +++ b/kde-plasma/powerdevil/files/powerdevil-6.4.80-activities-optional.patch @@ -0,0 +1,268 @@ +From 8f4dbf78567ff696cd8590bb9d067439488dfaa5 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Wed, 10 Sep 2025 22:41:32 +0200 +Subject: [PATCH] Make PlasmaActivities optional via ENABLE_ACTIVITIES cmake + option + +See also: https://invent.kde.org/plasma/plasma-workspace/-/issues/35 + +Signed-off-by: Andreas Sturmlechner +--- + CMakeLists.txt | 7 ++++++- + autotests/migrateconfig/CMakeLists.txt | 2 ++ + daemon/CMakeLists.txt | 13 +++++++++++-- + daemon/config-powerdevil.h.cmake | 1 + + daemon/powerdevilcore.cpp | 13 ++++++++++--- + daemon/powerdevilcore.h | 8 ++++++-- + daemon/powerdevilmigrateconfig.cpp | 9 ++++++++- + 7 files changed, 44 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c713345..4d34c4ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,8 @@ include(KDEGitCommitHooks) + include(ECMDeprecationSettings) + include(ECMQmlModule) + ++option(ENABLE_ACTIVITIES "Enable support for Plasma Activities in daemon" ON) ++ + find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets DBus) + + if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0") +@@ -53,10 +55,13 @@ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS + XmlGui + ) + find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED) +-find_package(PlasmaActivities ${PROJECT_DEP_VERSION} REQUIRED) + find_package(KF6Screen CONFIG REQUIRED) + find_package(LibKWorkspace ${PROJECT_DEP_VERSION} REQUIRED) + ++if(ENABLE_ACTIVITIES) ++ find_package(PlasmaActivities ${PROJECT_DEP_VERSION} REQUIRED) ++endif() ++ + find_package(UDev REQUIRED) + + find_package(XCB REQUIRED COMPONENTS XCB RANDR DPMS) +diff --git a/autotests/migrateconfig/CMakeLists.txt b/autotests/migrateconfig/CMakeLists.txt +index 78b2ad66..322d792c 100644 +--- a/autotests/migrateconfig/CMakeLists.txt ++++ b/autotests/migrateconfig/CMakeLists.txt +@@ -58,6 +58,7 @@ add_migrateconfig_test( + ASSERT_NO_POWERDEVILRC_AFTER_MIGRATION + ) + ++if(ENABLE_ACTIVITIES) + add_migrateconfig_test( + NAME migrateconfig_test2_activities + INPUT_POWERDEVILRC test2_initial_powerdevilrc +@@ -73,6 +74,7 @@ add_migrateconfig_test( + EXPECTED_POWERDEVILRC test2_migrated_powerdevilrc + EXPECTED_PROFILESRC test2_migrated_powermanagementprofilesrc + ) ++endif() + + add_migrateconfig_test( + NAME migrateconfig_test3_profiles +diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt +index b0dc9397..fbf4b88c 100644 +--- a/daemon/CMakeLists.txt ++++ b/daemon/CMakeLists.txt +@@ -52,10 +52,16 @@ ecm_qt_declare_logging_category(powerdevil_log_static + kconfig_add_kcfg_files(powerdevilcore_SRCS + ${CMAKE_SOURCE_DIR}/PowerDevilGlobalSettings.kcfgc + ${CMAKE_SOURCE_DIR}/PowerDevilProfileSettings.kcfgc +- ${CMAKE_SOURCE_DIR}/PowerDevilActivitySettings.kcfgc + GENERATE_MOC + ) + ++if(ENABLE_ACTIVITIES) ++ kconfig_add_kcfg_files(powerdevilcore_SRCS ++ ${CMAKE_SOURCE_DIR}/PowerDevilActivitySettings.kcfgc ++ GENERATE_MOC ++ ) ++endif() ++ + # DBus Adaptors + + set_source_files_properties( +@@ -88,7 +94,6 @@ generate_export_header(powerdevilcore) + + # not exported, so just make the deps public + target_link_libraries(powerdevilcore +- Plasma::Activities + Qt::DBus + PW::KWorkspace + KF6::CoreAddons +@@ -111,6 +116,10 @@ target_link_libraries(powerdevilcore + Qt::WaylandClient + ) + ++if(ENABLE_ACTIVITIES) ++ target_link_libraries(powerdevilcore Plasma::Activities) ++endif() ++ + if (XCB_FOUND) # kwin kscreen helper effect + target_link_libraries(powerdevilcore XCB::XCB Qt::GuiPrivate) + endif () +diff --git a/daemon/config-powerdevil.h.cmake b/daemon/config-powerdevil.h.cmake +index 444a49cc..2be26ac9 100644 +--- a/daemon/config-powerdevil.h.cmake ++++ b/daemon/config-powerdevil.h.cmake +@@ -1 +1,2 @@ + #cmakedefine01 HAVE_XCB ++#cmakedefine01 ENABLE_ACTIVITIES +diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp +index 98e9c55c..abe33424 100644 +--- a/daemon/powerdevilcore.cpp ++++ b/daemon/powerdevilcore.cpp +@@ -13,7 +13,9 @@ + #include "powerdevilpolicyagent.h" + #include "powerdevilpowermanagement.h" + ++#if ENABLE_ACTIVITIES + #include ++#endif + #include + #include + +@@ -30,9 +32,9 @@ + #include + #include + #include +- ++#if ENABLE_ACTIVITIES + #include +- ++#endif + #include + #include + #include +@@ -56,7 +58,9 @@ Core::Core(QObject *parent) + : QObject(parent) + , m_hasDualGpu(false) + , m_criticalBatteryTimer(new QTimer(this)) ++#if ENABLE_ACTIVITIES + , m_activityConsumer(new KActivities::Consumer(this)) ++#endif + , m_pendingWakeupEvent(true) + { + KAuth::Action discreteGpuAction(QStringLiteral("org.kde.powerdevil.discretegpuhelper.hasdualgpu")); +@@ -128,10 +132,11 @@ void Core::onControllersReady() + connect(m_suspendController.get(), &SuspendController::aboutToSuspend, this, &Core::onAboutToSuspend); + connect(KIdleTime::instance(), &KIdleTime::timeoutReached, this, &Core::onKIdleTimeoutReached); + connect(KIdleTime::instance(), &KIdleTime::resumingFromIdle, this, &Core::onResumingFromIdle); ++#if ENABLE_ACTIVITIES + connect(m_activityConsumer, &KActivities::Consumer::currentActivityChanged, this, [this]() { + loadProfile(); + }); +- ++#endif + // Set up the policy agent + PowerDevil::PolicyAgent::instance()->init(m_globalSettings); + // When inhibitions change, simulate user activity, see Bug 315438 +@@ -379,6 +384,7 @@ void Core::loadProfile(bool force) + Q_EMIT profileChanged(m_currentProfile); + } + ++#if ENABLE_ACTIVITIES + // Check the activity in which we are in + const QString activity = m_activityConsumer->currentActivity(); + qCDebug(POWERDEVIL) << "Currently using activity" << activity; +@@ -415,6 +421,7 @@ void Core::loadProfile(bool force) + } + } + } ++#endif + + // If the lid is closed, retrigger the lid close signal + // so that "switching profile then closing the lid" has the same result as +diff --git a/daemon/powerdevilcore.h b/daemon/powerdevilcore.h +index af4c5010..5207e893 100644 +--- a/daemon/powerdevilcore.h ++++ b/daemon/powerdevilcore.h +@@ -6,6 +6,8 @@ + + #pragma once + ++#include ++ + #include + #include + #include +@@ -26,10 +28,12 @@ + #include "controllers/suspendcontroller.h" + #include "powerdevilcore_export.h" + ++#if ENABLE_ACTIVITIES + namespace KActivities + { + class Consumer; + } // namespace KActivities ++#endif + + class QDBusServiceWatcher; + class QTimer; +@@ -179,9 +183,9 @@ private: + QPointer m_criticalBatteryNotification; + QPointer m_powerCordPluggedInNotification; + QPointer m_powerCordUnpluggedNotification; +- ++#if ENABLE_ACTIVITIES + KActivities::Consumer *const m_activityConsumer; +- ++#endif + // Idle time management + QHash> m_registeredActionTimeouts; + QSet m_pendingResumeFromIdleActions; +diff --git a/daemon/powerdevilmigrateconfig.cpp b/daemon/powerdevilmigrateconfig.cpp +index c2b599f6..7e7e38a2 100644 +--- a/daemon/powerdevilmigrateconfig.cpp ++++ b/daemon/powerdevilmigrateconfig.cpp +@@ -4,11 +4,15 @@ + * SPDX-License-Identifier: GPL-2.0-or-later + */ + ++#include ++ + #include "powerdevilmigrateconfig.h" + + #include "powerdevilenums.h" + ++#if ENABLE_ACTIVITIES + #include ++#endif + #include + #include + +@@ -37,6 +41,7 @@ struct IdentityTransformer { + namespace PowerDevil + { + ++#if ENABLE_ACTIVITIES + void migrateActivitiesConfig(KSharedConfig::Ptr profilesConfig) + { + KConfigGroup migrationGroup = profilesConfig->group(QStringLiteral("Migration")); +@@ -67,7 +72,7 @@ void migrateActivitiesConfig(KSharedConfig::Ptr profilesConfig) + migrationGroup.writeEntry("MigratedActivitiesToPlasma6", "powerdevilrc"); + profilesConfig->sync(); + } +- ++#endif + void ensureLockScreenIdleTimeoutInKScreenLockerKCM(int seconds) + { + KSharedConfig::Ptr lockerConfig = KSharedConfig::openConfig(QStringLiteral("kscreenlockerrc")); +@@ -244,7 +249,9 @@ void migrateConfig(bool isMobile, bool isVM, bool canSuspend) + KSharedConfig::Ptr profilesConfig = KSharedConfig::openConfig(QStringLiteral("powermanagementprofilesrc")); + // TODO KF7 (or perhaps earlier): Remove Plasma 5->6 migration code and delete powermanagementprofilesrc + ++#if ENABLE_ACTIVITIES + migrateActivitiesConfig(profilesConfig); ++#endif + migrateProfilesConfig(profilesConfig, isMobile, isVM, canSuspend); + } + +-- +2.51.0 + diff --git a/kde-plasma/powerdevil/metadata.xml b/kde-plasma/powerdevil/metadata.xml index cbdb11c08fc..4606de59ea6 100644 --- a/kde-plasma/powerdevil/metadata.xml +++ b/kde-plasma/powerdevil/metadata.xml @@ -10,6 +10,7 @@ plasma/powerdevil + Enable support for KDE Activities Enable screen brightness control using app-misc/ddcutil diff --git a/kde-plasma/powerdevil/powerdevil-6.4.91.ebuild b/kde-plasma/powerdevil/powerdevil-6.4.91.ebuild index d70e824604f..a8cf0d0b931 100644 --- a/kde-plasma/powerdevil/powerdevil-6.4.91.ebuild +++ b/kde-plasma/powerdevil/powerdevil-6.4.91.ebuild @@ -15,7 +15,7 @@ HOMEPAGE="https://invent.kde.org/plasma/powerdevil" LICENSE="GPL-2" # TODO: CHECK SLOT="6" KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="brightness-control" +IUSE="activities brightness-control" RESTRICT="test" # bug 926513 @@ -45,10 +45,10 @@ COMMON_DEPEND=" >=kde-frameworks/solid-${KFMIN}:6 >=kde-plasma/libkscreen-${KDE_CATV}:6 >=kde-plasma/libplasma-${KDE_CATV}:6 - >=kde-plasma/plasma-activities-${KDE_CATV}:6= >=kde-plasma/plasma-workspace-${KDE_CATV}:6 virtual/libudev:= x11-libs/libxcb + activities? ( >=kde-plasma/plasma-activities-${KDE_CATV}:6= ) brightness-control? ( app-misc/ddcutil:= ) " DEPEND="${COMMON_DEPEND} @@ -73,8 +73,11 @@ BDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] =dev-qt/qtbase-6.10:6[wayland] =dev-qt/qtbase-6.10:6[wayland]