commit:     2ca6f6cc65e24734a9f59fdb41fb6e0d33a51dba
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 19:37:29 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Apr 19 19:58:44 2023 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=2ca6f6cc

kde-plasma/plasma-welcome: Add IUSE discover, kaccounts

Make dependencies optional. USE flag defaults mirror their status in
kde-plasma/plasma-desktop and kde-plasma/plasma-meta respectively.

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...lasma-welcome-5.27.4.1-kaccounts-optional.patch | 99 ++++++++++++++++++++++
 kde-plasma/plasma-welcome/metadata.xml             |  4 +
 .../plasma-welcome-5.27.49.9999.ebuild             | 22 ++++-
 .../plasma-welcome/plasma-welcome-9999.ebuild      | 22 ++++-
 4 files changed, 139 insertions(+), 8 deletions(-)

diff --git 
a/kde-plasma/plasma-welcome/files/plasma-welcome-5.27.4.1-kaccounts-optional.patch
 
b/kde-plasma/plasma-welcome/files/plasma-welcome-5.27.4.1-kaccounts-optional.patch
new file mode 100644
index 0000000000..fc4eaa684a
--- /dev/null
+++ 
b/kde-plasma/plasma-welcome/files/plasma-welcome-5.27.4.1-kaccounts-optional.patch
@@ -0,0 +1,99 @@
+From 24092946ed95b4ddf7e7f4c0f5bd9000e45fecad Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <ast...@gentoo.org>
+Date: Wed, 19 Apr 2023 21:16:59 +0200
+Subject: [PATCH] Make KAccounts optional
+
+Signed-off-by: Andreas Sturmlechner <ast...@gentoo.org>
+---
+ CMakeLists.txt                    | 2 +-
+ src/CMakeLists.txt                | 1 +
+ src/contents/ui/main.qml          | 4 +++-
+ src/controller.cpp                | 9 +++++++++
+ src/controller.h                  | 1 +
+ src/kuserfeedbacksettings.h.cmake | 1 +
+ 6 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 772d79e..86db439 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,7 @@ ecm_setup_version(${PROJECT_VERSION}
+ find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS 
Core Gui Network Qml QuickControls2 Svg)
+ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 CoreAddons 
ConfigWidgets DBusAddons Declarative I18n KIO NewStuff Notifications Plasma 
Service WindowSystem)
+ find_package(KUserFeedback)
+-find_package(KAccounts REQUIRED)
++find_package(KAccounts)
+ 
+ ecm_set_disabled_deprecation_versions(QT 5.15.2
+     KF 5.101
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4eab33d..e0cc179 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,6 +3,7 @@
+ # SPDX-FileCopyrightText: 2022 Nate Graham <n...@kde.org>
+ 
+ set(HAVE_KUSERFEEDBACK ${KUserFeedback_FOUND})
++set(HAVE_KACCOUNTS ${KAccounts_FOUND})
+ configure_file(kuserfeedbacksettings.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/kuserfeedbacksettings.h)
+ 
+ add_executable(plasma-welcome main.cpp controller.cpp resources.qrc 
module.cpp)
+diff --git a/src/contents/ui/main.qml b/src/contents/ui/main.qml
+index 380c074..86da39b 100644
+--- a/src/contents/ui/main.qml
++++ b/src/contents/ui/main.qml
+@@ -124,7 +124,9 @@ Kirigami.ApplicationWindow {
+                 pageStack.push(kcm_feedback);
+             }
+ 
+-            pageStack.push(kcm_kaccounts);
++            if (Controller.kAccountsAvailable()) {
++                pageStack.push(kcm_kaccounts);
++            }
+ 
+             // Append any distro-specific pages that were found
+             let distroPages = Controller.distroPages()
+diff --git a/src/controller.cpp b/src/controller.cpp
+index 7586c23..de8fa85 100644
+--- a/src/controller.cpp
++++ b/src/controller.cpp
+@@ -50,6 +50,15 @@ bool Controller::networkAlreadyConnected()
+     return false;
+ }
+ 
++bool Controller::kAccountsAvailable()
++{
++#if HAVE_KACCOUNTS
++    return true;
++#else
++    return false;
++#endif
++}
++
+ bool Controller::userFeedbackAvailable()
+ {
+ #if HAVE_KUSERFEEDBACK
+diff --git a/src/controller.h b/src/controller.h
+index 20ba44c..97a9d1c 100644
+--- a/src/controller.h
++++ b/src/controller.h
+@@ -15,6 +15,7 @@ public:
+     Q_INVOKABLE static void runCommand(const QString &command, const QString 
&desktopFilename);
+     Q_INVOKABLE bool networkAlreadyConnected();
+     Q_INVOKABLE bool userFeedbackAvailable();
++    Q_INVOKABLE bool kAccountsAvailable();
+     Q_INVOKABLE QStringList distroPages();
+ 
+     Q_PROPERTY(QString newPlasmaVersion MEMBER m_newPlasmaVersion NOTIFY 
newPlasmaVersionChanged)
+diff --git a/src/kuserfeedbacksettings.h.cmake 
b/src/kuserfeedbacksettings.h.cmake
+index f30924f..a76aedf 100644
+--- a/src/kuserfeedbacksettings.h.cmake
++++ b/src/kuserfeedbacksettings.h.cmake
+@@ -5,3 +5,4 @@
+  */
+ 
+ #cmakedefine01 HAVE_KUSERFEEDBACK
++#cmakedefine01 HAVE_KACCOUNTS
+-- 
+2.40.0
+

diff --git a/kde-plasma/plasma-welcome/metadata.xml 
b/kde-plasma/plasma-welcome/metadata.xml
index d925f24397..7499be9e7e 100644
--- a/kde-plasma/plasma-welcome/metadata.xml
+++ b/kde-plasma/plasma-welcome/metadata.xml
@@ -8,4 +8,8 @@
        <upstream>
                <bugs-to>https://bugs.kde.org/</bugs-to>
        </upstream>
+       <use>
+               <flag name="discover">Pull in resources management GUI; a 
centralised GHNS alternative and optional <pkg>sys-apps/fwupd</pkg> 
frontend</flag>
+               <flag name="kaccounts">Build the OpenDesktop integration 
plugin</flag>
+       </use>
 </pkgmetadata>

diff --git a/kde-plasma/plasma-welcome/plasma-welcome-5.27.49.9999.ebuild 
b/kde-plasma/plasma-welcome/plasma-welcome-5.27.49.9999.ebuild
index 7b123ad073..e7bf8a989f 100644
--- a/kde-plasma/plasma-welcome/plasma-welcome-5.27.49.9999.ebuild
+++ b/kde-plasma/plasma-welcome/plasma-welcome-5.27.49.9999.ebuild
@@ -12,16 +12,15 @@ DESCRIPTION="A friendly onboarding wizard for Plasma"
 LICENSE="GPL-2+"
 SLOT="5"
 KEYWORDS=""
-IUSE="telemetry"
+IUSE="discover +kaccounts telemetry"
 
-RDEPEND="
+DEPEND="
        >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
        >=dev-qt/qtgui-${QTMIN}:5
        >=dev-qt/qtnetwork-${QTMIN}:5
        >=dev-qt/qtquickcontrols2-${QTMIN}:5
        >=dev-qt/qtsvg-${QTMIN}:5
        >=dev-qt/qtwidgets-${QTMIN}:5
-       kde-apps/kaccounts-integration:5
        >=kde-frameworks/kconfig-${KFMIN}:5
        >=kde-frameworks/kconfigwidgets-${KFMIN}:5
        >=kde-frameworks/kcoreaddons-${KFMIN}:5
@@ -33,12 +32,27 @@ RDEPEND="
        >=kde-frameworks/knotifications-${KFMIN}:5
        >=kde-frameworks/kservice-${KFMIN}:5
        >=kde-frameworks/kwindowsystem-${KFMIN}:5
+       kaccounts? ( kde-apps/kaccounts-integration:5 )
        telemetry? ( dev-libs/kuserfeedback:5 )
 "
-DEPEND="${RDEPEND}"
+RDEPEND="${DEPEND}
+       discover? ( kde-plasma/discover:5 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-5.27.4-kaccounts-optional.patch" )
+
+src_prepare() {
+       ecm_src_prepare
+
+       if ! use discover; then
+               sed -e "s:pageStack.push(discover);:// & disabled by 
IUSE=discover:" \
+                       -i src/contents/ui/main.qml || die
+       fi
+}
 
 src_configure() {
        local mycmakeargs=(
+               $(cmake_use_find_package kaccounts KAccounts)
                $(cmake_use_find_package telemetry KUserFeedback)
        )
        ecm_src_configure

diff --git a/kde-plasma/plasma-welcome/plasma-welcome-9999.ebuild 
b/kde-plasma/plasma-welcome/plasma-welcome-9999.ebuild
index 7b123ad073..e7bf8a989f 100644
--- a/kde-plasma/plasma-welcome/plasma-welcome-9999.ebuild
+++ b/kde-plasma/plasma-welcome/plasma-welcome-9999.ebuild
@@ -12,16 +12,15 @@ DESCRIPTION="A friendly onboarding wizard for Plasma"
 LICENSE="GPL-2+"
 SLOT="5"
 KEYWORDS=""
-IUSE="telemetry"
+IUSE="discover +kaccounts telemetry"
 
-RDEPEND="
+DEPEND="
        >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
        >=dev-qt/qtgui-${QTMIN}:5
        >=dev-qt/qtnetwork-${QTMIN}:5
        >=dev-qt/qtquickcontrols2-${QTMIN}:5
        >=dev-qt/qtsvg-${QTMIN}:5
        >=dev-qt/qtwidgets-${QTMIN}:5
-       kde-apps/kaccounts-integration:5
        >=kde-frameworks/kconfig-${KFMIN}:5
        >=kde-frameworks/kconfigwidgets-${KFMIN}:5
        >=kde-frameworks/kcoreaddons-${KFMIN}:5
@@ -33,12 +32,27 @@ RDEPEND="
        >=kde-frameworks/knotifications-${KFMIN}:5
        >=kde-frameworks/kservice-${KFMIN}:5
        >=kde-frameworks/kwindowsystem-${KFMIN}:5
+       kaccounts? ( kde-apps/kaccounts-integration:5 )
        telemetry? ( dev-libs/kuserfeedback:5 )
 "
-DEPEND="${RDEPEND}"
+RDEPEND="${DEPEND}
+       discover? ( kde-plasma/discover:5 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-5.27.4-kaccounts-optional.patch" )
+
+src_prepare() {
+       ecm_src_prepare
+
+       if ! use discover; then
+               sed -e "s:pageStack.push(discover);:// & disabled by 
IUSE=discover:" \
+                       -i src/contents/ui/main.qml || die
+       fi
+}
 
 src_configure() {
        local mycmakeargs=(
+               $(cmake_use_find_package kaccounts KAccounts)
                $(cmake_use_find_package telemetry KUserFeedback)
        )
        ecm_src_configure

Reply via email to