commit:     61506604fbdb11d055c87873cbc993b2c8d7a6df
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sun Jun 19 10:03:02 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sun Jun 19 10:23:55 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=61506604

kde-plasma/powerdevil: Add USE=+wireless for energy saving

Package-Manager: portage-2.2.28

 .../powerdevil-5.6.95-wireless-optional.patch      | 177 +++++++++++++++++++++
 kde-plasma/powerdevil/metadata.xml                 |   3 +
 kde-plasma/powerdevil/powerdevil-5.6.95.ebuild     |  17 +-
 .../powerdevil/powerdevil-5.7.49.9999.ebuild       |  17 +-
 kde-plasma/powerdevil/powerdevil-9999.ebuild       |  15 +-
 5 files changed, 226 insertions(+), 3 deletions(-)

diff --git 
a/kde-plasma/powerdevil/files/powerdevil-5.6.95-wireless-optional.patch 
b/kde-plasma/powerdevil/files/powerdevil-5.6.95-wireless-optional.patch
new file mode 100644
index 0000000..b1731c7
--- /dev/null
+++ b/kde-plasma/powerdevil/files/powerdevil-5.6.95-wireless-optional.patch
@@ -0,0 +1,177 @@
+commit 7d8a12c65dbbb8166beee53b4bb0c1f2fdede6c6
+Author: Andreas Sturmlechner <andreas.sturmlech...@gmail.com>
+Date:   Sun Jun 19 12:14:25 2016 +0200
+
+    Revert-Revert "Make NetworkManagerQt and BluezQt optional"
+    
+    This reverts commit f2018a8d3c5f2824278bb167cb48d938ca2670c4.
+    
+    commit 3257be562b2c48eb11c9e32f7e4fd82ea7fb090b
+    Author: Heiko Becker <heire...@exherbo.org>
+    Date:   Wed Jun 15 23:07:46 2016 +0200
+    
+    Summary:
+    While it is most certainly sensible and helpful on a system equipped
+    with Bluetooth and Wi-Fi hardware, it serves no purpose on a desktop
+    system without these and just pulls in a long chain of unwanted
+    dependencies.
+    
+    Test Plan: Successfully built with BluezQt and NetworkManagerQt present 
and missing.
+    
+    Reviewers: #plasma, broulik
+    
+    Subscribers: plasma-devel
+    
+    Tags: #plasma
+    
+    Differential Revision: https://phabricator.kde.org/D1944
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6b631b4..6117f75 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,9 +22,32 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ endif()
+ 
+ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets DBus 
X11Extras)
+-find_package(KF5 REQUIRED COMPONENTS Activities Auth IdleTime Config 
DBusAddons Solid I18n GlobalAccel KIO NotifyConfig Screen KDELibs4Support 
Wayland NetworkManagerQt BluezQt)
++find_package(KF5 REQUIRED COMPONENTS Activities Auth IdleTime Config 
DBusAddons Solid I18n GlobalAccel KIO NotifyConfig Screen KDELibs4Support 
Wayland)
+ find_package(LibKWorkspace CONFIG REQUIRED)
+ 
++find_package(KF5BluezQt)
++set_package_properties(KF5BluezQt
++    PROPERTIES DESCRIPTION "Qt wrapper for BlueZ 5 DBus API"
++    TYPE OPTIONAL
++    PURPOSE "Support for wireless energy saving actions"
++)
++find_package(KF5NetworkManagerQt)
++set_package_properties(KF5NetworkManagerQt
++    PROPERTIES DESCRIPTION "Qt wrapper for NetworkManager API"
++    TYPE OPTIONAL
++    PURPOSE "Support for wireless energy saving actions"
++)
++
++set(HAVE_WIRELESS_SUPPORT FALSE)
++if(KF5NetworkManagerQt_FOUND AND KF5BluezQt_FOUND)
++    set(HAVE_WIRELESS_SUPPORT TRUE)
++endif()
++add_feature_info(
++    "Wireless power saving"
++    HAVE_WIRELESS_SUPPORT
++    "Support turning off signal-transmitting devices to save energy"
++)
++
+ find_package(UDev REQUIRED)
+ 
+ find_package(XCB REQUIRED COMPONENTS XCB RANDR DPMS)
+diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
+index 4b0aafd..9c9b897 100644
+--- a/daemon/CMakeLists.txt
++++ b/daemon/CMakeLists.txt
+@@ -19,9 +19,14 @@ set(powerdevil_bundled_actions_SRCS
+     actions/bundled/dimdisplay.cpp
+     actions/bundled/runscript.cpp
+     actions/bundled/handlebuttonevents.cpp
+-    actions/bundled/wirelesspowersaving.cpp
+ )
+ 
++if(HAVE_WIRELESS_SUPPORT)
++    set(powerdevil_bundled_actions_SRCS ${powerdevil_bundled_actions_SRCS}
++        actions/bundled/wirelesspowersaving.cpp
++    )
++endif()
++
+ # target no.1 - powerdevil core library
+ set(powerdevilcore_SRCS
+     powerdevil_debug.cpp
+@@ -49,8 +54,10 @@ qt5_add_dbus_adaptor(powerdevilcore_SRCS 
actions/bundled/org.kde.Solid.PowerMana
+                      actions/bundled/handlebuttonevents.h 
PowerDevil::BundledActions::HandleButtonEvents)
+ qt5_add_dbus_adaptor(powerdevilcore_SRCS 
actions/bundled/org.kde.Solid.PowerManagement.Actions.SuspendSession.xml
+                      actions/bundled/suspendsession.h 
PowerDevil::BundledActions::SuspendSession)
+-qt5_add_dbus_adaptor(powerdevilcore_SRCS 
actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
+-                     actions/bundled/wirelesspowersaving.h 
PowerDevil::BundledActions::WirelessPowerSaving)
++if(HAVE_WIRELESS_SUPPORT)
++    qt5_add_dbus_adaptor(powerdevilcore_SRCS 
actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
++                         actions/bundled/wirelesspowersaving.h 
PowerDevil::BundledActions::WirelessPowerSaving)
++endif()
+ 
+ add_library(powerdevilcore SHARED ${powerdevilcore_SRCS} 
${powerdevil_bundled_actions_SRCS})
+ set_target_properties(powerdevilcore PROPERTIES VERSION 
${POWERDEVIL_CORE_VERSION_STRING} SOVERSION ${POWERDEVIL_CORE_VERSION_MAJOR})
+@@ -70,11 +77,16 @@ target_link_libraries(powerdevilcore
+     KF5::WidgetsAddons
+     KF5::Notifications
+     KF5::XmlGui
+-    KF5::NetworkManagerQt
+-    KF5::BluezQt
+     PW::KWorkspace
+ )
+ 
++if(HAVE_WIRELESS_SUPPORT)
++    target_link_libraries(powerdevilcore
++        KF5::NetworkManagerQt
++        KF5::BluezQt
++    )
++endif()
++
+ if (XCB_FOUND) # kwin kscreen helper effect
+     target_link_libraries(powerdevilcore Qt5::X11Extras XCB::XCB)
+ endif ()
+diff --git a/daemon/actions/bundled/CMakeLists.txt 
b/daemon/actions/bundled/CMakeLists.txt
+index e3e8eeb..9623b57 100644
+--- a/daemon/actions/bundled/CMakeLists.txt
++++ b/daemon/actions/bundled/CMakeLists.txt
+@@ -19,8 +19,9 @@ add_powerdevil_bundled_action(keyboardbrightnesscontrol)
+ add_powerdevil_bundled_action(dimdisplay)
+ add_powerdevil_bundled_action(runscript KF5::KIOCore KF5::KIOWidgets)
+ add_powerdevil_bundled_action(suspendsession KF5::KIOCore KF5::KIOWidgets 
KF5::Solid KF5::KDELibs4Support)
+-add_powerdevil_bundled_action(wirelesspowersaving KF5::NetworkManagerQt 
KF5::BluezQt)
+-
++if(HAVE_WIRELESS_SUPPORT)
++    add_powerdevil_bundled_action(wirelesspowersaving KF5::NetworkManagerQt 
KF5::BluezQt)
++endif()
+ 
+ set(actionconfig_SRCS handlebuttoneventsconfig.cpp)
+ qt5_add_dbus_interface(actionconfig_SRCS
+diff --git a/daemon/config-powerdevil.h.cmake 
b/daemon/config-powerdevil.h.cmake
+index 62938dc..042317d 100644
+--- a/daemon/config-powerdevil.h.cmake
++++ b/daemon/config-powerdevil.h.cmake
+@@ -1,2 +1,5 @@
+ /* Defines if you have XCB */
+ #cmakedefine HAVE_XCB 1
++
++/* Define to 1 if you have NetworkManagerQt and BluezQt libs. */
++#cmakedefine HAVE_WIRELESS_SUPPORT 1
+diff --git a/daemon/powerdevilactionpool.cpp b/daemon/powerdevilactionpool.cpp
+index 7ef823a..2864483 100644
+--- a/daemon/powerdevilactionpool.cpp
++++ b/daemon/powerdevilactionpool.cpp
+@@ -24,6 +24,8 @@
+ #include "powerdevilcore.h"
+ #include "powerdevil_debug.h"
+ 
++#include <config-powerdevil.h>
++
+ #include <KConfigGroup>
+ #include <KServiceTypeTrader>
+ #include <KPluginInfo>
+@@ -38,7 +40,9 @@
+ #include "actions/bundled/dimdisplay.h"
+ #include "actions/bundled/runscript.h"
+ #include "actions/bundled/handlebuttonevents.h"
++#ifdef HAVE_WIRELESS_SUPPORT
+ #include "actions/bundled/wirelesspowersaving.h"
++#endif
+ 
+ namespace PowerDevil
+ {
+@@ -127,7 +131,9 @@ void ActionPool::init(PowerDevil::Core *parent)
+     m_actionPool.insert("DimDisplay", new BundledActions::DimDisplay(parent));
+     m_actionPool.insert("RunScript", new BundledActions::RunScript(parent));
+     m_actionPool.insert("HandleButtonEvents", new 
BundledActions::HandleButtonEvents(parent));
++#ifdef HAVE_WIRELESS_SUPPORT
+     m_actionPool.insert("WirelessPowerSaving", new 
BundledActions::WirelessPowerSaving(parent));
++#endif
+ 
+     // Verify support
+     QHash<QString,Action*>::iterator i = m_actionPool.begin();

diff --git a/kde-plasma/powerdevil/metadata.xml 
b/kde-plasma/powerdevil/metadata.xml
index 2fdbf33..19e9234 100644
--- a/kde-plasma/powerdevil/metadata.xml
+++ b/kde-plasma/powerdevil/metadata.xml
@@ -5,4 +5,7 @@
                <email>k...@gentoo.org</email>
                <name>Gentoo KDE Project</name>
        </maintainer>
+       <use>
+               <flag name="wireless">Enable wireless energy saving actions via 
<pkg>kde-frameworks/bluez-qt</pkg> and 
<pkg>kde-frameworks/networkmanager-qt</pkg></flag>
+       </use>
 </pkgmetadata>

diff --git a/kde-plasma/powerdevil/powerdevil-5.6.95.ebuild 
b/kde-plasma/powerdevil/powerdevil-5.6.95.ebuild
index 2b31521..40333ad 100644
--- a/kde-plasma/powerdevil/powerdevil-5.6.95.ebuild
+++ b/kde-plasma/powerdevil/powerdevil-5.6.95.ebuild
@@ -10,7 +10,7 @@ inherit kde5
 DESCRIPTION="Power management for KDE Plasma Shell"
 HOMEPAGE="https://projects.kde.org/projects/kde/workspace/powerdevil";
 KEYWORDS="~amd64 ~x86"
-IUSE="systemd"
+IUSE="systemd +wireless"
 
 DEPEND="
        $(add_frameworks_dep kactivities)
@@ -40,6 +40,10 @@ DEPEND="
        $(add_qt_dep qtx11extras)
        virtual/libudev:=
        x11-libs/libxcb
+       wireless? (
+               $(add_frameworks_dep bluez-qt)
+               $(add_frameworks_dep networkmanager-qt)
+       )
 "
 
 RDEPEND="${DEPEND}
@@ -60,6 +64,17 @@ RDEPEND="${DEPEND}
        !kde-base/systemsettings:4[handbook]
 "
 
+PATCHES=( "${FILESDIR}/${PN}-5.6.95-wireless-optional.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package wireless KF5BluezQt)
+               $(cmake-utils_use_find_package wireless KF5NetworkManagerQt)
+       )
+
+       kde5_src_configure
+}
+
 src_install() {
        kde5_src_install
 

diff --git a/kde-plasma/powerdevil/powerdevil-5.7.49.9999.ebuild 
b/kde-plasma/powerdevil/powerdevil-5.7.49.9999.ebuild
index df85953..d7b3c02 100644
--- a/kde-plasma/powerdevil/powerdevil-5.7.49.9999.ebuild
+++ b/kde-plasma/powerdevil/powerdevil-5.7.49.9999.ebuild
@@ -10,7 +10,7 @@ inherit kde5
 DESCRIPTION="Power management for KDE Plasma Shell"
 HOMEPAGE="https://projects.kde.org/projects/kde/workspace/powerdevil";
 KEYWORDS=""
-IUSE="systemd"
+IUSE="systemd +wireless"
 
 DEPEND="
        $(add_frameworks_dep kactivities)
@@ -40,6 +40,10 @@ DEPEND="
        $(add_qt_dep qtx11extras)
        virtual/libudev:=
        x11-libs/libxcb
+       wireless? (
+               $(add_frameworks_dep bluez-qt)
+               $(add_frameworks_dep networkmanager-qt)
+       )
 "
 
 RDEPEND="${DEPEND}
@@ -60,6 +64,17 @@ RDEPEND="${DEPEND}
        !kde-base/systemsettings:4[handbook]
 "
 
+PATCHES=( "${FILESDIR}/${PN}-5.6.95-wireless-optional.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package wireless KF5BluezQt)
+               $(cmake-utils_use_find_package wireless KF5NetworkManagerQt)
+       )
+
+       kde5_src_configure
+}
+
 src_install() {
        kde5_src_install
 

diff --git a/kde-plasma/powerdevil/powerdevil-9999.ebuild 
b/kde-plasma/powerdevil/powerdevil-9999.ebuild
index df85953..98923cf 100644
--- a/kde-plasma/powerdevil/powerdevil-9999.ebuild
+++ b/kde-plasma/powerdevil/powerdevil-9999.ebuild
@@ -10,7 +10,7 @@ inherit kde5
 DESCRIPTION="Power management for KDE Plasma Shell"
 HOMEPAGE="https://projects.kde.org/projects/kde/workspace/powerdevil";
 KEYWORDS=""
-IUSE="systemd"
+IUSE="systemd +wireless"
 
 DEPEND="
        $(add_frameworks_dep kactivities)
@@ -40,6 +40,10 @@ DEPEND="
        $(add_qt_dep qtx11extras)
        virtual/libudev:=
        x11-libs/libxcb
+       wireless? (
+               $(add_frameworks_dep bluez-qt)
+               $(add_frameworks_dep networkmanager-qt)
+       )
 "
 
 RDEPEND="${DEPEND}
@@ -60,6 +64,15 @@ RDEPEND="${DEPEND}
        !kde-base/systemsettings:4[handbook]
 "
 
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package wireless KF5BluezQt)
+               $(cmake-utils_use_find_package wireless KF5NetworkManagerQt)
+       )
+
+       kde5_src_configure
+}
+
 src_install() {
        kde5_src_install
 

Reply via email to