From 33d9a83ffd4af95fe91811d508ba23f3bce5112f Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sun, 4 Apr 2021 13:22:17 +0200 Subject: kde-frameworks/kiconthemes: Fix SVG icon display, QGnomePlatform fix Upstream commits: 3262669e3abfa7171463e3bf34f7c60eacf6bc77 5a5d7b57fee23d934d90989133f870404557ff6f e4fb7dda788e5dc44ada56f089053453f3ff0c1c See also: https://invent.kde.org/frameworks/kiconthemes/-/merge_requests/26 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=434451 Reported-by: Gerion Entrup Closes: https://bugs.gentoo.org/779079 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner --- .../files/kiconthemes-5.80.0-fix-svg-icons.patch | 22 +++++ ....0-revert-avoid-plugin-load-racecondition.patch | 68 ++++++++++++++++ ...0.0-revert-private-header-to-avoid-extern.patch | 95 ++++++++++++++++++++++ .../kiconthemes/kiconthemes-5.80.0-r1.ebuild | 38 +++++++++ 4 files changed, 223 insertions(+) create mode 100644 kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-fix-svg-icons.patch create mode 100644 kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-avoid-plugin-load-racecondition.patch create mode 100644 kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-private-header-to-avoid-extern.patch create mode 100644 kde-frameworks/kiconthemes/kiconthemes-5.80.0-r1.ebuild diff --git a/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-fix-svg-icons.patch b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-fix-svg-icons.patch new file mode 100644 index 000000000000..adaef7a0f2b2 --- /dev/null +++ b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-fix-svg-icons.patch @@ -0,0 +1,22 @@ +From 3262669e3abfa7171463e3bf34f7c60eacf6bc77 Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Fri, 19 Mar 2021 19:56:07 +0100 +Subject: [PATCH] don't register our engine per default + +--- + src/kiconengineplugin.json | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/kiconengineplugin.json b/src/kiconengineplugin.json +index a5b4228..bc09e41 100644 +--- a/src/kiconengineplugin.json ++++ b/src/kiconengineplugin.json +@@ -1,4 +1,4 @@ + { +- "Keys": [ "KIconEngine", "svg", "svgz", "svg.gz" ] ++ "Keys": [ "KIconEngine" ] + } + +-- +GitLab + diff --git a/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-avoid-plugin-load-racecondition.patch b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-avoid-plugin-load-racecondition.patch new file mode 100644 index 000000000000..4af27c7d7c11 --- /dev/null +++ b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-avoid-plugin-load-racecondition.patch @@ -0,0 +1,68 @@ +From e4fb7dda788e5dc44ada56f089053453f3ff0c1c Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Mon, 29 Mar 2021 19:42:15 +0200 +Subject: [PATCH] Revert "avoid race condition on loading the plugin" + +This reverts commit 65ee2fac5eae6f69a6c72b315f0e5d702f1c4493. +--- + src/kiconloader.cpp | 12 ------------ + src/kicontheme.cpp | 12 ++++++++++++ + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp +index 33c378b..f608966 100644 +--- a/src/kiconloader.cpp ++++ b/src/kiconloader.cpp +@@ -383,8 +383,6 @@ public: + bool mCustomPalette = false; + }; + +-extern void initRCCIconTheme(); +- + class KIconLoaderGlobalData : public QObject + { + Q_OBJECT +@@ -392,16 +390,6 @@ class KIconLoaderGlobalData : public QObject + public: + KIconLoaderGlobalData() + { +- // ensure we load rcc files for application bundles (+ setup their theme) +- initRCCIconTheme(); +- +- // Set the icon theme fallback to breeze +- // Most of our apps use "lots" of icons that most of the times +- // are only available with breeze, we still honour the user icon +- // theme but if the icon is not found there, we go to breeze +- // since it's almost sure it'll be there +- QIcon::setFallbackThemeName(QStringLiteral("breeze")); +- + const QStringList genericIconsFiles = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("mime/generic-icons")); + // qCDebug(KICONTHEMES) << genericIconsFiles; + for (const QString &file : genericIconsFiles) { +diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp +index 8e499d2..5be083d 100644 +--- a/src/kicontheme.cpp ++++ b/src/kicontheme.cpp +@@ -57,7 +57,19 @@ void initRCCIconTheme() + } + } + } ++Q_COREAPP_STARTUP_FUNCTION(initRCCIconTheme) + ++// Set the icon theme fallback to breeze ++// Most of our apps use "lots" of icons that most of the times ++// are only available with breeze, we still honour the user icon ++// theme but if the icon is not found there, we go to breeze ++// since it's almost sure it'll be there ++static void setBreezeFallback() ++{ ++ QIcon::setFallbackThemeName(QStringLiteral("breeze")); ++} ++ ++Q_COREAPP_STARTUP_FUNCTION(setBreezeFallback) + class KIconThemeDir; + class KIconThemePrivate + { +-- +GitLab + diff --git a/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-private-header-to-avoid-extern.patch b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-private-header-to-avoid-extern.patch new file mode 100644 index 000000000000..e861ce6c73f4 --- /dev/null +++ b/kde-frameworks/kiconthemes/files/kiconthemes-5.80.0-revert-private-header-to-avoid-extern.patch @@ -0,0 +1,95 @@ +From 5a5d7b57fee23d934d90989133f870404557ff6f Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Mon, 29 Mar 2021 19:41:56 +0200 +Subject: [PATCH] Revert "add private header to avoid extern in .cpp file" + +This reverts commit bd648dd0755d03dc01b267b3cdcec09b045da696. +--- + src/kiconloader.cpp | 7 ++----- + src/kicontheme.cpp | 4 +++- + src/kicontheme_p.h | 19 ------------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + delete mode 100644 src/kicontheme_p.h + +diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp +index 3a6bf2b..33c378b 100644 +--- a/src/kiconloader.cpp ++++ b/src/kiconloader.cpp +@@ -11,7 +11,6 @@ + */ + + #include "kiconloader.h" +-#include "kicontheme_p.h" + + // kdecore + #include +@@ -384,6 +383,8 @@ public: + bool mCustomPalette = false; + }; + ++extern void initRCCIconTheme(); ++ + class KIconLoaderGlobalData : public QObject + { + Q_OBJECT +@@ -391,10 +392,6 @@ class KIconLoaderGlobalData : public QObject + public: + KIconLoaderGlobalData() + { +- // we trigger the rcc loading & fallback theme setting here instead of the old way via Q_COREAPP_STARTUP_FUNCTION +- // so that loading the icon engine plugin doesn't trigger changing the icon theme while loading the first icon +- // if nothing else initialized this before. +- + // ensure we load rcc files for application bundles (+ setup their theme) + initRCCIconTheme(); + +diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp +index af9fd81..8e499d2 100644 +--- a/src/kicontheme.cpp ++++ b/src/kicontheme.cpp +@@ -10,7 +10,6 @@ + */ + + #include "kicontheme.h" +-#include "kicontheme_p.h" + + #include "debug.h" + +@@ -33,6 +32,9 @@ + + Q_GLOBAL_STATIC(QString, _themeOverride) + ++// Support for icon themes in RCC files. ++// The intended use case is standalone apps on Windows / MacOS / etc. ++// For this reason we use AppDataLocation: BINDIR/data on Windows, Resources on OS X + void initRCCIconTheme() + { + const QString iconThemeRcc = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("icontheme.rcc")); +diff --git a/src/kicontheme_p.h b/src/kicontheme_p.h +deleted file mode 100644 +index eea889f..0000000 +--- a/src/kicontheme_p.h ++++ /dev/null +@@ -1,19 +0,0 @@ +-/* +- This file is part of the KDE libraries +- SPDX-FileCopyrightText: 2021 Christoph Cullmann +- +- SPDX-License-Identifier: LGPL-2.0-or-later +-*/ +- +-#ifndef KICONTHEME_P_H +-#define KICONTHEME_P_H +- +-/** +- * Support for icon themes in RCC files. +- * The intended use case is standalone apps on Windows / MacOS / etc. +- * For this reason we use AppDataLocation: BINDIR/data on Windows, Resources on OS X. +- * Will be triggered by KIconLoaderGlobalData construction. +- */ +-void initRCCIconTheme(); +- +-#endif +-- +GitLab + diff --git a/kde-frameworks/kiconthemes/kiconthemes-5.80.0-r1.ebuild b/kde-frameworks/kiconthemes/kiconthemes-5.80.0-r1.ebuild new file mode 100644 index 000000000000..4e3b8c185897 --- /dev/null +++ b/kde-frameworks/kiconthemes/kiconthemes-5.80.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_DESIGNERPLUGIN="true" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Framework for icon theming and configuration" +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="" + +RESTRICT+=" test" # bug 574770 + +DEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtsvg-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + =kde-frameworks/karchive-${PVCUT}*:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kitemviews-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-fix-svg-icons.patch" # bug 779079 + "${FILESDIR}/${P}-revert-private-header-to-avoid-extern.patch" + "${FILESDIR}/${P}-revert-avoid-plugin-load-racecondition.patch" +) -- cgit v1.2.3-65-gdbad