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 "1gb922npf6nw4w3nkvh4czk8xmdzzqkzq3zgl1h303fjaib359qs"))))
205 (build-system cmake-build-system)
207 `(#:tests? #f ; no tests
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"))
216 (add-after 'unpack 'patch-translations-dir
217 (lambda* (#:key outputs #:allow-other-keys)
218 (substitute* "CMakeLists.txt"
219 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
220 (string-append (assoc-ref outputs "out")
221 "/share/lxqt/translations")))
224 `(("kwindowsystem" ,kwindowsystem)
225 ("libqtxdg" ,libqtxdg)
226 ("libxscrnsaver" ,libxscrnsaver)
227 ("polkit-qt" ,polkit-qt)
229 ("qtx11extras" ,qtx11extras)))
231 `(("lxqt-build-tools" ,lxqt-build-tools)
232 ("qttools" ,qttools)))
233 (home-page "https://lxqt.org/")
234 (synopsis "Core utility library for all LXQt components")
235 (description "liblxqt provides the basic libraries shared by the
236 components of the LXQt desktop environment.")
237 (license license:lgpl2.1+)))
239 (define-public libsysstat
246 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
247 version "/" name "-" version ".tar.xz"))
249 (base32 "0rz9w49khra9kl91kfnd3wxkldy1fqf6755mvlgbsqxb1yv8597w"))))
250 (build-system cmake-build-system)
251 (arguments '(#:tests? #f)) ; no tests
253 `(("qtbase" ,qtbase)))
255 `(("lxqt-build-tools" ,lxqt-build-tools)))
256 (home-page "https://lxqt.org/")
257 (synopsis "Library used to query system info and statistics")
258 (description "libsysstat is a library to query system information like CPU
259 and memory usage or network traffic.")
260 (license license:lgpl2.1+)))
265 (define-public lxqt-about
272 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
273 version "/" name "-" version ".tar.xz"))
275 (base32 "01xp5ddcxc9wvl7jm4179hjrirj07mpzm9z50936d1fqx34wfbis"))))
276 (build-system cmake-build-system)
278 `(("kwindowsystem" ,kwindowsystem)
280 ("libqtxdg" ,libqtxdg)
283 ("qtx11extras" ,qtx11extras)))
285 `(("lxqt-build-tools" ,lxqt-build-tools)
286 ("qttools" ,qttools)))
288 '(#:tests? #f ; no tests
290 (modify-phases %standard-phases
291 (add-after 'unpack 'patch-translations-dir
292 (lambda* (#:key outputs #:allow-other-keys)
293 (substitute* "CMakeLists.txt"
294 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
295 (string-append (assoc-ref outputs "out")
296 "/share/lxqt/translations")))
298 (home-page "https://lxqt.org")
299 (synopsis "Provides information about LXQt and the system")
300 (description "lxqt-about is a dialogue window providing information about
301 LXQt and the system it's running on.")
302 (license license:lgpl2.1+)))
304 (define-public lxqt-admin
311 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
312 version "/" name "-" version ".tar.xz"))
314 (base32 "0f0skkxqyhpidpd5phliax869v4n2whvglg8rahzia2zhw4ylzry"))))
315 (build-system cmake-build-system)
317 `(("kwindowsystem" ,kwindowsystem)
319 ("libqtxdg" ,libqtxdg)
320 ("polkit-qt" ,polkit-qt)
322 ("qtx11extras" ,qtx11extras)))
324 `(("lxqt-build-tools" ,lxqt-build-tools)
325 ("qttools" ,qttools)))
327 '(#:tests? #f ; no tests
329 (modify-phases %standard-phases
330 (add-after 'unpack 'patch-source
332 (substitute* "lxqt-admin-user/CMakeLists.txt"
333 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
334 "DESTINATION \"share/polkit-1/actions"))
336 (add-after 'unpack 'patch-translations-dir
337 (lambda* (#:key outputs #:allow-other-keys)
338 (substitute* '("lxqt-admin-time/CMakeLists.txt"
339 "lxqt-admin-user/CMakeLists.txt")
340 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
341 (string-append (assoc-ref outputs "out")
342 "/share/lxqt/translations")))
344 (home-page "https://lxqt.org")
345 (synopsis "LXQt system administration tool")
346 (description "lxqt-admin is providing two GUI tools to adjust settings of
347 the operating system LXQt is running on.")
348 (license license:lgpl2.1+)))
350 (define-public lxqt-config
357 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
358 version "/" name "-" version ".tar.xz"))
360 (base32 "0rizhl2v41kpgp57a61r6nmwcdw8nh9hprrrf33nfrdw8hpwxb95"))))
361 (build-system cmake-build-system)
363 `(("kwindowsystem" ,kwindowsystem)
364 ("libkscreen" ,libkscreen)
366 ("libqtxdg" ,libqtxdg)
367 ("libxcursor" ,libxcursor)
370 ("qtx11extras" ,qtx11extras)
374 `(("pkg-config" ,pkg-config)
375 ("lxqt-build-tools" ,lxqt-build-tools)
376 ("qttools" ,qttools)))
378 '(#:tests? #f ; no tests
380 ;; TODO: prefetch translations files from 'lxqt-l10n'.
381 '("-DPULL_TRANSLATIONS=NO")
383 (modify-phases %standard-phases
384 (add-after 'unpack 'patch-source
386 (substitute* '("src/CMakeLists.txt")
387 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
388 "DESTINATION \"etc/xdg"))
390 (home-page "https://lxqt.org")
391 (synopsis "Tools to configure LXQt and the underlying operating system")
392 (description "lxqt-config is providing several tools involved in the
393 configuration of both LXQt and the underlying operating system.")
394 (license license:lgpl2.1+)))
396 (define-public lxqt-globalkeys
398 (name "lxqt-globalkeys")
403 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
404 version "/" name "-" version ".tar.xz"))
406 (base32 "1gyvcjbhi7zpvgz1sf773dv9gc35hx5fz023njp9r4vl0dpcavgd"))))
407 (build-system cmake-build-system)
409 `(("kwindowsystem" ,kwindowsystem)
411 ("libqtxdg" ,libqtxdg)
414 ("qtx11extras" ,qtx11extras)))
416 `(("pkg-config" ,pkg-config)
418 ("lxqt-build-tools" ,lxqt-build-tools)))
420 '(#:tests? #f ; no tests
422 ;; TODO: prefetch translations files from 'lxqt-l10n'.
423 '("-DPULL_TRANSLATIONS=NO")
425 (modify-phases %standard-phases
426 (add-after 'unpack 'patch-source
428 (substitute* '("autostart/CMakeLists.txt"
429 "xdg/CMakeLists.txt")
430 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
431 "DESTINATION \"etc/xdg"))
433 (home-page "https://lxqt.org/")
434 (synopsis "Daemon used to register global keyboard shortcuts")
435 (description "lxqt-globalkeys is providing tools to set global keyboard
436 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
437 as a whole and are not limited to distinct applications.")
438 (license license:lgpl2.1+)))
440 (define-public lxqt-notificationd
442 (name "lxqt-notificationd")
447 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
448 version "/" name "-" version ".tar.xz"))
450 (base32 "1l0hdbvghyhqgvy4pih7rvz26bc6yc8a3l1bdj11hnkw62h1i7d6"))))
451 (build-system cmake-build-system)
453 `(("kwindowsystem" ,kwindowsystem)
455 ("libqtxdg" ,libqtxdg)
458 ("qtx11extras" ,qtx11extras)))
460 `(("lxqt-build-tools" ,lxqt-build-tools)
461 ("qttools" ,qttools)))
463 '(#:tests? #f ; no test target
465 ;; TODO: prefetch translations files from 'lxqt-l10n'.
466 '("-DPULL_TRANSLATIONS=NO")
468 (modify-phases %standard-phases
469 (add-after 'unpack 'patch-source
471 (substitute* '("autostart/CMakeLists.txt")
472 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
473 "DESTINATION \"etc/xdg"))
475 (home-page "https://lxqt.org/")
476 (synopsis "The LXQt notification daemon")
477 (description "lxqt-notificationd is LXQt's implementation of a daemon
478 according to the Desktop Notifications Specification.")
479 (license license:lgpl2.1+)))
481 (define-public lxqt-openssh-askpass
483 (name "lxqt-openssh-askpass")
488 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
489 version "/" name "-" version ".tar.xz"))
491 (base32 "0l2272gya8jgv71bvg2hz37lnhiznv4ng3j0p6j79f99hwb5ygpk"))))
492 (build-system cmake-build-system)
494 `(("kwindowsystem" ,kwindowsystem)
496 ("libqtxdg" ,libqtxdg)
499 ("qtx11extras" ,qtx11extras)))
501 `(("lxqt-build-tools" ,lxqt-build-tools)
502 ("qttools" ,qttools)))
504 '(#:tests? #f ; no tests
506 ;; TODO: prefetch translations files from 'lxqt-l10n'.
507 '("-DPULL_TRANSLATIONS=NO")))
508 (home-page "https://lxqt.org/")
509 (synopsis "GUI to query passwords on behalf of SSH agents")
510 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
512 (license license:lgpl2.1+)))
514 (define-public lxqt-panel
521 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
522 version "/" name "-" version ".tar.xz"))
524 (base32 "1qraigzq7nc5a2q6f5ybxwx07gxffa3m3bg7fiv6ppwss51xqfd1"))))
525 (build-system cmake-build-system)
527 `(("alsa-lib" ,alsa-lib)
528 ("kguiaddons" ,kguiaddons)
529 ("kwindowsystem" ,kwindowsystem)
530 ("libdbusmenu-qt" ,libdbusmenu-qt)
532 ("libqtxdg" ,libqtxdg)
533 ("libstatgrab" ,libstatgrab)
534 ("libsysstat" ,libsysstat)
535 ("libxcomposite" ,libxcomposite)
536 ("libxdamage" ,libxdamage)
537 ("libxkbcommon" ,libxkbcommon)
538 ("libxrender" ,libxrender)
539 ("lm-sensors" ,lm-sensors "lib")
540 ("lxqt-globalkeys" ,lxqt-globalkeys)
542 ("pulseaudio" ,pulseaudio)
545 ("qtx11extras" ,qtx11extras)
547 ("xcb-util" ,xcb-util)))
549 `(("pkg-config" ,pkg-config)
550 ("lxqt-build-tools" ,lxqt-build-tools)
551 ("qttools" ,qttools)))
553 '(#:tests? #f ; no tests
555 ;; TODO: prefetch translations files from 'lxqt-l10n'.
556 '("-DPULL_TRANSLATIONS=NO")
558 (modify-phases %standard-phases
559 (add-after 'unpack 'patch-source
561 (substitute* '("autostart/CMakeLists.txt"
562 "menu/CMakeLists.txt")
563 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
564 "DESTINATION \"etc/xdg"))
566 (home-page "https://lxqt.org/")
567 (synopsis "The LXQt desktop panel")
568 (description "lxqt-panel represents the taskbar of LXQt.")
569 (license license:lgpl2.1+)))
571 (define-public lxqt-policykit
573 (name "lxqt-policykit")
578 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
579 version "/" name "-" version ".tar.xz"))
581 (base32 "1d97fys6625nk4q6irp0jhsbk30xi7idnii1f3vrrrdcl2cahagp"))))
582 (build-system cmake-build-system)
584 `(("kwindowsystem" ,kwindowsystem)
586 ("libqtxdg" ,libqtxdg)
588 ("polkit-qt" ,polkit-qt)
591 ("qtx11extras" ,qtx11extras)))
593 `(("pkg-config" ,pkg-config)
595 ("lxqt-build-tools" ,lxqt-build-tools)
596 ("qttools" ,qttools)))
598 '(#:tests? #f ; no test target
600 '("-DPULL_TRANSLATIONS=NO")
602 (modify-phases %standard-phases
603 (add-after 'unpack 'patch-source
605 (substitute* '("autostart/CMakeLists.txt")
606 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
607 "DESTINATION \"etc/xdg"))
609 (home-page "https://lxqt.org/")
610 (synopsis "The LXQt PolicyKit agent")
611 (description "lxqt-policykit is the polkit authentification agent of
613 (license license:lgpl2.1+)))
615 (define-public lxqt-powermanagement
617 (name "lxqt-powermanagement")
622 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
623 version "/" name "-" version ".tar.xz"))
625 (base32 "15nvdypyjwnp7k3d2pkhdbmaqb3ccacmh95rbdbc5mr7yrjy9613"))))
626 (build-system cmake-build-system)
628 `(("kidletime" ,kidletime)
629 ("kwindowsystem" ,kwindowsystem)
631 ("libqtxdg" ,libqtxdg)
634 ("qtx11extras" ,qtx11extras)
637 `(("lxqt-build-tools" ,lxqt-build-tools)
638 ("qttools" ,qttools)))
640 '(#:tests? #f ; no tests
642 ;; TODO: prefetch translations files from 'lxqt-l10n'.
643 '("-DPULL_TRANSLATIONS=NO")
645 (modify-phases %standard-phases
646 (add-after 'unpack 'patch-source
648 (substitute* '("autostart/CMakeLists.txt")
649 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
650 "DESTINATION \"etc/xdg"))
652 (home-page "https://lxqt.org/")
653 (synopsis "Power management module for LXQt")
654 (description "lxqt-powermanagement is providing tools to monitor power
655 management events and optionally trigger actions like e. g. shut down a system
656 when laptop batteries are low on power.")
657 (license license:lgpl2.1+)))
659 (define-public lxqt-qtplugin
661 (name "lxqt-qtplugin")
666 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
667 version "/" name "-" version ".tar.xz"))
669 (base32 "0nnwbc99njpsyqb0cy3x0srcgwa7qrnq0qwcyx7fbvwsq1l8cz56"))))
670 (build-system cmake-build-system)
672 `(("libdbusmenu-qt" ,libdbusmenu-qt)
673 ("libfm-qt" ,libfm-qt)
674 ("libqtxdg" ,libqtxdg)
677 ("qtx11extras" ,qtx11extras)))
679 `(("lxqt-build-tools" ,lxqt-build-tools)
680 ("qttools" ,qttools)))
682 '(#:tests? #f ; no tests
684 (modify-phases %standard-phases
685 (add-after 'unpack 'patch-source
687 (substitute* '("src/CMakeLists.txt")
688 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
689 "DESTINATION \"lib/qt5/plugins"))
691 (home-page "https://lxqt.org/")
692 (synopsis "LXQt Qt platform integration plugin")
693 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
695 (license license:lgpl2.1+)))
697 (define-public lxqt-runner
704 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
705 version "/" name "-" version ".tar.xz"))
707 (base32 "0dsg6fdcqbl7gza0sg1pb49zn5x31q7zx77jp7mkf6wc2lv8lali"))))
708 (build-system cmake-build-system)
710 `(("kwindowsystem" ,kwindowsystem)
712 ("libqtxdg" ,libqtxdg)
713 ("lxqt-globalkeys" ,lxqt-globalkeys)
714 ("muparser" ,muparser)
718 ("qtx11extras" ,qtx11extras)))
720 `(("pkg-config" ,pkg-config)
722 ("lxqt-build-tools" ,lxqt-build-tools)))
724 '(#:tests? #f ; no tests
726 ;; TODO: prefetch translations files from 'lxqt-l10n'.
727 '("-DPULL_TRANSLATIONS=NO")
729 (modify-phases %standard-phases
730 (add-after 'unpack 'patch-source
732 (substitute* '("autostart/CMakeLists.txt")
733 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
734 "DESTINATION \"etc/xdg"))
736 (home-page "https://lxqt.org/")
737 (synopsis "Tool used to launch programs quickly by typing their names")
738 (description "lxqt-runner provides a GUI that comes up on the desktop and
739 allows for launching applications or shutting down the system.")
740 (license license:lgpl2.1+)))
742 (define-public lxqt-session
744 (name "lxqt-session")
749 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
750 version "/" name "-" version ".tar.xz"))
752 (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z"))))
753 (build-system cmake-build-system)
756 ("kwindowsystem" ,kwindowsystem)
758 ("libqtxdg" ,libqtxdg)
761 ("qtx11extras" ,qtx11extras)
762 ("xdg-user-dirs" ,xdg-user-dirs)))
764 `(("pkg-config" ,pkg-config)
765 ("lxqt-build-tools" ,lxqt-build-tools)
766 ("qttools" ,qttools)))
770 `("-DPULL_TRANSLATIONS=NO")
772 (modify-phases %standard-phases
773 (add-after 'unpack 'patch-source
775 (substitute* '("autostart/CMakeLists.txt"
776 "config/CMakeLists.txt")
777 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
778 "DESTINATION \"etc/xdg"))
780 (home-page "https://lxqt.org/")
781 (synopsis "Session manager for LXQt")
782 (description "lxqt-session provides the standard session manager
783 for the LXQt desktop environment.")
784 (license license:lgpl2.1+)))
786 (define-public lxqt-sudo
793 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
794 version "/" name "-" version ".tar.xz"))
796 (base32 "1j28wlw4rkzvr85yl78fqkvz7sv7dykm9ghm63xdkskfjbsas1cf"))))
797 (build-system cmake-build-system)
799 `(("kwindowsystem" ,kwindowsystem)
801 ("libqtxdg" ,libqtxdg)
804 ("qtx11extras" ,qtx11extras)
807 `(("pkg-config" ,pkg-config)
809 ("lxqt-build-tools" ,lxqt-build-tools)))
811 '(#:tests? #f ; no tests
813 ;; TODO: prefetch translations files from 'lxqt-l10n'.
814 '("-DPULL_TRANSLATIONS=NO")))
815 (home-page "https://lxqt.org/")
816 (synopsis "GUI frontend for sudo/su")
817 (description "lxqt-sudo is a graphical front-end of commands sudo and su
818 respectively. As such it enables regular users to launch applications with
819 permissions of other users including root.")
820 (license license:lgpl2.1+)))
822 (define-public lxqt-themes
829 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
830 version "/" name "-" version ".tar.xz"))
832 (base32 "13kkkzjx8bgnwckz79j273azvm4za66i4cp2qhxwdpxh0fwziklf"))))
833 (build-system cmake-build-system)
835 `(("lxqt-build-tools" ,lxqt-build-tools)))
837 `(#:tests? #f ; no tests
839 (modify-phases %standard-phases
840 (add-after 'unpack 'patch-source
842 (substitute* '("CMakeLists.txt")
843 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
844 "DESTINATION \"share/lxqt/graphics"))
845 (substitute* '("themes/CMakeLists.txt")
846 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
847 "DESTINATION \"share/lxqt"))
849 (home-page "https://lxqt.org/")
850 (synopsis "Themes, graphics and icons for LXQt")
851 (description "This package comprises a number of graphic files and themes
853 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
854 ;; licensed under CC-BY-SA 3.0.
855 (license license:lgpl2.1+)))
860 (define-public libfm-qt
867 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
868 version "/" name "-" version ".tar.xz"))
870 (base32 "0p0lbz7dh5c38zq3yp1v1mm99ymg7mqr3h7yzniif2hipmgvxsv9"))))
871 (build-system cmake-build-system)
873 '(#:tests? #f ; no tests
875 ;; TODO : prefetch translations files from 'lxqt-l10n'.
876 '("-DPULL_TRANSLATIONS=NO")))
882 ("menu-cache" ,menu-cache)
885 ("qtx11extras" ,qtx11extras)))
887 `(("pkg-config" ,pkg-config)
888 ("lxqt-build-tools" ,lxqt-build-tools)
889 ("qttools" ,qttools)))
890 (home-page "https://lxqt.org/")
891 (synopsis "Qt binding for libfm")
892 (description "libfm-qt is the Qt port of libfm, a library providing
893 components to build desktop file managers which belongs to LXDE.")
894 (license license:lgpl2.1+)))
896 (define-public pcmanfm-qt
903 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
904 version "/" name "-" version ".tar.xz"))
906 (base32 "08jprkkk62pk34q9lxa207bh27xi86fj8jxfd5z3w2m5j5nim5mz"))))
907 (build-system cmake-build-system)
909 `(("libfm-qt" ,libfm-qt)
911 ("qtx11extras" ,qtx11extras)))
913 `(("pkg-config" ,pkg-config)
915 ("lxqt-build-tools" ,lxqt-build-tools)))
917 '(#:tests? #f ; no tests
919 ;; TODO: prefetch translations files from 'lxqt-l10n'.
920 '("-DPULL_TRANSLATIONS=NO")
922 (modify-phases %standard-phases
923 (add-after 'unpack 'patch-source
925 (substitute* '("autostart/CMakeLists.txt")
926 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
927 "DESTINATION \"etc/xdg"))
929 (home-page "https://lxqt.org/")
930 (synopsis "File manager and desktop icon manager")
931 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
933 (license license:gpl2+)))
938 (define-public compton-conf
940 (name "compton-conf")
945 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
946 version "/" name "-" version ".tar.xz"))
948 (base32 "0q3yx2a6wf8yahrwgvhmv9sd7gmrhid528vrqy04dg8m5cx1bjci"))))
949 (build-system cmake-build-system)
951 `(("libconfig" ,libconfig)
954 `(("lxqt-build-tools" ,lxqt-build-tools)
955 ("pkg-config" ,pkg-config)
956 ("qttools" ,qttools)))
958 '(#:tests? #f ; no tests
960 ;; TODO: prefetch translations files from 'lxqt-l10n'.
961 '("-DPULL_TRANSLATIONS=NO")
963 (modify-phases %standard-phases
964 (add-after 'unpack 'patch-source
966 (substitute* '("autostart/CMakeLists.txt")
967 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
968 "DESTINATION \"etc/xdg"))
970 (home-page "https://lxqt.org/")
971 (synopsis "GUI configuration tool for compton X composite manager")
972 (description "@code{compton-conf} is a configuration tool for X composite
974 (license license:lgpl2.1+)))
976 (define-public lximage-qt
983 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
984 version "/" name "-" version ".tar.xz"))
986 (base32 "1mwjh6lrjayr9snsmabkl5qs4xm6d27mfz8k3jxfm5dk3pjj1b0w"))))
987 (build-system cmake-build-system)
989 `(("libexif" ,libexif)
990 ("libfm-qt" ,libfm-qt)
993 ("qtx11extras" ,qtx11extras)))
995 `(("pkg-config" ,pkg-config)
996 ("lxqt-build-tools" ,lxqt-build-tools)
997 ("qttools" ,qttools)))
999 '(#:tests? #f ; no tests
1001 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1002 '("-DPULL_TRANSLATIONS=NO")))
1003 (home-page "https://lxqt.org/")
1004 (synopsis "The image viewer and screenshot tool for lxqt")
1005 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1007 (license license:gpl2+)))
1009 (define-public obconf-qt
1016 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1017 version "/" name "-" version ".tar.xz"))
1019 (base32 "1fbzn1p2mdvn8dcbavmd1imrvkph2jfssrlw8l26qz6qk8qlmhnf"))))
1020 (build-system cmake-build-system)
1022 `(("imlib2" ,imlib2)
1024 ("librsvg" ,librsvg)
1026 ("libxml2" ,libxml2)
1027 ("openbox" ,openbox)
1031 ("qtx11extras" ,qtx11extras)))
1033 `(("lxqt-build-tools" ,lxqt-build-tools)
1034 ("pkg-config" ,pkg-config)
1035 ("qttools" ,qttools)))
1037 '(#:tests? #f ; no tests
1039 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1040 '("-DPULL_TRANSLATIONS=NO")))
1041 (home-page "https://lxqt.org/")
1042 (synopsis "Openbox configuration tool")
1043 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1044 window manager OpenBox.")
1045 (license license:gpl2+)))
1047 (define-public pavucontrol-qt
1049 (name "pavucontrol-qt")
1054 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1055 version "/" name "-" version ".tar.xz"))
1057 (base32 "0pqvhhgw7d00wqw5v3ghm4l8250zy7bqpvhff6l7y1lw0z2fvcp6"))))
1058 (build-system cmake-build-system)
1062 ("pulseaudio" ,pulseaudio)
1064 ("qtx11extras" ,qtx11extras)))
1066 `(("pkg-config" ,pkg-config)
1067 ("lxqt-build-tools" ,lxqt-build-tools)
1068 ("qttools" ,qttools)))
1070 '(#:tests? #f ; no tests
1072 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1073 '("-DPULL_TRANSLATIONS=NO")))
1074 (home-page "https://lxqt.org/")
1075 (synopsis "Pulseaudio mixer in Qt")
1076 (description "@code{pavucontrol-qt} is the Qt port of volume control
1077 @code{pavucontrol} of sound server @code{PulseAudio}.")
1078 (license license:gpl2+)))
1087 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1088 version "/" name "-" version ".tar.xz"))
1090 (base32 "0pzk83p7a9ax0893s9hp2qkmiilzrf8iqry5a0x1g73hdwm5hm44"))))
1091 (build-system cmake-build-system)
1093 `(("libxrender" ,libxrender)
1095 ("qtx11extras" ,qtx11extras)))
1097 `(("qttools" ,qttools)))
1099 '(#:tests? #f)) ; no tests
1100 (home-page "https://lxqt.org/")
1101 (synopsis "Qt-based visual process status monitor")
1102 (description "@code{qps} is a monitor that displays the status of the
1103 processes currently in existence, much like code{top} or code{ps}.")
1104 (license license:gpl2+)))
1106 (define-public qtermwidget
1108 (name "qtermwidget")
1113 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1114 version "/" name "-" version ".tar.xz"))
1116 (base32 "1c1qzbysxjbikp4bpgphphw4dgpl10gz8m06ccs2c48qxhpyd773"))))
1117 (build-system cmake-build-system)
1119 `(("qtbase" ,qtbase)))
1121 `(("lxqt-build-tools" ,lxqt-build-tools)
1122 ("qttools" ,qttools)))
1124 '(#:tests? #f ; no tests
1126 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1127 '("-DPULL_TRANSLATIONS=NO")))
1128 (home-page "https://lxqt.org/")
1129 (synopsis "The terminal widget for QTerminal")
1130 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1131 (license license:gpl2+)))
1133 (define-public qterminal
1140 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1141 version "/" name "-" version ".tar.xz"))
1143 (base32 "1vlza75br1ys62lgkdz26md729bfpbnasfzswp7hakmgaq1rhms1"))))
1144 (build-system cmake-build-system)
1146 `(("qtbase" ,qtbase)
1147 ("qtx11extras" ,qtx11extras)
1148 ("qtermwidget" ,qtermwidget)))
1150 `(("lxqt-build-tools" ,lxqt-build-tools)
1151 ("qttools" ,qttools)))
1153 '(#:tests? #f ; no tests
1155 ;; TODO: prefetch translations files from 'lxqt-l10n'.
1156 '("-DPULL_TRANSLATIONS=NO")))
1157 (home-page "https://lxqt.org/")
1158 (synopsis "Lightweight Qt-based terminal emulator")
1159 (description "QTerminal is a lightweight Qt terminal emulator based on
1161 (license license:gpl2+)))
1163 (define-public screengrab
1170 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1171 version "/screengrab-" version ".tar.xz"))
1173 (base32 "17y8rsx9fixvxv2byq8d6c01vry10nv07f8jy85vz7zp4f0rgzz3"))))
1174 (build-system cmake-build-system)
1176 `(("kwindowsystem" ,kwindowsystem)
1177 ("libqtxdg" ,libqtxdg)
1180 ("qtx11extras" ,qtx11extras)))
1182 `(("pkg-config" ,pkg-config)
1183 ("qttools" ,qttools)))
1185 '(#:tests? #f)) ; no tests
1186 (home-page "https://lxqt.org/")
1187 (synopsis "Crossplatform tool for fast making screenshots")
1188 (description "ScreenGrab is a program for fast creating screenshots, and
1189 easily publishing them on internet image hosting services.")
1190 (license license:gpl2+)))
1193 ;; The LXQt Desktop Environment
1198 (version (package-version lxqt-session))
1200 (build-system trivial-build-system)
1201 (arguments '(#:builder (begin (mkdir %output) #t)))
1204 ("desktop-file-utils" ,desktop-file-utils)
1205 ("hicolor-icon-theme" ,hicolor-icon-theme)
1206 ("xdg-user-dirs" ,xdg-user-dirs)
1207 ("xdg-utils" ,xdg-utils)
1209 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1210 ;; should be added to their propagated-inputs?
1213 ("lxqt-about" ,lxqt-about)
1214 ("lxqt-admin" ,lxqt-admin)
1215 ("lxqt-config" ,lxqt-config)
1216 ("lxqt-notificationd" ,lxqt-notificationd)
1217 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1218 ("lxqt-panel" ,lxqt-panel)
1219 ("lxqt-policykit" ,lxqt-policykit)
1220 ("lxqt-powermanagement" ,lxqt-powermanagement)
1221 ("lxqt-qtplugin" ,lxqt-qtplugin)
1222 ("lxqt-runner" ,lxqt-runner)
1223 ("lxqt-session" ,lxqt-session)
1224 ("lxqt-sudo" ,lxqt-sudo)
1225 ("lxqt-themes" ,lxqt-themes)
1226 ("pcmanfm-qt" ,pcmanfm-qt)
1228 ("compton" ,compton)
1229 ("compton-conf" ,compton-conf)
1230 ("font-dejavu" ,font-dejavu)
1231 ("lximage-qt" ,lximage-qt)
1232 ("obconf-qt" ,obconf-qt)
1233 ("openbox" ,openbox)
1234 ("oxygen-icons" ,oxygen-icons)
1235 ("pavucontrol-qt" ,pavucontrol-qt)
1237 ("qterminal" ,qterminal)))
1238 (synopsis "The Lightweight Qt Desktop Environment")
1239 (description "LXQt is a lightweight Qt desktop environment.")
1240 (home-page "https://lxde.org")
1241 (license license:gpl2+)))