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)))
596 `(("pkg-config" ,pkg-config)
597 ("lxqt-build-tools" ,lxqt-build-tools)
598 ("qttools" ,qttools)))
600 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
601 ;; shows up in lxqt-panel's taskbar plugin.
602 `(("kwindowsystem" ,kwindowsystem)
603 ("lxmenu-data" ,lxmenu-data)))
605 '(#:tests? #f ; no tests
607 (modify-phases %standard-phases
608 (add-after 'unpack 'patch-source
610 (substitute* '("autostart/CMakeLists.txt"
611 "menu/CMakeLists.txt")
612 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
613 "DESTINATION \"etc/xdg"))
615 (add-after 'unpack 'patch-translations-dir
616 (lambda* (#:key outputs #:allow-other-keys)
617 (substitute* '("cmake/BuildPlugin.cmake"
618 "panel/CMakeLists.txt")
619 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
620 (string-append (assoc-ref outputs "out")
621 "/share/lxqt/translations")))
623 (home-page "https://lxqt.github.io")
624 (synopsis "The LXQt desktop panel")
625 (description "lxqt-panel represents the taskbar of LXQt.")
626 (license license:lgpl2.1+)))
628 (define-public lxqt-policykit
630 (name "lxqt-policykit")
635 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
636 version "/" name "-" version ".tar.xz"))
638 (base32 "0kzc9mxl47bz6mifmk4xi9sxh7jl31d55j7cq8vijqg3w1yb5rp2"))))
639 (build-system cmake-build-system)
641 `(("kwindowsystem" ,kwindowsystem)
643 ("libqtxdg" ,libqtxdg)
645 ("polkit-qt" ,polkit-qt)
648 ("qtx11extras" ,qtx11extras)))
650 `(("pkg-config" ,pkg-config)
652 ("lxqt-build-tools" ,lxqt-build-tools)
653 ("qttools" ,qttools)))
655 '(#:tests? #f ; no test target
657 (modify-phases %standard-phases
658 (add-after 'unpack 'patch-source
660 (substitute* '("autostart/CMakeLists.txt")
661 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
662 "DESTINATION \"etc/xdg"))
664 (add-after 'unpack 'patch-translations-dir
665 (lambda* (#:key outputs #:allow-other-keys)
666 (substitute* "CMakeLists.txt"
667 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
668 (string-append (assoc-ref outputs "out")
669 "/share/lxqt/translations")))
671 (home-page "https://lxqt.github.io")
672 (synopsis "The LXQt PolicyKit agent")
673 (description "lxqt-policykit is the polkit authentication agent of
675 (license license:lgpl2.1+)))
677 (define-public lxqt-powermanagement
679 (name "lxqt-powermanagement")
684 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
685 version "/" name "-" version ".tar.xz"))
687 (base32 "1kal7w6ngs9yrg309p4wacmabpynsrysmbpfkpphg158z548wwl0"))))
688 (build-system cmake-build-system)
690 `(("kidletime" ,kidletime)
691 ("kwindowsystem" ,kwindowsystem)
693 ("libqtxdg" ,libqtxdg)
696 ("qtx11extras" ,qtx11extras)
699 `(("lxqt-build-tools" ,lxqt-build-tools)
700 ("qttools" ,qttools)))
702 '(#:tests? #f ; no tests
704 (modify-phases %standard-phases
705 (add-after 'unpack 'patch-source
707 (substitute* '("autostart/CMakeLists.txt")
708 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
709 "DESTINATION \"etc/xdg"))
711 (add-after 'unpack 'patch-translations-dir
712 (lambda* (#:key outputs #:allow-other-keys)
713 (substitute* '("config/CMakeLists.txt"
714 "src/CMakeLists.txt")
715 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
716 (string-append (assoc-ref outputs "out")
717 "/share/lxqt/translations")))
719 (home-page "https://lxqt.github.io")
720 (synopsis "Power management module for LXQt")
721 (description "lxqt-powermanagement is providing tools to monitor power
722 management events and optionally trigger actions like e. g. shut down a system
723 when laptop batteries are low on power.")
724 (license license:lgpl2.1+)))
726 (define-public lxqt-qtplugin
728 (name "lxqt-qtplugin")
733 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
734 version "/" name "-" version ".tar.xz"))
736 (base32 "17kmpm3nn07xyxz21f86y3hqi6s0jvqyhsc703zy0463sc58vvys"))))
737 (build-system cmake-build-system)
739 `(("libdbusmenu-qt" ,libdbusmenu-qt)
740 ("libfm-qt" ,libfm-qt)
741 ("libqtxdg" ,libqtxdg)
744 ("qtx11extras" ,qtx11extras)))
746 `(("lxqt-build-tools" ,lxqt-build-tools)
747 ("qttools" ,qttools)))
749 '(#:tests? #f ; no tests
751 (modify-phases %standard-phases
752 (add-after 'unpack 'patch-source
754 (substitute* '("src/CMakeLists.txt")
755 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
756 "DESTINATION \"lib/qt5/plugins"))
758 (home-page "https://lxqt.github.io")
759 (synopsis "LXQt Qt platform integration plugin")
760 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
762 (license license:lgpl2.1+)))
764 (define-public lxqt-runner
771 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
772 version "/" name "-" version ".tar.xz"))
774 (base32 "02xxpflhh6a8qpnjhl5mrl07ikzl5x21mf0rj8nmm0v28rpkqjk1"))))
775 (build-system cmake-build-system)
777 `(("kwindowsystem" ,kwindowsystem)
779 ("libqtxdg" ,libqtxdg)
780 ("lxqt-globalkeys" ,lxqt-globalkeys)
781 ("muparser" ,muparser)
785 ("qtx11extras" ,qtx11extras)))
787 `(("pkg-config" ,pkg-config)
789 ("lxqt-build-tools" ,lxqt-build-tools)))
791 '(#:tests? #f ; no tests
793 (modify-phases %standard-phases
794 (add-after 'unpack 'patch-source
796 (substitute* '("autostart/CMakeLists.txt")
797 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
798 "DESTINATION \"etc/xdg"))
800 (add-after 'unpack 'patch-translations-dir
801 (lambda* (#:key outputs #:allow-other-keys)
802 (substitute* "CMakeLists.txt"
803 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
804 (string-append (assoc-ref outputs "out")
805 "/share/lxqt/translations")))
807 (home-page "https://lxqt.github.io")
808 (synopsis "Tool used to launch programs quickly by typing their names")
809 (description "lxqt-runner provides a GUI that comes up on the desktop and
810 allows for launching applications or shutting down the system.")
811 (license license:lgpl2.1+)))
813 (define-public lxqt-session
815 (name "lxqt-session")
820 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
821 version "/" name "-" version ".tar.xz"))
823 (base32 "17y6l1l2m2hzxlzvr7wbixnldbr7waky97vj6lx72r81l45wqkz4"))))
824 (build-system cmake-build-system)
827 ("kwindowsystem" ,kwindowsystem)
829 ("libqtxdg" ,libqtxdg)
832 ("qtx11extras" ,qtx11extras)
833 ("xdg-user-dirs" ,xdg-user-dirs)))
835 `(("pkg-config" ,pkg-config)
836 ("lxqt-build-tools" ,lxqt-build-tools)
837 ("qttools" ,qttools)))
841 (modify-phases %standard-phases
842 (add-after 'unpack 'patch-source
844 (substitute* '("autostart/CMakeLists.txt"
845 "config/CMakeLists.txt")
846 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
847 "DESTINATION \"etc/xdg"))
849 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
850 (add-after 'unpack 'patch-openbox-permission
852 (substitute* "startlxqt.in"
853 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
854 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
855 " # fix openbox permission issue\n"
856 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
858 (add-after 'unpack 'patch-translations-dir
859 (lambda* (#:key outputs #:allow-other-keys)
860 (substitute* '("lxqt-config-session/CMakeLists.txt"
861 "lxqt-leave/CMakeLists.txt"
862 "lxqt-session/CMakeLists.txt")
863 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
864 (string-append (assoc-ref outputs "out")
865 "/share/lxqt/translations")))
867 (home-page "https://lxqt.github.io")
868 (synopsis "Session manager for LXQt")
869 (description "lxqt-session provides the standard session manager
870 for the LXQt desktop environment.")
871 (license license:lgpl2.1+)))
873 (define-public lxqt-sudo
880 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
881 version "/" name "-" version ".tar.xz"))
883 (base32 "1v4gzmld3zqi3y9pdy3hb8lq81jwbgi4ia00lbzccg8cm0m8n55w"))))
884 (build-system cmake-build-system)
886 `(("kwindowsystem" ,kwindowsystem)
888 ("libqtxdg" ,libqtxdg)
891 ("qtx11extras" ,qtx11extras)
894 `(("pkg-config" ,pkg-config)
896 ("lxqt-build-tools" ,lxqt-build-tools)))
898 '(#:tests? #f ; no tests
900 (modify-phases %standard-phases
901 (add-after 'unpack 'patch-translations-dir
902 (lambda* (#:key outputs #:allow-other-keys)
903 (substitute* "CMakeLists.txt"
904 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
905 (string-append (assoc-ref outputs "out")
906 "/share/lxqt/translations")))
908 (home-page "https://lxqt.github.io")
909 (synopsis "GUI frontend for sudo/su")
910 (description "lxqt-sudo is a graphical front-end of commands sudo and su
911 respectively. As such it enables regular users to launch applications with
912 permissions of other users including root.")
913 (license license:lgpl2.1+)))
915 (define-public lxqt-themes
922 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
923 version "/" name "-" version ".tar.xz"))
925 (base32 "1dzv60q1dhi666ajh218smkp3ybh5vl2mxyvlbyc9zwvhgx3f0d1"))))
926 (build-system cmake-build-system)
928 `(("lxqt-build-tools" ,lxqt-build-tools)))
930 `(#:tests? #f ; no tests
932 (modify-phases %standard-phases
933 (add-after 'unpack 'patch-source
935 (substitute* '("CMakeLists.txt")
936 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
937 "DESTINATION \"share/lxqt/graphics"))
938 (substitute* '("themes/CMakeLists.txt")
939 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
940 "DESTINATION \"share/lxqt"))
942 (home-page "https://lxqt.github.io")
943 (synopsis "Themes, graphics and icons for LXQt")
944 (description "This package comprises a number of graphic files and themes
946 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
947 ;; licensed under CC-BY-SA 3.0.
948 (license license:lgpl2.1+)))
953 (define-public libfm-qt
960 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
961 version "/" name "-" version ".tar.xz"))
963 (base32 "034kc8i571m31fksprih6iiykxj85j98fmm6nrkmlwql45kr6rvs"))))
964 (build-system cmake-build-system)
966 '(#:tests? #f)) ; no tests
972 ("menu-cache" ,menu-cache)
975 ("qtx11extras" ,qtx11extras)))
977 `(("pkg-config" ,pkg-config)
978 ("lxqt-build-tools" ,lxqt-build-tools)
979 ("qttools" ,qttools)))
980 (home-page "https://lxqt.github.io")
981 (synopsis "Qt binding for libfm")
982 (description "libfm-qt is the Qt port of libfm, a library providing
983 components to build desktop file managers which belongs to LXDE.")
984 (license license:lgpl2.1+)))
986 (define-public pcmanfm-qt
993 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
994 version "/" name "-" version ".tar.xz"))
996 (base32 "1izc60hrc16sv2ig9psr3br9iq8nln6a2ycfspzycgpk8rh0f6jd"))))
997 (build-system cmake-build-system)
999 `(("libfm-qt" ,libfm-qt)
1001 ("qtx11extras" ,qtx11extras)))
1003 `(("pkg-config" ,pkg-config)
1004 ("qttools" ,qttools)
1005 ("lxqt-build-tools" ,lxqt-build-tools)))
1007 '(#:tests? #f ; no tests
1009 (modify-phases %standard-phases
1010 (add-after 'unpack 'patch-source
1012 (substitute* '("autostart/CMakeLists.txt")
1013 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1014 "DESTINATION \"etc/xdg"))
1016 (home-page "https://lxqt.github.io")
1017 (synopsis "File manager and desktop icon manager")
1018 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1020 (license license:gpl2+)))
1025 (define-public compton-conf
1027 (name "compton-conf")
1032 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1033 version "/" name "-" version ".tar.xz"))
1035 (base32 "1ii1bans7wdafm9rmxvsdqp3ad4cj0pa8kf92plbmbm3nycpf1q9"))))
1036 (build-system cmake-build-system)
1038 `(("libconfig" ,libconfig)
1039 ("qtbase" ,qtbase)))
1041 `(("lxqt-build-tools" ,lxqt-build-tools)
1042 ("pkg-config" ,pkg-config)
1043 ("qttools" ,qttools)))
1045 '(#:tests? #f ; no tests
1047 (modify-phases %standard-phases
1048 (add-after 'unpack 'patch-source
1050 (substitute* '("autostart/CMakeLists.txt")
1051 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1052 "DESTINATION \"etc/xdg"))
1054 (home-page "https://lxqt.github.io")
1055 (synopsis "GUI configuration tool for compton X composite manager")
1056 (description "@code{compton-conf} is a configuration tool for X composite
1058 (license license:lgpl2.1+)))
1060 (define-public lximage-qt
1067 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1068 version "/" name "-" version ".tar.xz"))
1070 (base32 "02iyymb8ywlzvv69lga5a86b7kh4v78zw6qzq5kcnjp1rpj2rjrk"))))
1071 (build-system cmake-build-system)
1073 `(("libexif" ,libexif)
1074 ("libfm-qt" ,libfm-qt)
1077 ("qtx11extras" ,qtx11extras)))
1079 `(("pkg-config" ,pkg-config)
1080 ("lxqt-build-tools" ,lxqt-build-tools)
1081 ("qttools" ,qttools)))
1083 '(#:tests? #f)) ; no tests
1084 (home-page "https://lxqt.github.io")
1085 (synopsis "The image viewer and screenshot tool for lxqt")
1086 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1088 (license license:gpl2+)))
1090 (define-public obconf-qt
1097 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1098 version "/" name "-" version ".tar.xz"))
1100 (base32 "1vcv2y54hgxcf76cr775632kajmvz3v4x1q3r6p1lzs9s7lmrh6q"))))
1101 (build-system cmake-build-system)
1103 `(("imlib2" ,imlib2)
1105 ("librsvg" ,librsvg)
1107 ("libxml2" ,libxml2)
1108 ("openbox" ,openbox)
1112 ("qtx11extras" ,qtx11extras)))
1114 `(("lxqt-build-tools" ,lxqt-build-tools)
1115 ("pkg-config" ,pkg-config)
1116 ("qttools" ,qttools)))
1118 '(#:tests? #f)) ; no tests
1119 (home-page "https://lxqt.github.io")
1120 (synopsis "Openbox configuration tool")
1121 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1122 window manager OpenBox.")
1123 (license license:gpl2+)))
1125 (define-public pavucontrol-qt
1127 (name "pavucontrol-qt")
1132 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1133 version "/" name "-" version ".tar.xz"))
1135 (base32 "15wknwmb4640r5fm4wiq6xa70qa2djay2806wyvajh11xjmqy566"))))
1136 (build-system cmake-build-system)
1140 ("pulseaudio" ,pulseaudio)
1142 ("qtx11extras" ,qtx11extras)))
1144 `(("pkg-config" ,pkg-config)
1145 ("lxqt-build-tools" ,lxqt-build-tools)
1146 ("qttools" ,qttools)))
1148 '(#:tests? #f)) ; no tests
1149 (home-page "https://lxqt.github.io")
1150 (synopsis "Pulseaudio mixer in Qt")
1151 (description "@code{pavucontrol-qt} is the Qt port of volume control
1152 @code{pavucontrol} of sound server @code{PulseAudio}.")
1153 (license license:gpl2+)))
1162 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1163 version "/" name "-" version ".tar.xz"))
1165 (base32 "0yym1bpglz8vha28x7k21fxx1vlsq19m3fyhk2cq3pwq3nqijwp7"))))
1166 (build-system cmake-build-system)
1168 `(("kwindowsystem" ,kwindowsystem)
1169 ("libxrender" ,libxrender)
1170 ("liblxqt" ,liblxqt)
1171 ("libqtxdg" ,libqtxdg)
1173 ("qtx11extras" ,qtx11extras)))
1175 `(("lxqt-build-tools" ,lxqt-build-tools)
1176 ("qttools" ,qttools)))
1178 '(#:tests? #f)) ; no tests
1179 (home-page "https://lxqt.github.io")
1180 (synopsis "Qt-based visual process status monitor")
1181 (description "@code{qps} is a monitor that displays the status of the
1182 processes currently in existence, much like code{top} or code{ps}.")
1183 (license license:gpl2+)))
1185 (define-public qtermwidget
1187 (name "qtermwidget")
1192 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1193 version "/" name "-" version ".tar.xz"))
1195 (base32 "1vn3bbc99py0ak7z9s6p71n9cacpckz57a1p97iwb0p23g4zgjkf"))))
1196 (build-system cmake-build-system)
1198 `(("qtbase" ,qtbase)
1199 ("utf8proc" ,utf8proc)))
1201 `(("lxqt-build-tools" ,lxqt-build-tools)
1202 ("qttools" ,qttools)))
1204 '(#:tests? #f)) ; no tests
1205 (home-page "https://lxqt.github.io")
1206 (synopsis "The terminal widget for QTerminal")
1207 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1208 (license license:gpl2+)))
1210 (define-public qterminal
1217 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1218 version "/" name "-" version ".tar.xz"))
1220 (base32 "0r7xmwjpak47ayj7cj37bwrdlv1mx5nhqpccb5pbn2fh8slp8zsm"))))
1221 (build-system cmake-build-system)
1223 `(("qtbase" ,qtbase)
1224 ("qtx11extras" ,qtx11extras)
1225 ("qtermwidget" ,qtermwidget)))
1227 `(("lxqt-build-tools" ,lxqt-build-tools)
1228 ("qttools" ,qttools)))
1230 '(#:tests? #f)) ; no tests
1231 (home-page "https://lxqt.github.io")
1232 (synopsis "Lightweight Qt-based terminal emulator")
1233 (description "QTerminal is a lightweight Qt terminal emulator based on
1235 (license license:gpl2+)))
1237 (define-public screengrab
1244 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1245 version "/screengrab-" version ".tar.xz"))
1247 (base32 "14znjw3d3gw02fsmhrjcj86l173m2ypl1x8hhba9ld23icr1gqwf"))))
1248 (build-system cmake-build-system)
1250 `(("kwindowsystem" ,kwindowsystem)
1251 ("libqtxdg" ,libqtxdg)
1254 ("qtx11extras" ,qtx11extras)))
1256 `(("pkg-config" ,pkg-config)
1257 ("qttools" ,qttools)))
1259 '(#:tests? #f)) ; no tests
1260 (home-page "https://lxqt.github.io")
1261 (synopsis "Crossplatform tool for fast making screenshots")
1262 (description "ScreenGrab is a program for fast creating screenshots, and
1263 easily publishing them on internet image hosting services.")
1264 (license license:gpl2+)))
1267 (define-public lxqt-archiver
1269 (name "lxqt-archiver")
1274 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1275 version "/" name "-" version ".tar.xz"))
1277 (base32 "1i725zaah0wv18j5fchg6isbh4b601filx549cq2hkzf2sylh9ff"))))
1278 (build-system cmake-build-system)
1281 ("json-glib" ,json-glib)
1282 ("libfm-qt" ,libfm-qt)
1284 ("qtx11extras" ,qtx11extras)))
1286 `(("pkg-config" ,pkg-config)
1287 ("lxqt-build-tools" ,lxqt-build-tools)
1288 ("qttools" ,qttools)))
1291 (home-page "https://lxqt.github.io")
1292 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1294 "This package provides a Qt graphical interface to archiving programs
1295 like @command{tar} and @command{zip}.")
1296 (license license:gpl2+)))
1298 (define-public lxqt-connman-applet
1299 ;; since the main developers didn't release any version yet, their
1300 ;; latest commit on `master` branch at the moment used for this version.
1301 (let ((commit "8a6cc14371a2f18f963e6a2996446082bb60f17d")
1304 (name "lxqt-connman-applet")
1305 (version (git-version "0.15.0" revision commit))
1310 (url (string-append "https://github.com/lxqt/" name ".git"))
1312 (file-name (git-file-name name version))
1313 (sha256 (base32 "0br4bxfrl8k7lq84aq4grznlk8xzzjgkmd19bf9mwjr0a87gg72v"))))
1314 (build-system cmake-build-system)
1316 `(("kwindowsystem" ,kwindowsystem)
1319 ("liblxqt" ,liblxqt)
1320 ("qtx11extras" ,qtx11extras)
1321 ("libqtxdg" ,libqtxdg)))
1323 `(("lxqt-build-tools" ,lxqt-build-tools)
1324 ("qtlinguist" ,qttools)))
1326 `(#:tests? #f ; no tests
1328 (modify-phases %standard-phases
1329 (add-after 'unpack 'patch-translations-dir
1330 (lambda* (#:key outputs #:allow-other-keys)
1331 (substitute* "CMakeLists.txt"
1332 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1333 (string-append (assoc-ref outputs "out")
1334 "/share/lxqt/translations"))
1335 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1337 (add-after 'unpack 'remove-definitions
1339 (substitute* "CMakeLists.txt"
1340 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1341 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1342 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1344 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1345 (synopsis "System-tray applet for connman")
1346 (description "This package provides a Qt-based system-tray applet for
1347 the network management tool Connman, originally developed for the LXQT
1349 (license license:lgpl2.1+))))
1351 ;; The LXQt Desktop Environment
1356 (version (package-version lxqt-session))
1358 (build-system trivial-build-system)
1359 (arguments '(#:builder (begin (mkdir %output) #t)))
1362 ("desktop-file-utils" ,desktop-file-utils)
1363 ("hicolor-icon-theme" ,hicolor-icon-theme)
1364 ("xdg-user-dirs" ,xdg-user-dirs)
1365 ("xdg-utils" ,xdg-utils)
1367 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1368 ;; should be added to their propagated-inputs?
1371 ("lxqt-about" ,lxqt-about)
1372 ("lxqt-admin" ,lxqt-admin)
1373 ("lxqt-config" ,lxqt-config)
1374 ("lxqt-globalkeys" ,lxqt-globalkeys)
1375 ("lxqt-notificationd" ,lxqt-notificationd)
1376 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1377 ("lxqt-panel" ,lxqt-panel)
1378 ("lxqt-policykit" ,lxqt-policykit)
1379 ("lxqt-powermanagement" ,lxqt-powermanagement)
1380 ("lxqt-qtplugin" ,lxqt-qtplugin)
1381 ("lxqt-runner" ,lxqt-runner)
1382 ("lxqt-session" ,lxqt-session)
1383 ("lxqt-sudo" ,lxqt-sudo)
1384 ("lxqt-themes" ,lxqt-themes)
1385 ("pcmanfm-qt" ,pcmanfm-qt)
1387 ("compton" ,compton)
1388 ("compton-conf" ,compton-conf)
1389 ("font-dejavu" ,font-dejavu)
1390 ("lximage-qt" ,lximage-qt)
1391 ("obconf-qt" ,obconf-qt)
1392 ("openbox" ,openbox)
1393 ("oxygen-icons" ,oxygen-icons)
1394 ("pavucontrol-qt" ,pavucontrol-qt)
1396 ("qterminal" ,qterminal)))
1397 (synopsis "The Lightweight Qt Desktop Environment")
1398 (description "LXQt is a lightweight Qt desktop environment.")
1399 (home-page "https://lxqt.github.io")
1400 (license license:gpl2+)))