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 Nils Gillmann <ng0@n0.is>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
9 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
11 ;;; This file is part of GNU Guix.
13 ;;; GNU Guix is free software; you can redistribute it and/or modify it
14 ;;; under the terms of the GNU General Public License as published by
15 ;;; the Free Software Foundation; either version 3 of the License, or (at
16 ;;; your option) any later version.
18 ;;; GNU Guix is distributed in the hope that it will be useful, but
19 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;;; GNU General Public License for more details.
23 ;;; You should have received a copy of the GNU General Public License
24 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 (define-module (gnu packages lxqt)
27 #:use-module (guix download)
28 #:use-module (guix git-download)
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix packages)
31 #:use-module (guix utils)
32 #:use-module (guix build-system cmake)
33 #:use-module (guix build-system gnu)
34 #:use-module (guix build-system trivial)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages admin)
37 #:use-module (gnu packages compression)
38 #:use-module (gnu packages documentation)
39 #:use-module (gnu packages compton)
40 #:use-module (gnu packages fonts)
41 #:use-module (gnu packages freedesktop)
42 #:use-module (gnu packages glib)
43 #:use-module (gnu packages gnome)
44 #:use-module (gnu packages gtk)
45 #:use-module (gnu packages image)
46 #:use-module (gnu packages kde-frameworks)
47 #:use-module (gnu packages kde-plasma)
48 #:use-module (gnu packages linux)
49 #:use-module (gnu packages perl)
50 #:use-module (gnu packages lxde)
51 #:use-module (gnu packages maths)
52 #:use-module (gnu packages openbox)
53 #:use-module (gnu packages pcre)
54 #:use-module (gnu packages photo)
55 #:use-module (gnu packages pkg-config)
56 #:use-module (gnu packages polkit)
57 #:use-module (gnu packages pulseaudio)
58 #:use-module (gnu packages qt)
59 #:use-module (gnu packages textutils)
60 #:use-module (gnu packages xdisorg)
61 #:use-module (gnu packages xml)
62 #:use-module (gnu packages xorg))
65 ;; Third party libraries
67 (define-public libdbusmenu-qt
69 (name "libdbusmenu-qt")
70 (version "0.9.3+16.04.20160218-0ubuntu1")
74 ;; Download from github rather than launchpad because launchpad trunk
75 ;; tarball hash is not deterministic.
77 (url "https://github.com/unity8-team/libdbusmenu-qt.git")
79 (file-name (git-file-name name version))
81 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
82 (build-system cmake-build-system)
84 ;; XXX: Tests require a dbus session and some icons.
87 `(("doxygen" ,doxygen)))
89 `(("qtbase" ,qtbase)))
90 (home-page "https://launchpad.net/libdbusmenu-qt")
91 (synopsis "Qt implementation of the DBusMenu spec")
92 (description "This library provides a Qt implementation of the DBusMenu
93 protocol. The DBusMenu protocol makes it possible for applications to export
94 and import their menus over DBus.")
95 (license license:lgpl2.1+)))
97 (define-public libstatgrab
104 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
105 name "-" version ".tar.gz"))
107 (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83"))))
108 (build-system gnu-build-system)
110 '(#:configure-flags '("--enable-tests")))
114 (home-page "https://www.i-scream.org/libstatgrab/")
115 (synopsis "Provides access to statistics about the system")
116 (description "libstatgrab is a library that provides cross platform access
117 to statistics about the system on which it's run.")
118 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
119 (license license:gpl2+)))
124 (define-public lxqt-build-tools
126 (name "lxqt-build-tools")
131 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
132 version "/" name "-" version ".tar.xz"))
134 (base32 "13b5x26p6ycnwzlgg1cgvlc88wjrjmlb3snrrmzh0xgh9h6hhvd6"))))
135 (build-system cmake-build-system)
137 `(#:tests? #f ; no tests
139 ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
140 ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
141 ;; LXQT_ETC_XDG_DIR in its "Technical Info".
142 '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
143 "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
145 `(("pkg-config" ,pkg-config)
148 `(("qtbase" ,qtbase)))
149 (synopsis "LXQt Build tools")
151 "Lxqt-build-tools is providing several tools needed to build LXQt
152 itself as well as other components maintained by the LXQt project.")
153 (home-page "https://lxqt.org")
154 (license license:lgpl2.1+)))
156 (define-public libqtxdg
164 "https://github.com/lxqt/" name "/releases/download/"
165 version "/" name "-" version ".tar.xz"))
167 (base32 "0lq548pa69hfvnbj2ypba5ygm8n6v6g7bqqm8p5g538l1l3394cl"))))
168 (build-system cmake-build-system)
172 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
174 (modify-phases %standard-phases
175 (add-before 'check 'pre-check
177 ;; Run the tests offscreen.
178 (setenv "QT_QPA_PLATFORM" "offscreen")
181 ;; required by Qt5XdgIconLoader.pc
184 (home-page "https://github.com/lxqt/libqtxdg")
185 (synopsis "Qt implementation of freedesktop.org xdg specifications")
186 (description "Libqtxdg implements the freedesktop.org xdg specifications
188 (license license:lgpl2.1+)))
190 (define-public liblxqt
198 "https://github.com/lxqt/" name "/releases/download/"
199 version "/" name "-" version ".tar.xz"))
201 (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl"))))
202 (build-system cmake-build-system)
204 `(#:tests? #f ; no tests
206 ;; TODO: prefetch translations files from 'lxqt-l10n'.
207 '("-DPULL_TRANSLATIONS=NO")
209 (modify-phases %standard-phases
210 (add-after 'unpack 'patch-source
212 (substitute* "CMakeLists.txt"
213 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
214 "DESTINATION \"share/polkit-1/actions"))
217 `(("kwindowsystem" ,kwindowsystem)
218 ("libqtxdg" ,libqtxdg)
219 ("libxscrnsaver" ,libxscrnsaver)
220 ("polkit-qt" ,polkit-qt)
222 ("qtx11extras" ,qtx11extras)))
224 `(("lxqt-build-tools" ,lxqt-build-tools)
225 ("qttools" ,qttools)))
226 (home-page "https://lxqt.org/")
227 (synopsis "Core utility library for all LXQt components")
228 (description "liblxqt provides the basic libraries shared by the
229 components of the LXQt desktop environment.")
230 (license license:lgpl2.1+)))
232 (define-public libsysstat
239 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
240 version "/" name "-" version ".tar.xz"))
242 (base32 "0ngz8v3bixsdg96d5ipcyxd6nsrg52974xdxy9rnimahlv1yaxn3"))))
243 (build-system cmake-build-system)
244 (arguments '(#:tests? #f)) ; no tests
246 `(("qtbase" ,qtbase)))
248 `(("lxqt-build-tools" ,lxqt-build-tools)))
249 (home-page "https://lxqt.org/")
250 (synopsis "Library used to query system info and statistics")
251 (description "libsysstat is a library to query system information like CPU
252 and memory usage or network traffic.")
253 (license license:lgpl2.1+)))
258 (define-public lxqt-about
265 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
266 version "/" name "-" version ".tar.xz"))
268 (base32 "08imj7p77ifzfxnn8c482mhrvfx9gi0rb43ab5rw1rkmfvax2n5w"))))
269 (build-system cmake-build-system)
271 `(("kwindowsystem" ,kwindowsystem)
273 ("libqtxdg" ,libqtxdg)
276 ("qtx11extras" ,qtx11extras)))
278 `(("lxqt-build-tools" ,lxqt-build-tools)
279 ("qttools" ,qttools)))
281 '(#:tests? #f ; no tests
283 ;; TODO: prefetch translations files from 'lxqt-l10n'.
284 '("-DPULL_TRANSLATIONS=NO")))
285 (home-page "https://lxqt.org")
286 (synopsis "Provides information about LXQt and the system")
287 (description "lxqt-about is a dialogue window providing information about
288 LXQt and the system it's running on.")
289 (license license:lgpl2.1+)))
291 (define-public lxqt-admin
298 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
299 version "/" name "-" version ".tar.xz"))
301 (base32 "0qvpv668ja83ydbdrlal1596xhag3xlkbd6qlh9xwdpb7nysvns1"))))
302 (build-system cmake-build-system)
304 `(("kwindowsystem" ,kwindowsystem)
306 ("libqtxdg" ,libqtxdg)
307 ("polkit-qt" ,polkit-qt)
309 ("qtx11extras" ,qtx11extras)))
311 `(("lxqt-build-tools" ,lxqt-build-tools)
312 ("qttools" ,qttools)))
314 '(#:tests? #f ; no tests
316 ;; TODO: prefetch translations files from 'lxqt-l10n'.
317 '("-DPULL_TRANSLATIONS=NO")
319 (modify-phases %standard-phases
320 (add-after 'unpack 'patch-source
322 (substitute* "lxqt-admin-user/CMakeLists.txt"
323 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
324 "DESTINATION \"share/polkit-1/actions"))
326 (home-page "https://lxqt.org")
327 (synopsis "LXQt system administration tool")
328 (description "lxqt-admin is providing two GUI tools to adjust settings of
329 the operating system LXQt is running on.")
330 (license license:lgpl2.1+)))
332 (define-public lxqt-config
339 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
340 version "/" name "-" version ".tar.xz"))
342 (base32 "0rizhl2v41kpgp57a61r6nmwcdw8nh9hprrrf33nfrdw8hpwxb95"))))
343 (build-system cmake-build-system)
345 `(("kwindowsystem" ,kwindowsystem)
346 ("libkscreen" ,libkscreen)
348 ("libqtxdg" ,libqtxdg)
349 ("libxcursor" ,libxcursor)
352 ("qtx11extras" ,qtx11extras)
356 `(("pkg-config" ,pkg-config)
357 ("lxqt-build-tools" ,lxqt-build-tools)
358 ("qttools" ,qttools)))
360 '(#:tests? #f ; no tests
362 ;; TODO: prefetch translations files from 'lxqt-l10n'.
363 '("-DPULL_TRANSLATIONS=NO")
365 (modify-phases %standard-phases
366 (add-after 'unpack 'patch-source
368 (substitute* '("src/CMakeLists.txt")
369 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
370 "DESTINATION \"etc/xdg"))
372 (home-page "https://lxqt.org")
373 (synopsis "Tools to configure LXQt and the underlying operating system")
374 (description "lxqt-config is providing several tools involved in the
375 configuration of both LXQt and the underlying operating system.")
376 (license license:lgpl2.1+)))
378 (define-public lxqt-globalkeys
380 (name "lxqt-globalkeys")
385 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
386 version "/" name "-" version ".tar.xz"))
388 (base32 "1gyvcjbhi7zpvgz1sf773dv9gc35hx5fz023njp9r4vl0dpcavgd"))))
389 (build-system cmake-build-system)
391 `(("kwindowsystem" ,kwindowsystem)
393 ("libqtxdg" ,libqtxdg)
396 ("qtx11extras" ,qtx11extras)))
398 `(("pkg-config" ,pkg-config)
400 ("lxqt-build-tools" ,lxqt-build-tools)))
402 '(#:tests? #f ; no tests
404 ;; TODO: prefetch translations files from 'lxqt-l10n'.
405 '("-DPULL_TRANSLATIONS=NO")
407 (modify-phases %standard-phases
408 (add-after 'unpack 'patch-source
410 (substitute* '("autostart/CMakeLists.txt"
411 "xdg/CMakeLists.txt")
412 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
413 "DESTINATION \"etc/xdg"))
415 (home-page "https://lxqt.org/")
416 (synopsis "Daemon used to register global keyboard shortcuts")
417 (description "lxqt-globalkeys is providing tools to set global keyboard
418 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
419 as a whole and are not limited to distinct applications.")
420 (license license:lgpl2.1+)))
422 (define-public lxqt-notificationd
424 (name "lxqt-notificationd")
429 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
430 version "/" name "-" version ".tar.xz"))
432 (base32 "1l0hdbvghyhqgvy4pih7rvz26bc6yc8a3l1bdj11hnkw62h1i7d6"))))
433 (build-system cmake-build-system)
435 `(("kwindowsystem" ,kwindowsystem)
437 ("libqtxdg" ,libqtxdg)
440 ("qtx11extras" ,qtx11extras)))
442 `(("lxqt-build-tools" ,lxqt-build-tools)
443 ("qttools" ,qttools)))
445 '(#:tests? #f ; no test target
447 ;; TODO: prefetch translations files from 'lxqt-l10n'.
448 '("-DPULL_TRANSLATIONS=NO")
450 (modify-phases %standard-phases
451 (add-after 'unpack 'patch-source
453 (substitute* '("autostart/CMakeLists.txt")
454 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
455 "DESTINATION \"etc/xdg"))
457 (home-page "https://lxqt.org/")
458 (synopsis "The LXQt notification daemon")
459 (description "lxqt-notificationd is LXQt's implementation of a daemon
460 according to the Desktop Notifications Specification.")
461 (license license:lgpl2.1+)))
463 (define-public lxqt-openssh-askpass
465 (name "lxqt-openssh-askpass")
470 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
471 version "/" name "-" version ".tar.xz"))
473 (base32 "0l2272gya8jgv71bvg2hz37lnhiznv4ng3j0p6j79f99hwb5ygpk"))))
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 tests
488 ;; TODO: prefetch translations files from 'lxqt-l10n'.
489 '("-DPULL_TRANSLATIONS=NO")))
490 (home-page "https://lxqt.org/")
491 (synopsis "GUI to query passwords on behalf of SSH agents")
492 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
494 (license license:lgpl2.1+)))
496 (define-public lxqt-panel
503 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
504 version "/" name "-" version ".tar.xz"))
506 (base32 "1qraigzq7nc5a2q6f5ybxwx07gxffa3m3bg7fiv6ppwss51xqfd1"))))
507 (build-system cmake-build-system)
509 `(("alsa-lib" ,alsa-lib)
510 ("kguiaddons" ,kguiaddons)
511 ("kwindowsystem" ,kwindowsystem)
512 ("libdbusmenu-qt" ,libdbusmenu-qt)
514 ("libqtxdg" ,libqtxdg)
515 ("libstatgrab" ,libstatgrab)
516 ("libsysstat" ,libsysstat)
517 ("libxcomposite" ,libxcomposite)
518 ("libxdamage" ,libxdamage)
519 ("libxkbcommon" ,libxkbcommon)
520 ("libxrender" ,libxrender)
521 ("lm-sensors" ,lm-sensors "lib")
522 ("lxqt-globalkeys" ,lxqt-globalkeys)
524 ("pulseaudio" ,pulseaudio)
527 ("qtx11extras" ,qtx11extras)
529 ("xcb-util" ,xcb-util)))
531 `(("pkg-config" ,pkg-config)
532 ("lxqt-build-tools" ,lxqt-build-tools)
533 ("qttools" ,qttools)))
535 '(#:tests? #f ; no tests
537 ;; TODO: prefetch translations files from 'lxqt-l10n'.
538 '("-DPULL_TRANSLATIONS=NO")
540 (modify-phases %standard-phases
541 (add-after 'unpack 'patch-source
543 (substitute* '("autostart/CMakeLists.txt"
544 "menu/CMakeLists.txt")
545 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
546 "DESTINATION \"etc/xdg"))
548 (home-page "https://lxqt.org/")
549 (synopsis "The LXQt desktop panel")
550 (description "lxqt-panel represents the taskbar of LXQt.")
551 (license license:lgpl2.1+)))
553 (define-public lxqt-policykit
555 (name "lxqt-policykit")
560 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
561 version "/" name "-" version ".tar.xz"))
563 (base32 "1d97fys6625nk4q6irp0jhsbk30xi7idnii1f3vrrrdcl2cahagp"))))
564 (build-system cmake-build-system)
566 `(("kwindowsystem" ,kwindowsystem)
568 ("libqtxdg" ,libqtxdg)
570 ("polkit-qt" ,polkit-qt)
573 ("qtx11extras" ,qtx11extras)))
575 `(("pkg-config" ,pkg-config)
577 ("lxqt-build-tools" ,lxqt-build-tools)
578 ("qttools" ,qttools)))
580 '(#:tests? #f ; no test target
582 '("-DPULL_TRANSLATIONS=NO")
584 (modify-phases %standard-phases
585 (add-after 'unpack 'patch-source
587 (substitute* '("autostart/CMakeLists.txt")
588 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
589 "DESTINATION \"etc/xdg"))
591 (home-page "https://lxqt.org/")
592 (synopsis "The LXQt PolicyKit agent")
593 (description "lxqt-policykit is the polkit authentification agent of
595 (license license:lgpl2.1+)))
597 (define-public lxqt-powermanagement
599 (name "lxqt-powermanagement")
604 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
605 version "/" name "-" version ".tar.xz"))
607 (base32 "15nvdypyjwnp7k3d2pkhdbmaqb3ccacmh95rbdbc5mr7yrjy9613"))))
608 (build-system cmake-build-system)
610 `(("kidletime" ,kidletime)
611 ("kwindowsystem" ,kwindowsystem)
613 ("libqtxdg" ,libqtxdg)
616 ("qtx11extras" ,qtx11extras)
619 `(("lxqt-build-tools" ,lxqt-build-tools)
620 ("qttools" ,qttools)))
622 '(#:tests? #f ; no tests
624 ;; TODO: prefetch translations files from 'lxqt-l10n'.
625 '("-DPULL_TRANSLATIONS=NO")
627 (modify-phases %standard-phases
628 (add-after 'unpack 'patch-source
630 (substitute* '("autostart/CMakeLists.txt")
631 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
632 "DESTINATION \"etc/xdg"))
634 (home-page "https://lxqt.org/")
635 (synopsis "Power management module for LXQt")
636 (description "lxqt-powermanagement is providing tools to monitor power
637 management events and optionally trigger actions like e. g. shut down a system
638 when laptop batteries are low on power.")
639 (license license:lgpl2.1+)))
641 (define-public lxqt-qtplugin
643 (name "lxqt-qtplugin")
648 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
649 version "/" name "-" version ".tar.xz"))
651 (base32 "0nnwbc99njpsyqb0cy3x0srcgwa7qrnq0qwcyx7fbvwsq1l8cz56"))))
652 (build-system cmake-build-system)
654 `(("libdbusmenu-qt" ,libdbusmenu-qt)
655 ("libfm-qt" ,libfm-qt)
656 ("libqtxdg" ,libqtxdg)
659 ("qtx11extras" ,qtx11extras)))
661 `(("lxqt-build-tools" ,lxqt-build-tools)
662 ("qttools" ,qttools)))
664 '(#:tests? #f ; no tests
666 (modify-phases %standard-phases
667 (add-after 'unpack 'patch-source
669 (substitute* '("src/CMakeLists.txt")
670 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
671 "DESTINATION \"lib/qt5/plugins"))
673 (home-page "https://lxqt.org/")
674 (synopsis "LXQt Qt platform integration plugin")
675 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
677 (license license:lgpl2.1+)))
679 (define-public lxqt-runner
686 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
687 version "/" name "-" version ".tar.xz"))
689 (base32 "0dsg6fdcqbl7gza0sg1pb49zn5x31q7zx77jp7mkf6wc2lv8lali"))))
690 (build-system cmake-build-system)
692 `(("kwindowsystem" ,kwindowsystem)
694 ("libqtxdg" ,libqtxdg)
695 ("lxqt-globalkeys" ,lxqt-globalkeys)
696 ("muparser" ,muparser)
700 ("qtx11extras" ,qtx11extras)))
702 `(("pkg-config" ,pkg-config)
704 ("lxqt-build-tools" ,lxqt-build-tools)))
706 '(#:tests? #f ; no tests
708 ;; TODO: prefetch translations files from 'lxqt-l10n'.
709 '("-DPULL_TRANSLATIONS=NO")
711 (modify-phases %standard-phases
712 (add-after 'unpack 'patch-source
714 (substitute* '("autostart/CMakeLists.txt")
715 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
716 "DESTINATION \"etc/xdg"))
718 (home-page "https://lxqt.org/")
719 (synopsis "Tool used to launch programs quickly by typing their names")
720 (description "lxqt-runner provides a GUI that comes up on the desktop and
721 allows for launching applications or shutting down the system.")
722 (license license:lgpl2.1+)))
724 (define-public lxqt-session
726 (name "lxqt-session")
731 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
732 version "/" name "-" version ".tar.xz"))
734 (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z"))))
735 (build-system cmake-build-system)
738 ("kwindowsystem" ,kwindowsystem)
740 ("libqtxdg" ,libqtxdg)
743 ("qtx11extras" ,qtx11extras)
744 ("xdg-user-dirs" ,xdg-user-dirs)))
746 `(("pkg-config" ,pkg-config)
747 ("lxqt-build-tools" ,lxqt-build-tools)
748 ("qttools" ,qttools)))
752 `("-DPULL_TRANSLATIONS=NO")
754 (modify-phases %standard-phases
755 (add-after 'unpack 'patch-source
757 (substitute* '("autostart/CMakeLists.txt"
758 "config/CMakeLists.txt")
759 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
760 "DESTINATION \"etc/xdg"))
762 (home-page "https://lxqt.org/")
763 (synopsis "Session manager for LXQt")
764 (description "lxqt-session provides the standard session manager
765 for the LXQt desktop environment.")
766 (license license:lgpl2.1+)))
768 (define-public lxqt-sudo
775 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
776 version "/" name "-" version ".tar.xz"))
778 (base32 "1j28wlw4rkzvr85yl78fqkvz7sv7dykm9ghm63xdkskfjbsas1cf"))))
779 (build-system cmake-build-system)
781 `(("kwindowsystem" ,kwindowsystem)
783 ("libqtxdg" ,libqtxdg)
786 ("qtx11extras" ,qtx11extras)
789 `(("pkg-config" ,pkg-config)
791 ("lxqt-build-tools" ,lxqt-build-tools)))
793 '(#:tests? #f ; no tests
795 ;; TODO: prefetch translations files from 'lxqt-l10n'.
796 '("-DPULL_TRANSLATIONS=NO")))
797 (home-page "https://lxqt.org/")
798 (synopsis "GUI frontend for sudo/su")
799 (description "lxqt-sudo is a graphical front-end of commands sudo and su
800 respectively. As such it enables regular users to launch applications with
801 permissions of other users including root.")
802 (license license:lgpl2.1+)))
804 (define-public lxqt-themes
811 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
812 version "/" name "-" version ".tar.xz"))
814 (base32 "13kkkzjx8bgnwckz79j273azvm4za66i4cp2qhxwdpxh0fwziklf"))))
815 (build-system cmake-build-system)
817 `(("lxqt-build-tools" ,lxqt-build-tools)))
819 `(#:tests? #f ; no tests
821 (modify-phases %standard-phases
822 (add-after 'unpack 'patch-source
824 (substitute* '("CMakeLists.txt")
825 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
826 "DESTINATION \"share/lxqt/graphics"))
827 (substitute* '("themes/CMakeLists.txt")
828 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
829 "DESTINATION \"share/lxqt"))
831 (home-page "https://lxqt.org/")
832 (synopsis "Themes, graphics and icons for LXQt")
833 (description "This package comprises a number of graphic files and themes
835 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
836 ;; licensed under CC-BY-SA 3.0.
837 (license license:lgpl2.1+)))
842 (define-public libfm-qt
849 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
850 version "/" name "-" version ".tar.xz"))
852 (base32 "0p0lbz7dh5c38zq3yp1v1mm99ymg7mqr3h7yzniif2hipmgvxsv9"))))
853 (build-system cmake-build-system)
855 '(#:tests? #f ; no tests
857 ;; TODO : prefetch translations files from 'lxqt-l10n'.
858 '("-DPULL_TRANSLATIONS=NO")))
864 ("menu-cache" ,menu-cache)
867 ("qtx11extras" ,qtx11extras)))
869 `(("pkg-config" ,pkg-config)
870 ("lxqt-build-tools" ,lxqt-build-tools)
871 ("qttools" ,qttools)))
872 (home-page "https://lxqt.org/")
873 (synopsis "Qt binding for libfm")
874 (description "libfm-qt is the Qt port of libfm, a library providing
875 components to build desktop file managers which belongs to LXDE.")
876 (license license:lgpl2.1+)))
878 (define-public pcmanfm-qt
885 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
886 version "/" name "-" version ".tar.xz"))
888 (base32 "08jprkkk62pk34q9lxa207bh27xi86fj8jxfd5z3w2m5j5nim5mz"))))
889 (build-system cmake-build-system)
891 `(("libfm-qt" ,libfm-qt)
893 ("qtx11extras" ,qtx11extras)))
895 `(("pkg-config" ,pkg-config)
897 ("lxqt-build-tools" ,lxqt-build-tools)))
899 '(#:tests? #f ; no tests
901 ;; TODO: prefetch translations files from 'lxqt-l10n'.
902 '("-DPULL_TRANSLATIONS=NO")
904 (modify-phases %standard-phases
905 (add-after 'unpack 'patch-source
907 (substitute* '("autostart/CMakeLists.txt")
908 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
909 "DESTINATION \"etc/xdg"))
911 (home-page "https://lxqt.org/")
912 (synopsis "File manager and desktop icon manager")
913 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
915 (license license:gpl2+)))
920 (define-public compton-conf
922 (name "compton-conf")
927 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
928 version "/" name "-" version ".tar.xz"))
930 (base32 "0q3yx2a6wf8yahrwgvhmv9sd7gmrhid528vrqy04dg8m5cx1bjci"))))
931 (build-system cmake-build-system)
933 `(("libconfig" ,libconfig)
936 `(("lxqt-build-tools" ,lxqt-build-tools)
937 ("pkg-config" ,pkg-config)
938 ("qttools" ,qttools)))
940 '(#:tests? #f ; no tests
942 ;; TODO: prefetch translations files from 'lxqt-l10n'.
943 '("-DPULL_TRANSLATIONS=NO")
945 (modify-phases %standard-phases
946 (add-after 'unpack 'patch-source
948 (substitute* '("autostart/CMakeLists.txt")
949 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
950 "DESTINATION \"etc/xdg"))
952 (home-page "https://lxqt.org/")
953 (synopsis "GUI configuration tool for compton X composite manager")
954 (description "@code{compton-conf} is a configuration tool for X composite
956 (license license:lgpl2.1+)))
958 (define-public lximage-qt
965 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
966 version "/" name "-" version ".tar.xz"))
968 (base32 "1mwjh6lrjayr9snsmabkl5qs4xm6d27mfz8k3jxfm5dk3pjj1b0w"))))
969 (build-system cmake-build-system)
971 `(("libexif" ,libexif)
972 ("libfm-qt" ,libfm-qt)
975 ("qtx11extras" ,qtx11extras)))
977 `(("pkg-config" ,pkg-config)
978 ("lxqt-build-tools" ,lxqt-build-tools)
979 ("qttools" ,qttools)))
981 '(#:tests? #f ; no tests
983 ;; TODO: prefetch translations files from 'lxqt-l10n'.
984 '("-DPULL_TRANSLATIONS=NO")))
985 (home-page "https://lxqt.org/")
986 (synopsis "The image viewer and screenshot tool for lxqt")
987 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
989 (license license:gpl2+)))
991 (define-public obconf-qt
998 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
999 version "/" name "-" version ".tar.xz"))
1001 (base32 "1fbzn1p2mdvn8dcbavmd1imrvkph2jfssrlw8l26qz6qk8qlmhnf"))))
1002 (build-system cmake-build-system)
1004 `(("imlib2" ,imlib2)
1006 ("librsvg" ,librsvg)
1008 ("libxml2" ,libxml2)
1009 ("openbox" ,openbox)
1013 ("qtx11extras" ,qtx11extras)))
1015 `(("lxqt-build-tools" ,lxqt-build-tools)
1016 ("pkg-config" ,pkg-config)
1017 ("qttools" ,qttools)))
1019 '(#:tests? #f ; no tests
1021 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1022 '("-DPULL_TRANSLATIONS=NO")))
1023 (home-page "https://lxqt.org/")
1024 (synopsis "Openbox configuration tool")
1025 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1026 window manager OpenBox.")
1027 (license license:gpl2+)))
1029 (define-public pavucontrol-qt
1031 (name "pavucontrol-qt")
1036 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1037 version "/" name "-" version ".tar.xz"))
1039 (base32 "0pqvhhgw7d00wqw5v3ghm4l8250zy7bqpvhff6l7y1lw0z2fvcp6"))))
1040 (build-system cmake-build-system)
1044 ("pulseaudio" ,pulseaudio)
1046 ("qtx11extras" ,qtx11extras)))
1048 `(("pkg-config" ,pkg-config)
1049 ("lxqt-build-tools" ,lxqt-build-tools)
1050 ("qttools" ,qttools)))
1052 '(#:tests? #f ; no tests
1054 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1055 '("-DPULL_TRANSLATIONS=NO")))
1056 (home-page "https://lxqt.org/")
1057 (synopsis "Pulseaudio mixer in Qt")
1058 (description "@code{pavucontrol-qt} is the Qt port of volume control
1059 @code{pavucontrol} of sound server @code{PulseAudio}.")
1060 (license license:gpl2+)))
1069 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1070 version "/" name "-" version ".tar.xz"))
1072 (base32 "0pzk83p7a9ax0893s9hp2qkmiilzrf8iqry5a0x1g73hdwm5hm44"))))
1073 (build-system cmake-build-system)
1075 `(("libxrender" ,libxrender)
1077 ("qtx11extras" ,qtx11extras)))
1079 `(("qttools" ,qttools)))
1081 '(#:tests? #f)) ; no tests
1082 (home-page "https://lxqt.org/")
1083 (synopsis "Qt-based visual process status monitor")
1084 (description "@code{qps} is a monitor that displays the status of the
1085 processes currently in existence, much like code{top} or code{ps}.")
1086 (license license:gpl2+)))
1088 (define-public qtermwidget
1090 (name "qtermwidget")
1095 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1096 version "/" name "-" version ".tar.xz"))
1098 (base32 "1c1qzbysxjbikp4bpgphphw4dgpl10gz8m06ccs2c48qxhpyd773"))))
1099 (build-system cmake-build-system)
1101 `(("qtbase" ,qtbase)))
1103 `(("lxqt-build-tools" ,lxqt-build-tools)
1104 ("qttools" ,qttools)))
1106 '(#:tests? #f ; no tests
1108 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1109 '("-DPULL_TRANSLATIONS=NO")))
1110 (home-page "https://lxqt.org/")
1111 (synopsis "The terminal widget for QTerminal")
1112 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1113 (license license:gpl2+)))
1115 (define-public qterminal
1122 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1123 version "/" name "-" version ".tar.xz"))
1125 (base32 "1vlza75br1ys62lgkdz26md729bfpbnasfzswp7hakmgaq1rhms1"))))
1126 (build-system cmake-build-system)
1128 `(("qtbase" ,qtbase)
1129 ("qtx11extras" ,qtx11extras)
1130 ("qtermwidget" ,qtermwidget)))
1132 `(("lxqt-build-tools" ,lxqt-build-tools)
1133 ("qttools" ,qttools)))
1135 '(#:tests? #f ; no tests
1137 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1138 '("-DPULL_TRANSLATIONS=NO")))
1139 (home-page "https://lxqt.org/")
1140 (synopsis "Lightweight Qt-based terminal emulator")
1141 (description "QTerminal is a lightweight Qt terminal emulator based on
1143 (license license:gpl2+)))
1145 (define-public screengrab
1152 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1153 version "/screengrab-" version ".tar.xz"))
1155 (base32 "17y8rsx9fixvxv2byq8d6c01vry10nv07f8jy85vz7zp4f0rgzz3"))))
1156 (build-system cmake-build-system)
1158 `(("kwindowsystem" ,kwindowsystem)
1159 ("libqtxdg" ,libqtxdg)
1162 ("qtx11extras" ,qtx11extras)))
1164 `(("pkg-config" ,pkg-config)
1165 ("qttools" ,qttools)))
1167 '(#:tests? #f)) ; no tests
1168 (home-page "https://lxqt.org/")
1169 (synopsis "Crossplatform tool for fast making screenshots")
1170 (description "ScreenGrab is a program for fast creating screenshots, and
1171 easily publishing them on internet image hosting services.")
1172 (license license:gpl2+)))
1175 ;; The LXQt Desktop Environment
1180 (version (package-version lxqt-session))
1182 (build-system trivial-build-system)
1183 (arguments '(#:builder (begin (mkdir %output) #t)))
1186 ("desktop-file-utils" ,desktop-file-utils)
1187 ("hicolor-icon-theme" ,hicolor-icon-theme)
1188 ("xdg-user-dirs" ,xdg-user-dirs)
1189 ("xdg-utils" ,xdg-utils)
1191 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1192 ;; should be added to their propagated-inputs?
1195 ("lxqt-about" ,lxqt-about)
1196 ("lxqt-admin" ,lxqt-admin)
1197 ("lxqt-config" ,lxqt-config)
1198 ("lxqt-notificationd" ,lxqt-notificationd)
1199 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1200 ("lxqt-panel" ,lxqt-panel)
1201 ("lxqt-policykit" ,lxqt-policykit)
1202 ("lxqt-powermanagement" ,lxqt-powermanagement)
1203 ("lxqt-qtplugin" ,lxqt-qtplugin)
1204 ("lxqt-runner" ,lxqt-runner)
1205 ("lxqt-session" ,lxqt-session)
1206 ("lxqt-sudo" ,lxqt-sudo)
1207 ("lxqt-themes" ,lxqt-themes)
1208 ("pcmanfm-qt" ,pcmanfm-qt)
1210 ("compton" ,compton)
1211 ("compton-conf" ,compton-conf)
1212 ("font-dejavu" ,font-dejavu)
1213 ("lximage-qt" ,lximage-qt)
1214 ("obconf-qt" ,obconf-qt)
1215 ("openbox" ,openbox)
1216 ("oxygen-icons" ,oxygen-icons)
1217 ("pavucontrol-qt" ,pavucontrol-qt)
1219 ("qterminal" ,qterminal)))
1220 (synopsis "The Lightweight Qt Desktop Environment")
1221 (description "LXQt is a lightweight Qt desktop environment.")
1222 (home-page "https://lxde.org")
1223 (license license:gpl2+)))