1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2015, 2022 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 Nikita <nikita@n0.is>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
9 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
10 ;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
11 ;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
12 ;;; Copyright © 2020 André Batista <nandre@riseup.net>
13 ;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
15 ;;; This file is part of GNU Guix.
17 ;;; GNU Guix is free software; you can redistribute it and/or modify it
18 ;;; under the terms of the GNU General Public License as published by
19 ;;; the Free Software Foundation; either version 3 of the License, or (at
20 ;;; your option) any later version.
22 ;;; GNU Guix is distributed in the hope that it will be useful, but
23 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 ;;; GNU General Public License for more details.
27 ;;; You should have received a copy of the GNU General Public License
28 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30 (define-module (gnu packages lxqt)
31 #:use-module (guix download)
32 #:use-module (guix git-download)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix gexp)
35 #:use-module (guix packages)
36 #:use-module (guix utils)
37 #:use-module (guix build-system cmake)
38 #:use-module (guix build-system gnu)
39 #:use-module (guix build-system trivial)
40 #:use-module (gnu packages)
41 #:use-module (gnu packages admin)
42 #:use-module (gnu packages compression)
43 #:use-module (gnu packages documentation)
44 #:use-module (gnu packages compton)
45 #:use-module (gnu packages fonts)
46 #:use-module (gnu packages freedesktop)
47 #:use-module (gnu packages glib)
48 #:use-module (gnu packages gnome)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages image)
51 #:use-module (gnu packages kde-frameworks)
52 #:use-module (gnu packages kde-plasma)
53 #:use-module (gnu packages linux)
54 #:use-module (gnu packages perl)
55 #:use-module (gnu packages lxde)
56 #:use-module (gnu packages maths)
57 #:use-module (gnu packages openbox)
58 #:use-module (gnu packages pcre)
59 #:use-module (gnu packages photo)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages polkit)
62 #:use-module (gnu packages pulseaudio)
63 #:use-module (gnu packages qt)
64 #:use-module (gnu packages textutils)
65 #:use-module (gnu packages xdisorg)
66 #:use-module (gnu packages xml)
67 #:use-module (gnu packages xorg))
70 ;; Third party libraries
72 (define-public libstatgrab
79 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
80 name "-" version ".tar.gz"))
82 (base32 "04bcbln3qlilxsyh5hrwdrv7x4pfv2lkwdwa98bxfismd15am22n"))))
83 (build-system gnu-build-system)
85 '(#:configure-flags '("--enable-tests"
90 (home-page "https://www.i-scream.org/libstatgrab/")
91 (synopsis "Provides access to statistics about the system")
92 (description "libstatgrab is a library that provides cross platform access
93 to statistics about the system on which it's run.")
94 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
95 (license license:gpl2+)))
100 (define-public lxqt-build-tools
102 (name "lxqt-build-tools")
107 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
109 "/lxqt-build-tools-" version ".tar.xz"))
111 (base32 "0c4mm167hk0yihryi46d80ghxx2lwzkpivs4yj5wsfvdpbv5q1qh"))))
112 (build-system cmake-build-system)
115 #:tests? #f ; no tests
116 #:modules `((ice-9 regex)
117 (guix build cmake-build-system)
119 ;; In phases and configure-flags: Set LXQT_TRANSLATIONS_DIR,
120 ;; LXQT_DATA_DIR, etc. to relative paths, so that packages using
121 ;; LXQtConfigVars.cmake from lxqt-build-tools will install translations
122 ;; and data files into their outputs, remove the need to patch their
125 #~(modify-phases %standard-phases
126 (add-after 'install 'patch-LXQtConfigVars.cmake
128 (substitute* (string-append #$output
129 "/share/cmake/lxqt-build-tools"
130 "/modules/LXQtConfigVars.cmake")
131 (((regexp-quote (string-append #$output "/"))) "")))))
133 #~(list "-DLXQT_ETC_XDG_DIR=etc/xdg")))
135 (list pkg-config glib))
139 ;; Dependent projects require Perl via the CMake files.
141 (synopsis "LXQt Build tools")
143 "Lxqt-build-tools is providing several tools needed to build LXQt
144 itself as well as other components maintained by the LXQt project.")
145 (home-page "https://lxqt-project.org")
146 (license license:lgpl2.1+)))
148 (define-public libqtxdg
156 "https://github.com/lxqt/libqtxdg/releases/download/"
157 version "/libqtxdg-" version ".tar.xz"))
159 (base32 "18mz3mxcnz6awkkgxnfg5p43d4lv92vamxk1d0xzdxrp9symfd9v"))))
160 (build-system cmake-build-system)
164 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
166 (modify-phases %standard-phases
167 (add-before 'check 'pre-check
169 ;; Run the tests offscreen.
170 (setenv "QT_QPA_PLATFORM" "offscreen")
173 ;; required by Qt5XdgIconLoader.pc
174 (list glib qtbase-5 qtsvg-5))
176 (list lxqt-build-tools pkg-config))
177 (home-page "https://github.com/lxqt/libqtxdg")
178 (synopsis "Qt implementation of freedesktop.org xdg specifications")
179 (description "Libqtxdg implements the freedesktop.org xdg specifications
181 (license license:lgpl2.1+)))
183 (define-public qtxdg-tools
191 "https://github.com/lxqt/qtxdg-tools/releases/download/"
192 version "/qtxdg-tools-" version ".tar.xz"))
194 (base32 "0iyn0s2mck948vzlmq6hk4p93i9z59h50z6m2kdhzv9ck2axvlik"))))
195 (build-system cmake-build-system)
196 (arguments '(#:tests? #f)) ; no tests
197 (propagated-inputs (list libqtxdg))
198 (native-inputs (list lxqt-build-tools))
199 (home-page "https://github.com/lxqt/qtxdg-tools")
200 (synopsis "User tools for libqtxdg")
201 (description "This package contains a CLI MIME tool, @command{qtxdg-mat},
202 for handling file associations and opening files with their default
204 (license license:lgpl2.1+)))
206 (define-public liblxqt
214 "https://github.com/lxqt/" name "/releases/download/"
215 version "/" name "-" version ".tar.xz"))
217 (base32 "057cdxmz6kh3p1vpbwah4i99hdknh22w2w8wqfiws2d4n6wwiavz"))))
218 (build-system cmake-build-system)
220 `(#:tests? #f ; no tests
222 (modify-phases %standard-phases
223 (add-after 'unpack 'patch-source
225 (substitute* "CMakeLists.txt"
226 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
227 "DESTINATION \"share/polkit-1/actions"))
237 (list lxqt-build-tools qttools-5))
238 (home-page "https://lxqt-project.org")
239 (synopsis "Core utility library for all LXQt components")
240 (description "liblxqt provides the basic libraries shared by the
241 components of the LXQt desktop environment.")
242 (license license:lgpl2.1+)))
244 (define-public libsysstat
251 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
252 version "/" name "-" version ".tar.xz"))
254 (base32 "1ghkzgz3ypjii08f00g26pnmw0s5naf344p83dwnf3kfdlykiip6"))))
255 (build-system cmake-build-system)
256 (arguments '(#:tests? #f)) ; no tests
260 (list lxqt-build-tools))
261 (home-page "https://lxqt-project.org")
262 (synopsis "Library used to query system info and statistics")
263 (description "libsysstat is a library to query system information like CPU
264 and memory usage or network traffic.")
265 (license license:lgpl2.1+)))
270 (define-public lxqt-about
277 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
278 version "/" name "-" version ".tar.xz"))
280 (base32 "0xah1qhzr5q20dj637c91bjrv9gy0z65d3jv6pjsp1kz5cwa8gsr"))))
281 (build-system cmake-build-system)
290 (list lxqt-build-tools qttools-5))
292 '(#:tests? #f ; no tests
294 (modify-phases %standard-phases
295 (add-before 'build 'setenv
297 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
299 (home-page "https://lxqt-project.org")
300 (synopsis "Provides information about LXQt and the system")
301 (description "lxqt-about is a dialogue window providing information about
302 LXQt and the system it's running on.")
303 (license license:lgpl2.1+)))
305 (define-public lxqt-admin
312 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
313 version "/" name "-" version ".tar.xz"))
315 (base32 "1bjmarrra43gcnzi8i0g0lcam12hhgr2yi8dji6klmrcp4k67y89"))))
316 (build-system cmake-build-system)
325 (list lxqt-build-tools qttools-5))
327 '(#:tests? #f ; no tests
329 (modify-phases %standard-phases
330 (add-after 'unpack 'patch-source
332 (substitute* '("lxqt-admin-user/CMakeLists.txt"
333 "lxqt-admin-time/CMakeLists.txt")
334 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
335 "DESTINATION \"share/polkit-1/actions"))
337 (home-page "https://lxqt-project.org")
338 (synopsis "LXQt system administration tool")
339 (description "lxqt-admin is providing two GUI tools to adjust settings of
340 the operating system LXQt is running on.")
341 (license license:lgpl2.1+)))
343 (define-public lxqt-config
350 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
351 version "/" name "-" version ".tar.xz"))
353 (base32 "0h0n5an1pp3k50g4p2dxymy0lsnsh7m46gb22ndam69hdkflw71y"))))
354 (build-system cmake-build-system)
370 (list pkg-config lxqt-build-tools qttools-5))
371 ;; XXX: This is a workaround so libkscreen can find the backends as we
372 ;; dont have a way specify them. We may want to patch like Nix does.
376 '(#:tests? #f ; no tests
378 (modify-phases %standard-phases
379 (add-after 'unpack 'set-xkeyboard-config-file-name
380 (lambda* (#:key inputs #:allow-other-keys)
381 ;; Set the file name to xkeyboard-config.
382 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
383 (substitute* "lxqt-config-input/keyboardlayoutconfig.h"
384 (("/usr/share/X11/xkb/rules/base.lst")
385 (string-append xkb "/share/X11/xkb/rules/base.lst")))
387 (home-page "https://lxqt-project.org")
388 (synopsis "Tools to configure LXQt and the underlying operating system")
389 (description "lxqt-config is providing several tools involved in the
390 configuration of both LXQt and the underlying operating system.")
391 (license license:lgpl2.1+)))
393 (define-public lxqt-globalkeys
395 (name "lxqt-globalkeys")
400 (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
401 "releases/download/" version "/"
402 "lxqt-globalkeys-" version ".tar.xz"))
404 (base32 "1s49b8kly027f3amxcf2bx8id3jmmrl8365x7676bd8x2g5v3va2"))))
405 (build-system cmake-build-system)
414 (list pkg-config qttools-5 lxqt-build-tools))
415 (arguments '(#:tests? #f)) ; no tests
416 (home-page "https://lxqt-project.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 "1qlvk12ldqwxskxy283h6yqhn8rp29vynqs1lhwn8byli792nb7y"))))
434 (build-system cmake-build-system)
443 (list lxqt-build-tools qttools-5))
444 (arguments '(#:tests? #f)) ; no test target
445 (home-page "https://lxqt-project.org")
446 (synopsis "The LXQt notification daemon")
447 (description "lxqt-notificationd is LXQt's implementation of a daemon
448 according to the Desktop Notifications Specification.")
449 (license license:lgpl2.1+)))
451 (define-public lxqt-openssh-askpass
453 (name "lxqt-openssh-askpass")
458 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
459 version "/" name "-" version ".tar.xz"))
461 (base32 "0w662issh8cagmza881wdrxbngn33w8shp0jvzna1f8pf9g9f7bj"))))
462 (build-system cmake-build-system)
471 (list lxqt-build-tools qttools-5))
472 (arguments '(#:tests? #f)) ; no tests
473 (home-page "https://lxqt-project.org")
474 (synopsis "GUI to query passwords on behalf of SSH agents")
475 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
477 (license license:lgpl2.1+)))
479 (define-public lxqt-panel
486 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
487 version "/" name "-" version ".tar.xz"))
489 (base32 "1m0mm07ydmdlyyi6s4q1cwpxp609kcyc3gcmwbmyf0smadan3yd8"))))
490 (build-system cmake-build-system)
516 (list pkg-config lxqt-build-tools qttools-5))
518 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
519 ;; shows up in lxqt-panel's taskbar plugin.
520 (list kwindowsystem lxmenu-data))
522 '(#:tests? #f ; no tests
524 (modify-phases %standard-phases
525 (add-after 'unpack 'set-xkeyboard-config-file-path
526 (lambda* (#:key inputs #:allow-other-keys)
527 ;; Set the path to xkeyboard-config.
528 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
529 (substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
530 (("/usr/share/X11/xkb/rules/evdev.xml")
531 (string-append xkb "/share/X11/xkb/rules/evdev.xml")))
533 (home-page "https://lxqt-project.org")
534 (synopsis "The LXQt desktop panel")
535 (description "lxqt-panel represents the taskbar of LXQt.")
536 (license license:lgpl2.1+)))
538 (define-public lxqt-policykit
540 (name "lxqt-policykit")
545 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
546 version "/" name "-" version ".tar.xz"))
548 (base32 "150ggcfprascnwgsz721vnmay9cbar9annlhp6h2yzkl69iyc49r"))))
549 (build-system cmake-build-system)
560 (list pkg-config polkit lxqt-build-tools qttools-5))
561 (arguments '(#:tests? #f)) ; no test target
562 (home-page "https://lxqt-project.org")
563 (synopsis "The LXQt PolicyKit agent")
564 (description "lxqt-policykit is the polkit authentication agent of
566 (license license:lgpl2.1+)))
568 (define-public lxqt-powermanagement
570 (name "lxqt-powermanagement")
575 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
576 version "/" name "-" version ".tar.xz"))
578 (base32 "0zy6abbf3iwrxsr18gbxidb4m5spsigpa2778xg7y9r7fwgmqqkk"))))
579 (build-system cmake-build-system)
591 (list lxqt-build-tools qttools-5))
592 (arguments '(#:tests? #f)) ; no tests
593 (home-page "https://lxqt-project.org")
594 (synopsis "Power management module for LXQt")
595 (description "lxqt-powermanagement is providing tools to monitor power
596 management events and optionally trigger actions like e. g. shut down a system
597 when laptop batteries are low on power.")
598 (license license:lgpl2.1+)))
600 (define-public lxqt-qtplugin
602 (name "lxqt-qtplugin")
607 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
608 version "/" name "-" version ".tar.xz"))
610 (base32 "1zw79lnm35gj3dyd4vlnk08n1lnr8391n36nbn81d0fgmvs21yx4"))))
611 (build-system cmake-build-system)
620 (list lxqt-build-tools qttools-5))
622 '(#:tests? #f ; no tests
624 (modify-phases %standard-phases
625 (add-after 'unpack 'patch-source
627 (substitute* '("src/CMakeLists.txt")
628 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
629 "DESTINATION \"lib/qt5/plugins"))
631 (home-page "https://lxqt-project.org")
632 (synopsis "LXQt Qt platform integration plugin")
633 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
635 (license license:lgpl2.1+)))
637 (define-public lxqt-runner
644 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
645 version "/" name "-" version ".tar.xz"))
647 (base32 "1wfng8g28mq97ibrgpfbj353i15vdimmjp83pfqrmkddx0yvzcdv"))))
648 (build-system cmake-build-system)
660 (list pkg-config qttools-5 lxqt-build-tools))
661 (arguments '(#:tests? #f)) ; no tests
662 (home-page "https://lxqt-project.org")
663 (synopsis "Tool used to launch programs quickly by typing their names")
664 (description "lxqt-runner provides a GUI that comes up on the desktop and
665 allows for launching applications or shutting down the system.")
666 (license license:lgpl2.1+)))
668 (define-public lxqt-session
670 (name "lxqt-session")
675 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
676 version "/" name "-" version ".tar.xz"))
678 (base32 "0j8q5jfpb2l0vvji3xs8y0jcr792z6sxzj111qqvmdrbpxrkwxnw"))))
679 (build-system cmake-build-system)
691 (list pkg-config lxqt-build-tools qttools-5))
695 (modify-phases %standard-phases
696 (add-after 'unpack 'patch-source
697 (lambda* (#:key outputs #:allow-other-keys)
698 (let ((out (assoc-ref outputs "out")))
699 (substitute* '("xsession/lxqt.desktop.in")
700 (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt"))
701 (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt"))))))
703 (add-after 'unpack 'patch-openbox-permission
705 (substitute* "startlxqt.in"
706 ;; Don't add 'etc/xdg' to XDG_CONFIG_DIRS, and 'share' to XDG_DATA_DIRS.
707 (("! contains .*;") "false;")
708 ;; Add write permission to lxqt-rc.xml file which is stored as
709 ;; read-only in store.
710 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
711 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
712 " # fix openbox permission issue\n"
713 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*"))))))))
715 (list (search-path-specification
716 ;; LXQt applications install their default config files into
717 ;; 'share/lxqt' and search them from XDG_CONFIG_DIRS/lxqt.
718 (variable "XDG_CONFIG_DIRS")
719 (files '("share")))))
720 (home-page "https://lxqt-project.org")
721 (synopsis "Session manager for LXQt")
722 (description "lxqt-session provides the standard session manager
723 for the LXQt desktop environment.")
724 (license license:lgpl2.1+)))
726 (define-public lxqt-sudo
733 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
734 version "/" name "-" version ".tar.xz"))
736 (base32 "064w40v43m91y9aywxxf2pj5rpcl4gbsgj7dv97pg4vhj9s790b8"))))
737 (build-system cmake-build-system)
747 (list pkg-config qttools-5 lxqt-build-tools))
748 (arguments '(#:tests? #f)) ; no tests
749 (home-page "https://lxqt-project.org")
750 (synopsis "GUI frontend for sudo/su")
751 (description "lxqt-sudo is a graphical front-end of commands sudo and su
752 respectively. As such it enables regular users to launch applications with
753 permissions of other users including root.")
754 (license license:lgpl2.1+)))
756 (define-public lxqt-themes
763 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
764 version "/" name "-" version ".tar.xz"))
766 (base32 "18zrp2j0xpsrzy6m2dw8k55zczcc9jzavncasrp5j1dxscnzwrcr"))))
767 (build-system cmake-build-system)
769 (list lxqt-build-tools))
770 (arguments '(#:tests? #f)) ; no tests
771 (home-page "https://lxqt-project.org")
772 (synopsis "Themes, graphics and icons for LXQt")
773 (description "This package comprises a number of graphic files and themes
775 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
776 ;; licensed under CC-BY-SA 3.0.
777 (license license:lgpl2.1+)))
782 (define-public libfm-qt
789 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
790 version "/" name "-" version ".tar.xz"))
792 (base32 "0b423s6bkwijjrh14wca49ypz79sxci9lalxc5s29vwbhync09x0"))))
793 (build-system cmake-build-system)
795 '(#:tests? #f)) ; no tests
806 (list pkg-config lxqt-build-tools qttools-5))
807 (home-page "https://lxqt-project.org")
808 (synopsis "Qt binding for libfm")
809 (description "libfm-qt is the Qt port of libfm, a library providing
810 components to build desktop file managers which belongs to LXDE.")
811 (license license:lgpl2.1+)))
813 (define-public pcmanfm-qt
820 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
821 version "/" name "-" version ".tar.xz"))
823 (base32 "1k44a659mval4513p4yv63hqrbg9jqc8vrinl4mx5aja33pww5yg"))))
824 (build-system cmake-build-system)
827 #:tests? #f ; no tests
829 #~(modify-phases %standard-phases
830 (add-before 'configure 'patch-settings.conf.in
831 (lambda* (#:key inputs #:allow-other-keys)
832 (let ((wallpaper (search-input-file inputs
833 "share/lxqt/wallpapers/waves-logo.png")))
834 (substitute* "config/pcmanfm-qt/lxqt/settings.conf.in"
836 (string-append "Wallpaper=" wallpaper "\n")))))))))
838 (list libfm-qt qtbase-5 qtx11extras lxqt-themes))
840 (list pkg-config qttools-5 lxqt-build-tools))
841 (home-page "https://lxqt-project.org")
842 (synopsis "File manager and desktop icon manager")
843 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
845 (license license:gpl2+)))
850 (define-public compton-conf
852 (name "compton-conf")
857 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
858 version "/" name "-" version ".tar.xz"))
860 (base32 "0haarzhndjp0wndfhcdy6zl2whpdn3w0qzr3rr137kfqibc58lvx"))))
861 (build-system cmake-build-system)
863 (list libconfig qtbase-5))
865 (list lxqt-build-tools pkg-config qttools-5))
866 (arguments '(#:tests? #f)) ; no tests
867 (home-page "https://lxqt-project.org")
868 (synopsis "GUI configuration tool for compton X composite manager")
869 (description "@code{compton-conf} is a configuration tool for X composite
871 (license license:lgpl2.1+)))
873 (define-public lximage-qt
880 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
881 version "/" name "-" version ".tar.xz"))
883 (base32 "0nal8n7nmkafapdbcs9c8rk313md2fak4xjl9m56n10dxcjpi2wb"))))
884 (build-system cmake-build-system)
886 (list libexif libfm-qt qtbase-5 qtsvg-5 qtx11extras))
888 (list pkg-config lxqt-build-tools qttools-5))
890 '(#:tests? #f)) ; no tests
891 (home-page "https://lxqt-project.org")
892 (synopsis "The image viewer and screenshot tool for lxqt")
893 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
895 (license license:gpl2+)))
897 (define-public obconf-qt
904 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
905 version "/" name "-" version ".tar.xz"))
907 (base32 "0q29f77dkwy005gzrmn2wj2ga1hdnfd2gwp05h72i2dj0qbdla3k"))))
908 (build-system cmake-build-system)
921 (list lxqt-build-tools pkg-config qttools-5))
923 '(#:tests? #f)) ; no tests
924 (home-page "https://lxqt-project.org")
925 (synopsis "Openbox configuration tool")
926 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
927 window manager OpenBox.")
928 (license license:gpl2+)))
930 (define-public pavucontrol-qt
932 (name "pavucontrol-qt")
937 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
938 version "/" name "-" version ".tar.xz"))
940 (base32 "0y3ql25cmg1cmzjvadf7zcb58hh69gcslvr944sxxhaqp4daz10v"))))
941 (build-system cmake-build-system)
943 (list glib pcre pulseaudio qtbase-5 qtx11extras))
945 (list pkg-config lxqt-build-tools qttools-5))
947 '(#:tests? #f)) ; no tests
948 (home-page "https://lxqt-project.org")
949 (synopsis "Pulseaudio mixer in Qt")
950 (description "@code{pavucontrol-qt} is the Qt port of volume control
951 @code{pavucontrol} of sound server @code{PulseAudio}.")
952 (license license:gpl2+)))
961 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
962 version "/" name "-" version ".tar.xz"))
964 (base32 "16ybq07xpkl22mszakc1175xlqcayyj21i2h6wlxb8bmb7csg30n"))))
965 (build-system cmake-build-system)
974 (list lxqt-build-tools qttools-5))
976 '(#:tests? #f)) ; no tests
977 (home-page "https://lxqt-project.org")
978 (synopsis "Qt-based visual process status monitor")
979 (description "@code{qps} is a monitor that displays the status of the
980 processes currently in existence, much like code{top} or code{ps}.")
981 (license license:gpl2+)))
983 (define-public qtermwidget
990 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
991 version "/" name "-" version ".tar.xz"))
993 (base32 "1m64c1m8dkb06fgfk09da2anjspphph6qdk41rqhds2qymh090v4"))))
994 (build-system cmake-build-system)
996 (list qtbase-5 utf8proc))
998 (list lxqt-build-tools qttools-5))
1000 '(#:tests? #f)) ; no tests
1001 (home-page "https://lxqt-project.org")
1002 (synopsis "The terminal widget for QTerminal")
1003 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1004 (license license:gpl2+)))
1006 (define-public qterminal
1013 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1014 version "/" name "-" version ".tar.xz"))
1016 (base32 "0px42vvmxf3lgd5wwxl260nm18a46943iiqhhmjb0l4xi5s0lhfr"))))
1017 (build-system cmake-build-system)
1019 (list qtbase-5 qtx11extras qtermwidget))
1021 (list lxqt-build-tools qttools-5))
1023 '(#:tests? #f)) ; no tests
1024 (home-page "https://lxqt-project.org")
1025 (synopsis "Lightweight Qt-based terminal emulator")
1026 (description "QTerminal is a lightweight Qt terminal emulator based on
1028 (license license:gpl2+)))
1030 (define-public screengrab
1037 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1038 version "/screengrab-" version ".tar.xz"))
1040 (base32 "14kh287d70v1lpd5w8pji88nmw3jd44q4h927vnszrkv6bwplzx7"))))
1041 (build-system cmake-build-system)
1043 (list kwindowsystem libqtxdg qtbase-5 qtsvg-5 qtx11extras))
1045 (list pkg-config perl qttools-5))
1047 '(#:tests? #f)) ; no tests
1048 (home-page "https://lxqt-project.org")
1049 (synopsis "Crossplatform tool for fast making screenshots")
1050 (description "ScreenGrab is a program for fast creating screenshots, and
1051 easily publishing them on internet image hosting services.")
1052 (license license:gpl2+)))
1055 (define-public lxqt-archiver
1057 (name "lxqt-archiver")
1062 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1063 version "/" name "-" version ".tar.xz"))
1065 (base32 "0vd4klwmg4rr0z4zilv6djd3mfin73hdf6jpw3fsrn24yncg7kgq"))))
1066 (build-system cmake-build-system)
1068 (list glib json-glib libfm-qt qtbase-5 qtx11extras))
1070 (list pkg-config lxqt-build-tools qttools-5))
1073 (home-page "https://lxqt-project.org")
1074 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1076 "This package provides a Qt graphical interface to archiving programs
1077 like @command{tar} and @command{zip}.")
1078 (license license:gpl2+)))
1080 (define-public lxqt-connman-applet
1081 ;; since the main developers didn't release any version yet, their
1082 ;; latest commit on `master` branch at the moment used for this version.
1083 (let ((commit "db1618d58fd3439142c4e44b24cba0dbb68b7141")
1086 (name "lxqt-connman-applet")
1087 (version (git-version "0.15.0" revision commit))
1092 (url (string-append "https://github.com/lxqt/" name))
1094 (file-name (git-file-name name version))
1096 (base32 "087641idpg7n8yhh5biis4wv52ayw3rddirwqb34bf5fwj664pw9"))))
1097 (build-system cmake-build-system)
1106 `(("lxqt-build-tools" ,lxqt-build-tools)
1107 ("qtlinguist" ,qttools-5)))
1109 `(#:tests? #f ; no tests
1111 (modify-phases %standard-phases
1112 (add-after 'unpack 'remove-definitions
1114 (substitute* "CMakeLists.txt"
1115 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1116 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1117 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1119 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1120 (synopsis "System-tray applet for connman")
1121 (description "This package provides a Qt-based system-tray applet for
1122 the network management tool Connman, originally developed for the LXQT
1124 (license license:lgpl2.1+))))
1126 ;; The LXQt Desktop Environment
1133 (build-system trivial-build-system)
1134 (arguments '(#:builder (begin (mkdir %output) #t)))
1142 ;; TODO: qtsvg-5 is needed for lxqt apps to display icons. Maybe it
1143 ;; should be added to their propagated-inputs?
1151 lxqt-openssh-askpass
1154 lxqt-powermanagement
1167 breeze-icons ; default by <lxqt-session>/share/lxqt/lxqt.conf
1171 (synopsis "The Lightweight Qt Desktop Environment")
1172 (description "LXQt is a lightweight Qt desktop environment.")
1173 (home-page "https://lxqt-project.org")
1174 (license license:gpl2+)))