gnu: r-annotationfuncs: Update to 1.34.0.
[jackhill/guix/guix.git] / gnu / packages / lxqt.scm
index 43c7caa..d91efe7 100644 (file)
@@ -3,9 +3,10 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 
 (define-module (gnu packages lxqt)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages compton)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages kde)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages lxde)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages openbox)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+
+;; Third party libraries
+
 (define-public libdbusmenu-qt
   (package
     (name "libdbusmenu-qt")
     (version "0.9.3+16.04.20160218-0ubuntu1")
     (source
      (origin
-       (method url-fetch)
-       ;; Download from github rather than launchpad beacuse launchpad trunk
+       (method git-fetch)
+       ;; Download from github rather than launchpad because launchpad trunk
        ;; tarball hash is not deterministic.
-       (uri (string-append "https://github.com/unity8-team/" name
-                           "/archive/" version ".tar.gz"))
+       (uri (git-reference
+             (url "https://github.com/unity8-team/libdbusmenu-qt.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0abwyggnpg50sa9cxphscp5zdkv9nxqnlav55vj21df6q1h3jb5w"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+        (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
     (build-system cmake-build-system)
     (arguments
      ;; XXX: Tests require a dbus session and some icons.
@@ -79,102 +94,83 @@ protocol.  The DBusMenu protocol makes it possible for applications to export
 and import their menus over DBus.")
     (license license:lgpl2.1+)))
 
-(define-public libfm-qt
+(define-public libstatgrab
   (package
-    (name "libfm-qt")
-    (version "0.13.1")
+    (name "libstatgrab")
+    (version "0.91")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
-                           version "/" name "-" version ".tar.xz"))
+       (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
+                           name "-" version ".tar.gz"))
        (sha256
-        (base32 "0p0lbz7dh5c38zq3yp1v1mm99ymg7mqr3h7yzniif2hipmgvxsv9"))))
-    (build-system cmake-build-system)
+        (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83"))))
+    (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")))
-    (inputs
-     `(("glib" ,glib)
-       ("libexif" ,libexif)
-       ("libfm" ,libfm)
-       ("libxcb" ,libxcb)
-       ("menu-cache" ,menu-cache)
-       ("pcre" ,pcre)
-       ("qtbase" ,qtbase)
-       ("qtx11extras" ,qtx11extras)))
+     '(#:configure-flags '("--enable-tests")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("lxqt-build-tools" ,lxqt-build-tools)
-       ("qttools" ,qttools)))
-    (home-page "https://lxqt.org/")
-    (synopsis "Qt binding for libfm")
-    (description "libfm-qt is the Qt port of libfm, a library providing
-components to build desktop file managers which belongs to LXDE.")
-    (license license:lgpl2.1+)))
+     ;; For testing.
+     `(("perl" ,perl)))
+    (home-page "https://www.i-scream.org/libstatgrab/")
+    (synopsis "Provides access to statistics about the system")
+    (description "libstatgrab is a library that provides cross platform access
+to statistics about the system on which it's run.")
+    ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
+    (license license:gpl2+)))
 
-(define-public liblxqt
+
+;; Base
+
+(define-public lxqt-build-tools
   (package
-    (name "liblxqt")
-    (version "0.13.0")
+    (name "lxqt-build-tools")
+    (version "0.6.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://github.com/lxqt/" name "/releases/download/"
-             version "/" name "-" version ".tar.xz"))
+       (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
+                           "/download/" version
+                           "/lxqt-build-tools-" version ".tar.xz"))
        (sha256
-        (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl"))))
+        (base32 "0n0p0mf12n9f7zm2592779rpqrbcamfdz87nnjb8j058bc8g3214"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
        #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-source
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions"))
-             #t)))))
-    (inputs
-     `(("kwindowsystem" ,kwindowsystem)
-       ("libqtxdg" ,libqtxdg)
-       ("libxscrnsaver" ,libxscrnsaver)
-       ("polkit-qt" ,polkit-qt)
-       ("qtsvg" ,qtsvg)
-       ("qtx11extras" ,qtx11extras)))
+       ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
+       ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
+       ;; LXQT_ETC_XDG_DIR in its "Technical Info".
+       '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
+         "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
     (native-inputs
-     `(("lxqt-build-tools" ,lxqt-build-tools)
-       ("qttools" ,qttools)))
-    (home-page "https://lxqt.org/")
-    (synopsis "Core utility library for all LXQt components")
-    (description "liblxqt provides the basic libraries shared by the
-components of the LXQt desktop environment.")
+     `(("pkg-config" ,pkg-config)
+       ("glib" ,glib)))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (synopsis "LXQt Build tools")
+    (description
+     "Lxqt-build-tools is providing several tools needed to build LXQt
+itself as well as other components maintained by the LXQt project.")
+    (home-page "https://lxqt.org")
     (license license:lgpl2.1+)))
 
 (define-public libqtxdg
   (package
     (name "libqtxdg")
-    (version "3.2.0")
+    (version "3.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://github.com/lxqt/" name "/releases/download/"
-             version "/" name "-" version ".tar.xz"))
+             "https://github.com/lxqt/libqtxdg/releases/download/"
+             version "/libqtxdg-" version ".tar.xz"))
        (sha256
-        (base32 "0lq548pa69hfvnbj2ypba5ygm8n6v6g7bqqm8p5g538l1l3394cl"))))
+        (base32 "1mnnq8vbf5xjlrzajzfkay0yzzxri0zz0xi8x8rmxpw38xmglq8h"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags
-       `("-DBUILD_TESTS=ON"
-         ,(string-append "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH="
-                         %output "/lib/qt5/plugins/iconengines"))
+     '(#:configure-flags
+       '("-DBUILD_TESTS=ON"
+         "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
        #:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
@@ -186,47 +182,71 @@ components of the LXQt desktop environment.")
      ;; required by Qt5XdgIconLoader.pc
      `(("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)))
     (home-page "https://github.com/lxqt/libqtxdg")
     (synopsis "Qt implementation of freedesktop.org xdg specifications")
     (description "Libqtxdg implements the freedesktop.org xdg specifications
 in Qt.")
     (license license:lgpl2.1+)))
 
-(define-public libstatgrab
+(define-public liblxqt
   (package
-    (name "libstatgrab")
-    (version "0.91")
+    (name "liblxqt")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
-                           name "-" version ".tar.gz"))
+       (uri (string-append
+             "https://github.com/lxqt/" name "/releases/download/"
+             version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83"))))
-    (build-system gnu-build-system)
+        (base32 "1gb922npf6nw4w3nkvh4czk8xmdzzqkzq3zgl1h303fjaib359qs"))))
+    (build-system cmake-build-system)
     (arguments
-     '(#:configure-flags '("--enable-tests")))
+     `(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
+                "DESTINATION \"share/polkit-1/actions"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
+             #t)))))
+    (inputs
+     `(("kwindowsystem" ,kwindowsystem)
+       ("libqtxdg" ,libqtxdg)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("polkit-qt" ,polkit-qt)
+       ("qtsvg" ,qtsvg)
+       ("qtx11extras" ,qtx11extras)))
     (native-inputs
-     ;; For testing.
-     `(("perl" ,perl)))
-    (home-page "https://www.i-scream.org/libstatgrab/")
-    (synopsis "Provides access to statistics about the system")
-    (description "libstatgrab is a library that provides cross platform access
-to statistics about the system on which it's run.")
-    ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
-    (license license:gpl2+)))
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (home-page "https://lxqt.org/")
+    (synopsis "Core utility library for all LXQt components")
+    (description "liblxqt provides the basic libraries shared by the
+components of the LXQt desktop environment.")
+    (license license:lgpl2.1+)))
 
 (define-public libsysstat
   (package
     (name "libsysstat")
-    (version "0.4.1")
+    (version "0.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0ngz8v3bixsdg96d5ipcyxd6nsrg52974xdxy9rnimahlv1yaxn3"))))
+        (base32 "0rz9w49khra9kl91kfnd3wxkldy1fqf6755mvlgbsqxb1yv8597w"))))
     (build-system cmake-build-system)
     (arguments '(#:tests? #f))          ; no tests
     (inputs
@@ -239,17 +259,20 @@ to statistics about the system on which it's run.")
 and memory usage or network traffic.")
     (license license:lgpl2.1+)))
 
+
+;; Core
+
 (define-public lxqt-about
   (package
     (name "lxqt-about")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "08imj7p77ifzfxnn8c482mhrvfx9gi0rb43ab5rw1rkmfvax2n5w"))))
+        (base32 "01xp5ddcxc9wvl7jm4179hjrirj07mpzm9z50936d1fqx34wfbis"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -263,9 +286,19 @@ and memory usage or network traffic.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'setenv
+           (lambda _
+             (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
+             #t)))))
     (home-page "https://lxqt.org")
     (synopsis "Provides information about LXQt and the system")
     (description "lxqt-about is a dialogue window providing information about
@@ -275,14 +308,14 @@ LXQt and the system it's running on.")
 (define-public lxqt-admin
   (package
     (name "lxqt-admin")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0qvpv668ja83ydbdrlal1596xhag3xlkbd6qlh9xwdpb7nysvns1"))))
+        (base32 "0f0skkxqyhpidpd5phliax869v4n2whvglg8rahzia2zhw4ylzry"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -296,16 +329,21 @@ LXQt and the system it's running on.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* "lxqt-admin-user/CMakeLists.txt"
                (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions"))
+                "DESTINATION \"share/polkit-1/actions"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("lxqt-admin-time/CMakeLists.txt"
+                            "lxqt-admin-user/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org")
     (synopsis "LXQt system administration tool")
@@ -313,54 +351,31 @@ LXQt and the system it's running on.")
 the operating system LXQt is running on.")
     (license license:lgpl2.1+)))
 
-(define-public lxqt-build-tools
-  (package
-    (name "lxqt-build-tools")
-    (version "0.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
-                           version "/" name "-" version ".tar.xz"))
-       (sha256
-        (base32 "13b5x26p6ycnwzlgg1cgvlc88wjrjmlb3snrrmzh0xgh9h6hhvd6"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:tests? #f))                    ; no tests
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib" ,glib)))
-    (inputs
-     `(("qtbase" ,qtbase)))
-    (synopsis "LXQt Build tools")
-    (description
-     "Lxqt-build-tools is providing several tools needed to build LXQt
-itself as well as other components maintained by the LXQt project.")
-    (home-page "https://lxqt.org")
-    (license license:lgpl2.1+)))
-
 (define-public lxqt-config
   (package
     (name "lxqt-config")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0rizhl2v41kpgp57a61r6nmwcdw8nh9hprrrf33nfrdw8hpwxb95"))))
+        (base32 "16k36knv6d72gg8hp7423l3ic43y3l3zbaf3spqn2a354y30myrg"))))
     (build-system cmake-build-system)
     (inputs
-     `(("kwindowsystem" ,kwindowsystem)
+     `(("eudev" ,eudev)
+       ("kwindowsystem" ,kwindowsystem)
        ("libkscreen" ,libkscreen)
        ("liblxqt" ,liblxqt)
        ("libqtxdg" ,libqtxdg)
        ("libxcursor" ,libxcursor)
+       ("libxi" ,libxi)
        ("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
        ("solid" ,solid)
+       ("xf86-input-libinput" ,xf86-input-libinput)
        ("zlib" ,zlib)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -368,16 +383,27 @@ itself as well as other components maintained by the LXQt project.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("src/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
+                            "lxqt-config-brightness/CMakeLists.txt"
+                            "lxqt-config-appearance/CMakeLists.txt"
+                            "lxqt-config-locale/CMakeLists.txt"
+                            "lxqt-config-monitor/CMakeLists.txt"
+                            "lxqt-config-input/CMakeLists.txt"
+                            "liblxqt-config-cursor/CMakeLists.txt"
+                            "src/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org")
     (synopsis "Tools to configure LXQt and the underlying operating system")
@@ -388,14 +414,14 @@ configuration of both LXQt and the underlying operating system.")
 (define-public lxqt-globalkeys
   (package
     (name "lxqt-globalkeys")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1gyvcjbhi7zpvgz1sf773dv9gc35hx5fz023njp9r4vl0dpcavgd"))))
+        (base32 "0m6svwy20bfy9d21g5l0qzjndph3rd8zqagmqgdjzjhh3lxwrsrk"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -410,9 +436,6 @@ configuration of both LXQt and the underlying operating system.")
        ("lxqt-build-tools" ,lxqt-build-tools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
@@ -420,7 +443,14 @@ configuration of both LXQt and the underlying operating system.")
              (substitute* '("autostart/CMakeLists.txt"
                             "xdg/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "config/CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "Daemon used to register global keyboard shortcuts")
@@ -432,14 +462,14 @@ as a whole and are not limited to distinct applications.")
 (define-public lxqt-notificationd
   (package
     (name "lxqt-notificationd")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1l0hdbvghyhqgvy4pih7rvz26bc6yc8a3l1bdj11hnkw62h1i7d6"))))
+        (base32 "1kiag3fcx12qmslln6x6lwvm4f1spymwf71389kdya3vwx7hkmcy"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -453,16 +483,21 @@ as a whole and are not limited to distinct applications.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no test target
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("config/CMakeLists.txt"
+                            "src/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "The LXQt notification daemon")
@@ -473,14 +508,14 @@ according to the Desktop Notifications Specification.")
 (define-public lxqt-openssh-askpass
   (package
     (name "lxqt-openssh-askpass")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0l2272gya8jgv71bvg2hz37lnhiznv4ng3j0p6j79f99hwb5ygpk"))))
+        (base32 "1fvbgjidpifn420avh8n1gym49vcz6zgayz7xygg1x93s4awy1cs"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -494,9 +529,15 @@ according to the Desktop Notifications Specification.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
+             #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "GUI to query passwords on behalf of SSH agents")
     (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
@@ -506,14 +547,14 @@ of other programs.")
 (define-public lxqt-panel
   (package
     (name "lxqt-panel")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1qraigzq7nc5a2q6f5ybxwx07gxffa3m3bg7fiv6ppwss51xqfd1"))))
+        (base32 "1r3wx0v3jm7j41h7gxr49izc9xa1afvrzq4wcdm0qbj98qa1rgpq"))))
     (build-system cmake-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -523,7 +564,7 @@ of other programs.")
        ("liblxqt" ,liblxqt)
        ("libqtxdg" ,libqtxdg)
        ("libstatgrab" ,libstatgrab)
-       ("libsysstat"libsysstat)
+       ("libsysstat" ,libsysstat)
        ("libxcomposite" ,libxcomposite)
        ("libxdamage" ,libxdamage)
        ("libxkbcommon" ,libxkbcommon)
@@ -543,9 +584,6 @@ of other programs.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
@@ -553,7 +591,15 @@ of other programs.")
              (substitute* '("autostart/CMakeLists.txt"
                             "menu/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("cmake/BuildPlugin.cmake"
+                            "panel/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "The LXQt desktop panel")
@@ -563,14 +609,14 @@ of other programs.")
 (define-public lxqt-policykit
   (package
     (name "lxqt-policykit")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1d97fys6625nk4q6irp0jhsbk30xi7idnii1f3vrrrdcl2cahagp"))))
+        (base32 "127rqb0nprybkc41lk0yq0r0dk5pbbw22gvrm4pwag71qh8wpk5i"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -588,15 +634,20 @@ of other programs.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no test target
-       #:configure-flags
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "The LXQt PolicyKit agent")
@@ -607,14 +658,14 @@ LXQt.")
 (define-public lxqt-powermanagement
   (package
     (name "lxqt-powermanagement")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "15nvdypyjwnp7k3d2pkhdbmaqb3ccacmh95rbdbc5mr7yrjy9613"))))
+        (base32 "06bvgbkbl9p9n8ba5cfsynqgmpb5c8yfnsvp7zqhflj8k9p9msip"))))
     (build-system cmake-build-system)
     (inputs
      `(("kidletime" ,kidletime)
@@ -630,16 +681,21 @@ LXQt.")
        ("qttools" ,qttools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("config/CMakeLists.txt"
+                            "src/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "Power management module for LXQt")
@@ -648,17 +704,55 @@ management events and optionally trigger actions like e. g. shut down a system
 when laptop batteries are low on power.")
     (license license:lgpl2.1+)))
 
+(define-public lxqt-qtplugin
+  (package
+    (name "lxqt-qtplugin")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "18y7xfxwyismcycg70q6r8zrcygz1pdcvg6lqc6ba7azqb9806ds"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libfm-qt" ,libfm-qt)
+       ("libqtxdg" ,libqtxdg)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* '("src/CMakeLists.txt")
+               (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
+                "DESTINATION \"lib/qt5/plugins"))
+             #t)))))
+    (home-page "https://lxqt.org/")
+    (synopsis "LXQt Qt platform integration plugin")
+    (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
+Qt with LXQt.")
+    (license license:lgpl2.1+)))
+
 (define-public lxqt-runner
   (package
     (name "lxqt-runner")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0dsg6fdcqbl7gza0sg1pb49zn5x31q7zx77jp7mkf6wc2lv8lali"))))
+        (base32 "1c687shypivkhjrpzs1jcy5l2i8d7xzm31c4is1xx6x9nbkgm4bm"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -672,20 +766,24 @@ when laptop batteries are low on power.")
        ("qtx11extras" ,qtx11extras)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("qttools"qttools)
+       ("qttools" ,qttools)
        ("lxqt-build-tools" ,lxqt-build-tools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "Tool used to launch programs quickly by typing their names")
@@ -696,14 +794,14 @@ allows for launching applications or shutting down the system.")
 (define-public lxqt-session
   (package
     (name "lxqt-session")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z"))))
+        (base32 "11i2vimv3336dvvxb6y5csdybwjncr7cq3kwlj52vkpisnxslvgy"))))
     (build-system cmake-build-system)
     (inputs
      `(("eudev" ,eudev)
@@ -720,8 +818,6 @@ allows for launching applications or shutting down the system.")
        ("qttools" ,qttools)))
     (arguments
      `(#:tests? #f
-       #:configure-flags
-       `("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
@@ -729,7 +825,16 @@ allows for launching applications or shutting down the system.")
              (substitute* '("autostart/CMakeLists.txt"
                             "config/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
+             #t))
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("lxqt-config-session/CMakeLists.txt"
+                            "lxqt-leave/CMakeLists.txt"
+                            "lxqt-session/CMakeLists.txt")
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "Session manager for LXQt")
@@ -740,14 +845,14 @@ for the LXQt desktop environment.")
 (define-public lxqt-sudo
   (package
     (name "lxqt-sudo")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "1j28wlw4rkzvr85yl78fqkvz7sv7dykm9ghm63xdkskfjbsas1cf"))))
+        (base32 "0mbygp2kkppwk7sxvpnwavdwrx88mh7ldcg6xm3zw1ndp29danay"))))
     (build-system cmake-build-system)
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
@@ -763,9 +868,15 @@ for the LXQt desktop environment.")
        ("lxqt-build-tools" ,lxqt-build-tools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-translations-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
+                (string-append (assoc-ref outputs "out")
+                               "/share/lxqt/translations")))
+             #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "GUI frontend for sudo/su")
     (description "lxqt-sudo is a graphical front-end of commands sudo and su
@@ -773,17 +884,88 @@ respectively.  As such it enables regular users to launch applications with
 permissions of other users including root.")
     (license license:lgpl2.1+)))
 
+(define-public lxqt-themes
+  (package
+    (name "lxqt-themes")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0p7svdpp0z44hvgrp2aip6hym0gdhbanyxsz6iz8sjnn28c995ia"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)))
+    (arguments
+     `(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* '("CMakeLists.txt")
+               (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
+                "DESTINATION \"share/lxqt/graphics"))
+             (substitute* '("themes/CMakeLists.txt")
+               (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
+                "DESTINATION \"share/lxqt"))
+             #t)))))
+    (home-page "https://lxqt.org/")
+    (synopsis "Themes, graphics and icons for LXQt")
+    (description "This package comprises a number of graphic files and themes
+for LXQt.")
+    ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
+    ;; licensed under CC-BY-SA 3.0.
+    (license license:lgpl2.1+)))
+
+
+;; File Manager
+
+(define-public libfm-qt
+  (package
+    (name "libfm-qt")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "06p3wqpc574v9f94wkq9hqmbbvb9q8phfpq301z55c5r939f4hrp"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (inputs
+     `(("glib" ,glib)
+       ("libexif" ,libexif)
+       ("libfm" ,libfm)
+       ("libxcb" ,libxcb)
+       ("menu-cache" ,menu-cache)
+       ("pcre" ,pcre)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (home-page "https://lxqt.org/")
+    (synopsis "Qt binding for libfm")
+    (description "libfm-qt is the Qt port of libfm, a library providing
+components to build desktop file managers which belongs to LXDE.")
+    (license license:lgpl2.1+)))
+
 (define-public pcmanfm-qt
   (package
     (name "pcmanfm-qt")
-    (version "0.13.0")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "08jprkkk62pk34q9lxa207bh27xi86fj8jxfd5z3w2m5j5nim5mz"))))
+        (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq"))))
     (build-system cmake-build-system)
     (inputs
      `(("libfm-qt" ,libfm-qt)
@@ -795,19 +977,307 @@ permissions of other users including root.")
        ("lxqt-build-tools" ,lxqt-build-tools)))
     (arguments
      '(#:tests? #f                      ; no tests
-       #:configure-flags
-       ;; TODO: prefetch translations files from 'lxqt-l10n'.
-       '("-DPULL_TRANSLATIONS=NO")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda _
              (substitute* '("autostart/CMakeLists.txt")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
-                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg"))
+                "DESTINATION \"etc/xdg"))
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "File manager and desktop icon manager")
     (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
 LXDE.")
+    (license license:gpl2+)))
+
+
+;; Extra
+
+(define-public compton-conf
+  (package
+    (name "compton-conf")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "11n8k59jd0q2x66cispc9dpk139mp6j99hq1yjccxvh21vhc7mbc"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libconfig" ,libconfig)
+       ("qtbase" ,qtbase)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* '("autostart/CMakeLists.txt")
+               (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
+                "DESTINATION \"etc/xdg"))
+             #t)))))
+    (home-page "https://lxqt.org/")
+    (synopsis "GUI configuration tool for compton X composite manager")
+    (description "@code{compton-conf} is a configuration tool for X composite
+manager Compton.")
     (license license:lgpl2.1+)))
+
+(define-public lximage-qt
+  (package
+    (name "lximage-qt")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0iiq55rm4z2jp19q1pbd2whifwvxg052q324vrwp4p7nz0wh04za"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libexif" ,libexif)
+       ("libfm-qt" ,libfm-qt)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "The image viewer and screenshot tool for lxqt")
+    (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
+image viewer.")
+    (license license:gpl2+)))
+
+(define-public obconf-qt
+  (package
+    (name "obconf-qt")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1kzb7364150b60qd3wcgnw78b9ia5k3b16kq8w3p1y7pg6pddy8m"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("imlib2" ,imlib2)
+       ("libsm" ,libsm)
+       ("librsvg" ,librsvg)
+       ("libxft" ,libxft)
+       ("libxml2" ,libxml2)
+       ("openbox" ,openbox)
+       ("pango" ,pango)
+       ("pcre" ,pcre)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "Openbox configuration tool")
+    (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
+window manager OpenBox.")
+    (license license:gpl2+)))
+
+(define-public pavucontrol-qt
+  (package
+    (name "pavucontrol-qt")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "18mw5r8grfrf95vxjbqrr790kl5l59qdqcmlxmwa6rwbfgywj1fq"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("glib" ,glib)
+       ("pcre" ,pcre)
+       ("pulseaudio" ,pulseaudio)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "Pulseaudio mixer in Qt")
+    (description "@code{pavucontrol-qt} is the Qt port of volume control
+@code{pavucontrol} of sound server @code{PulseAudio}.")
+    (license license:gpl2+)))
+
+(define-public qps
+  (package
+    (name "qps")
+    (version "1.10.20")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0dz7ricxg2rrmdyca6mc2d4lyy5bpksjk751hvn95wssr76y2w0m"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libxrender" ,libxrender)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "Qt-based visual process status monitor")
+    (description "@code{qps} is a monitor that displays the status of the
+processes currently in existence, much like code{top} or code{ps}.")
+    (license license:gpl2+)))
+
+(define-public qtermwidget
+  (package
+    (name "qtermwidget")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0v1vvi8vf9y8nv8y0gzffaqji53s75ab5jypksih0ndcws8ryww4"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "The terminal widget for QTerminal")
+    (description "QTermWidget is a terminal emulator widget for Qt 5.")
+    (license license:gpl2+)))
+
+(define-public qterminal
+  (package
+    (name "qterminal")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
+                           version "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0cgyaskyqginmm85d11inbi0mmxrsrnvgyx6g4l4l4iqpphfq670"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)
+       ("qtermwidget" ,qtermwidget)))
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                      ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "Lightweight Qt-based terminal emulator")
+    (description "QTerminal is a lightweight Qt terminal emulator based on
+QTermWidget.")
+    (license license:gpl2+)))
+
+(define-public screengrab
+  (package
+    (name "screengrab")
+    (version "1.101")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
+                           version "/screengrab-" version ".tar.xz"))
+       (sha256
+        (base32 "05f81xjlmiykd7iwx5xns5vnynjq4js4x1bk8wd648frrksp44fa"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("kwindowsystem" ,kwindowsystem)
+       ("libqtxdg" ,libqtxdg)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtx11extras" ,qtx11extras)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (home-page "https://lxqt.org/")
+    (synopsis "Crossplatform tool for fast making screenshots")
+    (description "ScreenGrab is a program for fast creating screenshots, and
+easily publishing them on internet image hosting services.")
+    (license license:gpl2+)))
+
+
+;; The LXQt Desktop Environment
+
+(define-public lxqt
+  (package
+    (name "lxqt")
+    (version (package-version lxqt-session))
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments '(#:builder (begin (mkdir %output) #t)))
+    (propagated-inputs
+     `(;; XDG
+       ("desktop-file-utils" ,desktop-file-utils)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
+       ("xdg-user-dirs" ,xdg-user-dirs)
+       ("xdg-utils" ,xdg-utils)
+       ;; Base
+       ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
+       ;; should be added to their propagated-inputs?
+       ("qtsvg" ,qtsvg)
+       ;; Core
+       ("lxqt-about" ,lxqt-about)
+       ("lxqt-admin" ,lxqt-admin)
+       ("lxqt-config" ,lxqt-config)
+       ("lxqt-notificationd" ,lxqt-notificationd)
+       ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
+       ("lxqt-panel" ,lxqt-panel)
+       ("lxqt-policykit" ,lxqt-policykit)
+       ("lxqt-powermanagement" ,lxqt-powermanagement)
+       ("lxqt-qtplugin" ,lxqt-qtplugin)
+       ("lxqt-runner" ,lxqt-runner)
+       ("lxqt-session" ,lxqt-session)
+       ("lxqt-sudo" ,lxqt-sudo)
+       ("lxqt-themes" ,lxqt-themes)
+       ("pcmanfm-qt" ,pcmanfm-qt)
+       ;; Extra
+       ("compton" ,compton)
+       ("compton-conf" ,compton-conf)
+       ("font-dejavu" ,font-dejavu)
+       ("lximage-qt" ,lximage-qt)
+       ("obconf-qt" ,obconf-qt)
+       ("openbox" ,openbox)
+       ("oxygen-icons" ,oxygen-icons)
+       ("pavucontrol-qt" ,pavucontrol-qt)
+       ("qps" ,qps)
+       ("qterminal" ,qterminal)))
+    (synopsis "The Lightweight Qt Desktop Environment")
+    (description "LXQt is a lightweight Qt desktop environment.")
+    (home-page "https://lxde.org")
+    (license license:gpl2+)))