gnu: kdenlive: Update to 20.08.1.
[jackhill/guix/guix.git] / gnu / packages / kde.scm
index 5cf614d..522907d 100644 (file)
@@ -8,6 +8,9 @@
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +42,7 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages code)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
@@ -49,6 +53,7 @@
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages kde-pim)
   #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -130,7 +135,7 @@ This package contains GUI widgets for baloo.")
      (list license:lgpl2.1+ license:fdl1.2+))))
 
 (define-public kdenlive
-  (let ((version "18.08.1"))
+  (let ((version "20.08.1"))
     (package
       (name "kdenlive")
       (version version)
@@ -138,24 +143,26 @@ This package contains GUI widgets for baloo.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "git://anongit.kde.org/kdenlive.git")
+               (url "https://invent.kde.org/multimedia/kdenlive")
                (commit (string-append "v" version))))
          (file-name (string-append name "-" version "-checkout"))
          (sha256
           (base32
-           "0ifnaclsz7w08mc485i3j1kkcpd1m8q5qamckrfwc375ac13xf4g"))))
+           "15mpw1sysy7mky8fcj0x4zbspz0na7q76xdfj0j8hsggg9d3yq8l"))))
       (build-system cmake-build-system)
       (native-inputs
        `(("extra-cmake-modules" ,extra-cmake-modules)
          ("qttools" ,qttools)))
-      (propagated-inputs
-       `(("mlt" ,mlt)))
       (inputs
        `(("shared-mime-info" ,shared-mime-info)
          ("frei0r-plugins" ,frei0r-plugins)
+         ("ffmpeg" ,ffmpeg)
+         ("rttr" ,rttr)
+         ("mlt" ,mlt)
          ("qtbase" ,qtbase)
          ("qtscript" ,qtscript)
          ("qtsvg" ,qtsvg)
+         ("qtmultimedia" ,qtmultimedia)
          ("kparts" ,kparts)
          ("knotifications" ,knotifications)
          ("karchive" ,karchive)
@@ -169,21 +176,31 @@ This package contains GUI widgets for baloo.")
          ("kdeclarative" ,kdeclarative)
          ("qtdeclarative" ,qtdeclarative)
          ("qtquickcontrols" ,qtquickcontrols)
+         ("qtquickcontrols2" ,qtquickcontrols2)
          ("kiconthemes" ,kiconthemes)
+         ("breeze" ,breeze)
          ("qtgraphicaleffects" ,qtgraphicaleffects)
          ("kplotting" ,kplotting)))
       (arguments
-       `(#:phases
+       `(#:tests? #f                    ;TODO needs X
+         #:phases
          (modify-phases %standard-phases
            (add-after 'install 'wrap-executable
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
                       (qtquickcontrols (assoc-ref inputs "qtquickcontrols"))
+                      (qtquickcontrols2 (assoc-ref inputs "qtquickcontrols2"))
                       (qtbase (assoc-ref inputs "qtbase"))
                       (qtdeclarative (assoc-ref inputs "qtdeclarative"))
                       (frei0r (assoc-ref inputs "frei0r-plugins"))
+                      (ffmpeg (assoc-ref inputs "ffmpeg"))
+                      (breeze (assoc-ref inputs "breeze"))
                       (qml "/lib/qt5/qml"))
                  (wrap-program (string-append out "/bin/kdenlive")
+                   `("PATH" ":" prefix
+                     ,(list (string-append ffmpeg "/bin")))
+                   `("XDG_DATA_DIRS" ":" prefix
+                     ,(list (string-append breeze "/share")))
                    `("QT_PLUGIN_PATH" ":" prefix
                      ,(map (lambda (label)
                              (string-append (assoc-ref inputs label)
@@ -195,7 +212,10 @@ This package contains GUI widgets for baloo.")
                      (,(string-append qtbase "/lib/qt5/plugins/platforms")))
                    `("QML2_IMPORT_PATH" ":" prefix
                      (,(string-append qtquickcontrols qml)
-                      ,(string-append qtdeclarative qml)))))
+                      ,(string-append qtquickcontrols2 qml)
+                      ,(string-append qtdeclarative qml)))
+                   `("MLT_PREFIX" ":" =
+                     (,(assoc-ref inputs "mlt")))))
                #t)))))
       (home-page "https://kdenlive.org")
       (synopsis "Non-linear video editor")
@@ -361,7 +381,7 @@ illustrate project schedules.")
 (define-public krita
   (package
     (name "krita")
-    (version "4.2.9")
+    (version "4.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -369,7 +389,7 @@ illustrate project schedules.")
                     "/krita-" version ".tar.gz"))
               (sha256
                (base32
-                "1a3djmjhnvlp8dpiz68s0lwg71nv3ypq592jfgsnm5zlxa0vp1cz"))))
+                "1njbxv7b56if838gv7ydzm1sprgmaabnp0jlj0bxryxzfdy8hwfh"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f
@@ -432,7 +452,7 @@ illustrate project schedules.")
        ("openexr" ,openexr)
        ("perl" ,perl)
        ("poppler-qt5" ,poppler-qt5)
-       ("qtbase" ,qtbase)
+       ("qtbase" ,qtbase-for-krita)
        ("qtdeclarative" ,qtdeclarative)
        ("qtmultimedia" ,qtmultimedia)
        ("qtsvg" ,qtsvg)
@@ -565,20 +585,31 @@ different notification systems.")
 (define-public kdeconnect
   (package
     (name "kdeconnect")
-    (version "1.3.5")
+    (version "20.04.2")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "mirror://kde/stable/kdeconnect/"
-                            version "/kdeconnect-kde-"
+        (uri (string-append "mirror://kde/stable/release-service/"
+                            version "/src/kdeconnect-kde-"
                             version ".tar.xz"))
         (sha256
          (base32
-          "02lr3xx5s2mgddac4n3lkgr7ppf1z5m6ajs90rjix0vs8a271kp5"))))
+          "0yq3afbbcc9gmlcachvh3xz3gdj57092fpagp36l5knw8gr0d9ip"))))
     (build-system qt-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_TESTING=ON"
-                           "-DLIBEXEC_INSTALL_DIR=libexec")
+                           "-DKDE_INSTALL_LIBEXECDIR=libexec")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      ;; FIXME: <kcmutils_version.h> is not found during one
+                      ;; of the compilation steps without this hack.
+                      (setenv "CPLUS_INCLUDE_PATH"
+                              (string-append (assoc-ref inputs "kcmutils")
+                                             "/include/KF5:"
+                                             (or (getenv "CPLUS_INCLUDE_PATH")
+                                                 "")))
+                      #t)))
        #:tests? #f)) ; tests fail hard in our build environment
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -593,12 +624,17 @@ different notification systems.")
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
        ("kio" ,kio)
+       ("kirigami" ,kirigami)
        ("knotifications" ,knotifications)
+       ("kpeople" ,kpeople)
+       ("kpeoplevcard" ,kpeoplevcard)
        ("kwayland" ,kwayland)
        ("libfakekey" ,libfakekey)
+       ("pulseaudio-qt" ,pulseaudio-qt)
        ("qca" ,qca)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtx11extras" ,qtx11extras)))
     (home-page "https://community.kde.org/KDEConnect")
     (synopsis "Enable your devices to communicate with each other")