[arch-commits] Commit in kjots/trunk (PKGBUILD kjots-kontactinterface-20.08.patch)
Antonio Rojas
arojas at archlinux.org
Sat Oct 17 18:20:08 UTC 2020
Date: Saturday, October 17, 2020 @ 18:20:07
Author: arojas
Revision: 725558
Fix build (FS#68302), add missing grantlee dependency
Added:
kjots/trunk/kjots-kontactinterface-20.08.patch
Modified:
kjots/trunk/PKGBUILD
------------------------------------+
PKGBUILD | 25 ++---
kjots-kontactinterface-20.08.patch | 148 +++++++++++++++++++++++++++++++++++
2 files changed, 159 insertions(+), 14 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-10-17 18:19:30 UTC (rev 725557)
+++ PKGBUILD 2020-10-17 18:20:07 UTC (rev 725558)
@@ -2,34 +2,31 @@
pkgname=kjots
pkgver=5.0.2
-pkgrel=6
+pkgrel=7
pkgdesc="A note taking application for KDE"
url="https://www.kde.org/applications/utilities/kjots/"
arch=(x86_64)
license=(GPL)
-depends=(kontactinterface akonadi akonadi-notes kpimtextedit)
+depends=(kontactinterface akonadi akonadi-notes kpimtextedit grantlee)
makedepends=(extra-cmake-modules kdoctools boost kdelibs4support)
source=("https://download.kde.org/stable/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz"
- kjots-kbookmarks-5.69.patch::"https://cgit.kde.org/kjots.git/patch/?id=ca6f4b96")
+ kjots-kbookmarks-5.69.patch::"https://invent.kde.org/pim/kjots/-/commit/ca6f4b96.patch"
+ kjots-kontactinterface-20.08.patch)
sha256sums=('5359aefb7b44027d7abbdafb0d501a7b30695119d5d5c8a75cfcee98e428fae3'
- '269986ad104cf6b99d37a88340f60a84284d9400afcd2c18c7e9ad5457d34cc1')
+ '2afdf86836cda549445b8ce16957c252f7edee43569f9f695c3e430564a54a08'
+ '362deabee18c9f001b14912e93bfd7b6f49423ca35a10ef8b193d6a8af7ffa11')
prepare() {
- mkdir -p build
-
- cd $pkgname-$pkgver
- patch -p1 -i ../kjots-kbookmarks-5.69.patch # Fix crash with kbookmarks 5.69
+ patch -d $pkgname-$pkgver -p1 -i ../kjots-kbookmarks-5.69.patch # Fix crash with kbookmarks 5.69
+ patch -d $pkgname-$pkgver -p1 -i ../kjots-kontactinterface-20.08.patch # Fix build with kontactinterface 20.08
}
build() {
- cd build
- cmake ../$pkgname-$pkgver \
+ cmake -B build -S $pkgname-$pkgver \
-DBUILD_TESTING=OFF
- make
+ cmake --build build
}
package() {
- cd build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-
Added: kjots-kontactinterface-20.08.patch
===================================================================
--- kjots-kontactinterface-20.08.patch (rev 0)
+++ kjots-kontactinterface-20.08.patch 2020-10-17 18:20:07 UTC (rev 725558)
@@ -0,0 +1,148 @@
+From bcf49fb95bee12bbc4bef0578285ad296deafcae Mon Sep 17 00:00:00 2001
+From: David Faure <faure at kde.org>
+Date: Fri, 24 Apr 2020 01:25:43 +0200
+Subject: [PATCH] Install the kontact plugin into kontact5, with JSON metadata.
+
+Summary: This will allow kontact to use KPluginLoader one day.
+
+It also fixes compilation with current kontactinterface API.
+
+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.
+
+This commit is very similar to https://phabricator.kde.org/D28847
+and its predecessor commit, in zanshin.
+---
+ src/kontact_plugin/CMakeLists.txt | 11 ++++++++-
+ src/kontact_plugin/kjots_plugin.cpp | 34 ++++++++++++++++++++------
+ src/kontact_plugin/kjots_plugin.h | 5 ++++
+ src/kontact_plugin/kjotsplugin.desktop | 2 +-
+ 4 files changed, 43 insertions(+), 9 deletions(-)
+
+diff --git a/src/kontact_plugin/CMakeLists.txt b/src/kontact_plugin/CMakeLists.txt
+index 8a6b5e1..dec4b8b 100644
+--- a/src/kontact_plugin/CMakeLists.txt
++++ b/src/kontact_plugin/CMakeLists.txt
+@@ -1,13 +1,22 @@
+ include_directories(${kjots_SOURCE_DIR}/src)
+
++# 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(kontact_kjots_PART_SRCS
+ kjots_plugin.cpp
+ )
+
+ add_library(kontact_kjotsplugin MODULE ${kontact_kjots_PART_SRCS})
+ target_link_libraries(kontact_kjotsplugin KF5::KontactInterface)
++kcoreaddons_desktop_to_json(kontact_kjotsplugin kjotsplugin.desktop)
+
+-install(TARGETS kontact_kjotsplugin DESTINATION ${KDE_INSTALL_PLUGINDIR})
++install(TARGETS kontact_kjotsplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}/kontact5)
+ install(FILES kjotsplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/kontact)
+ install(FILES kjots.setdlg DESTINATION ${KDE_INSTALL_DATADIR}/kontact/ksettingsdialog)
+
+diff --git a/src/kontact_plugin/kjots_plugin.cpp b/src/kontact_plugin/kjots_plugin.cpp
+index 66e7ed5..b74d601 100644
+--- a/src/kontact_plugin/kjots_plugin.cpp
++++ b/src/kontact_plugin/kjots_plugin.cpp
+@@ -33,7 +33,25 @@
+ #include <QIcon>
+ #include <QStandardPaths>
+
+-EXPORT_KONTACT_PLUGIN(KJotsPlugin, kjots)
++#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(KJotsPlugin, "kjotsplugin.json")
+
+ KJotsPlugin::KJotsPlugin(KontactInterface::Core *core, const QVariantList &)
+ : KontactInterface::Plugin(core, core, "kjots")
+@@ -67,15 +85,17 @@ QStringList KJotsPlugin::invisibleToolbarActions() const
+ return { QStringLiteral("new_page"), QStringLiteral("new_book") };
+ }
+
++#if KONTACTINTERFACE_VERSION >= QT_VERSION_CHECK(5, 14, 42)
++KParts::Part *KJotsPlugin::createPart()
++{
++ return loadPart();
++}
++#else
+ KParts::ReadOnlyPart *KJotsPlugin::createPart()
+ {
+- KParts::ReadOnlyPart *part = loadPart();
+- if (!part) {
+- return Q_NULLPTR;
+- }
+-
+- return part;
++ return loadPart();
+ }
++#endif
+
+ QStringList KJotsPlugin::configModules() const
+ {
+diff --git a/src/kontact_plugin/kjots_plugin.h b/src/kontact_plugin/kjots_plugin.h
+index cd62373..4945d25 100644
+--- a/src/kontact_plugin/kjots_plugin.h
++++ b/src/kontact_plugin/kjots_plugin.h
+@@ -24,6 +24,7 @@
+ #define KJOTS_PLUGIN_H
+
+ #include <KontactInterface/UniqueAppHandler>
++#include <kontactinterface_version.h>
+
+ namespace KontactInterface
+ {
+@@ -63,7 +64,11 @@ public:
+ QStringList invisibleToolbarActions() const Q_DECL_OVERRIDE;
+
+ protected:
++#if KONTACTINTERFACE_VERSION >= QT_VERSION_CHECK(5, 14, 42)
++ KParts::Part *createPart() override;
++#else
+ KParts::ReadOnlyPart *createPart() Q_DECL_OVERRIDE;
++#endif
+ KontactInterface::UniqueAppWatcher *mUniqueAppWatcher;
+
+ private:
+diff --git a/src/kontact_plugin/kjotsplugin.desktop b/src/kontact_plugin/kjotsplugin.desktop
+index 1339753..d5a198f 100644
+--- a/src/kontact_plugin/kjotsplugin.desktop
++++ b/src/kontact_plugin/kjotsplugin.desktop
+@@ -3,7 +3,7 @@ Type=Service
+ Icon=kjots
+ X-KDE-ServiceTypes=Kontact/Plugin,KPluginInfo
+
+-X-KDE-Library=kontact_kjotsplugin
++X-KDE-Library=kontact5/kontact_kjotsplugin
+ X-KDE-KontactPluginVersion=10
+ X-KDE-KontactPartLibraryName=kjotspart
+ X-KDE-KontactPartExecutableName=kjots
+--
+GitLab
+
More information about the arch-commits
mailing list