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, 2019 Meiyo Peng <meiyo@riseup.net>
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 "0n0p0mf12n9f7zm2592779rpqrbcamfdz87nnjb8j058bc8g3214"))))
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 "1mnnq8vbf5xjlrzajzfkay0yzzxri0zz0xi8x8rmxpw38xmglq8h"))))
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
186 `(("lxqt-build-tools" ,lxqt-build-tools)))
187 (home-page "https://github.com/lxqt/libqtxdg")
188 (synopsis "Qt implementation of freedesktop.org xdg specifications")
189 (description "Libqtxdg implements the freedesktop.org xdg specifications
191 (license license:lgpl2.1+)))
193 (define-public liblxqt
201 "https://github.com/lxqt/" name "/releases/download/"
202 version "/" name "-" version ".tar.xz"))
204 (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl"))))
205 (build-system cmake-build-system)
207 `(#:tests? #f ; no tests
209 ;; TODO: prefetch translations files from 'lxqt-l10n'.
210 '("-DPULL_TRANSLATIONS=NO")
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"))
220 `(("kwindowsystem" ,kwindowsystem)
221 ("libqtxdg" ,libqtxdg)
222 ("libxscrnsaver" ,libxscrnsaver)
223 ("polkit-qt" ,polkit-qt)
225 ("qtx11extras" ,qtx11extras)))
227 `(("lxqt-build-tools" ,lxqt-build-tools)
228 ("qttools" ,qttools)))
229 (home-page "https://lxqt.org/")
230 (synopsis "Core utility library for all LXQt components")
231 (description "liblxqt provides the basic libraries shared by the
232 components of the LXQt desktop environment.")
233 (license license:lgpl2.1+)))
235 (define-public libsysstat
242 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
243 version "/" name "-" version ".tar.xz"))
245 (base32 "0ngz8v3bixsdg96d5ipcyxd6nsrg52974xdxy9rnimahlv1yaxn3"))))
246 (build-system cmake-build-system)
247 (arguments '(#:tests? #f)) ; no tests
249 `(("qtbase" ,qtbase)))
251 `(("lxqt-build-tools" ,lxqt-build-tools)))
252 (home-page "https://lxqt.org/")
253 (synopsis "Library used to query system info and statistics")
254 (description "libsysstat is a library to query system information like CPU
255 and memory usage or network traffic.")
256 (license license:lgpl2.1+)))
261 (define-public lxqt-about
268 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
269 version "/" name "-" version ".tar.xz"))
271 (base32 "08imj7p77ifzfxnn8c482mhrvfx9gi0rb43ab5rw1rkmfvax2n5w"))))
272 (build-system cmake-build-system)
274 `(("kwindowsystem" ,kwindowsystem)
276 ("libqtxdg" ,libqtxdg)
279 ("qtx11extras" ,qtx11extras)))
281 `(("lxqt-build-tools" ,lxqt-build-tools)
282 ("qttools" ,qttools)))
284 '(#:tests? #f ; no tests
286 ;; TODO: prefetch translations files from 'lxqt-l10n'.
287 '("-DPULL_TRANSLATIONS=NO")))
288 (home-page "https://lxqt.org")
289 (synopsis "Provides information about LXQt and the system")
290 (description "lxqt-about is a dialogue window providing information about
291 LXQt and the system it's running on.")
292 (license license:lgpl2.1+)))
294 (define-public lxqt-admin
301 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
302 version "/" name "-" version ".tar.xz"))
304 (base32 "0qvpv668ja83ydbdrlal1596xhag3xlkbd6qlh9xwdpb7nysvns1"))))
305 (build-system cmake-build-system)
307 `(("kwindowsystem" ,kwindowsystem)
309 ("libqtxdg" ,libqtxdg)
310 ("polkit-qt" ,polkit-qt)
312 ("qtx11extras" ,qtx11extras)))
314 `(("lxqt-build-tools" ,lxqt-build-tools)
315 ("qttools" ,qttools)))
317 '(#:tests? #f ; no tests
319 ;; TODO: prefetch translations files from 'lxqt-l10n'.
320 '("-DPULL_TRANSLATIONS=NO")
322 (modify-phases %standard-phases
323 (add-after 'unpack 'patch-source
325 (substitute* "lxqt-admin-user/CMakeLists.txt"
326 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
327 "DESTINATION \"share/polkit-1/actions"))
329 (home-page "https://lxqt.org")
330 (synopsis "LXQt system administration tool")
331 (description "lxqt-admin is providing two GUI tools to adjust settings of
332 the operating system LXQt is running on.")
333 (license license:lgpl2.1+)))
335 (define-public lxqt-config
342 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
343 version "/" name "-" version ".tar.xz"))
345 (base32 "0rizhl2v41kpgp57a61r6nmwcdw8nh9hprrrf33nfrdw8hpwxb95"))))
346 (build-system cmake-build-system)
348 `(("kwindowsystem" ,kwindowsystem)
349 ("libkscreen" ,libkscreen)
351 ("libqtxdg" ,libqtxdg)
352 ("libxcursor" ,libxcursor)
355 ("qtx11extras" ,qtx11extras)
359 `(("pkg-config" ,pkg-config)
360 ("lxqt-build-tools" ,lxqt-build-tools)
361 ("qttools" ,qttools)))
363 '(#:tests? #f ; no tests
365 ;; TODO: prefetch translations files from 'lxqt-l10n'.
366 '("-DPULL_TRANSLATIONS=NO")
368 (modify-phases %standard-phases
369 (add-after 'unpack 'patch-source
371 (substitute* '("src/CMakeLists.txt")
372 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
373 "DESTINATION \"etc/xdg"))
375 (home-page "https://lxqt.org")
376 (synopsis "Tools to configure LXQt and the underlying operating system")
377 (description "lxqt-config is providing several tools involved in the
378 configuration of both LXQt and the underlying operating system.")
379 (license license:lgpl2.1+)))
381 (define-public lxqt-globalkeys
383 (name "lxqt-globalkeys")
388 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
389 version "/" name "-" version ".tar.xz"))
391 (base32 "1gyvcjbhi7zpvgz1sf773dv9gc35hx5fz023njp9r4vl0dpcavgd"))))
392 (build-system cmake-build-system)
394 `(("kwindowsystem" ,kwindowsystem)
396 ("libqtxdg" ,libqtxdg)
399 ("qtx11extras" ,qtx11extras)))
401 `(("pkg-config" ,pkg-config)
403 ("lxqt-build-tools" ,lxqt-build-tools)))
405 '(#:tests? #f ; no tests
407 ;; TODO: prefetch translations files from 'lxqt-l10n'.
408 '("-DPULL_TRANSLATIONS=NO")
410 (modify-phases %standard-phases
411 (add-after 'unpack 'patch-source
413 (substitute* '("autostart/CMakeLists.txt"
414 "xdg/CMakeLists.txt")
415 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
416 "DESTINATION \"etc/xdg"))
418 (home-page "https://lxqt.org/")
419 (synopsis "Daemon used to register global keyboard shortcuts")
420 (description "lxqt-globalkeys is providing tools to set global keyboard
421 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
422 as a whole and are not limited to distinct applications.")
423 (license license:lgpl2.1+)))
425 (define-public lxqt-notificationd
427 (name "lxqt-notificationd")
432 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
433 version "/" name "-" version ".tar.xz"))
435 (base32 "1l0hdbvghyhqgvy4pih7rvz26bc6yc8a3l1bdj11hnkw62h1i7d6"))))
436 (build-system cmake-build-system)
438 `(("kwindowsystem" ,kwindowsystem)
440 ("libqtxdg" ,libqtxdg)
443 ("qtx11extras" ,qtx11extras)))
445 `(("lxqt-build-tools" ,lxqt-build-tools)
446 ("qttools" ,qttools)))
448 '(#:tests? #f ; no test target
450 ;; TODO: prefetch translations files from 'lxqt-l10n'.
451 '("-DPULL_TRANSLATIONS=NO")
453 (modify-phases %standard-phases
454 (add-after 'unpack 'patch-source
456 (substitute* '("autostart/CMakeLists.txt")
457 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
458 "DESTINATION \"etc/xdg"))
460 (home-page "https://lxqt.org/")
461 (synopsis "The LXQt notification daemon")
462 (description "lxqt-notificationd is LXQt's implementation of a daemon
463 according to the Desktop Notifications Specification.")
464 (license license:lgpl2.1+)))
466 (define-public lxqt-openssh-askpass
468 (name "lxqt-openssh-askpass")
473 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
474 version "/" name "-" version ".tar.xz"))
476 (base32 "0l2272gya8jgv71bvg2hz37lnhiznv4ng3j0p6j79f99hwb5ygpk"))))
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 tests
491 ;; TODO: prefetch translations files from 'lxqt-l10n'.
492 '("-DPULL_TRANSLATIONS=NO")))
493 (home-page "https://lxqt.org/")
494 (synopsis "GUI to query passwords on behalf of SSH agents")
495 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
497 (license license:lgpl2.1+)))
499 (define-public lxqt-panel
506 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
507 version "/" name "-" version ".tar.xz"))
509 (base32 "1qraigzq7nc5a2q6f5ybxwx07gxffa3m3bg7fiv6ppwss51xqfd1"))))
510 (build-system cmake-build-system)
512 `(("alsa-lib" ,alsa-lib)
513 ("kguiaddons" ,kguiaddons)
514 ("kwindowsystem" ,kwindowsystem)
515 ("libdbusmenu-qt" ,libdbusmenu-qt)
517 ("libqtxdg" ,libqtxdg)
518 ("libstatgrab" ,libstatgrab)
519 ("libsysstat" ,libsysstat)
520 ("libxcomposite" ,libxcomposite)
521 ("libxdamage" ,libxdamage)
522 ("libxkbcommon" ,libxkbcommon)
523 ("libxrender" ,libxrender)
524 ("lm-sensors" ,lm-sensors "lib")
525 ("lxqt-globalkeys" ,lxqt-globalkeys)
527 ("pulseaudio" ,pulseaudio)
530 ("qtx11extras" ,qtx11extras)
532 ("xcb-util" ,xcb-util)))
534 `(("pkg-config" ,pkg-config)
535 ("lxqt-build-tools" ,lxqt-build-tools)
536 ("qttools" ,qttools)))
538 '(#:tests? #f ; no tests
540 ;; TODO: prefetch translations files from 'lxqt-l10n'.
541 '("-DPULL_TRANSLATIONS=NO")
543 (modify-phases %standard-phases
544 (add-after 'unpack 'patch-source
546 (substitute* '("autostart/CMakeLists.txt"
547 "menu/CMakeLists.txt")
548 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
549 "DESTINATION \"etc/xdg"))
551 (home-page "https://lxqt.org/")
552 (synopsis "The LXQt desktop panel")
553 (description "lxqt-panel represents the taskbar of LXQt.")
554 (license license:lgpl2.1+)))
556 (define-public lxqt-policykit
558 (name "lxqt-policykit")
563 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
564 version "/" name "-" version ".tar.xz"))
566 (base32 "1d97fys6625nk4q6irp0jhsbk30xi7idnii1f3vrrrdcl2cahagp"))))
567 (build-system cmake-build-system)
569 `(("kwindowsystem" ,kwindowsystem)
571 ("libqtxdg" ,libqtxdg)
573 ("polkit-qt" ,polkit-qt)
576 ("qtx11extras" ,qtx11extras)))
578 `(("pkg-config" ,pkg-config)
580 ("lxqt-build-tools" ,lxqt-build-tools)
581 ("qttools" ,qttools)))
583 '(#:tests? #f ; no test target
585 '("-DPULL_TRANSLATIONS=NO")
587 (modify-phases %standard-phases
588 (add-after 'unpack 'patch-source
590 (substitute* '("autostart/CMakeLists.txt")
591 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
592 "DESTINATION \"etc/xdg"))
594 (home-page "https://lxqt.org/")
595 (synopsis "The LXQt PolicyKit agent")
596 (description "lxqt-policykit is the polkit authentification agent of
598 (license license:lgpl2.1+)))
600 (define-public lxqt-powermanagement
602 (name "lxqt-powermanagement")
607 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
608 version "/" name "-" version ".tar.xz"))
610 (base32 "15nvdypyjwnp7k3d2pkhdbmaqb3ccacmh95rbdbc5mr7yrjy9613"))))
611 (build-system cmake-build-system)
613 `(("kidletime" ,kidletime)
614 ("kwindowsystem" ,kwindowsystem)
616 ("libqtxdg" ,libqtxdg)
619 ("qtx11extras" ,qtx11extras)
622 `(("lxqt-build-tools" ,lxqt-build-tools)
623 ("qttools" ,qttools)))
625 '(#:tests? #f ; no tests
627 ;; TODO: prefetch translations files from 'lxqt-l10n'.
628 '("-DPULL_TRANSLATIONS=NO")
630 (modify-phases %standard-phases
631 (add-after 'unpack 'patch-source
633 (substitute* '("autostart/CMakeLists.txt")
634 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
635 "DESTINATION \"etc/xdg"))
637 (home-page "https://lxqt.org/")
638 (synopsis "Power management module for LXQt")
639 (description "lxqt-powermanagement is providing tools to monitor power
640 management events and optionally trigger actions like e. g. shut down a system
641 when laptop batteries are low on power.")
642 (license license:lgpl2.1+)))
644 (define-public lxqt-qtplugin
646 (name "lxqt-qtplugin")
651 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
652 version "/" name "-" version ".tar.xz"))
654 (base32 "0nnwbc99njpsyqb0cy3x0srcgwa7qrnq0qwcyx7fbvwsq1l8cz56"))))
655 (build-system cmake-build-system)
657 `(("libdbusmenu-qt" ,libdbusmenu-qt)
658 ("libfm-qt" ,libfm-qt)
659 ("libqtxdg" ,libqtxdg)
662 ("qtx11extras" ,qtx11extras)))
664 `(("lxqt-build-tools" ,lxqt-build-tools)
665 ("qttools" ,qttools)))
667 '(#:tests? #f ; no tests
669 (modify-phases %standard-phases
670 (add-after 'unpack 'patch-source
672 (substitute* '("src/CMakeLists.txt")
673 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
674 "DESTINATION \"lib/qt5/plugins"))
676 (home-page "https://lxqt.org/")
677 (synopsis "LXQt Qt platform integration plugin")
678 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
680 (license license:lgpl2.1+)))
682 (define-public lxqt-runner
689 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
690 version "/" name "-" version ".tar.xz"))
692 (base32 "0dsg6fdcqbl7gza0sg1pb49zn5x31q7zx77jp7mkf6wc2lv8lali"))))
693 (build-system cmake-build-system)
695 `(("kwindowsystem" ,kwindowsystem)
697 ("libqtxdg" ,libqtxdg)
698 ("lxqt-globalkeys" ,lxqt-globalkeys)
699 ("muparser" ,muparser)
703 ("qtx11extras" ,qtx11extras)))
705 `(("pkg-config" ,pkg-config)
707 ("lxqt-build-tools" ,lxqt-build-tools)))
709 '(#:tests? #f ; no tests
711 ;; TODO: prefetch translations files from 'lxqt-l10n'.
712 '("-DPULL_TRANSLATIONS=NO")
714 (modify-phases %standard-phases
715 (add-after 'unpack 'patch-source
717 (substitute* '("autostart/CMakeLists.txt")
718 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
719 "DESTINATION \"etc/xdg"))
721 (home-page "https://lxqt.org/")
722 (synopsis "Tool used to launch programs quickly by typing their names")
723 (description "lxqt-runner provides a GUI that comes up on the desktop and
724 allows for launching applications or shutting down the system.")
725 (license license:lgpl2.1+)))
727 (define-public lxqt-session
729 (name "lxqt-session")
734 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
735 version "/" name "-" version ".tar.xz"))
737 (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z"))))
738 (build-system cmake-build-system)
741 ("kwindowsystem" ,kwindowsystem)
743 ("libqtxdg" ,libqtxdg)
746 ("qtx11extras" ,qtx11extras)
747 ("xdg-user-dirs" ,xdg-user-dirs)))
749 `(("pkg-config" ,pkg-config)
750 ("lxqt-build-tools" ,lxqt-build-tools)
751 ("qttools" ,qttools)))
755 `("-DPULL_TRANSLATIONS=NO")
757 (modify-phases %standard-phases
758 (add-after 'unpack 'patch-source
760 (substitute* '("autostart/CMakeLists.txt"
761 "config/CMakeLists.txt")
762 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
763 "DESTINATION \"etc/xdg"))
765 (home-page "https://lxqt.org/")
766 (synopsis "Session manager for LXQt")
767 (description "lxqt-session provides the standard session manager
768 for the LXQt desktop environment.")
769 (license license:lgpl2.1+)))
771 (define-public lxqt-sudo
778 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
779 version "/" name "-" version ".tar.xz"))
781 (base32 "1j28wlw4rkzvr85yl78fqkvz7sv7dykm9ghm63xdkskfjbsas1cf"))))
782 (build-system cmake-build-system)
784 `(("kwindowsystem" ,kwindowsystem)
786 ("libqtxdg" ,libqtxdg)
789 ("qtx11extras" ,qtx11extras)
792 `(("pkg-config" ,pkg-config)
794 ("lxqt-build-tools" ,lxqt-build-tools)))
796 '(#:tests? #f ; no tests
798 ;; TODO: prefetch translations files from 'lxqt-l10n'.
799 '("-DPULL_TRANSLATIONS=NO")))
800 (home-page "https://lxqt.org/")
801 (synopsis "GUI frontend for sudo/su")
802 (description "lxqt-sudo is a graphical front-end of commands sudo and su
803 respectively. As such it enables regular users to launch applications with
804 permissions of other users including root.")
805 (license license:lgpl2.1+)))
807 (define-public lxqt-themes
814 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
815 version "/" name "-" version ".tar.xz"))
817 (base32 "13kkkzjx8bgnwckz79j273azvm4za66i4cp2qhxwdpxh0fwziklf"))))
818 (build-system cmake-build-system)
820 `(("lxqt-build-tools" ,lxqt-build-tools)))
822 `(#:tests? #f ; no tests
824 (modify-phases %standard-phases
825 (add-after 'unpack 'patch-source
827 (substitute* '("CMakeLists.txt")
828 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
829 "DESTINATION \"share/lxqt/graphics"))
830 (substitute* '("themes/CMakeLists.txt")
831 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
832 "DESTINATION \"share/lxqt"))
834 (home-page "https://lxqt.org/")
835 (synopsis "Themes, graphics and icons for LXQt")
836 (description "This package comprises a number of graphic files and themes
838 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
839 ;; licensed under CC-BY-SA 3.0.
840 (license license:lgpl2.1+)))
845 (define-public libfm-qt
852 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
853 version "/" name "-" version ".tar.xz"))
855 (base32 "0p0lbz7dh5c38zq3yp1v1mm99ymg7mqr3h7yzniif2hipmgvxsv9"))))
856 (build-system cmake-build-system)
858 '(#:tests? #f ; no tests
860 ;; TODO : prefetch translations files from 'lxqt-l10n'.
861 '("-DPULL_TRANSLATIONS=NO")))
867 ("menu-cache" ,menu-cache)
870 ("qtx11extras" ,qtx11extras)))
872 `(("pkg-config" ,pkg-config)
873 ("lxqt-build-tools" ,lxqt-build-tools)
874 ("qttools" ,qttools)))
875 (home-page "https://lxqt.org/")
876 (synopsis "Qt binding for libfm")
877 (description "libfm-qt is the Qt port of libfm, a library providing
878 components to build desktop file managers which belongs to LXDE.")
879 (license license:lgpl2.1+)))
881 (define-public pcmanfm-qt
888 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
889 version "/" name "-" version ".tar.xz"))
891 (base32 "08jprkkk62pk34q9lxa207bh27xi86fj8jxfd5z3w2m5j5nim5mz"))))
892 (build-system cmake-build-system)
894 `(("libfm-qt" ,libfm-qt)
896 ("qtx11extras" ,qtx11extras)))
898 `(("pkg-config" ,pkg-config)
900 ("lxqt-build-tools" ,lxqt-build-tools)))
902 '(#:tests? #f ; no tests
904 ;; TODO: prefetch translations files from 'lxqt-l10n'.
905 '("-DPULL_TRANSLATIONS=NO")
907 (modify-phases %standard-phases
908 (add-after 'unpack 'patch-source
910 (substitute* '("autostart/CMakeLists.txt")
911 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
912 "DESTINATION \"etc/xdg"))
914 (home-page "https://lxqt.org/")
915 (synopsis "File manager and desktop icon manager")
916 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
918 (license license:gpl2+)))
923 (define-public compton-conf
925 (name "compton-conf")
930 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
931 version "/" name "-" version ".tar.xz"))
933 (base32 "0q3yx2a6wf8yahrwgvhmv9sd7gmrhid528vrqy04dg8m5cx1bjci"))))
934 (build-system cmake-build-system)
936 `(("libconfig" ,libconfig)
939 `(("lxqt-build-tools" ,lxqt-build-tools)
940 ("pkg-config" ,pkg-config)
941 ("qttools" ,qttools)))
943 '(#:tests? #f ; no tests
945 ;; TODO: prefetch translations files from 'lxqt-l10n'.
946 '("-DPULL_TRANSLATIONS=NO")
948 (modify-phases %standard-phases
949 (add-after 'unpack 'patch-source
951 (substitute* '("autostart/CMakeLists.txt")
952 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
953 "DESTINATION \"etc/xdg"))
955 (home-page "https://lxqt.org/")
956 (synopsis "GUI configuration tool for compton X composite manager")
957 (description "@code{compton-conf} is a configuration tool for X composite
959 (license license:lgpl2.1+)))
961 (define-public lximage-qt
968 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
969 version "/" name "-" version ".tar.xz"))
971 (base32 "1mwjh6lrjayr9snsmabkl5qs4xm6d27mfz8k3jxfm5dk3pjj1b0w"))))
972 (build-system cmake-build-system)
974 `(("libexif" ,libexif)
975 ("libfm-qt" ,libfm-qt)
978 ("qtx11extras" ,qtx11extras)))
980 `(("pkg-config" ,pkg-config)
981 ("lxqt-build-tools" ,lxqt-build-tools)
982 ("qttools" ,qttools)))
984 '(#:tests? #f ; no tests
986 ;; TODO: prefetch translations files from 'lxqt-l10n'.
987 '("-DPULL_TRANSLATIONS=NO")))
988 (home-page "https://lxqt.org/")
989 (synopsis "The image viewer and screenshot tool for lxqt")
990 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
992 (license license:gpl2+)))
994 (define-public obconf-qt
1001 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1002 version "/" name "-" version ".tar.xz"))
1004 (base32 "1fbzn1p2mdvn8dcbavmd1imrvkph2jfssrlw8l26qz6qk8qlmhnf"))))
1005 (build-system cmake-build-system)
1007 `(("imlib2" ,imlib2)
1009 ("librsvg" ,librsvg)
1011 ("libxml2" ,libxml2)
1012 ("openbox" ,openbox)
1016 ("qtx11extras" ,qtx11extras)))
1018 `(("lxqt-build-tools" ,lxqt-build-tools)
1019 ("pkg-config" ,pkg-config)
1020 ("qttools" ,qttools)))
1022 '(#:tests? #f ; no tests
1024 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1025 '("-DPULL_TRANSLATIONS=NO")))
1026 (home-page "https://lxqt.org/")
1027 (synopsis "Openbox configuration tool")
1028 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1029 window manager OpenBox.")
1030 (license license:gpl2+)))
1032 (define-public pavucontrol-qt
1034 (name "pavucontrol-qt")
1039 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1040 version "/" name "-" version ".tar.xz"))
1042 (base32 "0pqvhhgw7d00wqw5v3ghm4l8250zy7bqpvhff6l7y1lw0z2fvcp6"))))
1043 (build-system cmake-build-system)
1047 ("pulseaudio" ,pulseaudio)
1049 ("qtx11extras" ,qtx11extras)))
1051 `(("pkg-config" ,pkg-config)
1052 ("lxqt-build-tools" ,lxqt-build-tools)
1053 ("qttools" ,qttools)))
1055 '(#:tests? #f ; no tests
1057 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1058 '("-DPULL_TRANSLATIONS=NO")))
1059 (home-page "https://lxqt.org/")
1060 (synopsis "Pulseaudio mixer in Qt")
1061 (description "@code{pavucontrol-qt} is the Qt port of volume control
1062 @code{pavucontrol} of sound server @code{PulseAudio}.")
1063 (license license:gpl2+)))
1072 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1073 version "/" name "-" version ".tar.xz"))
1075 (base32 "0pzk83p7a9ax0893s9hp2qkmiilzrf8iqry5a0x1g73hdwm5hm44"))))
1076 (build-system cmake-build-system)
1078 `(("libxrender" ,libxrender)
1080 ("qtx11extras" ,qtx11extras)))
1082 `(("qttools" ,qttools)))
1084 '(#:tests? #f)) ; no tests
1085 (home-page "https://lxqt.org/")
1086 (synopsis "Qt-based visual process status monitor")
1087 (description "@code{qps} is a monitor that displays the status of the
1088 processes currently in existence, much like code{top} or code{ps}.")
1089 (license license:gpl2+)))
1091 (define-public qtermwidget
1093 (name "qtermwidget")
1098 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1099 version "/" name "-" version ".tar.xz"))
1101 (base32 "1c1qzbysxjbikp4bpgphphw4dgpl10gz8m06ccs2c48qxhpyd773"))))
1102 (build-system cmake-build-system)
1104 `(("qtbase" ,qtbase)))
1106 `(("lxqt-build-tools" ,lxqt-build-tools)
1107 ("qttools" ,qttools)))
1109 '(#:tests? #f ; no tests
1111 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1112 '("-DPULL_TRANSLATIONS=NO")))
1113 (home-page "https://lxqt.org/")
1114 (synopsis "The terminal widget for QTerminal")
1115 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1116 (license license:gpl2+)))
1118 (define-public qterminal
1125 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1126 version "/" name "-" version ".tar.xz"))
1128 (base32 "1vlza75br1ys62lgkdz26md729bfpbnasfzswp7hakmgaq1rhms1"))))
1129 (build-system cmake-build-system)
1131 `(("qtbase" ,qtbase)
1132 ("qtx11extras" ,qtx11extras)
1133 ("qtermwidget" ,qtermwidget)))
1135 `(("lxqt-build-tools" ,lxqt-build-tools)
1136 ("qttools" ,qttools)))
1138 '(#:tests? #f ; no tests
1140 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1141 '("-DPULL_TRANSLATIONS=NO")))
1142 (home-page "https://lxqt.org/")
1143 (synopsis "Lightweight Qt-based terminal emulator")
1144 (description "QTerminal is a lightweight Qt terminal emulator based on
1146 (license license:gpl2+)))
1148 (define-public screengrab
1155 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1156 version "/screengrab-" version ".tar.xz"))
1158 (base32 "17y8rsx9fixvxv2byq8d6c01vry10nv07f8jy85vz7zp4f0rgzz3"))))
1159 (build-system cmake-build-system)
1161 `(("kwindowsystem" ,kwindowsystem)
1162 ("libqtxdg" ,libqtxdg)
1165 ("qtx11extras" ,qtx11extras)))
1167 `(("pkg-config" ,pkg-config)
1168 ("qttools" ,qttools)))
1170 '(#:tests? #f)) ; no tests
1171 (home-page "https://lxqt.org/")
1172 (synopsis "Crossplatform tool for fast making screenshots")
1173 (description "ScreenGrab is a program for fast creating screenshots, and
1174 easily publishing them on internet image hosting services.")
1175 (license license:gpl2+)))
1178 ;; The LXQt Desktop Environment
1183 (version (package-version lxqt-session))
1185 (build-system trivial-build-system)
1186 (arguments '(#:builder (begin (mkdir %output) #t)))
1189 ("desktop-file-utils" ,desktop-file-utils)
1190 ("hicolor-icon-theme" ,hicolor-icon-theme)
1191 ("xdg-user-dirs" ,xdg-user-dirs)
1192 ("xdg-utils" ,xdg-utils)
1194 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1195 ;; should be added to their propagated-inputs?
1198 ("lxqt-about" ,lxqt-about)
1199 ("lxqt-admin" ,lxqt-admin)
1200 ("lxqt-config" ,lxqt-config)
1201 ("lxqt-notificationd" ,lxqt-notificationd)
1202 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1203 ("lxqt-panel" ,lxqt-panel)
1204 ("lxqt-policykit" ,lxqt-policykit)
1205 ("lxqt-powermanagement" ,lxqt-powermanagement)
1206 ("lxqt-qtplugin" ,lxqt-qtplugin)
1207 ("lxqt-runner" ,lxqt-runner)
1208 ("lxqt-session" ,lxqt-session)
1209 ("lxqt-sudo" ,lxqt-sudo)
1210 ("lxqt-themes" ,lxqt-themes)
1211 ("pcmanfm-qt" ,pcmanfm-qt)
1213 ("compton" ,compton)
1214 ("compton-conf" ,compton-conf)
1215 ("font-dejavu" ,font-dejavu)
1216 ("lximage-qt" ,lximage-qt)
1217 ("obconf-qt" ,obconf-qt)
1218 ("openbox" ,openbox)
1219 ("oxygen-icons" ,oxygen-icons)
1220 ("pavucontrol-qt" ,pavucontrol-qt)
1222 ("qterminal" ,qterminal)))
1223 (synopsis "The Lightweight Qt Desktop Environment")
1224 (description "LXQt is a lightweight Qt desktop environment.")
1225 (home-page "https://lxde.org")
1226 (license license:gpl2+)))