commit:     738abf1a7c0efdf7aa9499c7f29f1c9b0023a625
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 12 17:28:44 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 12 17:33:49 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=738abf1a

kde-frameworks/frameworkintegration: Fix installing KNS items w/ deps

Upstream commit 675802e706a737c008aa74600ac804b06db52140

See also:
https://mail.kde.org/pipermail/distributions/2022-January/001117.html

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...ation-5.90.0-fix-install-KNS-items-w-deps.patch | 46 ++++++++++++++++++++++
 .../frameworkintegration-5.90.0-r1.ebuild          | 45 +++++++++++++++++++++
 2 files changed, 91 insertions(+)

diff --git 
a/kde-frameworks/frameworkintegration/files/frameworkintegration-5.90.0-fix-install-KNS-items-w-deps.patch
 
b/kde-frameworks/frameworkintegration/files/frameworkintegration-5.90.0-fix-install-KNS-items-w-deps.patch
new file mode 100644
index 000000000000..fabbee1e1d65
--- /dev/null
+++ 
b/kde-frameworks/frameworkintegration/files/frameworkintegration-5.90.0-fix-install-KNS-items-w-deps.patch
@@ -0,0 +1,46 @@
+From 675802e706a737c008aa74600ac804b06db52140 Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <[email protected]>
+Date: Tue, 11 Jan 2022 06:42:03 +0100
+Subject: [PATCH] Fix wrong porting of KNSCore::Engine::configSearchLocations
+
+The `KNSCore::Engine::availableConfigFiles` method returns the file names, but
+the code still assumed that the directories where the file is contained is 
returned.
+Consequently the knsrc files would never be found.
+
+BUG: 448237
+---
+ src/kpackage-install-handlers/kns/main.cpp | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/src/kpackage-install-handlers/kns/main.cpp 
b/src/kpackage-install-handlers/kns/main.cpp
+index 9978844..a2b530e 100644
+--- a/src/kpackage-install-handlers/kns/main.cpp
++++ b/src/kpackage-install-handlers/kns/main.cpp
+@@ -70,17 +70,16 @@ int main(int argc, char **argv)
+     Q_ASSERT(url.scheme() == QLatin1String("kns"));
+ 
+     QString knsname;
+-    for (const auto &location : KNSCore::Engine::availableConfigFiles()) {
+-        QString candidate = location + QLatin1Char('/') + url.host();
+-        if (QFile::exists(candidate)) {
+-            knsname = candidate;
+-            break;
+-        }
+-    }
++    const QStringList availableConfigFiles = 
KNSCore::Engine::availableConfigFiles();
++    auto knsNameIt = std::find_if(availableConfigFiles.begin(), 
availableConfigFiles.end(), [&url](const QString &availableFile) {
++        return availableFile.endsWith(QLatin1String("/") + url.host());
++    });
+ 
+-    if (knsname.isEmpty()) {
++    if (knsNameIt == availableConfigFiles.end()) {
+         qWarning() << "couldn't find knsrc file for" << url.host();
+         return 1;
++    } else {
++        knsname = *knsNameIt;
+     }
+ 
+     const auto pathParts = url.path().split(QLatin1Char('/'), 
Qt::SkipEmptyParts);
+-- 
+GitLab
+

diff --git 
a/kde-frameworks/frameworkintegration/frameworkintegration-5.90.0-r1.ebuild 
b/kde-frameworks/frameworkintegration/frameworkintegration-5.90.0-r1.ebuild
new file mode 100644
index 000000000000..1a00bc011db1
--- /dev/null
+++ b/kde-frameworks/frameworkintegration/frameworkintegration-5.90.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Framework for integrating Qt applications with KDE Plasma 
workspaces"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# requires running Plasma environment
+RESTRICT="test"
+
+RDEPEND="
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       =kde-frameworks/kconfig-${PVCUT}*:5
+       =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+       =kde-frameworks/ki18n-${PVCUT}*:5
+       =kde-frameworks/kiconthemes-${PVCUT}*:5
+       =kde-frameworks/knewstuff-${PVCUT}*:5
+       =kde-frameworks/knotifications-${PVCUT}*:5
+"
+DEPEND="${RDEPEND}
+       =kde-frameworks/kpackage-${PVCUT}*:5
+       =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-install-KNS-items-w-deps.patch ) # KDE-bug 
448237
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_DISABLE_FIND_PACKAGE_AppStreamQt=ON
+               -DCMAKE_DISABLE_FIND_PACKAGE_packagekitqt5=ON
+       )
+
+       ecm_src_configure
+}

Reply via email to