Subject: [PATCH 06/14] gnu: Add kdepim-runtime.

From: Hartmut Goebel <[email-masked]>
Date: Wed, 4 Mar 2020 10:21:25 +0100

* gnu/packages/kde-pim.scm (kdepim-runtime): New variable.
* gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch:
  New file.
* gnu/local.mk: Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/kde-pim.scm                      | 79 +++++++++++++++++++
 ...m-runtime-Fix-missing-link-libraries.patch | 42 ++++++++++
 3 files changed, 122 insertions(+)
 create mode 100644 gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e2c204b436..e200f30419 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1049,6 +1049,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
   %D%/packages/patches/libziparchive-add-includes.patch		\
   %D%/packages/patches/localed-xorg-keyboard.patch		\
+  %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kiki-level-selection-crash.patch		\
   %D%/packages/patches/kiki-makefile.patch			\
   %D%/packages/patches/kiki-missing-includes.patch		\
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 42feea9830..4b41dea383 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -523,6 +523,85 @@ for KDE PIM.")
     (license ;; GPL for programs, LGPL for libraries
      (list license:gpl2+ license:lgpl2.0+))))
 
+(define-public kdepim-runtime
+  (package
+    (name "kdepim-runtime")
+    (version "19.08.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/applications/" version
+                           "/src/kdepim-runtime-" version ".tar.xz"))
+       (sha256
+        (base32 "1skid9v6viw379mwhmb4xjh6bylv8wg7cy56kkbcpsmpars9cwr6"))
+       (patches (search-patches
+                 "kdepim-runtime-Fix-missing-link-libraries.patch"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("dbus" ,dbus)
+       ("kdoctools" ,kdoctools)
+       ("libxslt" ,libxslt)
+       ("shared-mime-info" ,shared-mime-info)))
+    (inputs
+     `(("akonadi" ,akonadi)
+       ("akonadi-calendar" ,akonadi-calendar)
+       ("akonadi-contacts" ,akonadi-contacts)
+       ("akonadi-mime" ,akonadi-mime)
+       ("akonadi-notes" ,akonadi-notes)
+       ("boost" ,boost)
+       ("cyrus-sasl" ,cyrus-sasl)
+       ("kalarmcal" ,kalarmcal)
+       ("kcalendarcore" ,kcalendarcore)
+       ("kcalutils" ,kcalutils)
+       ("kcodecs" ,kcodecs)
+       ("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcontacts" ,kcontacts)
+       ("kdav" ,kdav)
+       ("kdbusaddons" ,kdbusaddons)
+       ("kholidays" ,kholidays)
+       ("kiconthemes" ,kiconthemes)
+       ("kidentitymanagement" ,kidentitymanagement)
+       ("kimap" ,kimap)
+       ("kio" ,kio)
+       ("kitemmodels" ,kitemmodels)
+       ("kmailtransport" ,kmailtransport)
+       ("kmbox" ,kmbox)
+       ("kmime" ,kmime)
+       ("knotifications" ,knotifications)
+       ("knotifyconfig" ,knotifyconfig)
+       ("kpimcommon" ,kpimcommon)
+       ("kpimtextedit" ,kpimtextedit)
+       ("kross" ,kross)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kwallet" ,kwallet)
+       ("kwindowsystem" ,kwindowsystem)
+       ("libkgapi" ,libkgapi)
+       ;; TODO: libkolab
+       ("qca" ,qca)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtnetworkauth" ,qtnetworkauth)
+       ("qtspeech" ,qtspeech)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebengine" ,qtwebengine)
+       ("qtxmlpatterns" ,qtxmlpatterns)))
+    (arguments
+      ;; TODO: 5/45 tests fail for quite different reasons, even with
+      ;; "offscreen" and dbus
+     `(#:tests? #f))
+    (home-page "https://cgit.kde.org/kdepim-runtime.git")
+    (synopsis "Runtime components for Akonadi KDE")
+    (description "This package contains Akonadi agents written using KDE
+Development Platform libraries.  Any package that uses Akonadi should probably
+pull this in as a dependency.  The kres-bridges is also parts of this
+package.")
+    (license ;; Files vary a lot regarding the license. GPL2+ and LGPL2.1+
+     ;; have been used in those I checked. But the archive also includes
+     ;; license texts for GPL3 and AGPL3.
+     (list license:gpl2+ license:lgpl2.0+))))
+
 (define-public kgpg
   (package
     (name "kgpg")
diff --git a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch
new file mode 100644
index 0000000000..13345c0038
--- /dev/null
+++ b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch
@@ -0,0 +1,42 @@
+From b84c4ba97cecf7304e99cafdd8a9c5866ce27050 Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <[email-masked]>
+Date: Tue, 21 Jan 2020 23:33:50 +0100
+Subject: [PATCH] Fix missing link libraries.
+
+See <https://phabricator.kde.org/D26819>
+
+These are only actually missing if the libraries reside in different
+prefixes, as it is the case in Guix or Nix.
+---
+ resources/ews/test/CMakeLists.txt | 1 +
+ resources/facebook/CMakeLists.txt | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/resources/ews/test/CMakeLists.txt b/resources/ews/test/CMakeLists.txt
+index b20eddcb8..6355eb994 100644
+--- a/resources/ews/test/CMakeLists.txt
++++ b/resources/ews/test/CMakeLists.txt
+@@ -35,6 +35,7 @@ qt5_add_resources(isolatestestcommon_RSRCS isolatedtestcommon.qrc)
+ add_library(isolatedtestcommon STATIC ${isolatestestcommon_SRCS})
+ target_link_libraries(isolatedtestcommon
+   KF5::AkonadiCore
++  KF5::AkonadiMime
+   Qt5::Core
+   Qt5::Network
+   Qt5::Test
+diff --git a/resources/facebook/CMakeLists.txt b/resources/facebook/CMakeLists.txt
+index bdd5eeaa7..27a9c83c1 100644
+--- a/resources/facebook/CMakeLists.txt
++++ b/resources/facebook/CMakeLists.txt
+@@ -21,7 +21,8 @@ add_library(facebookresourcelib STATIC ${fbresource_SRCS})
+ 
+ target_link_libraries(facebookresourcelib
+     KF5::KIOWidgets
++    KF5::AkonadiCore
+     KF5::IconThemes
+     KF5::I18n
+     KF5::ConfigGui
+     KF5::CalendarCore
+-- 
+2.21.1
+
-- 
2.21.1