1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
4 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
6 ;;; Copyright © 2017 ng0 <ng0@n0.is>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
9 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
10 ;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org>
12 ;;; This file is part of GNU Guix.
14 ;;; GNU Guix is free software; you can redistribute it and/or modify it
15 ;;; under the terms of the GNU General Public License as published by
16 ;;; the Free Software Foundation; either version 3 of the License, or (at
17 ;;; your option) any later version.
19 ;;; GNU Guix is distributed in the hope that it will be useful, but
20 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;;; GNU General Public License for more details.
24 ;;; You should have received a copy of the GNU General Public License
25 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27 (define-module (gnu packages lxqt)
28 #:use-module (guix download)
29 #:use-module (guix git-download)
30 #:use-module ((guix licenses) #:prefix license:)
31 #:use-module (guix packages)
32 #:use-module (guix utils)
33 #:use-module (guix build-system cmake)
34 #:use-module (guix build-system gnu)
35 #:use-module (guix build-system trivial)
36 #:use-module (gnu packages)
37 #:use-module (gnu packages admin)
38 #:use-module (gnu packages compression)
39 #:use-module (gnu packages documentation)
40 #:use-module (gnu packages compton)
41 #:use-module (gnu packages fonts)
42 #:use-module (gnu packages freedesktop)
43 #:use-module (gnu packages glib)
44 #:use-module (gnu packages gnome)
45 #:use-module (gnu packages gtk)
46 #:use-module (gnu packages image)
47 #:use-module (gnu packages kde-frameworks)
48 #:use-module (gnu packages kde-plasma)
49 #:use-module (gnu packages linux)
50 #:use-module (gnu packages perl)
51 #:use-module (gnu packages lxde)
52 #:use-module (gnu packages maths)
53 #:use-module (gnu packages openbox)
54 #:use-module (gnu packages pcre)
55 #:use-module (gnu packages photo)
56 #:use-module (gnu packages pkg-config)
57 #:use-module (gnu packages polkit)
58 #:use-module (gnu packages pulseaudio)
59 #:use-module (gnu packages qt)
60 #:use-module (gnu packages textutils)
61 #:use-module (gnu packages xdisorg)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg))
66 ;; Third party libraries
68 (define-public libdbusmenu-qt
70 (name "libdbusmenu-qt")
71 (version "0.9.3+16.04.20160218-0ubuntu1")
75 ;; Download from github rather than launchpad because launchpad trunk
76 ;; tarball hash is not deterministic.
78 (url "https://github.com/unity8-team/libdbusmenu-qt.git")
80 (file-name (git-file-name name version))
82 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
83 (build-system cmake-build-system)
85 ;; XXX: Tests require a dbus session and some icons.
88 `(("doxygen" ,doxygen)))
90 `(("qtbase" ,qtbase)))
91 (home-page "https://launchpad.net/libdbusmenu-qt")
92 (synopsis "Qt implementation of the DBusMenu spec")
93 (description "This library provides a Qt implementation of the DBusMenu
94 protocol. The DBusMenu protocol makes it possible for applications to export
95 and import their menus over DBus.")
96 (license license:lgpl2.1+)))
98 (define-public libstatgrab
105 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
106 name "-" version ".tar.gz"))
108 (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83"))))
109 (build-system gnu-build-system)
111 '(#:configure-flags '("--enable-tests")))
115 (home-page "https://www.i-scream.org/libstatgrab/")
116 (synopsis "Provides access to statistics about the system")
117 (description "libstatgrab is a library that provides cross platform access
118 to statistics about the system on which it's run.")
119 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
120 (license license:gpl2+)))
125 (define-public lxqt-build-tools
127 (name "lxqt-build-tools")
132 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
134 "/lxqt-build-tools-" version ".tar.xz"))
136 (base32 "0n0p0mf12n9f7zm2592779rpqrbcamfdz87nnjb8j058bc8g3214"))))
137 (build-system cmake-build-system)
139 `(#:tests? #f ; no tests
141 ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
142 ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
143 ;; LXQT_ETC_XDG_DIR in its "Technical Info".
144 '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
145 "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
147 `(("pkg-config" ,pkg-config)
150 `(("qtbase" ,qtbase)))
151 (synopsis "LXQt Build tools")
153 "Lxqt-build-tools is providing several tools needed to build LXQt
154 itself as well as other components maintained by the LXQt project.")
155 (home-page "https://lxqt.org")
156 (license license:lgpl2.1+)))
158 (define-public libqtxdg
166 "https://github.com/lxqt/libqtxdg/releases/download/"
167 version "/libqtxdg-" version ".tar.xz"))
169 (base32 "1mnnq8vbf5xjlrzajzfkay0yzzxri0zz0xi8x8rmxpw38xmglq8h"))))
170 (build-system cmake-build-system)
174 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
176 (modify-phases %standard-phases
177 (add-before 'check 'pre-check
179 ;; Run the tests offscreen.
180 (setenv "QT_QPA_PLATFORM" "offscreen")
183 ;; required by Qt5XdgIconLoader.pc
187 `(("lxqt-build-tools" ,lxqt-build-tools)))
188 (home-page "https://github.com/lxqt/libqtxdg")
189 (synopsis "Qt implementation of freedesktop.org xdg specifications")
190 (description "Libqtxdg implements the freedesktop.org xdg specifications
192 (license license:lgpl2.1+)))
194 (define-public liblxqt
202 "https://github.com/lxqt/" name "/releases/download/"
203 version "/" name "-" version ".tar.xz"))
205 (base32 "1gb922npf6nw4w3nkvh4czk8xmdzzqkzq3zgl1h303fjaib359qs"))))
206 (build-system cmake-build-system)
208 `(#:tests? #f ; no tests
210 (modify-phases %standard-phases
211 (add-after 'unpack 'patch-source
213 (substitute* "CMakeLists.txt"
214 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
215 "DESTINATION \"share/polkit-1/actions"))
217 (add-after 'unpack 'patch-translations-dir
218 (lambda* (#:key outputs #:allow-other-keys)
219 (substitute* "CMakeLists.txt"
220 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
221 (string-append (assoc-ref outputs "out")
222 "/share/lxqt/translations")))
225 `(("kwindowsystem" ,kwindowsystem)
226 ("libqtxdg" ,libqtxdg)
227 ("libxscrnsaver" ,libxscrnsaver)
228 ("polkit-qt" ,polkit-qt)
230 ("qtx11extras" ,qtx11extras)))
232 `(("lxqt-build-tools" ,lxqt-build-tools)
233 ("qttools" ,qttools)))
234 (home-page "https://lxqt.org/")
235 (synopsis "Core utility library for all LXQt components")
236 (description "liblxqt provides the basic libraries shared by the
237 components of the LXQt desktop environment.")
238 (license license:lgpl2.1+)))
240 (define-public libsysstat
247 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
248 version "/" name "-" version ".tar.xz"))
250 (base32 "0rz9w49khra9kl91kfnd3wxkldy1fqf6755mvlgbsqxb1yv8597w"))))
251 (build-system cmake-build-system)
252 (arguments '(#:tests? #f)) ; no tests
254 `(("qtbase" ,qtbase)))
256 `(("lxqt-build-tools" ,lxqt-build-tools)))
257 (home-page "https://lxqt.org/")
258 (synopsis "Library used to query system info and statistics")
259 (description "libsysstat is a library to query system information like CPU
260 and memory usage or network traffic.")
261 (license license:lgpl2.1+)))
266 (define-public lxqt-about
273 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
274 version "/" name "-" version ".tar.xz"))
276 (base32 "01xp5ddcxc9wvl7jm4179hjrirj07mpzm9z50936d1fqx34wfbis"))))
277 (build-system cmake-build-system)
279 `(("kwindowsystem" ,kwindowsystem)
281 ("libqtxdg" ,libqtxdg)
284 ("qtx11extras" ,qtx11extras)))
286 `(("lxqt-build-tools" ,lxqt-build-tools)
287 ("qttools" ,qttools)))
289 '(#:tests? #f ; no tests
291 (modify-phases %standard-phases
292 (add-before 'build 'setenv
294 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
296 (add-after 'unpack 'patch-translations-dir
297 (lambda* (#:key outputs #:allow-other-keys)
298 (substitute* "CMakeLists.txt"
299 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
300 (string-append (assoc-ref outputs "out")
301 "/share/lxqt/translations")))
303 (home-page "https://lxqt.org")
304 (synopsis "Provides information about LXQt and the system")
305 (description "lxqt-about is a dialogue window providing information about
306 LXQt and the system it's running on.")
307 (license license:lgpl2.1+)))
309 (define-public lxqt-admin
316 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
317 version "/" name "-" version ".tar.xz"))
319 (base32 "0f0skkxqyhpidpd5phliax869v4n2whvglg8rahzia2zhw4ylzry"))))
320 (build-system cmake-build-system)
322 `(("kwindowsystem" ,kwindowsystem)
324 ("libqtxdg" ,libqtxdg)
325 ("polkit-qt" ,polkit-qt)
327 ("qtx11extras" ,qtx11extras)))
329 `(("lxqt-build-tools" ,lxqt-build-tools)
330 ("qttools" ,qttools)))
332 '(#:tests? #f ; no tests
334 (modify-phases %standard-phases
335 (add-after 'unpack 'patch-source
337 (substitute* "lxqt-admin-user/CMakeLists.txt"
338 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
339 "DESTINATION \"share/polkit-1/actions"))
341 (add-after 'unpack 'patch-translations-dir
342 (lambda* (#:key outputs #:allow-other-keys)
343 (substitute* '("lxqt-admin-time/CMakeLists.txt"
344 "lxqt-admin-user/CMakeLists.txt")
345 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
346 (string-append (assoc-ref outputs "out")
347 "/share/lxqt/translations")))
349 (home-page "https://lxqt.org")
350 (synopsis "LXQt system administration tool")
351 (description "lxqt-admin is providing two GUI tools to adjust settings of
352 the operating system LXQt is running on.")
353 (license license:lgpl2.1+)))
355 (define-public lxqt-config
362 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
363 version "/" name "-" version ".tar.xz"))
365 (base32 "16k36knv6d72gg8hp7423l3ic43y3l3zbaf3spqn2a354y30myrg"))))
366 (build-system cmake-build-system)
369 ("kwindowsystem" ,kwindowsystem)
370 ("libkscreen" ,libkscreen)
372 ("libqtxdg" ,libqtxdg)
373 ("libxcursor" ,libxcursor)
377 ("qtx11extras" ,qtx11extras)
379 ("xf86-input-libinput" ,xf86-input-libinput)
382 `(("pkg-config" ,pkg-config)
383 ("lxqt-build-tools" ,lxqt-build-tools)
384 ("qttools" ,qttools)))
386 '(#:tests? #f ; no tests
388 (modify-phases %standard-phases
389 (add-after 'unpack 'patch-source
391 (substitute* '("src/CMakeLists.txt")
392 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
393 "DESTINATION \"etc/xdg"))
395 (add-after 'unpack 'patch-translations-dir
396 (lambda* (#:key outputs #:allow-other-keys)
397 (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
398 "lxqt-config-brightness/CMakeLists.txt"
399 "lxqt-config-appearance/CMakeLists.txt"
400 "lxqt-config-locale/CMakeLists.txt"
401 "lxqt-config-monitor/CMakeLists.txt"
402 "lxqt-config-input/CMakeLists.txt"
403 "liblxqt-config-cursor/CMakeLists.txt"
404 "src/CMakeLists.txt")
405 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
406 (string-append (assoc-ref outputs "out")
407 "/share/lxqt/translations")))
409 (home-page "https://lxqt.org")
410 (synopsis "Tools to configure LXQt and the underlying operating system")
411 (description "lxqt-config is providing several tools involved in the
412 configuration of both LXQt and the underlying operating system.")
413 (license license:lgpl2.1+)))
415 (define-public lxqt-globalkeys
417 (name "lxqt-globalkeys")
422 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
423 version "/" name "-" version ".tar.xz"))
425 (base32 "0m6svwy20bfy9d21g5l0qzjndph3rd8zqagmqgdjzjhh3lxwrsrk"))))
426 (build-system cmake-build-system)
428 `(("kwindowsystem" ,kwindowsystem)
430 ("libqtxdg" ,libqtxdg)
433 ("qtx11extras" ,qtx11extras)))
435 `(("pkg-config" ,pkg-config)
437 ("lxqt-build-tools" ,lxqt-build-tools)))
439 '(#:tests? #f ; no tests
441 (modify-phases %standard-phases
442 (add-after 'unpack 'patch-source
444 (substitute* '("autostart/CMakeLists.txt"
445 "xdg/CMakeLists.txt")
446 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
447 "DESTINATION \"etc/xdg"))
449 (add-after 'unpack 'patch-translations-dir
450 (lambda* (#:key outputs #:allow-other-keys)
451 (substitute* "config/CMakeLists.txt"
452 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
453 (string-append (assoc-ref outputs "out")
454 "/share/lxqt/translations")))
456 (home-page "https://lxqt.org/")
457 (synopsis "Daemon used to register global keyboard shortcuts")
458 (description "lxqt-globalkeys is providing tools to set global keyboard
459 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
460 as a whole and are not limited to distinct applications.")
461 (license license:lgpl2.1+)))
463 (define-public lxqt-notificationd
465 (name "lxqt-notificationd")
470 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
471 version "/" name "-" version ".tar.xz"))
473 (base32 "1kiag3fcx12qmslln6x6lwvm4f1spymwf71389kdya3vwx7hkmcy"))))
474 (build-system cmake-build-system)
476 `(("kwindowsystem" ,kwindowsystem)
478 ("libqtxdg" ,libqtxdg)
481 ("qtx11extras" ,qtx11extras)))
483 `(("lxqt-build-tools" ,lxqt-build-tools)
484 ("qttools" ,qttools)))
486 '(#:tests? #f ; no test target
488 (modify-phases %standard-phases
489 (add-after 'unpack 'patch-source
491 (substitute* '("autostart/CMakeLists.txt")
492 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
493 "DESTINATION \"etc/xdg"))
495 (add-after 'unpack 'patch-translations-dir
496 (lambda* (#:key outputs #:allow-other-keys)
497 (substitute* '("config/CMakeLists.txt"
498 "src/CMakeLists.txt")
499 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
500 (string-append (assoc-ref outputs "out")
501 "/share/lxqt/translations")))
503 (home-page "https://lxqt.org/")
504 (synopsis "The LXQt notification daemon")
505 (description "lxqt-notificationd is LXQt's implementation of a daemon
506 according to the Desktop Notifications Specification.")
507 (license license:lgpl2.1+)))
509 (define-public lxqt-openssh-askpass
511 (name "lxqt-openssh-askpass")
516 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
517 version "/" name "-" version ".tar.xz"))
519 (base32 "1fvbgjidpifn420avh8n1gym49vcz6zgayz7xygg1x93s4awy1cs"))))
520 (build-system cmake-build-system)
522 `(("kwindowsystem" ,kwindowsystem)
524 ("libqtxdg" ,libqtxdg)
527 ("qtx11extras" ,qtx11extras)))
529 `(("lxqt-build-tools" ,lxqt-build-tools)
530 ("qttools" ,qttools)))
532 '(#:tests? #f ; no tests
534 (modify-phases %standard-phases
535 (add-after 'unpack 'patch-translations-dir
536 (lambda* (#:key outputs #:allow-other-keys)
537 (substitute* "CMakeLists.txt"
538 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
539 (string-append (assoc-ref outputs "out")
540 "/share/lxqt/translations")))
542 (home-page "https://lxqt.org/")
543 (synopsis "GUI to query passwords on behalf of SSH agents")
544 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
546 (license license:lgpl2.1+)))
548 (define-public lxqt-panel
555 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
556 version "/" name "-" version ".tar.xz"))
558 (base32 "1r3wx0v3jm7j41h7gxr49izc9xa1afvrzq4wcdm0qbj98qa1rgpq"))))
559 (build-system cmake-build-system)
561 `(("alsa-lib" ,alsa-lib)
562 ("kguiaddons" ,kguiaddons)
563 ("libdbusmenu-qt" ,libdbusmenu-qt)
565 ("libqtxdg" ,libqtxdg)
566 ("libstatgrab" ,libstatgrab)
567 ("libsysstat" ,libsysstat)
568 ("libxcomposite" ,libxcomposite)
569 ("libxdamage" ,libxdamage)
570 ("libxkbcommon" ,libxkbcommon)
571 ("libxrender" ,libxrender)
572 ("lm-sensors" ,lm-sensors "lib")
573 ("lxqt-globalkeys" ,lxqt-globalkeys)
575 ("pulseaudio" ,pulseaudio)
578 ("qtx11extras" ,qtx11extras)
580 ("xcb-util" ,xcb-util)))
582 `(("pkg-config" ,pkg-config)
583 ("lxqt-build-tools" ,lxqt-build-tools)
584 ("qttools" ,qttools)))
586 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
587 ;; shows up in lxqt-panel's taskbar plugin.
588 `(("kwindowsystem" ,kwindowsystem)))
590 '(#:tests? #f ; no tests
592 (modify-phases %standard-phases
593 (add-after 'unpack 'patch-source
595 (substitute* '("autostart/CMakeLists.txt"
596 "menu/CMakeLists.txt")
597 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
598 "DESTINATION \"etc/xdg"))
600 (add-after 'unpack 'patch-translations-dir
601 (lambda* (#:key outputs #:allow-other-keys)
602 (substitute* '("cmake/BuildPlugin.cmake"
603 "panel/CMakeLists.txt")
604 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
605 (string-append (assoc-ref outputs "out")
606 "/share/lxqt/translations")))
608 (home-page "https://lxqt.org/")
609 (synopsis "The LXQt desktop panel")
610 (description "lxqt-panel represents the taskbar of LXQt.")
611 (license license:lgpl2.1+)))
613 (define-public lxqt-policykit
615 (name "lxqt-policykit")
620 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
621 version "/" name "-" version ".tar.xz"))
623 (base32 "127rqb0nprybkc41lk0yq0r0dk5pbbw22gvrm4pwag71qh8wpk5i"))))
624 (build-system cmake-build-system)
626 `(("kwindowsystem" ,kwindowsystem)
628 ("libqtxdg" ,libqtxdg)
630 ("polkit-qt" ,polkit-qt)
633 ("qtx11extras" ,qtx11extras)))
635 `(("pkg-config" ,pkg-config)
637 ("lxqt-build-tools" ,lxqt-build-tools)
638 ("qttools" ,qttools)))
640 '(#:tests? #f ; no test target
642 (modify-phases %standard-phases
643 (add-after 'unpack 'patch-source
645 (substitute* '("autostart/CMakeLists.txt")
646 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
647 "DESTINATION \"etc/xdg"))
649 (add-after 'unpack 'patch-translations-dir
650 (lambda* (#:key outputs #:allow-other-keys)
651 (substitute* "CMakeLists.txt"
652 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
653 (string-append (assoc-ref outputs "out")
654 "/share/lxqt/translations")))
656 (home-page "https://lxqt.org/")
657 (synopsis "The LXQt PolicyKit agent")
658 (description "lxqt-policykit is the polkit authentication agent of
660 (license license:lgpl2.1+)))
662 (define-public lxqt-powermanagement
664 (name "lxqt-powermanagement")
669 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
670 version "/" name "-" version ".tar.xz"))
672 (base32 "06bvgbkbl9p9n8ba5cfsynqgmpb5c8yfnsvp7zqhflj8k9p9msip"))))
673 (build-system cmake-build-system)
675 `(("kidletime" ,kidletime)
676 ("kwindowsystem" ,kwindowsystem)
678 ("libqtxdg" ,libqtxdg)
681 ("qtx11extras" ,qtx11extras)
684 `(("lxqt-build-tools" ,lxqt-build-tools)
685 ("qttools" ,qttools)))
687 '(#:tests? #f ; no tests
689 (modify-phases %standard-phases
690 (add-after 'unpack 'patch-source
692 (substitute* '("autostart/CMakeLists.txt")
693 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
694 "DESTINATION \"etc/xdg"))
696 (add-after 'unpack 'patch-translations-dir
697 (lambda* (#:key outputs #:allow-other-keys)
698 (substitute* '("config/CMakeLists.txt"
699 "src/CMakeLists.txt")
700 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
701 (string-append (assoc-ref outputs "out")
702 "/share/lxqt/translations")))
704 (home-page "https://lxqt.org/")
705 (synopsis "Power management module for LXQt")
706 (description "lxqt-powermanagement is providing tools to monitor power
707 management events and optionally trigger actions like e. g. shut down a system
708 when laptop batteries are low on power.")
709 (license license:lgpl2.1+)))
711 (define-public lxqt-qtplugin
713 (name "lxqt-qtplugin")
718 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
719 version "/" name "-" version ".tar.xz"))
721 (base32 "18y7xfxwyismcycg70q6r8zrcygz1pdcvg6lqc6ba7azqb9806ds"))))
722 (build-system cmake-build-system)
724 `(("libdbusmenu-qt" ,libdbusmenu-qt)
725 ("libfm-qt" ,libfm-qt)
726 ("libqtxdg" ,libqtxdg)
729 ("qtx11extras" ,qtx11extras)))
731 `(("lxqt-build-tools" ,lxqt-build-tools)
732 ("qttools" ,qttools)))
734 '(#:tests? #f ; no tests
736 (modify-phases %standard-phases
737 (add-after 'unpack 'patch-source
739 (substitute* '("src/CMakeLists.txt")
740 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
741 "DESTINATION \"lib/qt5/plugins"))
743 (home-page "https://lxqt.org/")
744 (synopsis "LXQt Qt platform integration plugin")
745 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
747 (license license:lgpl2.1+)))
749 (define-public lxqt-runner
756 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
757 version "/" name "-" version ".tar.xz"))
759 (base32 "1c687shypivkhjrpzs1jcy5l2i8d7xzm31c4is1xx6x9nbkgm4bm"))))
760 (build-system cmake-build-system)
762 `(("kwindowsystem" ,kwindowsystem)
764 ("libqtxdg" ,libqtxdg)
765 ("lxqt-globalkeys" ,lxqt-globalkeys)
766 ("muparser" ,muparser)
770 ("qtx11extras" ,qtx11extras)))
772 `(("pkg-config" ,pkg-config)
774 ("lxqt-build-tools" ,lxqt-build-tools)))
776 '(#:tests? #f ; no tests
778 (modify-phases %standard-phases
779 (add-after 'unpack 'patch-source
781 (substitute* '("autostart/CMakeLists.txt")
782 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
783 "DESTINATION \"etc/xdg"))
785 (add-after 'unpack 'patch-translations-dir
786 (lambda* (#:key outputs #:allow-other-keys)
787 (substitute* "CMakeLists.txt"
788 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
789 (string-append (assoc-ref outputs "out")
790 "/share/lxqt/translations")))
792 (home-page "https://lxqt.org/")
793 (synopsis "Tool used to launch programs quickly by typing their names")
794 (description "lxqt-runner provides a GUI that comes up on the desktop and
795 allows for launching applications or shutting down the system.")
796 (license license:lgpl2.1+)))
798 (define-public lxqt-session
800 (name "lxqt-session")
805 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
806 version "/" name "-" version ".tar.xz"))
808 (base32 "11i2vimv3336dvvxb6y5csdybwjncr7cq3kwlj52vkpisnxslvgy"))))
809 (build-system cmake-build-system)
812 ("kwindowsystem" ,kwindowsystem)
814 ("libqtxdg" ,libqtxdg)
817 ("qtx11extras" ,qtx11extras)
818 ("xdg-user-dirs" ,xdg-user-dirs)))
820 `(("pkg-config" ,pkg-config)
821 ("lxqt-build-tools" ,lxqt-build-tools)
822 ("qttools" ,qttools)))
826 (modify-phases %standard-phases
827 (add-after 'unpack 'patch-source
829 (substitute* '("autostart/CMakeLists.txt"
830 "config/CMakeLists.txt")
831 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
832 "DESTINATION \"etc/xdg"))
834 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
835 (add-after 'unpack 'patch-openbox-permission
837 (substitute* "startlxqt.in"
838 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
839 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
840 " # fix openbox permission issue\n"
841 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
843 (add-after 'unpack 'patch-translations-dir
844 (lambda* (#:key outputs #:allow-other-keys)
845 (substitute* '("lxqt-config-session/CMakeLists.txt"
846 "lxqt-leave/CMakeLists.txt"
847 "lxqt-session/CMakeLists.txt")
848 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
849 (string-append (assoc-ref outputs "out")
850 "/share/lxqt/translations")))
852 (home-page "https://lxqt.org/")
853 (synopsis "Session manager for LXQt")
854 (description "lxqt-session provides the standard session manager
855 for the LXQt desktop environment.")
856 (license license:lgpl2.1+)))
858 (define-public lxqt-sudo
865 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
866 version "/" name "-" version ".tar.xz"))
868 (base32 "0mbygp2kkppwk7sxvpnwavdwrx88mh7ldcg6xm3zw1ndp29danay"))))
869 (build-system cmake-build-system)
871 `(("kwindowsystem" ,kwindowsystem)
873 ("libqtxdg" ,libqtxdg)
876 ("qtx11extras" ,qtx11extras)
879 `(("pkg-config" ,pkg-config)
881 ("lxqt-build-tools" ,lxqt-build-tools)))
883 '(#:tests? #f ; no tests
885 (modify-phases %standard-phases
886 (add-after 'unpack 'patch-translations-dir
887 (lambda* (#:key outputs #:allow-other-keys)
888 (substitute* "CMakeLists.txt"
889 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
890 (string-append (assoc-ref outputs "out")
891 "/share/lxqt/translations")))
893 (home-page "https://lxqt.org/")
894 (synopsis "GUI frontend for sudo/su")
895 (description "lxqt-sudo is a graphical front-end of commands sudo and su
896 respectively. As such it enables regular users to launch applications with
897 permissions of other users including root.")
898 (license license:lgpl2.1+)))
900 (define-public lxqt-themes
907 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
908 version "/" name "-" version ".tar.xz"))
910 (base32 "0p7svdpp0z44hvgrp2aip6hym0gdhbanyxsz6iz8sjnn28c995ia"))))
911 (build-system cmake-build-system)
913 `(("lxqt-build-tools" ,lxqt-build-tools)))
915 `(#:tests? #f ; no tests
917 (modify-phases %standard-phases
918 (add-after 'unpack 'patch-source
920 (substitute* '("CMakeLists.txt")
921 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
922 "DESTINATION \"share/lxqt/graphics"))
923 (substitute* '("themes/CMakeLists.txt")
924 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
925 "DESTINATION \"share/lxqt"))
927 (home-page "https://lxqt.org/")
928 (synopsis "Themes, graphics and icons for LXQt")
929 (description "This package comprises a number of graphic files and themes
931 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
932 ;; licensed under CC-BY-SA 3.0.
933 (license license:lgpl2.1+)))
938 (define-public libfm-qt
945 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
946 version "/" name "-" version ".tar.xz"))
948 (base32 "06p3wqpc574v9f94wkq9hqmbbvb9q8phfpq301z55c5r939f4hrp"))))
949 (build-system cmake-build-system)
951 '(#:tests? #f)) ; no tests
957 ("menu-cache" ,menu-cache)
960 ("qtx11extras" ,qtx11extras)))
962 `(("pkg-config" ,pkg-config)
963 ("lxqt-build-tools" ,lxqt-build-tools)
964 ("qttools" ,qttools)))
965 (home-page "https://lxqt.org/")
966 (synopsis "Qt binding for libfm")
967 (description "libfm-qt is the Qt port of libfm, a library providing
968 components to build desktop file managers which belongs to LXDE.")
969 (license license:lgpl2.1+)))
971 (define-public pcmanfm-qt
978 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
979 version "/" name "-" version ".tar.xz"))
981 (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq"))))
982 (build-system cmake-build-system)
984 `(("libfm-qt" ,libfm-qt)
986 ("qtx11extras" ,qtx11extras)))
988 `(("pkg-config" ,pkg-config)
990 ("lxqt-build-tools" ,lxqt-build-tools)))
992 '(#:tests? #f ; no tests
994 (modify-phases %standard-phases
995 (add-after 'unpack 'patch-source
997 (substitute* '("autostart/CMakeLists.txt")
998 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
999 "DESTINATION \"etc/xdg"))
1001 (home-page "https://lxqt.org/")
1002 (synopsis "File manager and desktop icon manager")
1003 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1005 (license license:gpl2+)))
1010 (define-public compton-conf
1012 (name "compton-conf")
1017 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1018 version "/" name "-" version ".tar.xz"))
1020 (base32 "11n8k59jd0q2x66cispc9dpk139mp6j99hq1yjccxvh21vhc7mbc"))))
1021 (build-system cmake-build-system)
1023 `(("libconfig" ,libconfig)
1024 ("qtbase" ,qtbase)))
1026 `(("lxqt-build-tools" ,lxqt-build-tools)
1027 ("pkg-config" ,pkg-config)
1028 ("qttools" ,qttools)))
1030 '(#:tests? #f ; no tests
1032 (modify-phases %standard-phases
1033 (add-after 'unpack 'patch-source
1035 (substitute* '("autostart/CMakeLists.txt")
1036 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1037 "DESTINATION \"etc/xdg"))
1039 (home-page "https://lxqt.org/")
1040 (synopsis "GUI configuration tool for compton X composite manager")
1041 (description "@code{compton-conf} is a configuration tool for X composite
1043 (license license:lgpl2.1+)))
1045 (define-public lximage-qt
1052 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1053 version "/" name "-" version ".tar.xz"))
1055 (base32 "0iiq55rm4z2jp19q1pbd2whifwvxg052q324vrwp4p7nz0wh04za"))))
1056 (build-system cmake-build-system)
1058 `(("libexif" ,libexif)
1059 ("libfm-qt" ,libfm-qt)
1062 ("qtx11extras" ,qtx11extras)))
1064 `(("pkg-config" ,pkg-config)
1065 ("lxqt-build-tools" ,lxqt-build-tools)
1066 ("qttools" ,qttools)))
1068 '(#:tests? #f)) ; no tests
1069 (home-page "https://lxqt.org/")
1070 (synopsis "The image viewer and screenshot tool for lxqt")
1071 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1073 (license license:gpl2+)))
1075 (define-public obconf-qt
1082 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1083 version "/" name "-" version ".tar.xz"))
1085 (base32 "1kzb7364150b60qd3wcgnw78b9ia5k3b16kq8w3p1y7pg6pddy8m"))))
1086 (build-system cmake-build-system)
1088 `(("imlib2" ,imlib2)
1090 ("librsvg" ,librsvg)
1092 ("libxml2" ,libxml2)
1093 ("openbox" ,openbox)
1097 ("qtx11extras" ,qtx11extras)))
1099 `(("lxqt-build-tools" ,lxqt-build-tools)
1100 ("pkg-config" ,pkg-config)
1101 ("qttools" ,qttools)))
1103 '(#:tests? #f)) ; no tests
1104 (home-page "https://lxqt.org/")
1105 (synopsis "Openbox configuration tool")
1106 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1107 window manager OpenBox.")
1108 (license license:gpl2+)))
1110 (define-public pavucontrol-qt
1112 (name "pavucontrol-qt")
1117 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1118 version "/" name "-" version ".tar.xz"))
1120 (base32 "18mw5r8grfrf95vxjbqrr790kl5l59qdqcmlxmwa6rwbfgywj1fq"))))
1121 (build-system cmake-build-system)
1125 ("pulseaudio" ,pulseaudio)
1127 ("qtx11extras" ,qtx11extras)))
1129 `(("pkg-config" ,pkg-config)
1130 ("lxqt-build-tools" ,lxqt-build-tools)
1131 ("qttools" ,qttools)))
1133 '(#:tests? #f)) ; no tests
1134 (home-page "https://lxqt.org/")
1135 (synopsis "Pulseaudio mixer in Qt")
1136 (description "@code{pavucontrol-qt} is the Qt port of volume control
1137 @code{pavucontrol} of sound server @code{PulseAudio}.")
1138 (license license:gpl2+)))
1147 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1148 version "/" name "-" version ".tar.xz"))
1150 (base32 "0dz7ricxg2rrmdyca6mc2d4lyy5bpksjk751hvn95wssr76y2w0m"))))
1151 (build-system cmake-build-system)
1153 `(("libxrender" ,libxrender)
1155 ("qtx11extras" ,qtx11extras)))
1157 `(("lxqt-build-tools" ,lxqt-build-tools)
1158 ("qttools" ,qttools)))
1160 '(#:tests? #f)) ; no tests
1161 (home-page "https://lxqt.org/")
1162 (synopsis "Qt-based visual process status monitor")
1163 (description "@code{qps} is a monitor that displays the status of the
1164 processes currently in existence, much like code{top} or code{ps}.")
1165 (license license:gpl2+)))
1167 (define-public qtermwidget
1169 (name "qtermwidget")
1174 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1175 version "/" name "-" version ".tar.xz"))
1177 (base32 "0v1vvi8vf9y8nv8y0gzffaqji53s75ab5jypksih0ndcws8ryww4"))))
1178 (build-system cmake-build-system)
1180 `(("qtbase" ,qtbase)
1181 ("utf8proc" ,utf8proc)))
1183 `(("lxqt-build-tools" ,lxqt-build-tools)
1184 ("qttools" ,qttools)))
1186 '(#:tests? #f)) ; no tests
1187 (home-page "https://lxqt.org/")
1188 (synopsis "The terminal widget for QTerminal")
1189 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1190 (license license:gpl2+)))
1192 (define-public qterminal
1199 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1200 version "/" name "-" version ".tar.xz"))
1202 (base32 "0cgyaskyqginmm85d11inbi0mmxrsrnvgyx6g4l4l4iqpphfq670"))))
1203 (build-system cmake-build-system)
1205 `(("qtbase" ,qtbase)
1206 ("qtx11extras" ,qtx11extras)
1207 ("qtermwidget" ,qtermwidget)))
1209 `(("lxqt-build-tools" ,lxqt-build-tools)
1210 ("qttools" ,qttools)))
1212 '(#:tests? #f)) ; no tests
1213 (home-page "https://lxqt.org/")
1214 (synopsis "Lightweight Qt-based terminal emulator")
1215 (description "QTerminal is a lightweight Qt terminal emulator based on
1217 (license license:gpl2+)))
1219 (define-public screengrab
1226 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1227 version "/screengrab-" version ".tar.xz"))
1229 (base32 "05f81xjlmiykd7iwx5xns5vnynjq4js4x1bk8wd648frrksp44fa"))))
1230 (build-system cmake-build-system)
1232 `(("kwindowsystem" ,kwindowsystem)
1233 ("libqtxdg" ,libqtxdg)
1236 ("qtx11extras" ,qtx11extras)))
1238 `(("pkg-config" ,pkg-config)
1239 ("qttools" ,qttools)))
1241 '(#:tests? #f)) ; no tests
1242 (home-page "https://lxqt.org/")
1243 (synopsis "Crossplatform tool for fast making screenshots")
1244 (description "ScreenGrab is a program for fast creating screenshots, and
1245 easily publishing them on internet image hosting services.")
1246 (license license:gpl2+)))
1249 (define-public lxqt-archiver
1251 (name "lxqt-archiver")
1257 (url (string-append "https://github.com/lxqt/" name ".git"))
1259 (file-name (git-file-name name version))
1261 (base32 "09rw774vxj96wcpxxncz6nr9bmw7l4l0kwylmz1saq6rpa2yvn2i"))))
1262 (build-system cmake-build-system)
1265 ("json-glib" ,json-glib)
1266 ("libfm-qt" ,libfm-qt)
1268 ("qtx11extras" ,qtx11extras)))
1270 `(("pkg-config" ,pkg-config)
1271 ("lxqt-build-tools" ,lxqt-build-tools)
1272 ("qttools" ,qttools)))
1275 (home-page "https://lxqt.org/")
1276 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1278 "This package provides a Qt graphical interface to archiving programs
1279 like @command{tar} and @command{zip}.")
1280 (license license:gpl2+)))
1282 (define-public lxqt-connman-applet
1283 ;; since the main developers didn't release any version yet, their
1284 ;; latest commit on `master` branch at the moment used for this version.
1285 (let ((commit "3db374eebd8d851f68a50fc5d1ef5fa9478c275e")
1288 (name "lxqt-connman-applet")
1289 (version (git-version "0.14.1" revision commit))
1294 (url (string-append "https://github.com/lxqt/" name ".git"))
1296 (file-name (git-file-name name version))
1297 (sha256 (base32 "1brkyzjmpa7hiv8p8rvmkcgagchh2zn71ry4pjiplga05as3jc11"))))
1298 (build-system cmake-build-system)
1300 `(("kwindowsystem" ,kwindowsystem)
1303 ("liblxqt" ,liblxqt)
1304 ("qtx11extras" ,qtx11extras)
1305 ("libqtxdg" ,libqtxdg)))
1307 `(("lxqt-build-tools" ,lxqt-build-tools)
1308 ("qtlinguist" ,qttools)))
1310 `(#:tests? #f ; no tests
1312 (modify-phases %standard-phases
1313 (add-after 'unpack 'patch-translations-dir
1314 (lambda* (#:key outputs #:allow-other-keys)
1315 (substitute* "CMakeLists.txt"
1316 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1317 (string-append (assoc-ref outputs "out")
1318 "/share/lxqt/translations"))
1319 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1321 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1322 (synopsis "System-tray applet for connman")
1323 (description "This package provides a Qt-based system-tray applet for
1324 the network management tool Connman, originally developed for the LXQT
1326 (license license:lgpl2.1+))))
1328 ;; The LXQt Desktop Environment
1333 (version (package-version lxqt-session))
1335 (build-system trivial-build-system)
1336 (arguments '(#:builder (begin (mkdir %output) #t)))
1339 ("desktop-file-utils" ,desktop-file-utils)
1340 ("hicolor-icon-theme" ,hicolor-icon-theme)
1341 ("xdg-user-dirs" ,xdg-user-dirs)
1342 ("xdg-utils" ,xdg-utils)
1344 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1345 ;; should be added to their propagated-inputs?
1348 ("lxqt-about" ,lxqt-about)
1349 ("lxqt-admin" ,lxqt-admin)
1350 ("lxqt-config" ,lxqt-config)
1351 ("lxqt-notificationd" ,lxqt-notificationd)
1352 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1353 ("lxqt-panel" ,lxqt-panel)
1354 ("lxqt-policykit" ,lxqt-policykit)
1355 ("lxqt-powermanagement" ,lxqt-powermanagement)
1356 ("lxqt-qtplugin" ,lxqt-qtplugin)
1357 ("lxqt-runner" ,lxqt-runner)
1358 ("lxqt-session" ,lxqt-session)
1359 ("lxqt-sudo" ,lxqt-sudo)
1360 ("lxqt-themes" ,lxqt-themes)
1361 ("pcmanfm-qt" ,pcmanfm-qt)
1363 ("compton" ,compton)
1364 ("compton-conf" ,compton-conf)
1365 ("font-dejavu" ,font-dejavu)
1366 ("lximage-qt" ,lximage-qt)
1367 ("obconf-qt" ,obconf-qt)
1368 ("openbox" ,openbox)
1369 ("oxygen-icons" ,oxygen-icons)
1370 ("pavucontrol-qt" ,pavucontrol-qt)
1372 ("qterminal" ,qterminal)))
1373 (synopsis "The Lightweight Qt Desktop Environment")
1374 (description "LXQt is a lightweight Qt desktop environment.")
1375 (home-page "https://lxde.org")
1376 (license license:gpl2+)))