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.org")
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.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 "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.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 "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.org")
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.org")
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.org")
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.org/")
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.org/")
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.org/")
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)))
604 '(#:tests? #f ; no tests
606 (modify-phases %standard-phases
607 (add-after 'unpack 'patch-source
609 (substitute* '("autostart/CMakeLists.txt"
610 "menu/CMakeLists.txt")
611 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
612 "DESTINATION \"etc/xdg"))
614 (add-after 'unpack 'patch-translations-dir
615 (lambda* (#:key outputs #:allow-other-keys)
616 (substitute* '("cmake/BuildPlugin.cmake"
617 "panel/CMakeLists.txt")
618 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
619 (string-append (assoc-ref outputs "out")
620 "/share/lxqt/translations")))
622 (home-page "https://lxqt.org/")
623 (synopsis "The LXQt desktop panel")
624 (description "lxqt-panel represents the taskbar of LXQt.")
625 (license license:lgpl2.1+)))
627 (define-public lxqt-policykit
629 (name "lxqt-policykit")
634 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
635 version "/" name "-" version ".tar.xz"))
637 (base32 "0kzc9mxl47bz6mifmk4xi9sxh7jl31d55j7cq8vijqg3w1yb5rp2"))))
638 (build-system cmake-build-system)
640 `(("kwindowsystem" ,kwindowsystem)
642 ("libqtxdg" ,libqtxdg)
644 ("polkit-qt" ,polkit-qt)
647 ("qtx11extras" ,qtx11extras)))
649 `(("pkg-config" ,pkg-config)
651 ("lxqt-build-tools" ,lxqt-build-tools)
652 ("qttools" ,qttools)))
654 '(#:tests? #f ; no test target
656 (modify-phases %standard-phases
657 (add-after 'unpack 'patch-source
659 (substitute* '("autostart/CMakeLists.txt")
660 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
661 "DESTINATION \"etc/xdg"))
663 (add-after 'unpack 'patch-translations-dir
664 (lambda* (#:key outputs #:allow-other-keys)
665 (substitute* "CMakeLists.txt"
666 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
667 (string-append (assoc-ref outputs "out")
668 "/share/lxqt/translations")))
670 (home-page "https://lxqt.org/")
671 (synopsis "The LXQt PolicyKit agent")
672 (description "lxqt-policykit is the polkit authentication agent of
674 (license license:lgpl2.1+)))
676 (define-public lxqt-powermanagement
678 (name "lxqt-powermanagement")
683 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
684 version "/" name "-" version ".tar.xz"))
686 (base32 "1kal7w6ngs9yrg309p4wacmabpynsrysmbpfkpphg158z548wwl0"))))
687 (build-system cmake-build-system)
689 `(("kidletime" ,kidletime)
690 ("kwindowsystem" ,kwindowsystem)
692 ("libqtxdg" ,libqtxdg)
695 ("qtx11extras" ,qtx11extras)
698 `(("lxqt-build-tools" ,lxqt-build-tools)
699 ("qttools" ,qttools)))
701 '(#:tests? #f ; no tests
703 (modify-phases %standard-phases
704 (add-after 'unpack 'patch-source
706 (substitute* '("autostart/CMakeLists.txt")
707 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
708 "DESTINATION \"etc/xdg"))
710 (add-after 'unpack 'patch-translations-dir
711 (lambda* (#:key outputs #:allow-other-keys)
712 (substitute* '("config/CMakeLists.txt"
713 "src/CMakeLists.txt")
714 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
715 (string-append (assoc-ref outputs "out")
716 "/share/lxqt/translations")))
718 (home-page "https://lxqt.org/")
719 (synopsis "Power management module for LXQt")
720 (description "lxqt-powermanagement is providing tools to monitor power
721 management events and optionally trigger actions like e. g. shut down a system
722 when laptop batteries are low on power.")
723 (license license:lgpl2.1+)))
725 (define-public lxqt-qtplugin
727 (name "lxqt-qtplugin")
732 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
733 version "/" name "-" version ".tar.xz"))
735 (base32 "17kmpm3nn07xyxz21f86y3hqi6s0jvqyhsc703zy0463sc58vvys"))))
736 (build-system cmake-build-system)
738 `(("libdbusmenu-qt" ,libdbusmenu-qt)
739 ("libfm-qt" ,libfm-qt)
740 ("libqtxdg" ,libqtxdg)
743 ("qtx11extras" ,qtx11extras)))
745 `(("lxqt-build-tools" ,lxqt-build-tools)
746 ("qttools" ,qttools)))
748 '(#:tests? #f ; no tests
750 (modify-phases %standard-phases
751 (add-after 'unpack 'patch-source
753 (substitute* '("src/CMakeLists.txt")
754 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
755 "DESTINATION \"lib/qt5/plugins"))
757 (home-page "https://lxqt.org/")
758 (synopsis "LXQt Qt platform integration plugin")
759 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
761 (license license:lgpl2.1+)))
763 (define-public lxqt-runner
770 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
771 version "/" name "-" version ".tar.xz"))
773 (base32 "02xxpflhh6a8qpnjhl5mrl07ikzl5x21mf0rj8nmm0v28rpkqjk1"))))
774 (build-system cmake-build-system)
776 `(("kwindowsystem" ,kwindowsystem)
778 ("libqtxdg" ,libqtxdg)
779 ("lxqt-globalkeys" ,lxqt-globalkeys)
780 ("muparser" ,muparser)
784 ("qtx11extras" ,qtx11extras)))
786 `(("pkg-config" ,pkg-config)
788 ("lxqt-build-tools" ,lxqt-build-tools)))
790 '(#:tests? #f ; no tests
792 (modify-phases %standard-phases
793 (add-after 'unpack 'patch-source
795 (substitute* '("autostart/CMakeLists.txt")
796 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
797 "DESTINATION \"etc/xdg"))
799 (add-after 'unpack 'patch-translations-dir
800 (lambda* (#:key outputs #:allow-other-keys)
801 (substitute* "CMakeLists.txt"
802 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
803 (string-append (assoc-ref outputs "out")
804 "/share/lxqt/translations")))
806 (home-page "https://lxqt.org/")
807 (synopsis "Tool used to launch programs quickly by typing their names")
808 (description "lxqt-runner provides a GUI that comes up on the desktop and
809 allows for launching applications or shutting down the system.")
810 (license license:lgpl2.1+)))
812 (define-public lxqt-session
814 (name "lxqt-session")
819 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
820 version "/" name "-" version ".tar.xz"))
822 (base32 "17y6l1l2m2hzxlzvr7wbixnldbr7waky97vj6lx72r81l45wqkz4"))))
823 (build-system cmake-build-system)
826 ("kwindowsystem" ,kwindowsystem)
828 ("libqtxdg" ,libqtxdg)
831 ("qtx11extras" ,qtx11extras)
832 ("xdg-user-dirs" ,xdg-user-dirs)))
834 `(("pkg-config" ,pkg-config)
835 ("lxqt-build-tools" ,lxqt-build-tools)
836 ("qttools" ,qttools)))
840 (modify-phases %standard-phases
841 (add-after 'unpack 'patch-source
843 (substitute* '("autostart/CMakeLists.txt"
844 "config/CMakeLists.txt")
845 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
846 "DESTINATION \"etc/xdg"))
848 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
849 (add-after 'unpack 'patch-openbox-permission
851 (substitute* "startlxqt.in"
852 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
853 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
854 " # fix openbox permission issue\n"
855 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
857 (add-after 'unpack 'patch-translations-dir
858 (lambda* (#:key outputs #:allow-other-keys)
859 (substitute* '("lxqt-config-session/CMakeLists.txt"
860 "lxqt-leave/CMakeLists.txt"
861 "lxqt-session/CMakeLists.txt")
862 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
863 (string-append (assoc-ref outputs "out")
864 "/share/lxqt/translations")))
866 (home-page "https://lxqt.org/")
867 (synopsis "Session manager for LXQt")
868 (description "lxqt-session provides the standard session manager
869 for the LXQt desktop environment.")
870 (license license:lgpl2.1+)))
872 (define-public lxqt-sudo
879 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
880 version "/" name "-" version ".tar.xz"))
882 (base32 "1v4gzmld3zqi3y9pdy3hb8lq81jwbgi4ia00lbzccg8cm0m8n55w"))))
883 (build-system cmake-build-system)
885 `(("kwindowsystem" ,kwindowsystem)
887 ("libqtxdg" ,libqtxdg)
890 ("qtx11extras" ,qtx11extras)
893 `(("pkg-config" ,pkg-config)
895 ("lxqt-build-tools" ,lxqt-build-tools)))
897 '(#:tests? #f ; no tests
899 (modify-phases %standard-phases
900 (add-after 'unpack 'patch-translations-dir
901 (lambda* (#:key outputs #:allow-other-keys)
902 (substitute* "CMakeLists.txt"
903 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
904 (string-append (assoc-ref outputs "out")
905 "/share/lxqt/translations")))
907 (home-page "https://lxqt.org/")
908 (synopsis "GUI frontend for sudo/su")
909 (description "lxqt-sudo is a graphical front-end of commands sudo and su
910 respectively. As such it enables regular users to launch applications with
911 permissions of other users including root.")
912 (license license:lgpl2.1+)))
914 (define-public lxqt-themes
921 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
922 version "/" name "-" version ".tar.xz"))
924 (base32 "1dzv60q1dhi666ajh218smkp3ybh5vl2mxyvlbyc9zwvhgx3f0d1"))))
925 (build-system cmake-build-system)
927 `(("lxqt-build-tools" ,lxqt-build-tools)))
929 `(#:tests? #f ; no tests
931 (modify-phases %standard-phases
932 (add-after 'unpack 'patch-source
934 (substitute* '("CMakeLists.txt")
935 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
936 "DESTINATION \"share/lxqt/graphics"))
937 (substitute* '("themes/CMakeLists.txt")
938 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
939 "DESTINATION \"share/lxqt"))
941 (home-page "https://lxqt.org/")
942 (synopsis "Themes, graphics and icons for LXQt")
943 (description "This package comprises a number of graphic files and themes
945 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
946 ;; licensed under CC-BY-SA 3.0.
947 (license license:lgpl2.1+)))
952 (define-public libfm-qt
959 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
960 version "/" name "-" version ".tar.xz"))
962 (base32 "034kc8i571m31fksprih6iiykxj85j98fmm6nrkmlwql45kr6rvs"))))
963 (build-system cmake-build-system)
965 '(#:tests? #f)) ; no tests
971 ("menu-cache" ,menu-cache)
974 ("qtx11extras" ,qtx11extras)))
976 `(("pkg-config" ,pkg-config)
977 ("lxqt-build-tools" ,lxqt-build-tools)
978 ("qttools" ,qttools)))
979 (home-page "https://lxqt.org/")
980 (synopsis "Qt binding for libfm")
981 (description "libfm-qt is the Qt port of libfm, a library providing
982 components to build desktop file managers which belongs to LXDE.")
983 (license license:lgpl2.1+)))
985 (define-public pcmanfm-qt
992 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
993 version "/" name "-" version ".tar.xz"))
995 (base32 "1izc60hrc16sv2ig9psr3br9iq8nln6a2ycfspzycgpk8rh0f6jd"))))
996 (build-system cmake-build-system)
998 `(("libfm-qt" ,libfm-qt)
1000 ("qtx11extras" ,qtx11extras)))
1002 `(("pkg-config" ,pkg-config)
1003 ("qttools" ,qttools)
1004 ("lxqt-build-tools" ,lxqt-build-tools)))
1006 '(#:tests? #f ; no tests
1008 (modify-phases %standard-phases
1009 (add-after 'unpack 'patch-source
1011 (substitute* '("autostart/CMakeLists.txt")
1012 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1013 "DESTINATION \"etc/xdg"))
1015 (home-page "https://lxqt.org/")
1016 (synopsis "File manager and desktop icon manager")
1017 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1019 (license license:gpl2+)))
1024 (define-public compton-conf
1026 (name "compton-conf")
1031 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1032 version "/" name "-" version ".tar.xz"))
1034 (base32 "1ii1bans7wdafm9rmxvsdqp3ad4cj0pa8kf92plbmbm3nycpf1q9"))))
1035 (build-system cmake-build-system)
1037 `(("libconfig" ,libconfig)
1038 ("qtbase" ,qtbase)))
1040 `(("lxqt-build-tools" ,lxqt-build-tools)
1041 ("pkg-config" ,pkg-config)
1042 ("qttools" ,qttools)))
1044 '(#:tests? #f ; no tests
1046 (modify-phases %standard-phases
1047 (add-after 'unpack 'patch-source
1049 (substitute* '("autostart/CMakeLists.txt")
1050 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1051 "DESTINATION \"etc/xdg"))
1053 (home-page "https://lxqt.org/")
1054 (synopsis "GUI configuration tool for compton X composite manager")
1055 (description "@code{compton-conf} is a configuration tool for X composite
1057 (license license:lgpl2.1+)))
1059 (define-public lximage-qt
1066 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1067 version "/" name "-" version ".tar.xz"))
1069 (base32 "02iyymb8ywlzvv69lga5a86b7kh4v78zw6qzq5kcnjp1rpj2rjrk"))))
1070 (build-system cmake-build-system)
1072 `(("libexif" ,libexif)
1073 ("libfm-qt" ,libfm-qt)
1076 ("qtx11extras" ,qtx11extras)))
1078 `(("pkg-config" ,pkg-config)
1079 ("lxqt-build-tools" ,lxqt-build-tools)
1080 ("qttools" ,qttools)))
1082 '(#:tests? #f)) ; no tests
1083 (home-page "https://lxqt.org/")
1084 (synopsis "The image viewer and screenshot tool for lxqt")
1085 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1087 (license license:gpl2+)))
1089 (define-public obconf-qt
1096 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1097 version "/" name "-" version ".tar.xz"))
1099 (base32 "1vcv2y54hgxcf76cr775632kajmvz3v4x1q3r6p1lzs9s7lmrh6q"))))
1100 (build-system cmake-build-system)
1102 `(("imlib2" ,imlib2)
1104 ("librsvg" ,librsvg)
1106 ("libxml2" ,libxml2)
1107 ("openbox" ,openbox)
1111 ("qtx11extras" ,qtx11extras)))
1113 `(("lxqt-build-tools" ,lxqt-build-tools)
1114 ("pkg-config" ,pkg-config)
1115 ("qttools" ,qttools)))
1117 '(#:tests? #f)) ; no tests
1118 (home-page "https://lxqt.org/")
1119 (synopsis "Openbox configuration tool")
1120 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1121 window manager OpenBox.")
1122 (license license:gpl2+)))
1124 (define-public pavucontrol-qt
1126 (name "pavucontrol-qt")
1131 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1132 version "/" name "-" version ".tar.xz"))
1134 (base32 "15wknwmb4640r5fm4wiq6xa70qa2djay2806wyvajh11xjmqy566"))))
1135 (build-system cmake-build-system)
1139 ("pulseaudio" ,pulseaudio)
1141 ("qtx11extras" ,qtx11extras)))
1143 `(("pkg-config" ,pkg-config)
1144 ("lxqt-build-tools" ,lxqt-build-tools)
1145 ("qttools" ,qttools)))
1147 '(#:tests? #f)) ; no tests
1148 (home-page "https://lxqt.org/")
1149 (synopsis "Pulseaudio mixer in Qt")
1150 (description "@code{pavucontrol-qt} is the Qt port of volume control
1151 @code{pavucontrol} of sound server @code{PulseAudio}.")
1152 (license license:gpl2+)))
1161 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1162 version "/" name "-" version ".tar.xz"))
1164 (base32 "0yym1bpglz8vha28x7k21fxx1vlsq19m3fyhk2cq3pwq3nqijwp7"))))
1165 (build-system cmake-build-system)
1167 `(("kwindowsystem" ,kwindowsystem)
1168 ("libxrender" ,libxrender)
1169 ("liblxqt" ,liblxqt)
1170 ("libqtxdg" ,libqtxdg)
1172 ("qtx11extras" ,qtx11extras)))
1174 `(("lxqt-build-tools" ,lxqt-build-tools)
1175 ("qttools" ,qttools)))
1177 '(#:tests? #f)) ; no tests
1178 (home-page "https://lxqt.org/")
1179 (synopsis "Qt-based visual process status monitor")
1180 (description "@code{qps} is a monitor that displays the status of the
1181 processes currently in existence, much like code{top} or code{ps}.")
1182 (license license:gpl2+)))
1184 (define-public qtermwidget
1186 (name "qtermwidget")
1191 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1192 version "/" name "-" version ".tar.xz"))
1194 (base32 "1vn3bbc99py0ak7z9s6p71n9cacpckz57a1p97iwb0p23g4zgjkf"))))
1195 (build-system cmake-build-system)
1197 `(("qtbase" ,qtbase)
1198 ("utf8proc" ,utf8proc)))
1200 `(("lxqt-build-tools" ,lxqt-build-tools)
1201 ("qttools" ,qttools)))
1203 '(#:tests? #f)) ; no tests
1204 (home-page "https://lxqt.org/")
1205 (synopsis "The terminal widget for QTerminal")
1206 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1207 (license license:gpl2+)))
1209 (define-public qterminal
1216 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1217 version "/" name "-" version ".tar.xz"))
1219 (base32 "0r7xmwjpak47ayj7cj37bwrdlv1mx5nhqpccb5pbn2fh8slp8zsm"))))
1220 (build-system cmake-build-system)
1222 `(("qtbase" ,qtbase)
1223 ("qtx11extras" ,qtx11extras)
1224 ("qtermwidget" ,qtermwidget)))
1226 `(("lxqt-build-tools" ,lxqt-build-tools)
1227 ("qttools" ,qttools)))
1229 '(#:tests? #f)) ; no tests
1230 (home-page "https://lxqt.org/")
1231 (synopsis "Lightweight Qt-based terminal emulator")
1232 (description "QTerminal is a lightweight Qt terminal emulator based on
1234 (license license:gpl2+)))
1236 (define-public screengrab
1243 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1244 version "/screengrab-" version ".tar.xz"))
1246 (base32 "14znjw3d3gw02fsmhrjcj86l173m2ypl1x8hhba9ld23icr1gqwf"))))
1247 (build-system cmake-build-system)
1249 `(("kwindowsystem" ,kwindowsystem)
1250 ("libqtxdg" ,libqtxdg)
1253 ("qtx11extras" ,qtx11extras)))
1255 `(("pkg-config" ,pkg-config)
1256 ("qttools" ,qttools)))
1258 '(#:tests? #f)) ; no tests
1259 (home-page "https://lxqt.org/")
1260 (synopsis "Crossplatform tool for fast making screenshots")
1261 (description "ScreenGrab is a program for fast creating screenshots, and
1262 easily publishing them on internet image hosting services.")
1263 (license license:gpl2+)))
1266 (define-public lxqt-archiver
1268 (name "lxqt-archiver")
1273 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1274 version "/" name "-" version ".tar.xz"))
1276 (base32 "1i725zaah0wv18j5fchg6isbh4b601filx549cq2hkzf2sylh9ff"))))
1277 (build-system cmake-build-system)
1280 ("json-glib" ,json-glib)
1281 ("libfm-qt" ,libfm-qt)
1283 ("qtx11extras" ,qtx11extras)))
1285 `(("pkg-config" ,pkg-config)
1286 ("lxqt-build-tools" ,lxqt-build-tools)
1287 ("qttools" ,qttools)))
1290 (home-page "https://lxqt.org/")
1291 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1293 "This package provides a Qt graphical interface to archiving programs
1294 like @command{tar} and @command{zip}.")
1295 (license license:gpl2+)))
1297 (define-public lxqt-connman-applet
1298 ;; since the main developers didn't release any version yet, their
1299 ;; latest commit on `master` branch at the moment used for this version.
1300 (let ((commit "8a6cc14371a2f18f963e6a2996446082bb60f17d")
1303 (name "lxqt-connman-applet")
1304 (version (git-version "0.15.0" revision commit))
1309 (url (string-append "https://github.com/lxqt/" name ".git"))
1311 (file-name (git-file-name name version))
1312 (sha256 (base32 "0br4bxfrl8k7lq84aq4grznlk8xzzjgkmd19bf9mwjr0a87gg72v"))))
1313 (build-system cmake-build-system)
1315 `(("kwindowsystem" ,kwindowsystem)
1318 ("liblxqt" ,liblxqt)
1319 ("qtx11extras" ,qtx11extras)
1320 ("libqtxdg" ,libqtxdg)))
1322 `(("lxqt-build-tools" ,lxqt-build-tools)
1323 ("qtlinguist" ,qttools)))
1325 `(#:tests? #f ; no tests
1327 (modify-phases %standard-phases
1328 (add-after 'unpack 'patch-translations-dir
1329 (lambda* (#:key outputs #:allow-other-keys)
1330 (substitute* "CMakeLists.txt"
1331 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1332 (string-append (assoc-ref outputs "out")
1333 "/share/lxqt/translations"))
1334 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1336 (add-after 'unpack 'remove-definitions
1338 (substitute* "CMakeLists.txt"
1339 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1340 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1341 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1343 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1344 (synopsis "System-tray applet for connman")
1345 (description "This package provides a Qt-based system-tray applet for
1346 the network management tool Connman, originally developed for the LXQT
1348 (license license:lgpl2.1+))))
1350 ;; The LXQt Desktop Environment
1355 (version (package-version lxqt-session))
1357 (build-system trivial-build-system)
1358 (arguments '(#:builder (begin (mkdir %output) #t)))
1361 ("desktop-file-utils" ,desktop-file-utils)
1362 ("hicolor-icon-theme" ,hicolor-icon-theme)
1363 ("xdg-user-dirs" ,xdg-user-dirs)
1364 ("xdg-utils" ,xdg-utils)
1366 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1367 ;; should be added to their propagated-inputs?
1370 ("lxqt-about" ,lxqt-about)
1371 ("lxqt-admin" ,lxqt-admin)
1372 ("lxqt-config" ,lxqt-config)
1373 ("lxqt-notificationd" ,lxqt-notificationd)
1374 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1375 ("lxqt-panel" ,lxqt-panel)
1376 ("lxqt-policykit" ,lxqt-policykit)
1377 ("lxqt-powermanagement" ,lxqt-powermanagement)
1378 ("lxqt-qtplugin" ,lxqt-qtplugin)
1379 ("lxqt-runner" ,lxqt-runner)
1380 ("lxqt-session" ,lxqt-session)
1381 ("lxqt-sudo" ,lxqt-sudo)
1382 ("lxqt-themes" ,lxqt-themes)
1383 ("pcmanfm-qt" ,pcmanfm-qt)
1385 ("compton" ,compton)
1386 ("compton-conf" ,compton-conf)
1387 ("font-dejavu" ,font-dejavu)
1388 ("lximage-qt" ,lximage-qt)
1389 ("obconf-qt" ,obconf-qt)
1390 ("openbox" ,openbox)
1391 ("oxygen-icons" ,oxygen-icons)
1392 ("pavucontrol-qt" ,pavucontrol-qt)
1394 ("qterminal" ,qterminal)))
1395 (synopsis "The Lightweight Qt Desktop Environment")
1396 (description "LXQt is a lightweight Qt desktop environment.")
1397 (home-page "https://lxqt.org/")
1398 (license license:gpl2+)))