Hello community,

here is the log from the commit of package zanshin for openSUSE:Factory checked 
in at 2020-07-24 10:07:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zanshin (Old)
 and      /work/SRC/openSUSE:Factory/.zanshin.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "zanshin"

Fri Jul 24 10:07:23 2020 rev:7 rq:822447 version:0.5.71

Changes:
--------
--- /work/SRC/openSUSE:Factory/zanshin/zanshin.changes  2020-02-07 
15:56:04.659563926 +0100
+++ /work/SRC/openSUSE:Factory/.zanshin.new.3592/zanshin.changes        
2020-07-24 10:08:58.030110510 +0200
@@ -1,0 +2,7 @@
+Thu Jul 23 11:07:30 UTC 2020 - Wolfgang Bauer <[email protected]>
+
+- Add upstream patches to fix build with kontactinterface 20.08:
+  * Port-to-kontactinterface-5.14.42.patch
+  * Install-the-kontact-plugin-into-kontact5.patch
+
+-------------------------------------------------------------------

New:
----
  Install-the-kontact-plugin-into-kontact5.patch
  Port-to-kontactinterface-5.14.42.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ zanshin.spec ++++++
--- /var/tmp/diff_new_pack.eKC0pj/_old  2020-07-24 10:09:01.154113642 +0200
+++ /var/tmp/diff_new_pack.eKC0pj/_new  2020-07-24 10:09:01.158113646 +0200
@@ -25,6 +25,9 @@
 Group:          Productivity/Office/Organizers
 URL:            https://zanshin.kde.org
 Source:         
https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM
+Patch0:         Port-to-kontactinterface-5.14.42.patch
+Patch1:         Install-the-kontact-plugin-into-kontact5.patch
 BuildRequires:  boost-devel
 BuildRequires:  kf5-filesystem
 BuildRequires:  update-desktop-files
@@ -49,6 +52,7 @@
 
 %prep
 %setup -q
+%autopatch -p1
 
 %build
   %cmake_kf5 -d build
@@ -67,6 +71,7 @@
 %dir %{_kf5_appstreamdir}
 %dir %{_kf5_iconsdir}/hicolor/256x256
 %dir %{_kf5_iconsdir}/hicolor/256x256/apps
+%dir %{_kf5_plugindir}/kontact5/
 %{_kf5_applicationsdir}/org.kde.zanshin.desktop
 %{_kf5_appstreamdir}/org.kde.zanshin.appdata.xml
 %{_kf5_bindir}/zanshin
@@ -74,7 +79,7 @@
 %{_kf5_iconsdir}/hicolor/*/apps/zanshin.png
 %{_kf5_iconsdir}/hicolor/scalable/apps/zanshin.svgz
 %{_kf5_kxmlguidir}/zanshin/
-%{_kf5_plugindir}/kontact_zanshinplugin.so
+%{_kf5_plugindir}/kontact5/kontact_zanshinplugin.so
 %{_kf5_plugindir}/krunner_zanshin.so
 %{_kf5_plugindir}/zanshin_part.so
 %{_kf5_servicesdir}/kontact/

++++++ Install-the-kontact-plugin-into-kontact5.patch ++++++
>From faba24de5cc556870991fcc013a0ef2dceb5eeb9 Mon Sep 17 00:00:00 2001
From: David Faure <[email protected]>
Date: Wed, 15 Apr 2020 09:29:42 +0200
Subject: [PATCH] Install the kontact plugin into kontact5, with JSON metadata.

Summary: This will allow kontact to use KPluginLoader one day.

Test Plan:
rm $prefix/lib64/plugins/kontact_zanshinplugin.so ; make install
kontact still finds the zanshin plugin

The same steps (other than old-kontact-interface compatibility) were already
pushed to all other kontact plugins.

Reviewers: ervin

Reviewed By: ervin

Differential Revision: https://phabricator.kde.org/D28847
---
 src/zanshin/kontact/CMakeLists.txt         | 12 +++++++++++-
 src/zanshin/kontact/kontact_plugin.cpp     | 20 +++++++++++++++++++-
 src/zanshin/kontact/zanshin_plugin.desktop |  2 +-
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/src/zanshin/kontact/CMakeLists.txt 
b/src/zanshin/kontact/CMakeLists.txt
index 60913156..be660131 100644
--- a/src/zanshin/kontact/CMakeLists.txt
+++ b/src/zanshin/kontact/CMakeLists.txt
@@ -1,3 +1,12 @@
+# TODO: remove once kontactinterface 5.14.42 is required
+
+if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
+  # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know 
about other macros.
+  # 3.10+ lets us provide more macro names that require automoc.
+  # KF5 >= 5.42 takes care itself of adding its macros in its cmake config 
files
+  list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "EXPORT_KONTACT_PLUGIN_WITH_JSON")
+endif()
+
 set(part_SRCS
     ../app/aboutdata.cpp
     part.cpp
@@ -22,8 +31,9 @@ set(kontact_SRCS
 
 add_library(kontact_zanshinplugin MODULE ${kontact_SRCS})
 target_link_libraries(kontact_zanshinplugin KF5::Parts KF5::KontactInterface)
+kcoreaddons_desktop_to_json(kontact_zanshinplugin zanshin_plugin.desktop)
 
-install(TARGETS kontact_zanshinplugin DESTINATION ${KDE_INSTALL_PLUGINDIR})
+install(TARGETS kontact_zanshinplugin DESTINATION 
${KDE_INSTALL_PLUGINDIR}/kontact5)
 install(FILES zanshin_plugin.desktop DESTINATION 
${KDE_INSTALL_KSERVICES5DIR}/kontact)
 install(FILES zanshin_part.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/zanshin)
 
diff --git a/src/zanshin/kontact/kontact_plugin.cpp 
b/src/zanshin/kontact/kontact_plugin.cpp
index 4b0d2f92..8edbb4a6 100644
--- a/src/zanshin/kontact/kontact_plugin.cpp
+++ b/src/zanshin/kontact/kontact_plugin.cpp
@@ -25,7 +25,25 @@
 
 #include <KontactInterface/Core>
 
-EXPORT_KONTACT_PLUGIN(Plugin, zanshin)
+#if KONTACTINTERFACE_VERSION < QT_VERSION_CHECK(5, 14, 42)
+/**
+  Exports Kontact plugin.
+  @param pluginclass the class to instanciate (must derive from 
KontactInterface::Plugin
+  @param jsonFile filename of the JSON file, generated from a .desktop file
+ */
+#define EXPORT_KONTACT_PLUGIN_WITH_JSON( pluginclass, jsonFile ) \
+    class Instance                                           \
+    {                                                        \
+    public:                                                \
+        static QObject *createInstance( QWidget *, QObject *parent, const 
QVariantList &list ) \
+        { return new pluginclass( static_cast<KontactInterface::Core*>( parent 
), list ); } \
+    };                                                                    \
+    K_PLUGIN_FACTORY_WITH_JSON( KontactPluginFactory, jsonFile, 
registerPlugin< pluginclass >   \
+                              ( QString(), Instance::createInstance ); ) \
+    K_EXPORT_PLUGIN_VERSION(KONTACT_PLUGIN_VERSION)
+#endif
+
+EXPORT_KONTACT_PLUGIN_WITH_JSON(Plugin, "zanshin_plugin.json")
 
 Plugin::Plugin(KontactInterface::Core *core, const QVariantList&)
     : KontactInterface::Plugin(core, core, "zanshin")
diff --git a/src/zanshin/kontact/zanshin_plugin.desktop 
b/src/zanshin/kontact/zanshin_plugin.desktop
index f616a898..58fe05c1 100644
--- a/src/zanshin/kontact/zanshin_plugin.desktop
+++ b/src/zanshin/kontact/zanshin_plugin.desktop
@@ -3,7 +3,7 @@ Type=Service
 Icon=zanshin
 X-KDE-ServiceTypes=Kontact/Plugin,KPluginInfo
 
-X-KDE-Library=kontact_zanshinplugin
+X-KDE-Library=kontact5/kontact_zanshinplugin
 X-KDE-KontactPluginVersion=10
 X-KDE-KontactPartLibraryName=zanshin_part
 X-KDE-KontactPartExecutableName=zanshin
-- 
GitLab

++++++ Port-to-kontactinterface-5.14.42.patch ++++++
>From 4850c08998b33b37af99c3312d193b063b3e8174 Mon Sep 17 00:00:00 2001
From: David Faure <[email protected]>
Date: Sat, 11 Apr 2020 17:36:25 +0200
Subject: [PATCH] Port to kontactinterface >= 5.14.42, with ifdefs

---
 src/zanshin/kontact/kontact_plugin.cpp | 7 +++++++
 src/zanshin/kontact/kontact_plugin.h   | 5 +++++
 2 files changed, 12 insertions(+)

diff --git a/src/zanshin/kontact/kontact_plugin.cpp 
b/src/zanshin/kontact/kontact_plugin.cpp
index b03d9674..4b0d2f92 100644
--- a/src/zanshin/kontact/kontact_plugin.cpp
+++ b/src/zanshin/kontact/kontact_plugin.cpp
@@ -33,9 +33,16 @@ Plugin::Plugin(KontactInterface::Core *core, const 
QVariantList&)
     setComponentName(QStringLiteral("zanshin"), QStringLiteral("zanshin"));
 }
 
+#if KONTACTINTERFACE_VERSION >= QT_VERSION_CHECK(5, 14, 42)
+KParts::Part *Plugin::createPart()
+{
+    return loadPart();
+}
+#else
 KParts::ReadOnlyPart *Plugin::createPart()
 {
     return loadPart();
 }
+#endif
 
 #include "kontact_plugin.moc"
diff --git a/src/zanshin/kontact/kontact_plugin.h 
b/src/zanshin/kontact/kontact_plugin.h
index 0d45564e..a270ba16 100644
--- a/src/zanshin/kontact/kontact_plugin.h
+++ b/src/zanshin/kontact/kontact_plugin.h
@@ -25,6 +25,7 @@
 #define ZANSHIN_KONTACT_PLUGIN_H
 
 #include <KontactInterface/Plugin>
+#include <kontactinterface_version.h>
 
 class Plugin : public KontactInterface::Plugin
 {
@@ -36,7 +37,11 @@ public:
     int weight() const override { return 449; }
 
 protected:
+#if KONTACTINTERFACE_VERSION >= QT_VERSION_CHECK(5, 14, 42)
+    KParts::Part *createPart() override;
+#else
     KParts::ReadOnlyPart *createPart() override;
+#endif
 };
 
 #endif
-- 
GitLab


Reply via email to