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/lxqt-build-tools/releases"
133 "/lxqt-build-tools-" version ".tar.xz"))
135 (base32 "13b5x26p6ycnwzlgg1cgvlc88wjrjmlb3snrrmzh0xgh9h6hhvd6"))))
136 (build-system cmake-build-system)
138 `(#:tests? #f ; no tests
140 ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
141 ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
142 ;; LXQT_ETC_XDG_DIR in its "Technical Info".
143 '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
144 "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
146 `(("pkg-config" ,pkg-config)
149 `(("qtbase" ,qtbase)))
150 (synopsis "LXQt Build tools")
152 "Lxqt-build-tools is providing several tools needed to build LXQt
153 itself as well as other components maintained by the LXQt project.")
154 (home-page "https://lxqt.org")
155 (license license:lgpl2.1+)))
157 (define-public libqtxdg
165 "https://github.com/lxqt/libqtxdg/releases/download/"
166 version "/libqtxdg-" version ".tar.xz"))
168 (base32 "0lq548pa69hfvnbj2ypba5ygm8n6v6g7bqqm8p5g538l1l3394cl"))))
169 (build-system cmake-build-system)
173 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
175 (modify-phases %standard-phases
176 (add-before 'check 'pre-check
178 ;; Run the tests offscreen.
179 (setenv "QT_QPA_PLATFORM" "offscreen")
182 ;; required by Qt5XdgIconLoader.pc
185 (home-page "https://github.com/lxqt/libqtxdg")
186 (synopsis "Qt implementation of freedesktop.org xdg specifications")
187 (description "Libqtxdg implements the freedesktop.org xdg specifications
189 (license license:lgpl2.1+)))
191 (define-public liblxqt
199 "https://github.com/lxqt/" name "/releases/download/"
200 version "/" name "-" version ".tar.xz"))
202 (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl"))))
203 (build-system cmake-build-system)
205 `(#:tests? #f ; no tests
207 ;; TODO: prefetch translations files from 'lxqt-l10n'.
208 '("-DPULL_TRANSLATIONS=NO")
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"))
218 `(("kwindowsystem" ,kwindowsystem)
219 ("libqtxdg" ,libqtxdg)
220 ("libxscrnsaver" ,libxscrnsaver)
221 ("polkit-qt" ,polkit-qt)
223 ("qtx11extras" ,qtx11extras)))
225 `(("lxqt-build-tools" ,lxqt-build-tools)
226 ("qttools" ,qttools)))
227 (home-page "https://lxqt.org/")
228 (synopsis "Core utility library for all LXQt components")
229 (description "liblxqt provides the basic libraries shared by the
230 components of the LXQt desktop environment.")
231 (license license:lgpl2.1+)))
233 (define-public libsysstat
240 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
241 version "/" name "-" version ".tar.xz"))
243 (base32 "0ngz8v3bixsdg96d5ipcyxd6nsrg52974xdxy9rnimahlv1yaxn3"))))
244 (build-system cmake-build-system)
245 (arguments '(#:tests? #f)) ; no tests
247 `(("qtbase" ,qtbase)))
249 `(("lxqt-build-tools" ,lxqt-build-tools)))
250 (home-page "https://lxqt.org/")
251 (synopsis "Library used to query system info and statistics")
252 (description "libsysstat is a library to query system information like CPU
253 and memory usage or network traffic.")
254 (license license:lgpl2.1+)))
259 (define-public lxqt-about
266 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
267 version "/" name "-" version ".tar.xz"))
269 (base32 "08imj7p77ifzfxnn8c482mhrvfx9gi0rb43ab5rw1rkmfvax2n5w"))))
270 (build-system cmake-build-system)
272 `(("kwindowsystem" ,kwindowsystem)
274 ("libqtxdg" ,libqtxdg)
277 ("qtx11extras" ,qtx11extras)))
279 `(("lxqt-build-tools" ,lxqt-build-tools)
280 ("qttools" ,qttools)))
282 '(#:tests? #f ; no tests
284 ;; TODO: prefetch translations files from 'lxqt-l10n'.
285 '("-DPULL_TRANSLATIONS=NO")))
286 (home-page "https://lxqt.org")
287 (synopsis "Provides information about LXQt and the system")
288 (description "lxqt-about is a dialogue window providing information about
289 LXQt and the system it's running on.")
290 (license license:lgpl2.1+)))
292 (define-public lxqt-admin
299 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
300 version "/" name "-" version ".tar.xz"))
302 (base32 "0qvpv668ja83ydbdrlal1596xhag3xlkbd6qlh9xwdpb7nysvns1"))))
303 (build-system cmake-build-system)
305 `(("kwindowsystem" ,kwindowsystem)
307 ("libqtxdg" ,libqtxdg)
308 ("polkit-qt" ,polkit-qt)
310 ("qtx11extras" ,qtx11extras)))
312 `(("lxqt-build-tools" ,lxqt-build-tools)
313 ("qttools" ,qttools)))
315 '(#:tests? #f ; no tests
317 ;; TODO: prefetch translations files from 'lxqt-l10n'.
318 '("-DPULL_TRANSLATIONS=NO")
320 (modify-phases %standard-phases
321 (add-after 'unpack 'patch-source
323 (substitute* "lxqt-admin-user/CMakeLists.txt"
324 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
325 "DESTINATION \"share/polkit-1/actions"))
327 (home-page "https://lxqt.org")
328 (synopsis "LXQt system administration tool")
329 (description "lxqt-admin is providing two GUI tools to adjust settings of
330 the operating system LXQt is running on.")
331 (license license:lgpl2.1+)))
333 (define-public lxqt-config
340 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
341 version "/" name "-" version ".tar.xz"))
343 (base32 "0rizhl2v41kpgp57a61r6nmwcdw8nh9hprrrf33nfrdw8hpwxb95"))))
344 (build-system cmake-build-system)
346 `(("kwindowsystem" ,kwindowsystem)
347 ("libkscreen" ,libkscreen)
349 ("libqtxdg" ,libqtxdg)
350 ("libxcursor" ,libxcursor)
353 ("qtx11extras" ,qtx11extras)
357 `(("pkg-config" ,pkg-config)
358 ("lxqt-build-tools" ,lxqt-build-tools)
359 ("qttools" ,qttools)))
361 '(#:tests? #f ; no tests
363 ;; TODO: prefetch translations files from 'lxqt-l10n'.
364 '("-DPULL_TRANSLATIONS=NO")
366 (modify-phases %standard-phases
367 (add-after 'unpack 'patch-source
369 (substitute* '("src/CMakeLists.txt")
370 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
371 "DESTINATION \"etc/xdg"))
373 (home-page "https://lxqt.org")
374 (synopsis "Tools to configure LXQt and the underlying operating system")
375 (description "lxqt-config is providing several tools involved in the
376 configuration of both LXQt and the underlying operating system.")
377 (license license:lgpl2.1+)))
379 (define-public lxqt-globalkeys
381 (name "lxqt-globalkeys")
386 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
387 version "/" name "-" version ".tar.xz"))
389 (base32 "1gyvcjbhi7zpvgz1sf773dv9gc35hx5fz023njp9r4vl0dpcavgd"))))
390 (build-system cmake-build-system)
392 `(("kwindowsystem" ,kwindowsystem)
394 ("libqtxdg" ,libqtxdg)
397 ("qtx11extras" ,qtx11extras)))
399 `(("pkg-config" ,pkg-config)
401 ("lxqt-build-tools" ,lxqt-build-tools)))
403 '(#:tests? #f ; no tests
405 ;; TODO: prefetch translations files from 'lxqt-l10n'.
406 '("-DPULL_TRANSLATIONS=NO")
408 (modify-phases %standard-phases
409 (add-after 'unpack 'patch-source
411 (substitute* '("autostart/CMakeLists.txt"
412 "xdg/CMakeLists.txt")
413 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
414 "DESTINATION \"etc/xdg"))
416 (home-page "https://lxqt.org/")
417 (synopsis "Daemon used to register global keyboard shortcuts")
418 (description "lxqt-globalkeys is providing tools to set global keyboard
419 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
420 as a whole and are not limited to distinct applications.")
421 (license license:lgpl2.1+)))
423 (define-public lxqt-notificationd
425 (name "lxqt-notificationd")
430 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
431 version "/" name "-" version ".tar.xz"))
433 (base32 "1l0hdbvghyhqgvy4pih7rvz26bc6yc8a3l1bdj11hnkw62h1i7d6"))))
434 (build-system cmake-build-system)
436 `(("kwindowsystem" ,kwindowsystem)
438 ("libqtxdg" ,libqtxdg)
441 ("qtx11extras" ,qtx11extras)))
443 `(("lxqt-build-tools" ,lxqt-build-tools)
444 ("qttools" ,qttools)))
446 '(#:tests? #f ; no test target
448 ;; TODO: prefetch translations files from 'lxqt-l10n'.
449 '("-DPULL_TRANSLATIONS=NO")
451 (modify-phases %standard-phases
452 (add-after 'unpack 'patch-source
454 (substitute* '("autostart/CMakeLists.txt")
455 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
456 "DESTINATION \"etc/xdg"))
458 (home-page "https://lxqt.org/")
459 (synopsis "The LXQt notification daemon")
460 (description "lxqt-notificationd is LXQt's implementation of a daemon
461 according to the Desktop Notifications Specification.")
462 (license license:lgpl2.1+)))
464 (define-public lxqt-openssh-askpass
466 (name "lxqt-openssh-askpass")
471 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
472 version "/" name "-" version ".tar.xz"))
474 (base32 "0l2272gya8jgv71bvg2hz37lnhiznv4ng3j0p6j79f99hwb5ygpk"))))
475 (build-system cmake-build-system)
477 `(("kwindowsystem" ,kwindowsystem)
479 ("libqtxdg" ,libqtxdg)
482 ("qtx11extras" ,qtx11extras)))
484 `(("lxqt-build-tools" ,lxqt-build-tools)
485 ("qttools" ,qttools)))
487 '(#:tests? #f ; no tests
489 ;; TODO: prefetch translations files from 'lxqt-l10n'.
490 '("-DPULL_TRANSLATIONS=NO")))
491 (home-page "https://lxqt.org/")
492 (synopsis "GUI to query passwords on behalf of SSH agents")
493 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
495 (license license:lgpl2.1+)))
497 (define-public lxqt-panel
504 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
505 version "/" name "-" version ".tar.xz"))
507 (base32 "1qraigzq7nc5a2q6f5ybxwx07gxffa3m3bg7fiv6ppwss51xqfd1"))))
508 (build-system cmake-build-system)
510 `(("alsa-lib" ,alsa-lib)
511 ("kguiaddons" ,kguiaddons)
512 ("kwindowsystem" ,kwindowsystem)
513 ("libdbusmenu-qt" ,libdbusmenu-qt)
515 ("libqtxdg" ,libqtxdg)
516 ("libstatgrab" ,libstatgrab)
517 ("libsysstat" ,libsysstat)
518 ("libxcomposite" ,libxcomposite)
519 ("libxdamage" ,libxdamage)
520 ("libxkbcommon" ,libxkbcommon)
521 ("libxrender" ,libxrender)
522 ("lm-sensors" ,lm-sensors "lib")
523 ("lxqt-globalkeys" ,lxqt-globalkeys)
525 ("pulseaudio" ,pulseaudio)
528 ("qtx11extras" ,qtx11extras)
530 ("xcb-util" ,xcb-util)))
532 `(("pkg-config" ,pkg-config)
533 ("lxqt-build-tools" ,lxqt-build-tools)
534 ("qttools" ,qttools)))
536 '(#:tests? #f ; no tests
538 ;; TODO: prefetch translations files from 'lxqt-l10n'.
539 '("-DPULL_TRANSLATIONS=NO")
541 (modify-phases %standard-phases
542 (add-after 'unpack 'patch-source
544 (substitute* '("autostart/CMakeLists.txt"
545 "menu/CMakeLists.txt")
546 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
547 "DESTINATION \"etc/xdg"))
549 (home-page "https://lxqt.org/")
550 (synopsis "The LXQt desktop panel")
551 (description "lxqt-panel represents the taskbar of LXQt.")
552 (license license:lgpl2.1+)))
554 (define-public lxqt-policykit
556 (name "lxqt-policykit")
561 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
562 version "/" name "-" version ".tar.xz"))
564 (base32 "1d97fys6625nk4q6irp0jhsbk30xi7idnii1f3vrrrdcl2cahagp"))))
565 (build-system cmake-build-system)
567 `(("kwindowsystem" ,kwindowsystem)
569 ("libqtxdg" ,libqtxdg)
571 ("polkit-qt" ,polkit-qt)
574 ("qtx11extras" ,qtx11extras)))
576 `(("pkg-config" ,pkg-config)
578 ("lxqt-build-tools" ,lxqt-build-tools)
579 ("qttools" ,qttools)))
581 '(#:tests? #f ; no test target
583 '("-DPULL_TRANSLATIONS=NO")
585 (modify-phases %standard-phases
586 (add-after 'unpack 'patch-source
588 (substitute* '("autostart/CMakeLists.txt")
589 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
590 "DESTINATION \"etc/xdg"))
592 (home-page "https://lxqt.org/")
593 (synopsis "The LXQt PolicyKit agent")
594 (description "lxqt-policykit is the polkit authentification agent of
596 (license license:lgpl2.1+)))
598 (define-public lxqt-powermanagement
600 (name "lxqt-powermanagement")
605 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
606 version "/" name "-" version ".tar.xz"))
608 (base32 "15nvdypyjwnp7k3d2pkhdbmaqb3ccacmh95rbdbc5mr7yrjy9613"))))
609 (build-system cmake-build-system)
611 `(("kidletime" ,kidletime)
612 ("kwindowsystem" ,kwindowsystem)
614 ("libqtxdg" ,libqtxdg)
617 ("qtx11extras" ,qtx11extras)
620 `(("lxqt-build-tools" ,lxqt-build-tools)
621 ("qttools" ,qttools)))
623 '(#:tests? #f ; no tests
625 ;; TODO: prefetch translations files from 'lxqt-l10n'.
626 '("-DPULL_TRANSLATIONS=NO")
628 (modify-phases %standard-phases
629 (add-after 'unpack 'patch-source
631 (substitute* '("autostart/CMakeLists.txt")
632 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
633 "DESTINATION \"etc/xdg"))
635 (home-page "https://lxqt.org/")
636 (synopsis "Power management module for LXQt")
637 (description "lxqt-powermanagement is providing tools to monitor power
638 management events and optionally trigger actions like e. g. shut down a system
639 when laptop batteries are low on power.")
640 (license license:lgpl2.1+)))
642 (define-public lxqt-qtplugin
644 (name "lxqt-qtplugin")
649 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
650 version "/" name "-" version ".tar.xz"))
652 (base32 "0nnwbc99njpsyqb0cy3x0srcgwa7qrnq0qwcyx7fbvwsq1l8cz56"))))
653 (build-system cmake-build-system)
655 `(("libdbusmenu-qt" ,libdbusmenu-qt)
656 ("libfm-qt" ,libfm-qt)
657 ("libqtxdg" ,libqtxdg)
660 ("qtx11extras" ,qtx11extras)))
662 `(("lxqt-build-tools" ,lxqt-build-tools)
663 ("qttools" ,qttools)))
665 '(#:tests? #f ; no tests
667 (modify-phases %standard-phases
668 (add-after 'unpack 'patch-source
670 (substitute* '("src/CMakeLists.txt")
671 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
672 "DESTINATION \"lib/qt5/plugins"))
674 (home-page "https://lxqt.org/")
675 (synopsis "LXQt Qt platform integration plugin")
676 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
678 (license license:lgpl2.1+)))
680 (define-public lxqt-runner
687 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
688 version "/" name "-" version ".tar.xz"))
690 (base32 "0dsg6fdcqbl7gza0sg1pb49zn5x31q7zx77jp7mkf6wc2lv8lali"))))
691 (build-system cmake-build-system)
693 `(("kwindowsystem" ,kwindowsystem)
695 ("libqtxdg" ,libqtxdg)
696 ("lxqt-globalkeys" ,lxqt-globalkeys)
697 ("muparser" ,muparser)
701 ("qtx11extras" ,qtx11extras)))
703 `(("pkg-config" ,pkg-config)
705 ("lxqt-build-tools" ,lxqt-build-tools)))
707 '(#:tests? #f ; no tests
709 ;; TODO: prefetch translations files from 'lxqt-l10n'.
710 '("-DPULL_TRANSLATIONS=NO")
712 (modify-phases %standard-phases
713 (add-after 'unpack 'patch-source
715 (substitute* '("autostart/CMakeLists.txt")
716 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
717 "DESTINATION \"etc/xdg"))
719 (home-page "https://lxqt.org/")
720 (synopsis "Tool used to launch programs quickly by typing their names")
721 (description "lxqt-runner provides a GUI that comes up on the desktop and
722 allows for launching applications or shutting down the system.")
723 (license license:lgpl2.1+)))
725 (define-public lxqt-session
727 (name "lxqt-session")
732 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
733 version "/" name "-" version ".tar.xz"))
735 (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z"))))
736 (build-system cmake-build-system)
739 ("kwindowsystem" ,kwindowsystem)
741 ("libqtxdg" ,libqtxdg)
744 ("qtx11extras" ,qtx11extras)
745 ("xdg-user-dirs" ,xdg-user-dirs)))
747 `(("pkg-config" ,pkg-config)
748 ("lxqt-build-tools" ,lxqt-build-tools)
749 ("qttools" ,qttools)))
753 `("-DPULL_TRANSLATIONS=NO")
755 (modify-phases %standard-phases
756 (add-after 'unpack 'patch-source
758 (substitute* '("autostart/CMakeLists.txt"
759 "config/CMakeLists.txt")
760 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
761 "DESTINATION \"etc/xdg"))
763 (home-page "https://lxqt.org/")
764 (synopsis "Session manager for LXQt")
765 (description "lxqt-session provides the standard session manager
766 for the LXQt desktop environment.")
767 (license license:lgpl2.1+)))
769 (define-public lxqt-sudo
776 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
777 version "/" name "-" version ".tar.xz"))
779 (base32 "1j28wlw4rkzvr85yl78fqkvz7sv7dykm9ghm63xdkskfjbsas1cf"))))
780 (build-system cmake-build-system)
782 `(("kwindowsystem" ,kwindowsystem)
784 ("libqtxdg" ,libqtxdg)
787 ("qtx11extras" ,qtx11extras)
790 `(("pkg-config" ,pkg-config)
792 ("lxqt-build-tools" ,lxqt-build-tools)))
794 '(#:tests? #f ; no tests
796 ;; TODO: prefetch translations files from 'lxqt-l10n'.
797 '("-DPULL_TRANSLATIONS=NO")))
798 (home-page "https://lxqt.org/")
799 (synopsis "GUI frontend for sudo/su")
800 (description "lxqt-sudo is a graphical front-end of commands sudo and su
801 respectively. As such it enables regular users to launch applications with
802 permissions of other users including root.")
803 (license license:lgpl2.1+)))
805 (define-public lxqt-themes
812 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
813 version "/" name "-" version ".tar.xz"))
815 (base32 "13kkkzjx8bgnwckz79j273azvm4za66i4cp2qhxwdpxh0fwziklf"))))
816 (build-system cmake-build-system)
818 `(("lxqt-build-tools" ,lxqt-build-tools)))
820 `(#:tests? #f ; no tests
822 (modify-phases %standard-phases
823 (add-after 'unpack 'patch-source
825 (substitute* '("CMakeLists.txt")
826 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
827 "DESTINATION \"share/lxqt/graphics"))
828 (substitute* '("themes/CMakeLists.txt")
829 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
830 "DESTINATION \"share/lxqt"))
832 (home-page "https://lxqt.org/")
833 (synopsis "Themes, graphics and icons for LXQt")
834 (description "This package comprises a number of graphic files and themes
836 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
837 ;; licensed under CC-BY-SA 3.0.
838 (license license:lgpl2.1+)))
843 (define-public libfm-qt
850 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
851 version "/" name "-" version ".tar.xz"))
853 (base32 "0p0lbz7dh5c38zq3yp1v1mm99ymg7mqr3h7yzniif2hipmgvxsv9"))))
854 (build-system cmake-build-system)
856 '(#:tests? #f ; no tests
858 ;; TODO : prefetch translations files from 'lxqt-l10n'.
859 '("-DPULL_TRANSLATIONS=NO")))
865 ("menu-cache" ,menu-cache)
868 ("qtx11extras" ,qtx11extras)))
870 `(("pkg-config" ,pkg-config)
871 ("lxqt-build-tools" ,lxqt-build-tools)
872 ("qttools" ,qttools)))
873 (home-page "https://lxqt.org/")
874 (synopsis "Qt binding for libfm")
875 (description "libfm-qt is the Qt port of libfm, a library providing
876 components to build desktop file managers which belongs to LXDE.")
877 (license license:lgpl2.1+)))
879 (define-public pcmanfm-qt
886 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
887 version "/" name "-" version ".tar.xz"))
889 (base32 "08jprkkk62pk34q9lxa207bh27xi86fj8jxfd5z3w2m5j5nim5mz"))))
890 (build-system cmake-build-system)
892 `(("libfm-qt" ,libfm-qt)
894 ("qtx11extras" ,qtx11extras)))
896 `(("pkg-config" ,pkg-config)
898 ("lxqt-build-tools" ,lxqt-build-tools)))
900 '(#:tests? #f ; no tests
902 ;; TODO: prefetch translations files from 'lxqt-l10n'.
903 '("-DPULL_TRANSLATIONS=NO")
905 (modify-phases %standard-phases
906 (add-after 'unpack 'patch-source
908 (substitute* '("autostart/CMakeLists.txt")
909 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
910 "DESTINATION \"etc/xdg"))
912 (home-page "https://lxqt.org/")
913 (synopsis "File manager and desktop icon manager")
914 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
916 (license license:gpl2+)))
921 (define-public compton-conf
923 (name "compton-conf")
928 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
929 version "/" name "-" version ".tar.xz"))
931 (base32 "0q3yx2a6wf8yahrwgvhmv9sd7gmrhid528vrqy04dg8m5cx1bjci"))))
932 (build-system cmake-build-system)
934 `(("libconfig" ,libconfig)
937 `(("lxqt-build-tools" ,lxqt-build-tools)
938 ("pkg-config" ,pkg-config)
939 ("qttools" ,qttools)))
941 '(#:tests? #f ; no tests
943 ;; TODO: prefetch translations files from 'lxqt-l10n'.
944 '("-DPULL_TRANSLATIONS=NO")
946 (modify-phases %standard-phases
947 (add-after 'unpack 'patch-source
949 (substitute* '("autostart/CMakeLists.txt")
950 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
951 "DESTINATION \"etc/xdg"))
953 (home-page "https://lxqt.org/")
954 (synopsis "GUI configuration tool for compton X composite manager")
955 (description "@code{compton-conf} is a configuration tool for X composite
957 (license license:lgpl2.1+)))
959 (define-public lximage-qt
966 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
967 version "/" name "-" version ".tar.xz"))
969 (base32 "1mwjh6lrjayr9snsmabkl5qs4xm6d27mfz8k3jxfm5dk3pjj1b0w"))))
970 (build-system cmake-build-system)
972 `(("libexif" ,libexif)
973 ("libfm-qt" ,libfm-qt)
976 ("qtx11extras" ,qtx11extras)))
978 `(("pkg-config" ,pkg-config)
979 ("lxqt-build-tools" ,lxqt-build-tools)
980 ("qttools" ,qttools)))
982 '(#:tests? #f ; no tests
984 ;; TODO: prefetch translations files from 'lxqt-l10n'.
985 '("-DPULL_TRANSLATIONS=NO")))
986 (home-page "https://lxqt.org/")
987 (synopsis "The image viewer and screenshot tool for lxqt")
988 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
990 (license license:gpl2+)))
992 (define-public obconf-qt
999 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1000 version "/" name "-" version ".tar.xz"))
1002 (base32 "1fbzn1p2mdvn8dcbavmd1imrvkph2jfssrlw8l26qz6qk8qlmhnf"))))
1003 (build-system cmake-build-system)
1005 `(("imlib2" ,imlib2)
1007 ("librsvg" ,librsvg)
1009 ("libxml2" ,libxml2)
1010 ("openbox" ,openbox)
1014 ("qtx11extras" ,qtx11extras)))
1016 `(("lxqt-build-tools" ,lxqt-build-tools)
1017 ("pkg-config" ,pkg-config)
1018 ("qttools" ,qttools)))
1020 '(#:tests? #f ; no tests
1022 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1023 '("-DPULL_TRANSLATIONS=NO")))
1024 (home-page "https://lxqt.org/")
1025 (synopsis "Openbox configuration tool")
1026 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1027 window manager OpenBox.")
1028 (license license:gpl2+)))
1030 (define-public pavucontrol-qt
1032 (name "pavucontrol-qt")
1037 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1038 version "/" name "-" version ".tar.xz"))
1040 (base32 "0pqvhhgw7d00wqw5v3ghm4l8250zy7bqpvhff6l7y1lw0z2fvcp6"))))
1041 (build-system cmake-build-system)
1045 ("pulseaudio" ,pulseaudio)
1047 ("qtx11extras" ,qtx11extras)))
1049 `(("pkg-config" ,pkg-config)
1050 ("lxqt-build-tools" ,lxqt-build-tools)
1051 ("qttools" ,qttools)))
1053 '(#:tests? #f ; no tests
1055 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1056 '("-DPULL_TRANSLATIONS=NO")))
1057 (home-page "https://lxqt.org/")
1058 (synopsis "Pulseaudio mixer in Qt")
1059 (description "@code{pavucontrol-qt} is the Qt port of volume control
1060 @code{pavucontrol} of sound server @code{PulseAudio}.")
1061 (license license:gpl2+)))
1070 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1071 version "/" name "-" version ".tar.xz"))
1073 (base32 "0pzk83p7a9ax0893s9hp2qkmiilzrf8iqry5a0x1g73hdwm5hm44"))))
1074 (build-system cmake-build-system)
1076 `(("libxrender" ,libxrender)
1078 ("qtx11extras" ,qtx11extras)))
1080 `(("qttools" ,qttools)))
1082 '(#:tests? #f)) ; no tests
1083 (home-page "https://lxqt.org/")
1084 (synopsis "Qt-based visual process status monitor")
1085 (description "@code{qps} is a monitor that displays the status of the
1086 processes currently in existence, much like code{top} or code{ps}.")
1087 (license license:gpl2+)))
1089 (define-public qtermwidget
1091 (name "qtermwidget")
1096 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1097 version "/" name "-" version ".tar.xz"))
1099 (base32 "1c1qzbysxjbikp4bpgphphw4dgpl10gz8m06ccs2c48qxhpyd773"))))
1100 (build-system cmake-build-system)
1102 `(("qtbase" ,qtbase)))
1104 `(("lxqt-build-tools" ,lxqt-build-tools)
1105 ("qttools" ,qttools)))
1107 '(#:tests? #f ; no tests
1109 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1110 '("-DPULL_TRANSLATIONS=NO")))
1111 (home-page "https://lxqt.org/")
1112 (synopsis "The terminal widget for QTerminal")
1113 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1114 (license license:gpl2+)))
1116 (define-public qterminal
1123 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1124 version "/" name "-" version ".tar.xz"))
1126 (base32 "1vlza75br1ys62lgkdz26md729bfpbnasfzswp7hakmgaq1rhms1"))))
1127 (build-system cmake-build-system)
1129 `(("qtbase" ,qtbase)
1130 ("qtx11extras" ,qtx11extras)
1131 ("qtermwidget" ,qtermwidget)))
1133 `(("lxqt-build-tools" ,lxqt-build-tools)
1134 ("qttools" ,qttools)))
1136 '(#:tests? #f ; no tests
1138 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1139 '("-DPULL_TRANSLATIONS=NO")))
1140 (home-page "https://lxqt.org/")
1141 (synopsis "Lightweight Qt-based terminal emulator")
1142 (description "QTerminal is a lightweight Qt terminal emulator based on
1144 (license license:gpl2+)))
1146 (define-public screengrab
1153 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1154 version "/screengrab-" version ".tar.xz"))
1156 (base32 "17y8rsx9fixvxv2byq8d6c01vry10nv07f8jy85vz7zp4f0rgzz3"))))
1157 (build-system cmake-build-system)
1159 `(("kwindowsystem" ,kwindowsystem)
1160 ("libqtxdg" ,libqtxdg)
1163 ("qtx11extras" ,qtx11extras)))
1165 `(("pkg-config" ,pkg-config)
1166 ("qttools" ,qttools)))
1168 '(#:tests? #f)) ; no tests
1169 (home-page "https://lxqt.org/")
1170 (synopsis "Crossplatform tool for fast making screenshots")
1171 (description "ScreenGrab is a program for fast creating screenshots, and
1172 easily publishing them on internet image hosting services.")
1173 (license license:gpl2+)))
1176 ;; The LXQt Desktop Environment
1181 (version (package-version lxqt-session))
1183 (build-system trivial-build-system)
1184 (arguments '(#:builder (begin (mkdir %output) #t)))
1187 ("desktop-file-utils" ,desktop-file-utils)
1188 ("hicolor-icon-theme" ,hicolor-icon-theme)
1189 ("xdg-user-dirs" ,xdg-user-dirs)
1190 ("xdg-utils" ,xdg-utils)
1192 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1193 ;; should be added to their propagated-inputs?
1196 ("lxqt-about" ,lxqt-about)
1197 ("lxqt-admin" ,lxqt-admin)
1198 ("lxqt-config" ,lxqt-config)
1199 ("lxqt-notificationd" ,lxqt-notificationd)
1200 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1201 ("lxqt-panel" ,lxqt-panel)
1202 ("lxqt-policykit" ,lxqt-policykit)
1203 ("lxqt-powermanagement" ,lxqt-powermanagement)
1204 ("lxqt-qtplugin" ,lxqt-qtplugin)
1205 ("lxqt-runner" ,lxqt-runner)
1206 ("lxqt-session" ,lxqt-session)
1207 ("lxqt-sudo" ,lxqt-sudo)
1208 ("lxqt-themes" ,lxqt-themes)
1209 ("pcmanfm-qt" ,pcmanfm-qt)
1211 ("compton" ,compton)
1212 ("compton-conf" ,compton-conf)
1213 ("font-dejavu" ,font-dejavu)
1214 ("lximage-qt" ,lximage-qt)
1215 ("obconf-qt" ,obconf-qt)
1216 ("openbox" ,openbox)
1217 ("oxygen-icons" ,oxygen-icons)
1218 ("pavucontrol-qt" ,pavucontrol-qt)
1220 ("qterminal" ,qterminal)))
1221 (synopsis "The Lightweight Qt Desktop Environment")
1222 (description "LXQt is a lightweight Qt desktop environment.")
1223 (home-page "https://lxde.org")
1224 (license license:gpl2+)))