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.scm160
1 files changed, 134 insertions, 26 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 58bc742365..5fdf3bc9e9 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
@@ -42,6 +43,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
@@ -92,7 +94,17 @@
            (lambda _
              ;; Always install into /lib and not into /lib64.
              (substitute* "kde-modules/KDEInstallDirs.cmake"
-               (("\"lib64\"") "\"lib\""))))
+               (("\"lib64\"") "\"lib\"")
+               ;; TODO: Base the following on values taken from Qt
+               ;; Install plugins into lib/qt5/plugins
+               (("_define_relative\\(QTPLUGINDIR LIBDIR \"plugins\"")
+                "_define_relative(QTPLUGINDIR LIBDIR \"qt5/plugins\"")
+               ;; Install imports into lib/qt5/imports
+               (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
+                "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
+               ;; Install qml-files into lib/qt5/qml
+               (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
+                "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))))
          ;; install and check phase are swapped to prevent install from failing
          ;; after testsuire has run
          (add-after 'install 'check-post-install
@@ -128,16 +140,17 @@ common build settings used in software produced by the KDE community.")
                 "177647r2jqfm32hqcz2nqfqv6v48hn5ab2vc31svba2wz23fkgk7"))))
     (build-system cmake-build-system)
     (native-inputs
-     ;; TODO: Add qttools to build the Qt Designer plugin.
      ;; TODO: Think about adding pulseaudio. Is it required for sound?
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     ;; TODO: Add building the super experimental QML support
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
+       ("qttools", qttools)))
     (inputs
      `(("qtbase" ,qtbase)))
     (arguments
      `(#:configure-flags
        '("-DCMAKE_CXX_FLAGS=-fPIC"
-         "-DPHONON_BUILD_PHONON4QT5=ON"
-         "-DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=ON")
+         "-DPHONON_BUILD_PHONON4QT5=ON")
        #:phases
        (modify-phases %standard-phases
          (add-before 'install 'patch-installdir
@@ -307,8 +320,11 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
      `(("qtbase" ,qtbase)))
     (arguments
      `(#:configure-flags
-       '("-DINSTALL_UDEV_RULE:BOOL=OFF")
-       #:tests? #f)) ; DBUS_FATAL_WARNINGS=0 still yields 7/8 tests failing
+       (list (string-append
+              "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
+       ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
+       ;; failing.  When running after install, tests hang.
+       #:tests? #f))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "QML wrapper for BlueZ")
     (description "bluez-qt is a Qt-style library for accessing the bluez
@@ -540,6 +556,8 @@ propagate their changes to their respective configuration files.")
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)
+       ("shared-mime-info" ,shared-mime-info)
+       ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
        ("xorg-server" ,xorg-server))) ; for the tests
     (inputs
      `(("qtbase" ,qtbase)))
@@ -624,7 +642,8 @@ as well as an API to create KDED modules.")
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
     (inputs
-     `(("qtbase" ,qtbase)))
+     `(("avahi" ,avahi) ; alternativly dnssd could be used
+       ("qtbase" ,qtbase)))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Network service discovery using Zeroconf")
     (description "KDNSSD is a library for handling the DNS-based Service
@@ -729,9 +748,11 @@ translation scripting.")
                 "01m4q3l2yq83f2dpbv6jry7cjkj6bqdgfpy5b8byaf1gf9w2firs"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("qtbase" ,qtbase)
+     `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
+       ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Reporting of idle time of user and system")
@@ -1042,7 +1063,7 @@ configuration pages, message boxes, and password requests.")
                  (begin
                    (let ((out (assoc-ref outputs "out")))
                      (setenv "QT_PLUGIN_PATH"
-                             (string-append out "/lib/plugins:"
+                             (string-append out "/lib/qt5/plugins:"
                                             (getenv "QT_PLUGIN_PATH"))))
                    ;; The test suite requires a running X server, setting
                    ;; QT_QPA_PLATFORM=offscreen does not suffice and even make
@@ -1213,7 +1234,7 @@ system.")
 (define-public prison
   (package
     (name "prison")
-    (version "5.34.0")
+    (version "5.37.0")
     (source
      (origin
        (method url-fetch)
@@ -1221,7 +1242,7 @@ system.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "00wj4yyfhhcq9b54civ5hy1grz70mmi676x50y12crcbbgkxm1lx"))))
+        (base32 "1icsirwfh7zscm8x9g2gp7aqzhs81ahhjflwjcwpz9bh0r9f1wb7"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1251,6 +1272,7 @@ provides uniform access to generation of barcodes with data.")
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
     (inputs
      `(("hunspell" ,hunspell)
@@ -1452,6 +1474,15 @@ application crashes.")
                (("^.*xml/docbook/stylesheet.*$")
                 (string-append "xml/xsl/docbook-xsl-"
                                ,(package-version docbook-xsl) "\n")))
+             #t))
+         (add-after 'install 'add-symlinks
+           ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
+           ;; different spelling.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((xsl (string-append (assoc-ref outputs "out")
+                                       "/share/kf5/kdoctools/customization/xsl/")))
+               (symlink (string-append xsl "pt_br.xml")
+                        (string-append xsl "pt-BR.xml")))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Create documentation from DocBook")
@@ -1485,23 +1516,26 @@ from DocBook files.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (setenv "QT_PLUGIN_PATH"
-                       (string-append out "/lib/plugins:"
+                       (string-append out "/lib/qt5/plugins:"
                                     (getenv "QT_PLUGIN_PATH"))))
              #t)))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
        ("python-2" ,python-2)))
     (inputs
      `(("attr" ,attr)
+       ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
        ("karchive" ,karchive)
        ("ki18n" ,ki18n)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtbase" ,qtbase)
        ;; Required run-time packages
        ("catdoc" ,catdoc)
        ;; Optional run-time packages
        ("exiv2" ,exiv2)
        ("ffmpeg" ,ffmpeg)
-       ("poppler" ,poppler)
+       ("poppler-qt5" ,poppler-qt5)
        ("taglib" ,taglib)))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Extract metadata from different fileformats")
@@ -1995,7 +2029,8 @@ KCModules can be created with the KConfigWidgets framework.")
        ("kconfig" ,kconfig)
        ("kwidgetsaddons" ,kwidgetsaddons)))
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)))
     (inputs
      `(("kcoreaddons" ,kcoreaddons)
        ("kguiaddons" ,kguiaddons)
@@ -2036,6 +2071,7 @@ their settings.")
        ("kpackage" ,kpackage)))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
        ("xorg-server" ,xorg-server)))
     (inputs
      `(("kauth" ,kauth)
@@ -2055,6 +2091,7 @@ their settings.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
+       ("libepoxy", libepoxy)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("solid" ,solid)))
@@ -2132,7 +2169,20 @@ started on demand.")
      `(("kconfig" ,kconfig)
        ("kcoreaddons" ,kcoreaddons)
        ("kdoctools" ,kdoctools)
-       ("qtbase" ,qtbase)))
+       ("qtbase" ,qtbase)
+       ;; optional:
+       ("kcompletion" ,kcompletion)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kiconthemes" ,kiconthemes)
+       ("kitemviews" ,kitemviews)
+       ("kio" ,kio)
+       ("kplotting" ,kplotting)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kdewebkit" ,kdewebkit)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("qtwebkit" ,qtwebkit)
+       ("sonnet" ,sonnet)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -2237,6 +2287,7 @@ emoticons coming from different providers.")
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
     (inputs
      `(("kconfig" ,kconfig)
@@ -2386,7 +2437,7 @@ makes starting KDE applications faster and reduces memory consumption.")
      `(("dbus" ,dbus)
        ("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
-     `(("acl" ,acl)
+     `(;; TODO:  LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
        ("krb5" ,mit-krb5)
        ("karchive" ,karchive)
        ("kauth" ,kauth)
@@ -2411,13 +2462,30 @@ makes starting KDE applications faster and reduces memory consumption.")
      `(#:tests? #f ; FIXME: 41/50 tests fail.
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda _
+             ;; Better error message (taken from nix)
+             (substitute* "src/kiod/kiod_main.cpp"
+               (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
+                (string-append a "<< name" b)))
+             ;; TODO: samba-search-path.patch from nix: search smbd on $PATH
+             #t))
          (add-before 'check 'check-setup
            (lambda _
              (setenv "HOME" (getcwd))
              (setenv "XDG_RUNTIME_DIR" (getcwd))
              ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             #t))
+         (add-after 'install 'add-symlinks
+           ;; Some package(s) (e.g. bluedevil) refer to these service types by
+           ;; the wrong name.  I would prefer to patch those packages, but I
+           ;; cannot find the files!
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((kst5 (string-append (assoc-ref outputs "out")
+                                        "/share/kservicetypes5/")))
+               (symlink (string-append kst5 "kfileitemactionplugin.desktop")
+                        (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
     ;;(replace 'check
     ;;  (lambda _
     ;;    (setenv "DBUS_FATAL_WARNINGS" "0")
@@ -2551,7 +2619,9 @@ notifications which can be embedded in your application.")
        ("ktextwidgets" ,ktextwidgets)
        ("kxmlgui" ,kxmlgui)))
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("shared-mime-info" ,shared-mime-info)
+       ))
     (inputs
      `(("kauth" ,kauth)
        ("kbookmarks" ,kbookmarks)
@@ -2788,7 +2858,16 @@ types or handled by application specific code.")
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             #t))
+         (add-after 'install 'add-symlinks
+           ;; Some package(s) (e.g. plasma-sdk) refer to these service types
+           ;; by the wrong name.  I would prefer to patch those packages, but
+           ;; I cannot find the files!
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((kst5 (string-append (assoc-ref outputs "out")
+                                        "/share/kservicetypes5/")))
+               (symlink (string-append kst5 "ktexteditorplugin.desktop")
+                        (string-append kst5 "ktexteditor-plugin.desktop"))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Full text editor component")
     (description "KTextEditor provides a powerful text editor component that you
@@ -2861,7 +2940,7 @@ It supports rich text as well as plain text.")
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
-     `(("gpgme" ,gpgme) ;; TODO: Add gpgme Qt-bindings
+     `(("gpgme" ,gpgme)
        ("kauth" ,kauth)
        ("kcodecs" ,kcodecs)
        ("kconfig" ,kconfig)
@@ -2877,6 +2956,7 @@ It supports rich text as well as plain text.")
        ("kwindowsystem" ,kwindowsystem)
        ("libgcrypt" ,libgcrypt)
        ("phonon" ,phonon)
+       ("qgpgme" ,qgpgme)
        ("qtbase" ,qtbase)))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Safe desktop-wide storage for passwords")
@@ -2885,6 +2965,38 @@ desktop-wide storage for passwords and the kwalletd daemon used to safely store
 the passwords on KDE work spaces.")
     (license license:lgpl2.1+)))
 
+(define-public kdewebkit
+  (package
+    (name "kdewebkit")
+    (version "5.37.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1ph3a50wix42hmsbc9jbfxla172aihjx9yzp9rza09j1a7va3hg1"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kio" ,kio)
+       ("kjobwidgets" ,kjobwidgets)
+       ("kparts" ,kparts)
+       ("kservice" ,kservice)
+       ("kwallet" ,kwallet)
+       ("qtbase" ,qtbase)
+       ("qtwebkit" ,qtwebkit)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Integration for QtWebKit")
+    (description "This library provides KDE integration of the HTML rendering
+engine WebKit via QtWebKit.")
+    (license license:lgpl2.1+)))
+
 (define-public kxmlgui
   (package
     (name "kxmlgui")
@@ -3182,12 +3294,8 @@ workspace.")
     (inputs
      `(("kcompletion" ,kcompletion)
        ("kconfig" ,kconfig)
-       ("kconfigwidgets" ,kconfigwidgets)
        ("kded" ,kded)
-       ("kdesignerplugin" ,kdesignerplugin)
-       ("kdoctools" ,kdoctools)
        ("kglobalaccel" ,kglobalaccel)
-       ("kguiaddons" ,kguiaddons)
        ("ki18n" ,ki18n)
        ("kio" ,kio)
        ("kservice" ,kservice)