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 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>
14 ;;; This file is part of GNU Guix.
16 ;;; GNU Guix is free software; you can redistribute it and/or modify it
17 ;;; under the terms of the GNU General Public License as published by
18 ;;; the Free Software Foundation; either version 3 of the License, or (at
19 ;;; your option) any later version.
21 ;;; GNU Guix is distributed in the hope that it will be useful, but
22 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 ;;; GNU General Public License for more details.
26 ;;; You should have received a copy of the GNU General Public License
27 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29 (define-module (gnu packages lxqt)
30 #:use-module (guix download)
31 #:use-module (guix git-download)
32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix packages)
34 #:use-module (guix utils)
35 #:use-module (guix build-system cmake)
36 #:use-module (guix build-system gnu)
37 #:use-module (guix build-system trivial)
38 #:use-module (gnu packages)
39 #:use-module (gnu packages admin)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages documentation)
42 #:use-module (gnu packages compton)
43 #:use-module (gnu packages fonts)
44 #:use-module (gnu packages freedesktop)
45 #:use-module (gnu packages glib)
46 #:use-module (gnu packages gnome)
47 #:use-module (gnu packages gtk)
48 #:use-module (gnu packages image)
49 #:use-module (gnu packages kde-frameworks)
50 #:use-module (gnu packages kde-plasma)
51 #:use-module (gnu packages linux)
52 #:use-module (gnu packages perl)
53 #:use-module (gnu packages lxde)
54 #:use-module (gnu packages maths)
55 #:use-module (gnu packages openbox)
56 #:use-module (gnu packages pcre)
57 #:use-module (gnu packages photo)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages polkit)
60 #:use-module (gnu packages pulseaudio)
61 #:use-module (gnu packages qt)
62 #:use-module (gnu packages textutils)
63 #:use-module (gnu packages xdisorg)
64 #:use-module (gnu packages xml)
65 #:use-module (gnu packages xorg))
68 ;; Third party libraries
70 (define-public libdbusmenu-qt
72 (name "libdbusmenu-qt")
73 (version "0.9.3+16.04.20160218-0ubuntu1")
77 ;; Download from github rather than launchpad because launchpad trunk
78 ;; tarball hash is not deterministic.
80 (url "https://github.com/unity8-team/libdbusmenu-qt")
82 (file-name (git-file-name name version))
84 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
85 (build-system cmake-build-system)
87 ;; XXX: Tests require a dbus session and some icons.
90 `(("doxygen" ,doxygen)))
92 `(("qtbase" ,qtbase)))
93 (home-page "https://launchpad.net/libdbusmenu-qt")
94 (synopsis "Qt implementation of the DBusMenu spec")
95 (description "This library provides a Qt implementation of the DBusMenu
96 protocol. The DBusMenu protocol makes it possible for applications to export
97 and import their menus over DBus.")
98 (license license:lgpl2.1+)))
100 (define-public libstatgrab
107 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
108 name "-" version ".tar.gz"))
110 (base32 "15m1sl990l85ijf8pnc6hdfha6fqyiq74mijrzm3xz4zzxm91wav"))))
111 (build-system gnu-build-system)
113 '(#:configure-flags '("--enable-tests")))
117 (home-page "https://www.i-scream.org/libstatgrab/")
118 (synopsis "Provides access to statistics about the system")
119 (description "libstatgrab is a library that provides cross platform access
120 to statistics about the system on which it's run.")
121 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
122 (license license:gpl2+)))
127 (define-public lxqt-build-tools
129 (name "lxqt-build-tools")
134 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
136 "/lxqt-build-tools-" version ".tar.xz"))
138 (base32 "147vdkc25mrlr0fy785yzwhm4gwjxa5xl3n3hljz4c97m531kzl5"))))
139 (build-system cmake-build-system)
141 `(#:tests? #f ; no tests
143 ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
144 ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
145 ;; LXQT_ETC_XDG_DIR in its "Technical Info".
146 '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
147 "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
149 `(("pkg-config" ,pkg-config)
152 `(("qtbase" ,qtbase)))
153 (synopsis "LXQt Build tools")
155 "Lxqt-build-tools is providing several tools needed to build LXQt
156 itself as well as other components maintained by the LXQt project.")
157 (home-page "https://lxqt.github.io")
158 (license license:lgpl2.1+)))
160 (define-public libqtxdg
168 "https://github.com/lxqt/libqtxdg/releases/download/"
169 version "/libqtxdg-" version ".tar.xz"))
171 (base32 "0g2mwipgl8737jhgqymjixvk745svh2rlini3qr92lrg60v9paa1"))))
172 (build-system cmake-build-system)
176 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
178 (modify-phases %standard-phases
179 (add-before 'check 'pre-check
181 ;; Run the tests offscreen.
182 (setenv "QT_QPA_PLATFORM" "offscreen")
185 ;; required by Qt5XdgIconLoader.pc
190 `(("lxqt-build-tools" ,lxqt-build-tools)
191 ("pkg-config" ,pkg-config)))
192 (home-page "https://github.com/lxqt/libqtxdg")
193 (synopsis "Qt implementation of freedesktop.org xdg specifications")
194 (description "Libqtxdg implements the freedesktop.org xdg specifications
196 (license license:lgpl2.1+)))
198 (define-public liblxqt
206 "https://github.com/lxqt/" name "/releases/download/"
207 version "/" name "-" version ".tar.xz"))
209 (base32 "0mg62gypjpmpjd3lr7rrvzmkkhli1vf5pri47hg76byz84vng4a9"))))
210 (build-system cmake-build-system)
212 `(#:tests? #f ; no tests
214 (modify-phases %standard-phases
215 (add-after 'unpack 'patch-source
217 (substitute* "CMakeLists.txt"
218 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
219 "DESTINATION \"share/polkit-1/actions"))
221 (add-after 'unpack 'patch-translations-dir
222 (lambda* (#:key outputs #:allow-other-keys)
223 (substitute* "CMakeLists.txt"
224 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
225 (string-append (assoc-ref outputs "out")
226 "/share/lxqt/translations")))
229 `(("kwindowsystem" ,kwindowsystem)
230 ("libqtxdg" ,libqtxdg)
231 ("libxscrnsaver" ,libxscrnsaver)
232 ("polkit-qt" ,polkit-qt)
234 ("qtx11extras" ,qtx11extras)))
236 `(("lxqt-build-tools" ,lxqt-build-tools)
237 ("qttools" ,qttools)))
238 (home-page "https://lxqt.github.io")
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 "1s5s7skzy3sh4rlnfy7r0cg3r1scvp35ldd28bhnqjya99m7ip37"))))
255 (build-system cmake-build-system)
256 (arguments '(#:tests? #f)) ; no tests
258 `(("qtbase" ,qtbase)))
260 `(("lxqt-build-tools" ,lxqt-build-tools)))
261 (home-page "https://lxqt.github.io")
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 "0p24z1vykyp8dkhwaxxi4hw5150yv9a2ncc55vbwx4c6bmmibmsh"))))
281 (build-system cmake-build-system)
283 `(("kwindowsystem" ,kwindowsystem)
285 ("libqtxdg" ,libqtxdg)
288 ("qtx11extras" ,qtx11extras)))
290 `(("lxqt-build-tools" ,lxqt-build-tools)
291 ("qttools" ,qttools)))
293 '(#:tests? #f ; no tests
295 (modify-phases %standard-phases
296 (add-before 'build 'setenv
298 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
300 (add-after 'unpack 'patch-translations-dir
301 (lambda* (#:key outputs #:allow-other-keys)
302 (substitute* "CMakeLists.txt"
303 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
304 (string-append (assoc-ref outputs "out")
305 "/share/lxqt/translations")))
307 (home-page "https://lxqt.github.io")
308 (synopsis "Provides information about LXQt and the system")
309 (description "lxqt-about is a dialogue window providing information about
310 LXQt and the system it's running on.")
311 (license license:lgpl2.1+)))
313 (define-public lxqt-admin
320 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
321 version "/" name "-" version ".tar.xz"))
323 (base32 "1zal37hyzqimwsymmi3w15n1iq78g53754s8abc9ylkzc236xpfc"))))
324 (build-system cmake-build-system)
326 `(("kwindowsystem" ,kwindowsystem)
328 ("libqtxdg" ,libqtxdg)
329 ("polkit-qt" ,polkit-qt)
331 ("qtx11extras" ,qtx11extras)))
333 `(("lxqt-build-tools" ,lxqt-build-tools)
334 ("qttools" ,qttools)))
336 '(#:tests? #f ; no tests
338 (modify-phases %standard-phases
339 (add-after 'unpack 'patch-source
341 (substitute* "lxqt-admin-user/CMakeLists.txt"
342 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
343 "DESTINATION \"share/polkit-1/actions"))
345 (add-after 'unpack 'patch-translations-dir
346 (lambda* (#:key outputs #:allow-other-keys)
347 (substitute* '("lxqt-admin-time/CMakeLists.txt"
348 "lxqt-admin-user/CMakeLists.txt")
349 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
350 (string-append (assoc-ref outputs "out")
351 "/share/lxqt/translations")))
353 (home-page "https://lxqt.github.io")
354 (synopsis "LXQt system administration tool")
355 (description "lxqt-admin is providing two GUI tools to adjust settings of
356 the operating system LXQt is running on.")
357 (license license:lgpl2.1+)))
359 (define-public lxqt-config
366 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
367 version "/" name "-" version ".tar.xz"))
369 (base32 "18fagd6ynmx74qw0pjkkg2n3v6s18n6lcsbj7lvfd4lkbcfnzqpb"))))
370 (build-system cmake-build-system)
373 ("kwindowsystem" ,kwindowsystem)
374 ("libkscreen" ,libkscreen)
376 ("libqtxdg" ,libqtxdg)
377 ("libxcursor" ,libxcursor)
381 ("qtx11extras" ,qtx11extras)
383 ("xf86-input-libinput" ,xf86-input-libinput)
384 ("xkeyboard-config" ,xkeyboard-config)
387 `(("pkg-config" ,pkg-config)
388 ("lxqt-build-tools" ,lxqt-build-tools)
389 ("qttools" ,qttools)))
391 '(#:tests? #f ; no tests
393 (modify-phases %standard-phases
394 (add-after 'unpack 'patch-source
396 (substitute* '("src/CMakeLists.txt")
397 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
398 "DESTINATION \"etc/xdg"))
400 (add-after 'unpack 'set-xkeyboard-config-file-name
401 (lambda* (#:key inputs #:allow-other-keys)
402 ;; Set the file name to xkeyboard-config.
403 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
404 (substitute* "lxqt-config-input/keyboardlayoutconfig.h"
405 (("/usr/share/X11/xkb/rules/base.lst")
406 (string-append xkb "/share/X11/xkb/rules/base.lst")))
408 (add-after 'unpack 'patch-translations-dir
409 (lambda* (#:key outputs #:allow-other-keys)
410 (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
411 "lxqt-config-brightness/CMakeLists.txt"
412 "lxqt-config-appearance/CMakeLists.txt"
413 "lxqt-config-locale/CMakeLists.txt"
414 "lxqt-config-monitor/CMakeLists.txt"
415 "lxqt-config-input/CMakeLists.txt"
416 "liblxqt-config-cursor/CMakeLists.txt"
417 "src/CMakeLists.txt")
418 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
419 (string-append (assoc-ref outputs "out")
420 "/share/lxqt/translations")))
422 (home-page "https://lxqt.github.io")
423 (synopsis "Tools to configure LXQt and the underlying operating system")
424 (description "lxqt-config is providing several tools involved in the
425 configuration of both LXQt and the underlying operating system.")
426 (license license:lgpl2.1+)))
428 (define-public lxqt-globalkeys
430 (name "lxqt-globalkeys")
435 (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
436 "releases/download/" version "/"
437 "lxqt-globalkeys-" version ".tar.xz"))
439 (base32 "1wfvpvy32p60j7xibfa30skzxx2187qrsqxm1npabj1y5bva2m6f"))))
440 (build-system cmake-build-system)
442 `(("kwindowsystem" ,kwindowsystem)
444 ("libqtxdg" ,libqtxdg)
447 ("qtx11extras" ,qtx11extras)))
449 `(("pkg-config" ,pkg-config)
451 ("lxqt-build-tools" ,lxqt-build-tools)))
453 '(#:tests? #f ; no tests
455 (modify-phases %standard-phases
456 (add-after 'unpack 'patch-source
458 (substitute* '("autostart/CMakeLists.txt"
459 "xdg/CMakeLists.txt")
460 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
461 "DESTINATION \"etc/xdg"))
463 (add-after 'unpack 'patch-translations-dir
464 (lambda* (#:key outputs #:allow-other-keys)
465 (substitute* "config/CMakeLists.txt"
466 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
467 (string-append (assoc-ref outputs "out")
468 "/share/lxqt/translations")))
470 (home-page "https://lxqt.github.io")
471 (synopsis "Daemon used to register global keyboard shortcuts")
472 (description "lxqt-globalkeys is providing tools to set global keyboard
473 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
474 as a whole and are not limited to distinct applications.")
475 (license license:lgpl2.1+)))
477 (define-public lxqt-notificationd
479 (name "lxqt-notificationd")
484 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
485 version "/" name "-" version ".tar.xz"))
487 (base32 "01fva6q2vb0aframxgm0jslvb3z0dcwmhz0yr239bskvdwpn885w"))))
488 (build-system cmake-build-system)
490 `(("kwindowsystem" ,kwindowsystem)
492 ("libqtxdg" ,libqtxdg)
495 ("qtx11extras" ,qtx11extras)))
497 `(("lxqt-build-tools" ,lxqt-build-tools)
498 ("qttools" ,qttools)))
500 '(#:tests? #f ; no test target
502 (modify-phases %standard-phases
503 (add-after 'unpack 'patch-source
505 (substitute* '("autostart/CMakeLists.txt")
506 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
507 "DESTINATION \"etc/xdg"))
509 (add-after 'unpack 'patch-translations-dir
510 (lambda* (#:key outputs #:allow-other-keys)
511 (substitute* '("config/CMakeLists.txt"
512 "src/CMakeLists.txt")
513 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
514 (string-append (assoc-ref outputs "out")
515 "/share/lxqt/translations")))
517 (home-page "https://lxqt.github.io")
518 (synopsis "The LXQt notification daemon")
519 (description "lxqt-notificationd is LXQt's implementation of a daemon
520 according to the Desktop Notifications Specification.")
521 (license license:lgpl2.1+)))
523 (define-public lxqt-openssh-askpass
525 (name "lxqt-openssh-askpass")
530 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
531 version "/" name "-" version ".tar.xz"))
533 (base32 "1h8nhj4ig8419kfdqjsig16ayf2byrzgrk698aiym544n5ayjwak"))))
534 (build-system cmake-build-system)
536 `(("kwindowsystem" ,kwindowsystem)
538 ("libqtxdg" ,libqtxdg)
541 ("qtx11extras" ,qtx11extras)))
543 `(("lxqt-build-tools" ,lxqt-build-tools)
544 ("qttools" ,qttools)))
546 '(#:tests? #f ; no tests
548 (modify-phases %standard-phases
549 (add-after 'unpack 'patch-translations-dir
550 (lambda* (#:key outputs #:allow-other-keys)
551 (substitute* "CMakeLists.txt"
552 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
553 (string-append (assoc-ref outputs "out")
554 "/share/lxqt/translations")))
556 (home-page "https://lxqt.github.io")
557 (synopsis "GUI to query passwords on behalf of SSH agents")
558 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
560 (license license:lgpl2.1+)))
562 (define-public lxqt-panel
569 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
570 version "/" name "-" version ".tar.xz"))
572 (base32 "1b40l9p31nz96q38vwgd1zj142xcwqnjwljsird4nnzs2smjn1c6"))))
573 (build-system cmake-build-system)
575 `(("alsa-lib" ,alsa-lib)
576 ("kguiaddons" ,kguiaddons)
577 ("libdbusmenu-qt" ,libdbusmenu-qt)
579 ("libqtxdg" ,libqtxdg)
580 ("libstatgrab" ,libstatgrab)
581 ("libsysstat" ,libsysstat)
582 ("libxcomposite" ,libxcomposite)
583 ("libxdamage" ,libxdamage)
584 ("libxkbcommon" ,libxkbcommon)
585 ("libxrender" ,libxrender)
586 ("lm-sensors" ,lm-sensors "lib")
587 ("lxqt-globalkeys" ,lxqt-globalkeys)
589 ("pulseaudio" ,pulseaudio)
592 ("qtx11extras" ,qtx11extras)
594 ("xcb-util" ,xcb-util)
595 ("xkeyboard-config" ,xkeyboard-config)))
597 `(("pkg-config" ,pkg-config)
598 ("lxqt-build-tools" ,lxqt-build-tools)
599 ("qttools" ,qttools)))
601 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
602 ;; shows up in lxqt-panel's taskbar plugin.
603 `(("kwindowsystem" ,kwindowsystem)
604 ("lxmenu-data" ,lxmenu-data)))
606 '(#:tests? #f ; no tests
608 (modify-phases %standard-phases
609 (add-after 'unpack 'patch-source
611 (substitute* '("autostart/CMakeLists.txt"
612 "menu/CMakeLists.txt")
613 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
614 "DESTINATION \"etc/xdg"))
616 (add-after 'unpack 'patch-translations-dir
617 (lambda* (#:key outputs #:allow-other-keys)
618 (substitute* '("cmake/BuildPlugin.cmake"
619 "panel/CMakeLists.txt")
620 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
621 (string-append (assoc-ref outputs "out")
622 "/share/lxqt/translations")))
624 (add-after 'unpack 'set-xkeyboard-config-file-path
625 (lambda* (#:key inputs #:allow-other-keys)
626 ;; Set the path to xkeyboard-config.
627 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
628 (substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
629 (("/usr/share/X11/xkb/rules/evdev.xml")
630 (string-append xkb "/share/X11/xkb/rules/evdev.xml")))
632 (home-page "https://lxqt.github.io")
633 (synopsis "The LXQt desktop panel")
634 (description "lxqt-panel represents the taskbar of LXQt.")
635 (license license:lgpl2.1+)))
637 (define-public lxqt-policykit
639 (name "lxqt-policykit")
644 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
645 version "/" name "-" version ".tar.xz"))
647 (base32 "0kzc9mxl47bz6mifmk4xi9sxh7jl31d55j7cq8vijqg3w1yb5rp2"))))
648 (build-system cmake-build-system)
650 `(("kwindowsystem" ,kwindowsystem)
652 ("libqtxdg" ,libqtxdg)
654 ("polkit-qt" ,polkit-qt)
657 ("qtx11extras" ,qtx11extras)))
659 `(("pkg-config" ,pkg-config)
661 ("lxqt-build-tools" ,lxqt-build-tools)
662 ("qttools" ,qttools)))
664 '(#:tests? #f ; no test target
666 (modify-phases %standard-phases
667 (add-after 'unpack 'patch-source
669 (substitute* '("autostart/CMakeLists.txt")
670 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
671 "DESTINATION \"etc/xdg"))
673 (add-after 'unpack 'patch-translations-dir
674 (lambda* (#:key outputs #:allow-other-keys)
675 (substitute* "CMakeLists.txt"
676 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
677 (string-append (assoc-ref outputs "out")
678 "/share/lxqt/translations")))
680 (home-page "https://lxqt.github.io")
681 (synopsis "The LXQt PolicyKit agent")
682 (description "lxqt-policykit is the polkit authentication agent of
684 (license license:lgpl2.1+)))
686 (define-public lxqt-powermanagement
688 (name "lxqt-powermanagement")
693 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
694 version "/" name "-" version ".tar.xz"))
696 (base32 "1kal7w6ngs9yrg309p4wacmabpynsrysmbpfkpphg158z548wwl0"))))
697 (build-system cmake-build-system)
699 `(("kidletime" ,kidletime)
700 ("kwindowsystem" ,kwindowsystem)
702 ("libqtxdg" ,libqtxdg)
705 ("qtx11extras" ,qtx11extras)
708 `(("lxqt-build-tools" ,lxqt-build-tools)
709 ("qttools" ,qttools)))
711 '(#:tests? #f ; no tests
713 (modify-phases %standard-phases
714 (add-after 'unpack 'patch-source
716 (substitute* '("autostart/CMakeLists.txt")
717 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
718 "DESTINATION \"etc/xdg"))
720 (add-after 'unpack 'patch-translations-dir
721 (lambda* (#:key outputs #:allow-other-keys)
722 (substitute* '("config/CMakeLists.txt"
723 "src/CMakeLists.txt")
724 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
725 (string-append (assoc-ref outputs "out")
726 "/share/lxqt/translations")))
728 (home-page "https://lxqt.github.io")
729 (synopsis "Power management module for LXQt")
730 (description "lxqt-powermanagement is providing tools to monitor power
731 management events and optionally trigger actions like e. g. shut down a system
732 when laptop batteries are low on power.")
733 (license license:lgpl2.1+)))
735 (define-public lxqt-qtplugin
737 (name "lxqt-qtplugin")
742 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
743 version "/" name "-" version ".tar.xz"))
745 (base32 "17kmpm3nn07xyxz21f86y3hqi6s0jvqyhsc703zy0463sc58vvys"))))
746 (build-system cmake-build-system)
748 `(("libdbusmenu-qt" ,libdbusmenu-qt)
749 ("libfm-qt" ,libfm-qt)
750 ("libqtxdg" ,libqtxdg)
753 ("qtx11extras" ,qtx11extras)))
755 `(("lxqt-build-tools" ,lxqt-build-tools)
756 ("qttools" ,qttools)))
758 '(#:tests? #f ; no tests
760 (modify-phases %standard-phases
761 (add-after 'unpack 'patch-source
763 (substitute* '("src/CMakeLists.txt")
764 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
765 "DESTINATION \"lib/qt5/plugins"))
767 (home-page "https://lxqt.github.io")
768 (synopsis "LXQt Qt platform integration plugin")
769 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
771 (license license:lgpl2.1+)))
773 (define-public lxqt-runner
780 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
781 version "/" name "-" version ".tar.xz"))
783 (base32 "02xxpflhh6a8qpnjhl5mrl07ikzl5x21mf0rj8nmm0v28rpkqjk1"))))
784 (build-system cmake-build-system)
786 `(("kwindowsystem" ,kwindowsystem)
788 ("libqtxdg" ,libqtxdg)
789 ("lxqt-globalkeys" ,lxqt-globalkeys)
790 ("muparser" ,muparser)
794 ("qtx11extras" ,qtx11extras)))
796 `(("pkg-config" ,pkg-config)
798 ("lxqt-build-tools" ,lxqt-build-tools)))
800 '(#:tests? #f ; no tests
802 (modify-phases %standard-phases
803 (add-after 'unpack 'patch-source
805 (substitute* '("autostart/CMakeLists.txt")
806 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
807 "DESTINATION \"etc/xdg"))
809 (add-after 'unpack 'patch-translations-dir
810 (lambda* (#:key outputs #:allow-other-keys)
811 (substitute* "CMakeLists.txt"
812 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
813 (string-append (assoc-ref outputs "out")
814 "/share/lxqt/translations")))
816 (home-page "https://lxqt.github.io")
817 (synopsis "Tool used to launch programs quickly by typing their names")
818 (description "lxqt-runner provides a GUI that comes up on the desktop and
819 allows for launching applications or shutting down the system.")
820 (license license:lgpl2.1+)))
822 (define-public lxqt-session
824 (name "lxqt-session")
829 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
830 version "/" name "-" version ".tar.xz"))
832 (base32 "17y6l1l2m2hzxlzvr7wbixnldbr7waky97vj6lx72r81l45wqkz4"))))
833 (build-system cmake-build-system)
836 ("kwindowsystem" ,kwindowsystem)
838 ("libqtxdg" ,libqtxdg)
841 ("qtx11extras" ,qtx11extras)
842 ("xdg-user-dirs" ,xdg-user-dirs)))
844 `(("pkg-config" ,pkg-config)
845 ("lxqt-build-tools" ,lxqt-build-tools)
846 ("qttools" ,qttools)))
850 (modify-phases %standard-phases
851 (add-after 'unpack 'patch-source
853 (substitute* '("autostart/CMakeLists.txt"
854 "config/CMakeLists.txt")
855 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
856 "DESTINATION \"etc/xdg"))
858 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
859 (add-after 'unpack 'patch-openbox-permission
861 (substitute* "startlxqt.in"
862 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
863 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
864 " # fix openbox permission issue\n"
865 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
867 (add-after 'unpack 'patch-translations-dir
868 (lambda* (#:key outputs #:allow-other-keys)
869 (substitute* '("lxqt-config-session/CMakeLists.txt"
870 "lxqt-leave/CMakeLists.txt"
871 "lxqt-session/CMakeLists.txt")
872 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
873 (string-append (assoc-ref outputs "out")
874 "/share/lxqt/translations")))
876 (home-page "https://lxqt.github.io")
877 (synopsis "Session manager for LXQt")
878 (description "lxqt-session provides the standard session manager
879 for the LXQt desktop environment.")
880 (license license:lgpl2.1+)))
882 (define-public lxqt-sudo
889 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
890 version "/" name "-" version ".tar.xz"))
892 (base32 "1v4gzmld3zqi3y9pdy3hb8lq81jwbgi4ia00lbzccg8cm0m8n55w"))))
893 (build-system cmake-build-system)
895 `(("kwindowsystem" ,kwindowsystem)
897 ("libqtxdg" ,libqtxdg)
900 ("qtx11extras" ,qtx11extras)
903 `(("pkg-config" ,pkg-config)
905 ("lxqt-build-tools" ,lxqt-build-tools)))
907 '(#:tests? #f ; no tests
909 (modify-phases %standard-phases
910 (add-after 'unpack 'patch-translations-dir
911 (lambda* (#:key outputs #:allow-other-keys)
912 (substitute* "CMakeLists.txt"
913 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
914 (string-append (assoc-ref outputs "out")
915 "/share/lxqt/translations")))
917 (home-page "https://lxqt.github.io")
918 (synopsis "GUI frontend for sudo/su")
919 (description "lxqt-sudo is a graphical front-end of commands sudo and su
920 respectively. As such it enables regular users to launch applications with
921 permissions of other users including root.")
922 (license license:lgpl2.1+)))
924 (define-public lxqt-themes
931 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
932 version "/" name "-" version ".tar.xz"))
934 (base32 "1dzv60q1dhi666ajh218smkp3ybh5vl2mxyvlbyc9zwvhgx3f0d1"))))
935 (build-system cmake-build-system)
937 `(("lxqt-build-tools" ,lxqt-build-tools)))
939 `(#:tests? #f ; no tests
941 (modify-phases %standard-phases
942 (add-after 'unpack 'patch-source
944 (substitute* '("CMakeLists.txt")
945 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
946 "DESTINATION \"share/lxqt/graphics"))
947 (substitute* '("themes/CMakeLists.txt")
948 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
949 "DESTINATION \"share/lxqt"))
951 (home-page "https://lxqt.github.io")
952 (synopsis "Themes, graphics and icons for LXQt")
953 (description "This package comprises a number of graphic files and themes
955 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
956 ;; licensed under CC-BY-SA 3.0.
957 (license license:lgpl2.1+)))
962 (define-public libfm-qt
969 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
970 version "/" name "-" version ".tar.xz"))
972 (base32 "034kc8i571m31fksprih6iiykxj85j98fmm6nrkmlwql45kr6rvs"))))
973 (build-system cmake-build-system)
975 '(#:tests? #f)) ; no tests
981 ("menu-cache" ,menu-cache)
984 ("qtx11extras" ,qtx11extras)))
986 `(("pkg-config" ,pkg-config)
987 ("lxqt-build-tools" ,lxqt-build-tools)
988 ("qttools" ,qttools)))
989 (home-page "https://lxqt.github.io")
990 (synopsis "Qt binding for libfm")
991 (description "libfm-qt is the Qt port of libfm, a library providing
992 components to build desktop file managers which belongs to LXDE.")
993 (license license:lgpl2.1+)))
995 (define-public pcmanfm-qt
1002 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1003 version "/" name "-" version ".tar.xz"))
1005 (base32 "1izc60hrc16sv2ig9psr3br9iq8nln6a2ycfspzycgpk8rh0f6jd"))))
1006 (build-system cmake-build-system)
1008 `(("libfm-qt" ,libfm-qt)
1010 ("qtx11extras" ,qtx11extras)))
1012 `(("pkg-config" ,pkg-config)
1013 ("qttools" ,qttools)
1014 ("lxqt-build-tools" ,lxqt-build-tools)))
1016 '(#:tests? #f ; no tests
1018 (modify-phases %standard-phases
1019 (add-after 'unpack 'patch-source
1021 (substitute* '("autostart/CMakeLists.txt")
1022 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1023 "DESTINATION \"etc/xdg"))
1025 (home-page "https://lxqt.github.io")
1026 (synopsis "File manager and desktop icon manager")
1027 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1029 (license license:gpl2+)))
1034 (define-public compton-conf
1036 (name "compton-conf")
1041 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1042 version "/" name "-" version ".tar.xz"))
1044 (base32 "1ii1bans7wdafm9rmxvsdqp3ad4cj0pa8kf92plbmbm3nycpf1q9"))))
1045 (build-system cmake-build-system)
1047 `(("libconfig" ,libconfig)
1048 ("qtbase" ,qtbase)))
1050 `(("lxqt-build-tools" ,lxqt-build-tools)
1051 ("pkg-config" ,pkg-config)
1052 ("qttools" ,qttools)))
1054 '(#:tests? #f ; no tests
1056 (modify-phases %standard-phases
1057 (add-after 'unpack 'patch-source
1059 (substitute* '("autostart/CMakeLists.txt")
1060 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1061 "DESTINATION \"etc/xdg"))
1063 (home-page "https://lxqt.github.io")
1064 (synopsis "GUI configuration tool for compton X composite manager")
1065 (description "@code{compton-conf} is a configuration tool for X composite
1067 (license license:lgpl2.1+)))
1069 (define-public lximage-qt
1076 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1077 version "/" name "-" version ".tar.xz"))
1079 (base32 "02iyymb8ywlzvv69lga5a86b7kh4v78zw6qzq5kcnjp1rpj2rjrk"))))
1080 (build-system cmake-build-system)
1082 `(("libexif" ,libexif)
1083 ("libfm-qt" ,libfm-qt)
1086 ("qtx11extras" ,qtx11extras)))
1088 `(("pkg-config" ,pkg-config)
1089 ("lxqt-build-tools" ,lxqt-build-tools)
1090 ("qttools" ,qttools)))
1092 '(#:tests? #f)) ; no tests
1093 (home-page "https://lxqt.github.io")
1094 (synopsis "The image viewer and screenshot tool for lxqt")
1095 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1097 (license license:gpl2+)))
1099 (define-public obconf-qt
1106 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1107 version "/" name "-" version ".tar.xz"))
1109 (base32 "1vcv2y54hgxcf76cr775632kajmvz3v4x1q3r6p1lzs9s7lmrh6q"))))
1110 (build-system cmake-build-system)
1112 `(("imlib2" ,imlib2)
1114 ("librsvg" ,librsvg)
1116 ("libxml2" ,libxml2)
1117 ("openbox" ,openbox)
1121 ("qtx11extras" ,qtx11extras)))
1123 `(("lxqt-build-tools" ,lxqt-build-tools)
1124 ("pkg-config" ,pkg-config)
1125 ("qttools" ,qttools)))
1127 '(#:tests? #f)) ; no tests
1128 (home-page "https://lxqt.github.io")
1129 (synopsis "Openbox configuration tool")
1130 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1131 window manager OpenBox.")
1132 (license license:gpl2+)))
1134 (define-public pavucontrol-qt
1136 (name "pavucontrol-qt")
1141 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1142 version "/" name "-" version ".tar.xz"))
1144 (base32 "15wknwmb4640r5fm4wiq6xa70qa2djay2806wyvajh11xjmqy566"))))
1145 (build-system cmake-build-system)
1149 ("pulseaudio" ,pulseaudio)
1151 ("qtx11extras" ,qtx11extras)))
1153 `(("pkg-config" ,pkg-config)
1154 ("lxqt-build-tools" ,lxqt-build-tools)
1155 ("qttools" ,qttools)))
1157 '(#:tests? #f)) ; no tests
1158 (home-page "https://lxqt.github.io")
1159 (synopsis "Pulseaudio mixer in Qt")
1160 (description "@code{pavucontrol-qt} is the Qt port of volume control
1161 @code{pavucontrol} of sound server @code{PulseAudio}.")
1162 (license license:gpl2+)))
1171 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1172 version "/" name "-" version ".tar.xz"))
1174 (base32 "0yym1bpglz8vha28x7k21fxx1vlsq19m3fyhk2cq3pwq3nqijwp7"))))
1175 (build-system cmake-build-system)
1177 `(("kwindowsystem" ,kwindowsystem)
1178 ("libxrender" ,libxrender)
1179 ("liblxqt" ,liblxqt)
1180 ("libqtxdg" ,libqtxdg)
1182 ("qtx11extras" ,qtx11extras)))
1184 `(("lxqt-build-tools" ,lxqt-build-tools)
1185 ("qttools" ,qttools)))
1187 '(#:tests? #f)) ; no tests
1188 (home-page "https://lxqt.github.io")
1189 (synopsis "Qt-based visual process status monitor")
1190 (description "@code{qps} is a monitor that displays the status of the
1191 processes currently in existence, much like code{top} or code{ps}.")
1192 (license license:gpl2+)))
1194 (define-public qtermwidget
1196 (name "qtermwidget")
1201 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1202 version "/" name "-" version ".tar.xz"))
1204 (base32 "1vn3bbc99py0ak7z9s6p71n9cacpckz57a1p97iwb0p23g4zgjkf"))))
1205 (build-system cmake-build-system)
1207 `(("qtbase" ,qtbase)
1208 ("utf8proc" ,utf8proc)))
1210 `(("lxqt-build-tools" ,lxqt-build-tools)
1211 ("qttools" ,qttools)))
1213 '(#:tests? #f)) ; no tests
1214 (home-page "https://lxqt.github.io")
1215 (synopsis "The terminal widget for QTerminal")
1216 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1217 (license license:gpl2+)))
1219 (define-public qterminal
1226 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1227 version "/" name "-" version ".tar.xz"))
1229 (base32 "0r7xmwjpak47ayj7cj37bwrdlv1mx5nhqpccb5pbn2fh8slp8zsm"))))
1230 (build-system cmake-build-system)
1232 `(("qtbase" ,qtbase)
1233 ("qtx11extras" ,qtx11extras)
1234 ("qtermwidget" ,qtermwidget)))
1236 `(("lxqt-build-tools" ,lxqt-build-tools)
1237 ("qttools" ,qttools)))
1239 '(#:tests? #f)) ; no tests
1240 (home-page "https://lxqt.github.io")
1241 (synopsis "Lightweight Qt-based terminal emulator")
1242 (description "QTerminal is a lightweight Qt terminal emulator based on
1244 (license license:gpl2+)))
1246 (define-public screengrab
1253 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1254 version "/screengrab-" version ".tar.xz"))
1256 (base32 "14znjw3d3gw02fsmhrjcj86l173m2ypl1x8hhba9ld23icr1gqwf"))))
1257 (build-system cmake-build-system)
1259 `(("kwindowsystem" ,kwindowsystem)
1260 ("libqtxdg" ,libqtxdg)
1263 ("qtx11extras" ,qtx11extras)))
1265 `(("pkg-config" ,pkg-config)
1266 ("qttools" ,qttools)))
1268 '(#:tests? #f)) ; no tests
1269 (home-page "https://lxqt.github.io")
1270 (synopsis "Crossplatform tool for fast making screenshots")
1271 (description "ScreenGrab is a program for fast creating screenshots, and
1272 easily publishing them on internet image hosting services.")
1273 (license license:gpl2+)))
1276 (define-public lxqt-archiver
1278 (name "lxqt-archiver")
1283 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1284 version "/" name "-" version ".tar.xz"))
1286 (base32 "1i725zaah0wv18j5fchg6isbh4b601filx549cq2hkzf2sylh9ff"))))
1287 (build-system cmake-build-system)
1290 ("json-glib" ,json-glib)
1291 ("libfm-qt" ,libfm-qt)
1293 ("qtx11extras" ,qtx11extras)))
1295 `(("pkg-config" ,pkg-config)
1296 ("lxqt-build-tools" ,lxqt-build-tools)
1297 ("qttools" ,qttools)))
1300 (home-page "https://lxqt.github.io")
1301 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1303 "This package provides a Qt graphical interface to archiving programs
1304 like @command{tar} and @command{zip}.")
1305 (license license:gpl2+)))
1307 (define-public lxqt-connman-applet
1308 ;; since the main developers didn't release any version yet, their
1309 ;; latest commit on `master` branch at the moment used for this version.
1310 (let ((commit "8a6cc14371a2f18f963e6a2996446082bb60f17d")
1313 (name "lxqt-connman-applet")
1314 (version (git-version "0.15.0" revision commit))
1319 (url (string-append "https://github.com/lxqt/" name ".git"))
1321 (file-name (git-file-name name version))
1322 (sha256 (base32 "0br4bxfrl8k7lq84aq4grznlk8xzzjgkmd19bf9mwjr0a87gg72v"))))
1323 (build-system cmake-build-system)
1325 `(("kwindowsystem" ,kwindowsystem)
1328 ("liblxqt" ,liblxqt)
1329 ("qtx11extras" ,qtx11extras)
1330 ("libqtxdg" ,libqtxdg)))
1332 `(("lxqt-build-tools" ,lxqt-build-tools)
1333 ("qtlinguist" ,qttools)))
1335 `(#:tests? #f ; no tests
1337 (modify-phases %standard-phases
1338 (add-after 'unpack 'patch-translations-dir
1339 (lambda* (#:key outputs #:allow-other-keys)
1340 (substitute* "CMakeLists.txt"
1341 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1342 (string-append (assoc-ref outputs "out")
1343 "/share/lxqt/translations"))
1344 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1346 (add-after 'unpack 'remove-definitions
1348 (substitute* "CMakeLists.txt"
1349 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1350 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1351 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1353 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1354 (synopsis "System-tray applet for connman")
1355 (description "This package provides a Qt-based system-tray applet for
1356 the network management tool Connman, originally developed for the LXQT
1358 (license license:lgpl2.1+))))
1360 ;; The LXQt Desktop Environment
1365 (version (package-version lxqt-session))
1367 (build-system trivial-build-system)
1368 (arguments '(#:builder (begin (mkdir %output) #t)))
1371 ("desktop-file-utils" ,desktop-file-utils)
1372 ("hicolor-icon-theme" ,hicolor-icon-theme)
1373 ("xdg-user-dirs" ,xdg-user-dirs)
1374 ("xdg-utils" ,xdg-utils)
1376 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1377 ;; should be added to their propagated-inputs?
1380 ("lxqt-about" ,lxqt-about)
1381 ("lxqt-admin" ,lxqt-admin)
1382 ("lxqt-config" ,lxqt-config)
1383 ("lxqt-globalkeys" ,lxqt-globalkeys)
1384 ("lxqt-notificationd" ,lxqt-notificationd)
1385 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1386 ("lxqt-panel" ,lxqt-panel)
1387 ("lxqt-policykit" ,lxqt-policykit)
1388 ("lxqt-powermanagement" ,lxqt-powermanagement)
1389 ("lxqt-qtplugin" ,lxqt-qtplugin)
1390 ("lxqt-runner" ,lxqt-runner)
1391 ("lxqt-session" ,lxqt-session)
1392 ("lxqt-sudo" ,lxqt-sudo)
1393 ("lxqt-themes" ,lxqt-themes)
1394 ("pcmanfm-qt" ,pcmanfm-qt)
1396 ("compton" ,compton)
1397 ("compton-conf" ,compton-conf)
1398 ("font-dejavu" ,font-dejavu)
1399 ("lximage-qt" ,lximage-qt)
1400 ("obconf-qt" ,obconf-qt)
1401 ("openbox" ,openbox)
1402 ("oxygen-icons" ,oxygen-icons)
1403 ("pavucontrol-qt" ,pavucontrol-qt)
1405 ("qterminal" ,qterminal)))
1406 (synopsis "The Lightweight Qt Desktop Environment")
1407 (description "LXQt is a lightweight Qt desktop environment.")
1408 (home-page "https://lxqt.github.io")
1409 (license license:gpl2+)))