summary refs log tree commit diff
path: root/gnu/packages/kde-frameworks.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/kde-frameworks.scm')
-rw-r--r--gnu/packages/kde-frameworks.scm513
1 files changed, 491 insertions, 22 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index a679c64314..6ba454d0ed 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -26,16 +26,24 @@
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages attr)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
 (define-public extra-cmake-modules
@@ -77,6 +85,60 @@ modules provided by CMake to find common software.  In addition, it provides
 common build settings used in software produced by the KDE community.")
     (license license:bsd-3)))
 
+(define-public phonon
+  (package
+    (name "phonon")
+    (version "4.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/phonon"
+                            "/" version "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1q5hvsk4sfcb91625wcmldy7kgjmfpmpmkgzi6mxkqdd307v8x5v"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (arguments
+     `(#:configure-flags
+       '("-DCMAKE_CXX_FLAGS=-fPIC"
+         "-DPHONON_BUILD_PHONON4QT5=ON")))
+    (home-page "https://phonon.kde.org")
+    (synopsis "KDE's multimedia library")
+    (description "KDE's multimedia library.")
+    (license license:lgpl2.1+)))
+
+(define-public gpgmepp
+  (package
+    (name "gpgmepp")
+    (version "16.04.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/applications"
+                            "/" version "/src/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1850pdysi7c1w0nxnhcbrhnkrfqyrcl0laxyjcw1g1ln764pwcmj"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (propagated-inputs
+     `(("boost" ,boost)
+       ("gpgme" ,gpgme)))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "C++ bindings/wrapper for gpgme")
+    (description "C++ bindings/wrapper for gpgme.")
+    (license license:lgpl2.1+)))
+
+
 ;; Tier 1
 ;;
 ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
@@ -331,7 +393,7 @@ It is made of two parts: KConfigCore and KConfigGui.
 KConfigCore provides access to the configuration files themselves.
 It features:
 
-@itemize
+@enumerate
 @item Code generation: describe your configuration in an XML file, and use
 `kconfig_compiler to generate classes that read and write configuration
 entries.
@@ -342,7 +404,7 @@ settings).
 @item Optional shell expansion support (see docs/options.md).
 
 @item The ability to lock down configuration options (see docs/options.md).
-@end itemize
+@end enumerate
 
 KConfigGui provides a way to hook widgets to the configuration so that they
 are automatically initialized from the configuration and automatically
@@ -477,13 +539,10 @@ infrastructure.")
     (arguments
      `(#:phases
         (modify-phases %standard-phases
-          (add-before 'check 'start-xorg-server
-            (lambda* (#:key inputs #:allow-other-keys)
-              ;; The test suite requires a running X server.
-              (system (string-append (assoc-ref inputs "xorg-server")
-                                     "/bin/Xvfb :1 &"))
-              (setenv "DISPLAY" ":1")
-             #t)))))
+          (add-before 'check 'check-setup
+            (lambda* _
+              (setenv "QT_QPA_PLATFORM" "offscreen")
+              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Utilities for graphical user interfaces")
     (description "The KDE GUI addons provide utilities for graphical user
@@ -592,7 +651,7 @@ or user activity.")
     (synopsis "Set of item models extending the Qt model-view framework")
     (description "KItemModels provides the following models:
 
-@itemize
+@enumerate
 @item KBreadcrumbSelectionModel - Selects the parents of selected items to
 create breadcrumbs.
 
@@ -617,7 +676,7 @@ model.
 
 @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
 model to observers
-@end itemize")
+@end enumerate")
     (license license:lgpl2.1+)))
 
 (define-public kitemviews
@@ -757,21 +816,25 @@ represented by a QPoint or a QSize.")
     (inputs
      `(("qtbase" ,qtbase)))
     (arguments
-     `(#:tests? #f ; FIXME: libGL error: failed to load driver: swrast.
+     `(#:tests? #f ; FIXME: Regression after update to qt 5.7
        #:phases
         (modify-phases %standard-phases
           (add-before 'check 'check-setup
-            (lambda* _
-              (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
-              (setenv "LIBGL_DEBUG" "verbose") ; enable debug output
-              (setenv "DBUS_FATAL_WARNINGS" "0")))
+            (lambda _
+              (setenv "QT_QPA_PLATFORM" "offscreen") ; a better solution to Xvfb
+              (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug info
+              (setenv "DBUS_FATAL_WARNINGS" "0")
+              #t))
           (add-before 'check 'start-xorg-server
             (lambda* (#:key inputs #:allow-other-keys)
               ;; The test suite requires a running X server.
+              ;; Xvfb doesn't have proper glx support and needs a pixeldepth
+              ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
+              ;;                    "Could not initialize GLX"
               (system (string-append (assoc-ref inputs "xorg-server")
-                                     "/bin/Xvfb :1 &"))
+                                     "/bin/Xvfb :1 -screen 0 640x480x24 &"))
               (setenv "DISPLAY" ":1")
-             #t)))))
+              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Large set of desktop widgets")
     (description "Provided are action classes that can be added to toolbars or
@@ -838,9 +901,11 @@ lower level classes for interaction with the X Windowing System.")
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("dbus" ,dbus)
        ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     ; Headers contain #include <ModemManager/ModemManager.h>
+     `(("modem-manager", modem-manager)))
     (inputs
-     `(("modem-manager", modem-manager)
-       ("qtbase" ,qtbase)))
+     `(("qtbase" ,qtbase)))
     (arguments
      `(#:phases
         (modify-phases %standard-phases
@@ -874,9 +939,12 @@ messages.")
       `(("extra-cmake-modules" ,extra-cmake-modules)
         ("dbus" ,dbus)
         ("pkg-config" ,pkg-config)))
+     (propagated-inputs
+      ; Headers contain #include <NetworkManager.h> and
+      ;                 #include <libnm/NetworkManager.h>
+      `(("network-manager" ,network-manager)))
      (inputs
-      `(("network-manager", network-manager)
-        ("qtbase" ,qtbase)))
+      `(("qtbase" ,qtbase)))
      (arguments
       `(#:phases
          (modify-phases %standard-phases
@@ -992,3 +1060,404 @@ ASpell and HUNSPELL.")
     (description "ThreadWeaver is a helper for multithreaded programming.  It
 uses a job-based interface to queue tasks and execute them in an efficient way.")
     (license license:lgpl2.1+)))
+
+
+;; Tier 2
+;;
+;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
+;; easily manageable dependencies.
+
+(define-public kauth
+  (package
+    (name "kauth")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "14sjjfgl3arqyqcr77w9qhpnd8mrnh53r5rfss6bvlk26bmihs49"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("dbus" ,dbus)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcoreaddons" ,kcoreaddons)
+       ("polkit-qt" ,polkit-qt)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (replace 'check
+            (lambda* _
+              (setenv "DBUS_FATAL_WARNINGS" "0")
+              (zero? (system* "dbus-launch" "ctest" ".")))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Execute actions as privileged user")
+    (description "KAuth provides a convenient, system-integrated way to offload
+actions that need to be performed as a privileged user to small set of helper
+utilities.")
+    (license license:lgpl2.1+)))
+
+(define-public kcompletion
+  (package
+    (name "kcompletion")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1qln0v31gn86kzwhnkijr1ydf129n32jmiybbckrp4w6hyx6xfxv"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)
+       ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (add-before 'check 'check-setup
+            (lambda _
+              (setenv "QT_QPA_PLATFORM" "offscreen")
+              #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Powerful autocompletion framework and widgets")
+    (description "This framework helps implement autocompletion in Qt-based
+applications.  It provides a set of completion-ready widgets, or can be
+integrated it into your application's other widgets.")
+    (license license:lgpl2.1+)))
+
+(define-public kcrash
+  (package
+    (name "kcrash")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1lahgfwlp9b5rsl244kzp7rsl4ybv1q4qlvpv0xxz5ygssk48l0w"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("kcoreaddons" ,kcoreaddons)
+       ("kwindowsystem" ,kwindowsystem)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (add-before 'check 'start-xorg-server
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; The test suite requires a running X server.
+              (system (string-append (assoc-ref inputs "xorg-server")
+                                     "/bin/Xvfb :1 &"))
+              (setenv "DISPLAY" ":1")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Graceful handling of application crashes")
+    (description "KCrash provides support for intercepting and handling
+application crashes.")
+    (license license:lgpl2.1+)))
+
+(define-public kdoctools
+  (package
+    (name "kdoctools")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1r129kpq0d11b9l87cqbal6fm5ycwhsps1g3r1a7jsxz70scz4ri"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("karchive" ,karchive)
+       ("ki18n" ,ki18n)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("perl" ,perl)
+       ("perl-uri" ,perl-uri)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'cmake-find-docbook
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* (find-files "cmake" "\\.cmake$")
+                (("CMAKE_SYSTEM_PREFIX_PATH")
+                  "CMAKE_PREFIX_PATH"))
+               (substitute* "cmake/FindDocBookXML4.cmake"
+                 (("^.*xml/docbook/schema/dtd.*$")
+                   "xml/dtd/docbook\n"))
+               (substitute* "cmake/FindDocBookXSL.cmake"
+                 (("^.*xml/docbook/stylesheet.*$")
+                  (string-append "xml/xsl/docbook-xsl-"
+                                 ,(package-version docbook-xsl) "\n"))))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Create documentation from DocBook")
+    (description "Provides tools to generate documentation in various format
+from DocBook files.")
+    (license license:lgpl2.1+)))
+
+(define-public kfilemetadata
+  (package
+    (name "kfilemetadata")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "02n9qhpr0jlwdgdbid0k34abhs3bzhlsa56ybl5dq1aib6izk1sy"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("python-2" ,python-2)))
+    (inputs
+     `(("attr" ,attr)
+       ("karchive" ,karchive)
+       ("ki18n" ,ki18n)
+       ("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Extract metadata from different fileformats")
+    (description "KFileMetaData provides a simple library for extracting the
+text and metadata from a number of different files.  This library is typically
+used by file indexers to retreive the metadata.  This library can also be used
+by applications to write metadata.")
+    (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
+
+(define-public kimageformats
+  (package
+    (name "kimageformats")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "12mhgckmhnvcnm8k7mk15mipxrnm7i9ip7ykbjh8nxjiwyk1pmwc"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'start-xorg-server
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The test suite requires a running X server.
+             (system (string-append (assoc-ref inputs "xorg-server")
+                                    "/bin/Xvfb :1 &"))
+             (setenv "DISPLAY" ":1")
+            #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Plugins to allow QImage to support extra file formats")
+    (description "This framework provides additional image format plugins for
+QtGui.  As such it is not required for the compilation of any other software,
+but may be a runtime requirement for Qt-based software to support certain image
+formats.")
+    (license license:lgpl2.1+)))
+
+(define-public kjobwidgets
+  (package
+    (name "kjobwidgets")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1mcvrz66xcqjgbp08zpqsf943cm462wbqm5gh719p9s25hx8hwrc"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcoreaddons" ,kcoreaddons)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Widgets for showing progress of asynchronous jobs")
+    (description "KJobWIdgets provides widgets for showing progress of
+asynchronous jobs.")
+    (license license:lgpl2.1+)))
+
+(define-public knotifications
+  (package
+    (name "knotifications")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "0qryp41phnpx4r9wa6rfhmnzy7nxl0ijnyrafadf2n2xb53ipkpa"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("dbus" ,dbus)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcodecs" ,kcodecs)
+       ("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kwindowsystem" ,kwindowsystem)
+       ("phonon" ,phonon)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda* _
+             (setenv "HOME" (getcwd))))
+         (replace 'check
+           (lambda* _
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (zero? (system* "dbus-launch" "ctest" ".")))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Desktop notifications")
+    (description "KNotification is used to notify the user of an event.  It
+covers feedback and persistent events.")
+    (license license:lgpl2.1+)))
+
+(define-public kpackage
+  (package
+    (name "kpackage")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "03aqzkpqz3c1v4qgwfbs3ncdbapiyg7psrkhxqv3z48rklavk1ri"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("karchive" ,karchive)
+       ("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:tests? #f ; FIXME: 1/4 tests fail.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda* _
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+             (setenv "HOME" (getcwd)))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Installation and loading of additional content as packages")
+    (description "The Package framework lets the user install and load packages
+of non binary content such as scripted extensions or graphic assets, as if they
+were traditional plugins.")
+    (license (list license:gpl2+ license:lgpl2.1+))))
+
+(define-public kpty
+  (package
+    (name "kpty")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1ybvdzqpa53kkki9p5da0ff9x3c63rmksk7865wqwlgy8apzi2fs"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:tests? #f ; FIXME: 1/1 tests fail.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-tests
+         (lambda _
+           (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+           (substitute* "autotests/kptyprocesstest.cpp"
+             (("/bin/bash") (which "bash")))
+           #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Interfacing with pseudo terminal devices")
+    (description "This library provides primitives to interface with pseudo
+terminal devices as well as a KProcess derived class for running child processes
+and communicating with them using a pty.")
+    (license (list license:gpl2+ license:lgpl2.1+))))
+
+(define-public kunitconversion
+  (package
+    (name "kunitconversion")
+    (version "5.24.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/frameworks/"
+                            (version-major+minor version) "/"
+                            name "-" version ".tar.xz"))
+        (sha256
+         (base32
+          "03dfjn4lm6sl2zcdrvw0b9irzvkyc2w2j5xixag5j8nw373742h8"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("ki18n" ,ki18n)
+       ("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Converting physical units")
+    (description "KUnitConversion provides functions to convert values in
+different physical units.  It supports converting different prefixes (e.g. kilo,
+mega, giga) as well as converting between different unit systems (e.g. liters,
+gallons).")
+    (license license:lgpl2.1+)))