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 "0vmn59653dmy79mnbnibhdq9jmh11091zkfx0y0qh58rj2xvpdbv"))))
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
188 `(("lxqt-build-tools" ,lxqt-build-tools)
189 ("pkg-config" ,pkg-config)))
190 (home-page "https://github.com/lxqt/libqtxdg")
191 (synopsis "Qt implementation of freedesktop.org xdg specifications")
192 (description "Libqtxdg implements the freedesktop.org xdg specifications
194 (license license:lgpl2.1+)))
196 (define-public liblxqt
204 "https://github.com/lxqt/" name "/releases/download/"
205 version "/" name "-" version ".tar.xz"))
207 (base32 "1gb922npf6nw4w3nkvh4czk8xmdzzqkzq3zgl1h303fjaib359qs"))))
208 (build-system cmake-build-system)
210 `(#:tests? #f ; no tests
212 (modify-phases %standard-phases
213 (add-after 'unpack 'patch-source
215 (substitute* "CMakeLists.txt"
216 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
217 "DESTINATION \"share/polkit-1/actions"))
219 (add-after 'unpack 'patch-translations-dir
220 (lambda* (#:key outputs #:allow-other-keys)
221 (substitute* "CMakeLists.txt"
222 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
223 (string-append (assoc-ref outputs "out")
224 "/share/lxqt/translations")))
227 `(("kwindowsystem" ,kwindowsystem)
228 ("libqtxdg" ,libqtxdg)
229 ("libxscrnsaver" ,libxscrnsaver)
230 ("polkit-qt" ,polkit-qt)
232 ("qtx11extras" ,qtx11extras)))
234 `(("lxqt-build-tools" ,lxqt-build-tools)
235 ("qttools" ,qttools)))
236 (home-page "https://lxqt.org/")
237 (synopsis "Core utility library for all LXQt components")
238 (description "liblxqt provides the basic libraries shared by the
239 components of the LXQt desktop environment.")
240 (license license:lgpl2.1+)))
242 (define-public libsysstat
249 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
250 version "/" name "-" version ".tar.xz"))
252 (base32 "0rz9w49khra9kl91kfnd3wxkldy1fqf6755mvlgbsqxb1yv8597w"))))
253 (build-system cmake-build-system)
254 (arguments '(#:tests? #f)) ; no tests
256 `(("qtbase" ,qtbase)))
258 `(("lxqt-build-tools" ,lxqt-build-tools)))
259 (home-page "https://lxqt.org/")
260 (synopsis "Library used to query system info and statistics")
261 (description "libsysstat is a library to query system information like CPU
262 and memory usage or network traffic.")
263 (license license:lgpl2.1+)))
268 (define-public lxqt-about
275 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
276 version "/" name "-" version ".tar.xz"))
278 (base32 "01xp5ddcxc9wvl7jm4179hjrirj07mpzm9z50936d1fqx34wfbis"))))
279 (build-system cmake-build-system)
281 `(("kwindowsystem" ,kwindowsystem)
283 ("libqtxdg" ,libqtxdg)
286 ("qtx11extras" ,qtx11extras)))
288 `(("lxqt-build-tools" ,lxqt-build-tools)
289 ("qttools" ,qttools)))
291 '(#:tests? #f ; no tests
293 (modify-phases %standard-phases
294 (add-before 'build 'setenv
296 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
298 (add-after 'unpack 'patch-translations-dir
299 (lambda* (#:key outputs #:allow-other-keys)
300 (substitute* "CMakeLists.txt"
301 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
302 (string-append (assoc-ref outputs "out")
303 "/share/lxqt/translations")))
305 (home-page "https://lxqt.org")
306 (synopsis "Provides information about LXQt and the system")
307 (description "lxqt-about is a dialogue window providing information about
308 LXQt and the system it's running on.")
309 (license license:lgpl2.1+)))
311 (define-public lxqt-admin
318 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
319 version "/" name "-" version ".tar.xz"))
321 (base32 "0f0skkxqyhpidpd5phliax869v4n2whvglg8rahzia2zhw4ylzry"))))
322 (build-system cmake-build-system)
324 `(("kwindowsystem" ,kwindowsystem)
326 ("libqtxdg" ,libqtxdg)
327 ("polkit-qt" ,polkit-qt)
329 ("qtx11extras" ,qtx11extras)))
331 `(("lxqt-build-tools" ,lxqt-build-tools)
332 ("qttools" ,qttools)))
334 '(#:tests? #f ; no tests
336 (modify-phases %standard-phases
337 (add-after 'unpack 'patch-source
339 (substitute* "lxqt-admin-user/CMakeLists.txt"
340 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
341 "DESTINATION \"share/polkit-1/actions"))
343 (add-after 'unpack 'patch-translations-dir
344 (lambda* (#:key outputs #:allow-other-keys)
345 (substitute* '("lxqt-admin-time/CMakeLists.txt"
346 "lxqt-admin-user/CMakeLists.txt")
347 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
348 (string-append (assoc-ref outputs "out")
349 "/share/lxqt/translations")))
351 (home-page "https://lxqt.org")
352 (synopsis "LXQt system administration tool")
353 (description "lxqt-admin is providing two GUI tools to adjust settings of
354 the operating system LXQt is running on.")
355 (license license:lgpl2.1+)))
357 (define-public lxqt-config
364 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
365 version "/" name "-" version ".tar.xz"))
367 (base32 "16k36knv6d72gg8hp7423l3ic43y3l3zbaf3spqn2a354y30myrg"))))
368 (build-system cmake-build-system)
371 ("kwindowsystem" ,kwindowsystem)
372 ("libkscreen" ,libkscreen)
374 ("libqtxdg" ,libqtxdg)
375 ("libxcursor" ,libxcursor)
379 ("qtx11extras" ,qtx11extras)
381 ("xf86-input-libinput" ,xf86-input-libinput)
384 `(("pkg-config" ,pkg-config)
385 ("lxqt-build-tools" ,lxqt-build-tools)
386 ("qttools" ,qttools)))
388 '(#:tests? #f ; no tests
390 (modify-phases %standard-phases
391 (add-after 'unpack 'patch-source
393 (substitute* '("src/CMakeLists.txt")
394 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
395 "DESTINATION \"etc/xdg"))
397 (add-after 'unpack 'patch-translations-dir
398 (lambda* (#:key outputs #:allow-other-keys)
399 (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
400 "lxqt-config-brightness/CMakeLists.txt"
401 "lxqt-config-appearance/CMakeLists.txt"
402 "lxqt-config-locale/CMakeLists.txt"
403 "lxqt-config-monitor/CMakeLists.txt"
404 "lxqt-config-input/CMakeLists.txt"
405 "liblxqt-config-cursor/CMakeLists.txt"
406 "src/CMakeLists.txt")
407 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
408 (string-append (assoc-ref outputs "out")
409 "/share/lxqt/translations")))
411 (home-page "https://lxqt.org")
412 (synopsis "Tools to configure LXQt and the underlying operating system")
413 (description "lxqt-config is providing several tools involved in the
414 configuration of both LXQt and the underlying operating system.")
415 (license license:lgpl2.1+)))
417 (define-public lxqt-globalkeys
419 (name "lxqt-globalkeys")
424 (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
425 "releases/download/" version "/"
426 "lxqt-globalkeys-" version ".tar.xz"))
428 (base32 "0mgl05qxvq4pdqvcw34i2cbyy87x605wy3np62mrbbb1kdfjrfg6"))))
429 (build-system cmake-build-system)
431 `(("kwindowsystem" ,kwindowsystem)
433 ("libqtxdg" ,libqtxdg)
436 ("qtx11extras" ,qtx11extras)))
438 `(("pkg-config" ,pkg-config)
440 ("lxqt-build-tools" ,lxqt-build-tools)))
442 '(#:tests? #f ; no tests
444 (modify-phases %standard-phases
445 (add-after 'unpack 'patch-source
447 (substitute* '("autostart/CMakeLists.txt"
448 "xdg/CMakeLists.txt")
449 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
450 "DESTINATION \"etc/xdg"))
452 (add-after 'unpack 'patch-translations-dir
453 (lambda* (#:key outputs #:allow-other-keys)
454 (substitute* "config/CMakeLists.txt"
455 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
456 (string-append (assoc-ref outputs "out")
457 "/share/lxqt/translations")))
459 (home-page "https://lxqt.org/")
460 (synopsis "Daemon used to register global keyboard shortcuts")
461 (description "lxqt-globalkeys is providing tools to set global keyboard
462 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
463 as a whole and are not limited to distinct applications.")
464 (license license:lgpl2.1+)))
466 (define-public lxqt-notificationd
468 (name "lxqt-notificationd")
473 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
474 version "/" name "-" version ".tar.xz"))
476 (base32 "1kiag3fcx12qmslln6x6lwvm4f1spymwf71389kdya3vwx7hkmcy"))))
477 (build-system cmake-build-system)
479 `(("kwindowsystem" ,kwindowsystem)
481 ("libqtxdg" ,libqtxdg)
484 ("qtx11extras" ,qtx11extras)))
486 `(("lxqt-build-tools" ,lxqt-build-tools)
487 ("qttools" ,qttools)))
489 '(#:tests? #f ; no test target
491 (modify-phases %standard-phases
492 (add-after 'unpack 'patch-source
494 (substitute* '("autostart/CMakeLists.txt")
495 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
496 "DESTINATION \"etc/xdg"))
498 (add-after 'unpack 'patch-translations-dir
499 (lambda* (#:key outputs #:allow-other-keys)
500 (substitute* '("config/CMakeLists.txt"
501 "src/CMakeLists.txt")
502 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
503 (string-append (assoc-ref outputs "out")
504 "/share/lxqt/translations")))
506 (home-page "https://lxqt.org/")
507 (synopsis "The LXQt notification daemon")
508 (description "lxqt-notificationd is LXQt's implementation of a daemon
509 according to the Desktop Notifications Specification.")
510 (license license:lgpl2.1+)))
512 (define-public lxqt-openssh-askpass
514 (name "lxqt-openssh-askpass")
519 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
520 version "/" name "-" version ".tar.xz"))
522 (base32 "1fvbgjidpifn420avh8n1gym49vcz6zgayz7xygg1x93s4awy1cs"))))
523 (build-system cmake-build-system)
525 `(("kwindowsystem" ,kwindowsystem)
527 ("libqtxdg" ,libqtxdg)
530 ("qtx11extras" ,qtx11extras)))
532 `(("lxqt-build-tools" ,lxqt-build-tools)
533 ("qttools" ,qttools)))
535 '(#:tests? #f ; no tests
537 (modify-phases %standard-phases
538 (add-after 'unpack 'patch-translations-dir
539 (lambda* (#:key outputs #:allow-other-keys)
540 (substitute* "CMakeLists.txt"
541 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
542 (string-append (assoc-ref outputs "out")
543 "/share/lxqt/translations")))
545 (home-page "https://lxqt.org/")
546 (synopsis "GUI to query passwords on behalf of SSH agents")
547 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
549 (license license:lgpl2.1+)))
551 (define-public lxqt-panel
558 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
559 version "/" name "-" version ".tar.xz"))
561 (base32 "1r3wx0v3jm7j41h7gxr49izc9xa1afvrzq4wcdm0qbj98qa1rgpq"))))
562 (build-system cmake-build-system)
564 `(("alsa-lib" ,alsa-lib)
565 ("kguiaddons" ,kguiaddons)
566 ("libdbusmenu-qt" ,libdbusmenu-qt)
568 ("libqtxdg" ,libqtxdg)
569 ("libstatgrab" ,libstatgrab)
570 ("libsysstat" ,libsysstat)
571 ("libxcomposite" ,libxcomposite)
572 ("libxdamage" ,libxdamage)
573 ("libxkbcommon" ,libxkbcommon)
574 ("libxrender" ,libxrender)
575 ("lm-sensors" ,lm-sensors "lib")
576 ("lxqt-globalkeys" ,lxqt-globalkeys)
578 ("pulseaudio" ,pulseaudio)
581 ("qtx11extras" ,qtx11extras)
583 ("xcb-util" ,xcb-util)))
585 `(("pkg-config" ,pkg-config)
586 ("lxqt-build-tools" ,lxqt-build-tools)
587 ("qttools" ,qttools)))
589 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
590 ;; shows up in lxqt-panel's taskbar plugin.
591 `(("kwindowsystem" ,kwindowsystem)))
593 '(#:tests? #f ; no tests
595 (modify-phases %standard-phases
596 (add-after 'unpack 'patch-source
598 (substitute* '("autostart/CMakeLists.txt"
599 "menu/CMakeLists.txt")
600 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
601 "DESTINATION \"etc/xdg"))
603 (add-after 'unpack 'patch-translations-dir
604 (lambda* (#:key outputs #:allow-other-keys)
605 (substitute* '("cmake/BuildPlugin.cmake"
606 "panel/CMakeLists.txt")
607 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
608 (string-append (assoc-ref outputs "out")
609 "/share/lxqt/translations")))
611 (home-page "https://lxqt.org/")
612 (synopsis "The LXQt desktop panel")
613 (description "lxqt-panel represents the taskbar of LXQt.")
614 (license license:lgpl2.1+)))
616 (define-public lxqt-policykit
618 (name "lxqt-policykit")
623 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
624 version "/" name "-" version ".tar.xz"))
626 (base32 "127rqb0nprybkc41lk0yq0r0dk5pbbw22gvrm4pwag71qh8wpk5i"))))
627 (build-system cmake-build-system)
629 `(("kwindowsystem" ,kwindowsystem)
631 ("libqtxdg" ,libqtxdg)
633 ("polkit-qt" ,polkit-qt)
636 ("qtx11extras" ,qtx11extras)))
638 `(("pkg-config" ,pkg-config)
640 ("lxqt-build-tools" ,lxqt-build-tools)
641 ("qttools" ,qttools)))
643 '(#:tests? #f ; no test target
645 (modify-phases %standard-phases
646 (add-after 'unpack 'patch-source
648 (substitute* '("autostart/CMakeLists.txt")
649 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
650 "DESTINATION \"etc/xdg"))
652 (add-after 'unpack 'patch-translations-dir
653 (lambda* (#:key outputs #:allow-other-keys)
654 (substitute* "CMakeLists.txt"
655 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
656 (string-append (assoc-ref outputs "out")
657 "/share/lxqt/translations")))
659 (home-page "https://lxqt.org/")
660 (synopsis "The LXQt PolicyKit agent")
661 (description "lxqt-policykit is the polkit authentication agent of
663 (license license:lgpl2.1+)))
665 (define-public lxqt-powermanagement
667 (name "lxqt-powermanagement")
672 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
673 version "/" name "-" version ".tar.xz"))
675 (base32 "06bvgbkbl9p9n8ba5cfsynqgmpb5c8yfnsvp7zqhflj8k9p9msip"))))
676 (build-system cmake-build-system)
678 `(("kidletime" ,kidletime)
679 ("kwindowsystem" ,kwindowsystem)
681 ("libqtxdg" ,libqtxdg)
684 ("qtx11extras" ,qtx11extras)
687 `(("lxqt-build-tools" ,lxqt-build-tools)
688 ("qttools" ,qttools)))
690 '(#:tests? #f ; no tests
692 (modify-phases %standard-phases
693 (add-after 'unpack 'patch-source
695 (substitute* '("autostart/CMakeLists.txt")
696 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
697 "DESTINATION \"etc/xdg"))
699 (add-after 'unpack 'patch-translations-dir
700 (lambda* (#:key outputs #:allow-other-keys)
701 (substitute* '("config/CMakeLists.txt"
702 "src/CMakeLists.txt")
703 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
704 (string-append (assoc-ref outputs "out")
705 "/share/lxqt/translations")))
707 (home-page "https://lxqt.org/")
708 (synopsis "Power management module for LXQt")
709 (description "lxqt-powermanagement is providing tools to monitor power
710 management events and optionally trigger actions like e. g. shut down a system
711 when laptop batteries are low on power.")
712 (license license:lgpl2.1+)))
714 (define-public lxqt-qtplugin
716 (name "lxqt-qtplugin")
721 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
722 version "/" name "-" version ".tar.xz"))
724 (base32 "18y7xfxwyismcycg70q6r8zrcygz1pdcvg6lqc6ba7azqb9806ds"))))
725 (build-system cmake-build-system)
727 `(("libdbusmenu-qt" ,libdbusmenu-qt)
728 ("libfm-qt" ,libfm-qt)
729 ("libqtxdg" ,libqtxdg)
732 ("qtx11extras" ,qtx11extras)))
734 `(("lxqt-build-tools" ,lxqt-build-tools)
735 ("qttools" ,qttools)))
737 '(#:tests? #f ; no tests
739 (modify-phases %standard-phases
740 (add-after 'unpack 'patch-source
742 (substitute* '("src/CMakeLists.txt")
743 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
744 "DESTINATION \"lib/qt5/plugins"))
746 (home-page "https://lxqt.org/")
747 (synopsis "LXQt Qt platform integration plugin")
748 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
750 (license license:lgpl2.1+)))
752 (define-public lxqt-runner
759 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
760 version "/" name "-" version ".tar.xz"))
762 (base32 "1c687shypivkhjrpzs1jcy5l2i8d7xzm31c4is1xx6x9nbkgm4bm"))))
763 (build-system cmake-build-system)
765 `(("kwindowsystem" ,kwindowsystem)
767 ("libqtxdg" ,libqtxdg)
768 ("lxqt-globalkeys" ,lxqt-globalkeys)
769 ("muparser" ,muparser)
773 ("qtx11extras" ,qtx11extras)))
775 `(("pkg-config" ,pkg-config)
777 ("lxqt-build-tools" ,lxqt-build-tools)))
779 '(#:tests? #f ; no tests
781 (modify-phases %standard-phases
782 (add-after 'unpack 'patch-source
784 (substitute* '("autostart/CMakeLists.txt")
785 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
786 "DESTINATION \"etc/xdg"))
788 (add-after 'unpack 'patch-translations-dir
789 (lambda* (#:key outputs #:allow-other-keys)
790 (substitute* "CMakeLists.txt"
791 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
792 (string-append (assoc-ref outputs "out")
793 "/share/lxqt/translations")))
795 (home-page "https://lxqt.org/")
796 (synopsis "Tool used to launch programs quickly by typing their names")
797 (description "lxqt-runner provides a GUI that comes up on the desktop and
798 allows for launching applications or shutting down the system.")
799 (license license:lgpl2.1+)))
801 (define-public lxqt-session
803 (name "lxqt-session")
808 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
809 version "/" name "-" version ".tar.xz"))
811 (base32 "11i2vimv3336dvvxb6y5csdybwjncr7cq3kwlj52vkpisnxslvgy"))))
812 (build-system cmake-build-system)
815 ("kwindowsystem" ,kwindowsystem)
817 ("libqtxdg" ,libqtxdg)
820 ("qtx11extras" ,qtx11extras)
821 ("xdg-user-dirs" ,xdg-user-dirs)))
823 `(("pkg-config" ,pkg-config)
824 ("lxqt-build-tools" ,lxqt-build-tools)
825 ("qttools" ,qttools)))
829 (modify-phases %standard-phases
830 (add-after 'unpack 'patch-source
832 (substitute* '("autostart/CMakeLists.txt"
833 "config/CMakeLists.txt")
834 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
835 "DESTINATION \"etc/xdg"))
837 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
838 (add-after 'unpack 'patch-openbox-permission
840 (substitute* "startlxqt.in"
841 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
842 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
843 " # fix openbox permission issue\n"
844 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
846 (add-after 'unpack 'patch-translations-dir
847 (lambda* (#:key outputs #:allow-other-keys)
848 (substitute* '("lxqt-config-session/CMakeLists.txt"
849 "lxqt-leave/CMakeLists.txt"
850 "lxqt-session/CMakeLists.txt")
851 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
852 (string-append (assoc-ref outputs "out")
853 "/share/lxqt/translations")))
855 (home-page "https://lxqt.org/")
856 (synopsis "Session manager for LXQt")
857 (description "lxqt-session provides the standard session manager
858 for the LXQt desktop environment.")
859 (license license:lgpl2.1+)))
861 (define-public lxqt-sudo
868 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
869 version "/" name "-" version ".tar.xz"))
871 (base32 "0mbygp2kkppwk7sxvpnwavdwrx88mh7ldcg6xm3zw1ndp29danay"))))
872 (build-system cmake-build-system)
874 `(("kwindowsystem" ,kwindowsystem)
876 ("libqtxdg" ,libqtxdg)
879 ("qtx11extras" ,qtx11extras)
882 `(("pkg-config" ,pkg-config)
884 ("lxqt-build-tools" ,lxqt-build-tools)))
886 '(#:tests? #f ; no tests
888 (modify-phases %standard-phases
889 (add-after 'unpack 'patch-translations-dir
890 (lambda* (#:key outputs #:allow-other-keys)
891 (substitute* "CMakeLists.txt"
892 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
893 (string-append (assoc-ref outputs "out")
894 "/share/lxqt/translations")))
896 (home-page "https://lxqt.org/")
897 (synopsis "GUI frontend for sudo/su")
898 (description "lxqt-sudo is a graphical front-end of commands sudo and su
899 respectively. As such it enables regular users to launch applications with
900 permissions of other users including root.")
901 (license license:lgpl2.1+)))
903 (define-public lxqt-themes
910 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
911 version "/" name "-" version ".tar.xz"))
913 (base32 "0p7svdpp0z44hvgrp2aip6hym0gdhbanyxsz6iz8sjnn28c995ia"))))
914 (build-system cmake-build-system)
916 `(("lxqt-build-tools" ,lxqt-build-tools)))
918 `(#:tests? #f ; no tests
920 (modify-phases %standard-phases
921 (add-after 'unpack 'patch-source
923 (substitute* '("CMakeLists.txt")
924 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
925 "DESTINATION \"share/lxqt/graphics"))
926 (substitute* '("themes/CMakeLists.txt")
927 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
928 "DESTINATION \"share/lxqt"))
930 (home-page "https://lxqt.org/")
931 (synopsis "Themes, graphics and icons for LXQt")
932 (description "This package comprises a number of graphic files and themes
934 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
935 ;; licensed under CC-BY-SA 3.0.
936 (license license:lgpl2.1+)))
941 (define-public libfm-qt
948 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
949 version "/" name "-" version ".tar.xz"))
951 (base32 "06p3wqpc574v9f94wkq9hqmbbvb9q8phfpq301z55c5r939f4hrp"))))
952 (build-system cmake-build-system)
954 '(#:tests? #f)) ; no tests
960 ("menu-cache" ,menu-cache)
963 ("qtx11extras" ,qtx11extras)))
965 `(("pkg-config" ,pkg-config)
966 ("lxqt-build-tools" ,lxqt-build-tools)
967 ("qttools" ,qttools)))
968 (home-page "https://lxqt.org/")
969 (synopsis "Qt binding for libfm")
970 (description "libfm-qt is the Qt port of libfm, a library providing
971 components to build desktop file managers which belongs to LXDE.")
972 (license license:lgpl2.1+)))
974 (define-public pcmanfm-qt
981 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
982 version "/" name "-" version ".tar.xz"))
984 (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq"))))
985 (build-system cmake-build-system)
987 `(("libfm-qt" ,libfm-qt)
989 ("qtx11extras" ,qtx11extras)))
991 `(("pkg-config" ,pkg-config)
993 ("lxqt-build-tools" ,lxqt-build-tools)))
995 '(#:tests? #f ; no tests
997 (modify-phases %standard-phases
998 (add-after 'unpack 'patch-source
1000 (substitute* '("autostart/CMakeLists.txt")
1001 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1002 "DESTINATION \"etc/xdg"))
1004 (home-page "https://lxqt.org/")
1005 (synopsis "File manager and desktop icon manager")
1006 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1008 (license license:gpl2+)))
1013 (define-public compton-conf
1015 (name "compton-conf")
1020 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1021 version "/" name "-" version ".tar.xz"))
1023 (base32 "11n8k59jd0q2x66cispc9dpk139mp6j99hq1yjccxvh21vhc7mbc"))))
1024 (build-system cmake-build-system)
1026 `(("libconfig" ,libconfig)
1027 ("qtbase" ,qtbase)))
1029 `(("lxqt-build-tools" ,lxqt-build-tools)
1030 ("pkg-config" ,pkg-config)
1031 ("qttools" ,qttools)))
1033 '(#:tests? #f ; no tests
1035 (modify-phases %standard-phases
1036 (add-after 'unpack 'patch-source
1038 (substitute* '("autostart/CMakeLists.txt")
1039 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1040 "DESTINATION \"etc/xdg"))
1042 (home-page "https://lxqt.org/")
1043 (synopsis "GUI configuration tool for compton X composite manager")
1044 (description "@code{compton-conf} is a configuration tool for X composite
1046 (license license:lgpl2.1+)))
1048 (define-public lximage-qt
1055 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1056 version "/" name "-" version ".tar.xz"))
1058 (base32 "0iiq55rm4z2jp19q1pbd2whifwvxg052q324vrwp4p7nz0wh04za"))))
1059 (build-system cmake-build-system)
1061 `(("libexif" ,libexif)
1062 ("libfm-qt" ,libfm-qt)
1065 ("qtx11extras" ,qtx11extras)))
1067 `(("pkg-config" ,pkg-config)
1068 ("lxqt-build-tools" ,lxqt-build-tools)
1069 ("qttools" ,qttools)))
1071 '(#:tests? #f)) ; no tests
1072 (home-page "https://lxqt.org/")
1073 (synopsis "The image viewer and screenshot tool for lxqt")
1074 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1076 (license license:gpl2+)))
1078 (define-public obconf-qt
1085 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1086 version "/" name "-" version ".tar.xz"))
1088 (base32 "1kzb7364150b60qd3wcgnw78b9ia5k3b16kq8w3p1y7pg6pddy8m"))))
1089 (build-system cmake-build-system)
1091 `(("imlib2" ,imlib2)
1093 ("librsvg" ,librsvg)
1095 ("libxml2" ,libxml2)
1096 ("openbox" ,openbox)
1100 ("qtx11extras" ,qtx11extras)))
1102 `(("lxqt-build-tools" ,lxqt-build-tools)
1103 ("pkg-config" ,pkg-config)
1104 ("qttools" ,qttools)))
1106 '(#:tests? #f)) ; no tests
1107 (home-page "https://lxqt.org/")
1108 (synopsis "Openbox configuration tool")
1109 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1110 window manager OpenBox.")
1111 (license license:gpl2+)))
1113 (define-public pavucontrol-qt
1115 (name "pavucontrol-qt")
1120 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1121 version "/" name "-" version ".tar.xz"))
1123 (base32 "18mw5r8grfrf95vxjbqrr790kl5l59qdqcmlxmwa6rwbfgywj1fq"))))
1124 (build-system cmake-build-system)
1128 ("pulseaudio" ,pulseaudio)
1130 ("qtx11extras" ,qtx11extras)))
1132 `(("pkg-config" ,pkg-config)
1133 ("lxqt-build-tools" ,lxqt-build-tools)
1134 ("qttools" ,qttools)))
1136 '(#:tests? #f)) ; no tests
1137 (home-page "https://lxqt.org/")
1138 (synopsis "Pulseaudio mixer in Qt")
1139 (description "@code{pavucontrol-qt} is the Qt port of volume control
1140 @code{pavucontrol} of sound server @code{PulseAudio}.")
1141 (license license:gpl2+)))
1150 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1151 version "/" name "-" version ".tar.xz"))
1153 (base32 "0dz7ricxg2rrmdyca6mc2d4lyy5bpksjk751hvn95wssr76y2w0m"))))
1154 (build-system cmake-build-system)
1156 `(("libxrender" ,libxrender)
1158 ("qtx11extras" ,qtx11extras)))
1160 `(("lxqt-build-tools" ,lxqt-build-tools)
1161 ("qttools" ,qttools)))
1163 '(#:tests? #f)) ; no tests
1164 (home-page "https://lxqt.org/")
1165 (synopsis "Qt-based visual process status monitor")
1166 (description "@code{qps} is a monitor that displays the status of the
1167 processes currently in existence, much like code{top} or code{ps}.")
1168 (license license:gpl2+)))
1170 (define-public qtermwidget
1172 (name "qtermwidget")
1177 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1178 version "/" name "-" version ".tar.xz"))
1180 (base32 "0v1vvi8vf9y8nv8y0gzffaqji53s75ab5jypksih0ndcws8ryww4"))))
1181 (build-system cmake-build-system)
1183 `(("qtbase" ,qtbase)
1184 ("utf8proc" ,utf8proc)))
1186 `(("lxqt-build-tools" ,lxqt-build-tools)
1187 ("qttools" ,qttools)))
1189 '(#:tests? #f)) ; no tests
1190 (home-page "https://lxqt.org/")
1191 (synopsis "The terminal widget for QTerminal")
1192 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1193 (license license:gpl2+)))
1195 (define-public qterminal
1202 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1203 version "/" name "-" version ".tar.xz"))
1205 (base32 "0cgyaskyqginmm85d11inbi0mmxrsrnvgyx6g4l4l4iqpphfq670"))))
1206 (build-system cmake-build-system)
1208 `(("qtbase" ,qtbase)
1209 ("qtx11extras" ,qtx11extras)
1210 ("qtermwidget" ,qtermwidget)))
1212 `(("lxqt-build-tools" ,lxqt-build-tools)
1213 ("qttools" ,qttools)))
1215 '(#:tests? #f)) ; no tests
1216 (home-page "https://lxqt.org/")
1217 (synopsis "Lightweight Qt-based terminal emulator")
1218 (description "QTerminal is a lightweight Qt terminal emulator based on
1220 (license license:gpl2+)))
1222 (define-public screengrab
1229 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1230 version "/screengrab-" version ".tar.xz"))
1232 (base32 "05f81xjlmiykd7iwx5xns5vnynjq4js4x1bk8wd648frrksp44fa"))))
1233 (build-system cmake-build-system)
1235 `(("kwindowsystem" ,kwindowsystem)
1236 ("libqtxdg" ,libqtxdg)
1239 ("qtx11extras" ,qtx11extras)))
1241 `(("pkg-config" ,pkg-config)
1242 ("qttools" ,qttools)))
1244 '(#:tests? #f)) ; no tests
1245 (home-page "https://lxqt.org/")
1246 (synopsis "Crossplatform tool for fast making screenshots")
1247 (description "ScreenGrab is a program for fast creating screenshots, and
1248 easily publishing them on internet image hosting services.")
1249 (license license:gpl2+)))
1252 (define-public lxqt-archiver
1254 (name "lxqt-archiver")
1260 (url (string-append "https://github.com/lxqt/" name ".git"))
1262 (file-name (git-file-name name version))
1264 (base32 "09rw774vxj96wcpxxncz6nr9bmw7l4l0kwylmz1saq6rpa2yvn2i"))))
1265 (build-system cmake-build-system)
1268 ("json-glib" ,json-glib)
1269 ("libfm-qt" ,libfm-qt)
1271 ("qtx11extras" ,qtx11extras)))
1273 `(("pkg-config" ,pkg-config)
1274 ("lxqt-build-tools" ,lxqt-build-tools)
1275 ("qttools" ,qttools)))
1278 (home-page "https://lxqt.org/")
1279 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1281 "This package provides a Qt graphical interface to archiving programs
1282 like @command{tar} and @command{zip}.")
1283 (license license:gpl2+)))
1285 (define-public lxqt-connman-applet
1286 ;; since the main developers didn't release any version yet, their
1287 ;; latest commit on `master` branch at the moment used for this version.
1288 (let ((commit "3db374eebd8d851f68a50fc5d1ef5fa9478c275e")
1291 (name "lxqt-connman-applet")
1292 (version (git-version "0.14.1" revision commit))
1297 (url (string-append "https://github.com/lxqt/" name ".git"))
1299 (file-name (git-file-name name version))
1300 (sha256 (base32 "1brkyzjmpa7hiv8p8rvmkcgagchh2zn71ry4pjiplga05as3jc11"))))
1301 (build-system cmake-build-system)
1303 `(("kwindowsystem" ,kwindowsystem)
1306 ("liblxqt" ,liblxqt)
1307 ("qtx11extras" ,qtx11extras)
1308 ("libqtxdg" ,libqtxdg)))
1310 `(("lxqt-build-tools" ,lxqt-build-tools)
1311 ("qtlinguist" ,qttools)))
1313 `(#:tests? #f ; no tests
1315 (modify-phases %standard-phases
1316 (add-after 'unpack 'patch-translations-dir
1317 (lambda* (#:key outputs #:allow-other-keys)
1318 (substitute* "CMakeLists.txt"
1319 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1320 (string-append (assoc-ref outputs "out")
1321 "/share/lxqt/translations"))
1322 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1324 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1325 (synopsis "System-tray applet for connman")
1326 (description "This package provides a Qt-based system-tray applet for
1327 the network management tool Connman, originally developed for the LXQT
1329 (license license:lgpl2.1+))))
1331 ;; The LXQt Desktop Environment
1336 (version (package-version lxqt-session))
1338 (build-system trivial-build-system)
1339 (arguments '(#:builder (begin (mkdir %output) #t)))
1342 ("desktop-file-utils" ,desktop-file-utils)
1343 ("hicolor-icon-theme" ,hicolor-icon-theme)
1344 ("xdg-user-dirs" ,xdg-user-dirs)
1345 ("xdg-utils" ,xdg-utils)
1347 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1348 ;; should be added to their propagated-inputs?
1351 ("lxqt-about" ,lxqt-about)
1352 ("lxqt-admin" ,lxqt-admin)
1353 ("lxqt-config" ,lxqt-config)
1354 ("lxqt-notificationd" ,lxqt-notificationd)
1355 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1356 ("lxqt-panel" ,lxqt-panel)
1357 ("lxqt-policykit" ,lxqt-policykit)
1358 ("lxqt-powermanagement" ,lxqt-powermanagement)
1359 ("lxqt-qtplugin" ,lxqt-qtplugin)
1360 ("lxqt-runner" ,lxqt-runner)
1361 ("lxqt-session" ,lxqt-session)
1362 ("lxqt-sudo" ,lxqt-sudo)
1363 ("lxqt-themes" ,lxqt-themes)
1364 ("pcmanfm-qt" ,pcmanfm-qt)
1366 ("compton" ,compton)
1367 ("compton-conf" ,compton-conf)
1368 ("font-dejavu" ,font-dejavu)
1369 ("lximage-qt" ,lximage-qt)
1370 ("obconf-qt" ,obconf-qt)
1371 ("openbox" ,openbox)
1372 ("oxygen-icons" ,oxygen-icons)
1373 ("pavucontrol-qt" ,pavucontrol-qt)
1375 ("qterminal" ,qterminal)))
1376 (synopsis "The Lightweight Qt Desktop Environment")
1377 (description "LXQt is a lightweight Qt desktop environment.")
1378 (home-page "https://lxde.org")
1379 (license license:gpl2+)))