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 ng0 <ng0@n0.is>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
9 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
11 ;;; This file is part of GNU Guix.
13 ;;; GNU Guix is free software; you can redistribute it and/or modify it
14 ;;; under the terms of the GNU General Public License as published by
15 ;;; the Free Software Foundation; either version 3 of the License, or (at
16 ;;; your option) any later version.
18 ;;; GNU Guix is distributed in the hope that it will be useful, but
19 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;;; GNU General Public License for more details.
23 ;;; You should have received a copy of the GNU General Public License
24 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26 (define-module (gnu packages lxqt)
27 #:use-module (guix download)
28 #:use-module (guix git-download)
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix packages)
31 #:use-module (guix utils)
32 #:use-module (guix build-system cmake)
33 #:use-module (guix build-system gnu)
34 #:use-module (guix build-system trivial)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages admin)
37 #:use-module (gnu packages compression)
38 #:use-module (gnu packages documentation)
39 #:use-module (gnu packages compton)
40 #:use-module (gnu packages fonts)
41 #:use-module (gnu packages freedesktop)
42 #:use-module (gnu packages glib)
43 #:use-module (gnu packages gnome)
44 #:use-module (gnu packages gtk)
45 #:use-module (gnu packages image)
46 #:use-module (gnu packages kde-frameworks)
47 #:use-module (gnu packages kde-plasma)
48 #:use-module (gnu packages linux)
49 #:use-module (gnu packages perl)
50 #:use-module (gnu packages lxde)
51 #:use-module (gnu packages maths)
52 #:use-module (gnu packages openbox)
53 #:use-module (gnu packages pcre)
54 #:use-module (gnu packages photo)
55 #:use-module (gnu packages pkg-config)
56 #:use-module (gnu packages polkit)
57 #:use-module (gnu packages pulseaudio)
58 #:use-module (gnu packages qt)
59 #:use-module (gnu packages textutils)
60 #:use-module (gnu packages xdisorg)
61 #:use-module (gnu packages xml)
62 #:use-module (gnu packages xorg))
65 ;; Third party libraries
67 (define-public libdbusmenu-qt
69 (name "libdbusmenu-qt")
70 (version "0.9.3+16.04.20160218-0ubuntu1")
74 ;; Download from github rather than launchpad because launchpad trunk
75 ;; tarball hash is not deterministic.
77 (url "https://github.com/unity8-team/libdbusmenu-qt.git")
79 (file-name (git-file-name name version))
81 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
82 (build-system cmake-build-system)
84 ;; XXX: Tests require a dbus session and some icons.
87 `(("doxygen" ,doxygen)))
89 `(("qtbase" ,qtbase)))
90 (home-page "https://launchpad.net/libdbusmenu-qt")
91 (synopsis "Qt implementation of the DBusMenu spec")
92 (description "This library provides a Qt implementation of the DBusMenu
93 protocol. The DBusMenu protocol makes it possible for applications to export
94 and import their menus over DBus.")
95 (license license:lgpl2.1+)))
97 (define-public libstatgrab
104 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
105 name "-" version ".tar.gz"))
107 (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83"))))
108 (build-system gnu-build-system)
110 '(#:configure-flags '("--enable-tests")))
114 (home-page "https://www.i-scream.org/libstatgrab/")
115 (synopsis "Provides access to statistics about the system")
116 (description "libstatgrab is a library that provides cross platform access
117 to statistics about the system on which it's run.")
118 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
119 (license license:gpl2+)))
124 (define-public lxqt-build-tools
126 (name "lxqt-build-tools")
131 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
133 "/lxqt-build-tools-" version ".tar.xz"))
135 (base32 "0n0p0mf12n9f7zm2592779rpqrbcamfdz87nnjb8j058bc8g3214"))))
136 (build-system cmake-build-system)
138 `(#:tests? #f ; no tests
140 ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
141 ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
142 ;; LXQT_ETC_XDG_DIR in its "Technical Info".
143 '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
144 "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
146 `(("pkg-config" ,pkg-config)
149 `(("qtbase" ,qtbase)))
150 (synopsis "LXQt Build tools")
152 "Lxqt-build-tools is providing several tools needed to build LXQt
153 itself as well as other components maintained by the LXQt project.")
154 (home-page "https://lxqt.org")
155 (license license:lgpl2.1+)))
157 (define-public libqtxdg
165 "https://github.com/lxqt/libqtxdg/releases/download/"
166 version "/libqtxdg-" version ".tar.xz"))
168 (base32 "1mnnq8vbf5xjlrzajzfkay0yzzxri0zz0xi8x8rmxpw38xmglq8h"))))
169 (build-system cmake-build-system)
173 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
175 (modify-phases %standard-phases
176 (add-before 'check 'pre-check
178 ;; Run the tests offscreen.
179 (setenv "QT_QPA_PLATFORM" "offscreen")
182 ;; required by Qt5XdgIconLoader.pc
186 `(("lxqt-build-tools" ,lxqt-build-tools)))
187 (home-page "https://github.com/lxqt/libqtxdg")
188 (synopsis "Qt implementation of freedesktop.org xdg specifications")
189 (description "Libqtxdg implements the freedesktop.org xdg specifications
191 (license license:lgpl2.1+)))
193 (define-public liblxqt
201 "https://github.com/lxqt/" name "/releases/download/"
202 version "/" name "-" version ".tar.xz"))
204 (base32 "1gb922npf6nw4w3nkvh4czk8xmdzzqkzq3zgl1h303fjaib359qs"))))
205 (build-system cmake-build-system)
207 `(#:tests? #f ; no tests
209 (modify-phases %standard-phases
210 (add-after 'unpack 'patch-source
212 (substitute* "CMakeLists.txt"
213 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
214 "DESTINATION \"share/polkit-1/actions"))
216 (add-after 'unpack 'patch-translations-dir
217 (lambda* (#:key outputs #:allow-other-keys)
218 (substitute* "CMakeLists.txt"
219 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
220 (string-append (assoc-ref outputs "out")
221 "/share/lxqt/translations")))
224 `(("kwindowsystem" ,kwindowsystem)
225 ("libqtxdg" ,libqtxdg)
226 ("libxscrnsaver" ,libxscrnsaver)
227 ("polkit-qt" ,polkit-qt)
229 ("qtx11extras" ,qtx11extras)))
231 `(("lxqt-build-tools" ,lxqt-build-tools)
232 ("qttools" ,qttools)))
233 (home-page "https://lxqt.org/")
234 (synopsis "Core utility library for all LXQt components")
235 (description "liblxqt provides the basic libraries shared by the
236 components of the LXQt desktop environment.")
237 (license license:lgpl2.1+)))
239 (define-public libsysstat
246 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
247 version "/" name "-" version ".tar.xz"))
249 (base32 "0rz9w49khra9kl91kfnd3wxkldy1fqf6755mvlgbsqxb1yv8597w"))))
250 (build-system cmake-build-system)
251 (arguments '(#:tests? #f)) ; no tests
253 `(("qtbase" ,qtbase)))
255 `(("lxqt-build-tools" ,lxqt-build-tools)))
256 (home-page "https://lxqt.org/")
257 (synopsis "Library used to query system info and statistics")
258 (description "libsysstat is a library to query system information like CPU
259 and memory usage or network traffic.")
260 (license license:lgpl2.1+)))
265 (define-public lxqt-about
272 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
273 version "/" name "-" version ".tar.xz"))
275 (base32 "01xp5ddcxc9wvl7jm4179hjrirj07mpzm9z50936d1fqx34wfbis"))))
276 (build-system cmake-build-system)
278 `(("kwindowsystem" ,kwindowsystem)
280 ("libqtxdg" ,libqtxdg)
283 ("qtx11extras" ,qtx11extras)))
285 `(("lxqt-build-tools" ,lxqt-build-tools)
286 ("qttools" ,qttools)))
288 '(#:tests? #f ; no tests
290 (modify-phases %standard-phases
291 (add-before 'build 'setenv
293 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
295 (add-after 'unpack 'patch-translations-dir
296 (lambda* (#:key outputs #:allow-other-keys)
297 (substitute* "CMakeLists.txt"
298 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
299 (string-append (assoc-ref outputs "out")
300 "/share/lxqt/translations")))
302 (home-page "https://lxqt.org")
303 (synopsis "Provides information about LXQt and the system")
304 (description "lxqt-about is a dialogue window providing information about
305 LXQt and the system it's running on.")
306 (license license:lgpl2.1+)))
308 (define-public lxqt-admin
315 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
316 version "/" name "-" version ".tar.xz"))
318 (base32 "0f0skkxqyhpidpd5phliax869v4n2whvglg8rahzia2zhw4ylzry"))))
319 (build-system cmake-build-system)
321 `(("kwindowsystem" ,kwindowsystem)
323 ("libqtxdg" ,libqtxdg)
324 ("polkit-qt" ,polkit-qt)
326 ("qtx11extras" ,qtx11extras)))
328 `(("lxqt-build-tools" ,lxqt-build-tools)
329 ("qttools" ,qttools)))
331 '(#:tests? #f ; no tests
333 (modify-phases %standard-phases
334 (add-after 'unpack 'patch-source
336 (substitute* "lxqt-admin-user/CMakeLists.txt"
337 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
338 "DESTINATION \"share/polkit-1/actions"))
340 (add-after 'unpack 'patch-translations-dir
341 (lambda* (#:key outputs #:allow-other-keys)
342 (substitute* '("lxqt-admin-time/CMakeLists.txt"
343 "lxqt-admin-user/CMakeLists.txt")
344 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
345 (string-append (assoc-ref outputs "out")
346 "/share/lxqt/translations")))
348 (home-page "https://lxqt.org")
349 (synopsis "LXQt system administration tool")
350 (description "lxqt-admin is providing two GUI tools to adjust settings of
351 the operating system LXQt is running on.")
352 (license license:lgpl2.1+)))
354 (define-public lxqt-config
361 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
362 version "/" name "-" version ".tar.xz"))
364 (base32 "16k36knv6d72gg8hp7423l3ic43y3l3zbaf3spqn2a354y30myrg"))))
365 (build-system cmake-build-system)
368 ("kwindowsystem" ,kwindowsystem)
369 ("libkscreen" ,libkscreen)
371 ("libqtxdg" ,libqtxdg)
372 ("libxcursor" ,libxcursor)
376 ("qtx11extras" ,qtx11extras)
378 ("xf86-input-libinput" ,xf86-input-libinput)
381 `(("pkg-config" ,pkg-config)
382 ("lxqt-build-tools" ,lxqt-build-tools)
383 ("qttools" ,qttools)))
385 '(#:tests? #f ; no tests
387 (modify-phases %standard-phases
388 (add-after 'unpack 'patch-source
390 (substitute* '("src/CMakeLists.txt")
391 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
392 "DESTINATION \"etc/xdg"))
394 (add-after 'unpack 'patch-translations-dir
395 (lambda* (#:key outputs #:allow-other-keys)
396 (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
397 "lxqt-config-brightness/CMakeLists.txt"
398 "lxqt-config-appearance/CMakeLists.txt"
399 "lxqt-config-locale/CMakeLists.txt"
400 "lxqt-config-monitor/CMakeLists.txt"
401 "lxqt-config-input/CMakeLists.txt"
402 "liblxqt-config-cursor/CMakeLists.txt"
403 "src/CMakeLists.txt")
404 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
405 (string-append (assoc-ref outputs "out")
406 "/share/lxqt/translations")))
408 (home-page "https://lxqt.org")
409 (synopsis "Tools to configure LXQt and the underlying operating system")
410 (description "lxqt-config is providing several tools involved in the
411 configuration of both LXQt and the underlying operating system.")
412 (license license:lgpl2.1+)))
414 (define-public lxqt-globalkeys
416 (name "lxqt-globalkeys")
421 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
422 version "/" name "-" version ".tar.xz"))
424 (base32 "0m6svwy20bfy9d21g5l0qzjndph3rd8zqagmqgdjzjhh3lxwrsrk"))))
425 (build-system cmake-build-system)
427 `(("kwindowsystem" ,kwindowsystem)
429 ("libqtxdg" ,libqtxdg)
432 ("qtx11extras" ,qtx11extras)))
434 `(("pkg-config" ,pkg-config)
436 ("lxqt-build-tools" ,lxqt-build-tools)))
438 '(#:tests? #f ; no tests
440 (modify-phases %standard-phases
441 (add-after 'unpack 'patch-source
443 (substitute* '("autostart/CMakeLists.txt"
444 "xdg/CMakeLists.txt")
445 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
446 "DESTINATION \"etc/xdg"))
448 (add-after 'unpack 'patch-translations-dir
449 (lambda* (#:key outputs #:allow-other-keys)
450 (substitute* "config/CMakeLists.txt"
451 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
452 (string-append (assoc-ref outputs "out")
453 "/share/lxqt/translations")))
455 (home-page "https://lxqt.org/")
456 (synopsis "Daemon used to register global keyboard shortcuts")
457 (description "lxqt-globalkeys is providing tools to set global keyboard
458 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
459 as a whole and are not limited to distinct applications.")
460 (license license:lgpl2.1+)))
462 (define-public lxqt-notificationd
464 (name "lxqt-notificationd")
469 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
470 version "/" name "-" version ".tar.xz"))
472 (base32 "1kiag3fcx12qmslln6x6lwvm4f1spymwf71389kdya3vwx7hkmcy"))))
473 (build-system cmake-build-system)
475 `(("kwindowsystem" ,kwindowsystem)
477 ("libqtxdg" ,libqtxdg)
480 ("qtx11extras" ,qtx11extras)))
482 `(("lxqt-build-tools" ,lxqt-build-tools)
483 ("qttools" ,qttools)))
485 '(#:tests? #f ; no test target
487 (modify-phases %standard-phases
488 (add-after 'unpack 'patch-source
490 (substitute* '("autostart/CMakeLists.txt")
491 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
492 "DESTINATION \"etc/xdg"))
494 (add-after 'unpack 'patch-translations-dir
495 (lambda* (#:key outputs #:allow-other-keys)
496 (substitute* '("config/CMakeLists.txt"
497 "src/CMakeLists.txt")
498 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
499 (string-append (assoc-ref outputs "out")
500 "/share/lxqt/translations")))
502 (home-page "https://lxqt.org/")
503 (synopsis "The LXQt notification daemon")
504 (description "lxqt-notificationd is LXQt's implementation of a daemon
505 according to the Desktop Notifications Specification.")
506 (license license:lgpl2.1+)))
508 (define-public lxqt-openssh-askpass
510 (name "lxqt-openssh-askpass")
515 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
516 version "/" name "-" version ".tar.xz"))
518 (base32 "1fvbgjidpifn420avh8n1gym49vcz6zgayz7xygg1x93s4awy1cs"))))
519 (build-system cmake-build-system)
521 `(("kwindowsystem" ,kwindowsystem)
523 ("libqtxdg" ,libqtxdg)
526 ("qtx11extras" ,qtx11extras)))
528 `(("lxqt-build-tools" ,lxqt-build-tools)
529 ("qttools" ,qttools)))
531 '(#:tests? #f ; no tests
533 (modify-phases %standard-phases
534 (add-after 'unpack 'patch-translations-dir
535 (lambda* (#:key outputs #:allow-other-keys)
536 (substitute* "CMakeLists.txt"
537 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
538 (string-append (assoc-ref outputs "out")
539 "/share/lxqt/translations")))
541 (home-page "https://lxqt.org/")
542 (synopsis "GUI to query passwords on behalf of SSH agents")
543 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
545 (license license:lgpl2.1+)))
547 (define-public lxqt-panel
554 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
555 version "/" name "-" version ".tar.xz"))
557 (base32 "1r3wx0v3jm7j41h7gxr49izc9xa1afvrzq4wcdm0qbj98qa1rgpq"))))
558 (build-system cmake-build-system)
560 `(("alsa-lib" ,alsa-lib)
561 ("kguiaddons" ,kguiaddons)
562 ("kwindowsystem" ,kwindowsystem)
563 ("libdbusmenu-qt" ,libdbusmenu-qt)
565 ("libqtxdg" ,libqtxdg)
566 ("libstatgrab" ,libstatgrab)
567 ("libsysstat" ,libsysstat)
568 ("libxcomposite" ,libxcomposite)
569 ("libxdamage" ,libxdamage)
570 ("libxkbcommon" ,libxkbcommon)
571 ("libxrender" ,libxrender)
572 ("lm-sensors" ,lm-sensors "lib")
573 ("lxqt-globalkeys" ,lxqt-globalkeys)
575 ("pulseaudio" ,pulseaudio)
578 ("qtx11extras" ,qtx11extras)
580 ("xcb-util" ,xcb-util)))
582 `(("pkg-config" ,pkg-config)
583 ("lxqt-build-tools" ,lxqt-build-tools)
584 ("qttools" ,qttools)))
586 '(#:tests? #f ; no tests
588 (modify-phases %standard-phases
589 (add-after 'unpack 'patch-source
591 (substitute* '("autostart/CMakeLists.txt"
592 "menu/CMakeLists.txt")
593 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
594 "DESTINATION \"etc/xdg"))
596 (add-after 'unpack 'patch-translations-dir
597 (lambda* (#:key outputs #:allow-other-keys)
598 (substitute* '("cmake/BuildPlugin.cmake"
599 "panel/CMakeLists.txt")
600 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
601 (string-append (assoc-ref outputs "out")
602 "/share/lxqt/translations")))
604 (home-page "https://lxqt.org/")
605 (synopsis "The LXQt desktop panel")
606 (description "lxqt-panel represents the taskbar of LXQt.")
607 (license license:lgpl2.1+)))
609 (define-public lxqt-policykit
611 (name "lxqt-policykit")
616 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
617 version "/" name "-" version ".tar.xz"))
619 (base32 "127rqb0nprybkc41lk0yq0r0dk5pbbw22gvrm4pwag71qh8wpk5i"))))
620 (build-system cmake-build-system)
622 `(("kwindowsystem" ,kwindowsystem)
624 ("libqtxdg" ,libqtxdg)
626 ("polkit-qt" ,polkit-qt)
629 ("qtx11extras" ,qtx11extras)))
631 `(("pkg-config" ,pkg-config)
633 ("lxqt-build-tools" ,lxqt-build-tools)
634 ("qttools" ,qttools)))
636 '(#:tests? #f ; no test target
638 (modify-phases %standard-phases
639 (add-after 'unpack 'patch-source
641 (substitute* '("autostart/CMakeLists.txt")
642 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
643 "DESTINATION \"etc/xdg"))
645 (add-after 'unpack 'patch-translations-dir
646 (lambda* (#:key outputs #:allow-other-keys)
647 (substitute* "CMakeLists.txt"
648 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
649 (string-append (assoc-ref outputs "out")
650 "/share/lxqt/translations")))
652 (home-page "https://lxqt.org/")
653 (synopsis "The LXQt PolicyKit agent")
654 (description "lxqt-policykit is the polkit authentication agent of
656 (license license:lgpl2.1+)))
658 (define-public lxqt-powermanagement
660 (name "lxqt-powermanagement")
665 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
666 version "/" name "-" version ".tar.xz"))
668 (base32 "06bvgbkbl9p9n8ba5cfsynqgmpb5c8yfnsvp7zqhflj8k9p9msip"))))
669 (build-system cmake-build-system)
671 `(("kidletime" ,kidletime)
672 ("kwindowsystem" ,kwindowsystem)
674 ("libqtxdg" ,libqtxdg)
677 ("qtx11extras" ,qtx11extras)
680 `(("lxqt-build-tools" ,lxqt-build-tools)
681 ("qttools" ,qttools)))
683 '(#:tests? #f ; no tests
685 (modify-phases %standard-phases
686 (add-after 'unpack 'patch-source
688 (substitute* '("autostart/CMakeLists.txt")
689 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
690 "DESTINATION \"etc/xdg"))
692 (add-after 'unpack 'patch-translations-dir
693 (lambda* (#:key outputs #:allow-other-keys)
694 (substitute* '("config/CMakeLists.txt"
695 "src/CMakeLists.txt")
696 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
697 (string-append (assoc-ref outputs "out")
698 "/share/lxqt/translations")))
700 (home-page "https://lxqt.org/")
701 (synopsis "Power management module for LXQt")
702 (description "lxqt-powermanagement is providing tools to monitor power
703 management events and optionally trigger actions like e. g. shut down a system
704 when laptop batteries are low on power.")
705 (license license:lgpl2.1+)))
707 (define-public lxqt-qtplugin
709 (name "lxqt-qtplugin")
714 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
715 version "/" name "-" version ".tar.xz"))
717 (base32 "18y7xfxwyismcycg70q6r8zrcygz1pdcvg6lqc6ba7azqb9806ds"))))
718 (build-system cmake-build-system)
720 `(("libdbusmenu-qt" ,libdbusmenu-qt)
721 ("libfm-qt" ,libfm-qt)
722 ("libqtxdg" ,libqtxdg)
725 ("qtx11extras" ,qtx11extras)))
727 `(("lxqt-build-tools" ,lxqt-build-tools)
728 ("qttools" ,qttools)))
730 '(#:tests? #f ; no tests
732 (modify-phases %standard-phases
733 (add-after 'unpack 'patch-source
735 (substitute* '("src/CMakeLists.txt")
736 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
737 "DESTINATION \"lib/qt5/plugins"))
739 (home-page "https://lxqt.org/")
740 (synopsis "LXQt Qt platform integration plugin")
741 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
743 (license license:lgpl2.1+)))
745 (define-public lxqt-runner
752 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
753 version "/" name "-" version ".tar.xz"))
755 (base32 "1c687shypivkhjrpzs1jcy5l2i8d7xzm31c4is1xx6x9nbkgm4bm"))))
756 (build-system cmake-build-system)
758 `(("kwindowsystem" ,kwindowsystem)
760 ("libqtxdg" ,libqtxdg)
761 ("lxqt-globalkeys" ,lxqt-globalkeys)
762 ("muparser" ,muparser)
766 ("qtx11extras" ,qtx11extras)))
768 `(("pkg-config" ,pkg-config)
770 ("lxqt-build-tools" ,lxqt-build-tools)))
772 '(#:tests? #f ; no tests
774 (modify-phases %standard-phases
775 (add-after 'unpack 'patch-source
777 (substitute* '("autostart/CMakeLists.txt")
778 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
779 "DESTINATION \"etc/xdg"))
781 (add-after 'unpack 'patch-translations-dir
782 (lambda* (#:key outputs #:allow-other-keys)
783 (substitute* "CMakeLists.txt"
784 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
785 (string-append (assoc-ref outputs "out")
786 "/share/lxqt/translations")))
788 (home-page "https://lxqt.org/")
789 (synopsis "Tool used to launch programs quickly by typing their names")
790 (description "lxqt-runner provides a GUI that comes up on the desktop and
791 allows for launching applications or shutting down the system.")
792 (license license:lgpl2.1+)))
794 (define-public lxqt-session
796 (name "lxqt-session")
801 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
802 version "/" name "-" version ".tar.xz"))
804 (base32 "11i2vimv3336dvvxb6y5csdybwjncr7cq3kwlj52vkpisnxslvgy"))))
805 (build-system cmake-build-system)
808 ("kwindowsystem" ,kwindowsystem)
810 ("libqtxdg" ,libqtxdg)
813 ("qtx11extras" ,qtx11extras)
814 ("xdg-user-dirs" ,xdg-user-dirs)))
816 `(("pkg-config" ,pkg-config)
817 ("lxqt-build-tools" ,lxqt-build-tools)
818 ("qttools" ,qttools)))
822 (modify-phases %standard-phases
823 (add-after 'unpack 'patch-source
825 (substitute* '("autostart/CMakeLists.txt"
826 "config/CMakeLists.txt")
827 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
828 "DESTINATION \"etc/xdg"))
830 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
831 (add-after 'unpack 'patch-openbox-permission
833 (substitute* "startlxqt.in"
834 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
835 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
836 " # fix openbox permission issue\n"
837 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
839 (add-after 'unpack 'patch-translations-dir
840 (lambda* (#:key outputs #:allow-other-keys)
841 (substitute* '("lxqt-config-session/CMakeLists.txt"
842 "lxqt-leave/CMakeLists.txt"
843 "lxqt-session/CMakeLists.txt")
844 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
845 (string-append (assoc-ref outputs "out")
846 "/share/lxqt/translations")))
848 (home-page "https://lxqt.org/")
849 (synopsis "Session manager for LXQt")
850 (description "lxqt-session provides the standard session manager
851 for the LXQt desktop environment.")
852 (license license:lgpl2.1+)))
854 (define-public lxqt-sudo
861 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
862 version "/" name "-" version ".tar.xz"))
864 (base32 "0mbygp2kkppwk7sxvpnwavdwrx88mh7ldcg6xm3zw1ndp29danay"))))
865 (build-system cmake-build-system)
867 `(("kwindowsystem" ,kwindowsystem)
869 ("libqtxdg" ,libqtxdg)
872 ("qtx11extras" ,qtx11extras)
875 `(("pkg-config" ,pkg-config)
877 ("lxqt-build-tools" ,lxqt-build-tools)))
879 '(#:tests? #f ; no tests
881 (modify-phases %standard-phases
882 (add-after 'unpack 'patch-translations-dir
883 (lambda* (#:key outputs #:allow-other-keys)
884 (substitute* "CMakeLists.txt"
885 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
886 (string-append (assoc-ref outputs "out")
887 "/share/lxqt/translations")))
889 (home-page "https://lxqt.org/")
890 (synopsis "GUI frontend for sudo/su")
891 (description "lxqt-sudo is a graphical front-end of commands sudo and su
892 respectively. As such it enables regular users to launch applications with
893 permissions of other users including root.")
894 (license license:lgpl2.1+)))
896 (define-public lxqt-themes
903 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
904 version "/" name "-" version ".tar.xz"))
906 (base32 "0p7svdpp0z44hvgrp2aip6hym0gdhbanyxsz6iz8sjnn28c995ia"))))
907 (build-system cmake-build-system)
909 `(("lxqt-build-tools" ,lxqt-build-tools)))
911 `(#:tests? #f ; no tests
913 (modify-phases %standard-phases
914 (add-after 'unpack 'patch-source
916 (substitute* '("CMakeLists.txt")
917 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
918 "DESTINATION \"share/lxqt/graphics"))
919 (substitute* '("themes/CMakeLists.txt")
920 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
921 "DESTINATION \"share/lxqt"))
923 (home-page "https://lxqt.org/")
924 (synopsis "Themes, graphics and icons for LXQt")
925 (description "This package comprises a number of graphic files and themes
927 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
928 ;; licensed under CC-BY-SA 3.0.
929 (license license:lgpl2.1+)))
934 (define-public libfm-qt
941 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
942 version "/" name "-" version ".tar.xz"))
944 (base32 "06p3wqpc574v9f94wkq9hqmbbvb9q8phfpq301z55c5r939f4hrp"))))
945 (build-system cmake-build-system)
947 '(#:tests? #f)) ; no tests
953 ("menu-cache" ,menu-cache)
956 ("qtx11extras" ,qtx11extras)))
958 `(("pkg-config" ,pkg-config)
959 ("lxqt-build-tools" ,lxqt-build-tools)
960 ("qttools" ,qttools)))
961 (home-page "https://lxqt.org/")
962 (synopsis "Qt binding for libfm")
963 (description "libfm-qt is the Qt port of libfm, a library providing
964 components to build desktop file managers which belongs to LXDE.")
965 (license license:lgpl2.1+)))
967 (define-public pcmanfm-qt
974 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
975 version "/" name "-" version ".tar.xz"))
977 (base32 "0x3c25inlxll965xszx37mnl5gp3smm2h7x04f67z0qlh3vsbrjq"))))
978 (build-system cmake-build-system)
980 `(("libfm-qt" ,libfm-qt)
982 ("qtx11extras" ,qtx11extras)))
984 `(("pkg-config" ,pkg-config)
986 ("lxqt-build-tools" ,lxqt-build-tools)))
988 '(#:tests? #f ; no tests
990 (modify-phases %standard-phases
991 (add-after 'unpack 'patch-source
993 (substitute* '("autostart/CMakeLists.txt")
994 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
995 "DESTINATION \"etc/xdg"))
997 (home-page "https://lxqt.org/")
998 (synopsis "File manager and desktop icon manager")
999 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1001 (license license:gpl2+)))
1006 (define-public compton-conf
1008 (name "compton-conf")
1013 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1014 version "/" name "-" version ".tar.xz"))
1016 (base32 "11n8k59jd0q2x66cispc9dpk139mp6j99hq1yjccxvh21vhc7mbc"))))
1017 (build-system cmake-build-system)
1019 `(("libconfig" ,libconfig)
1020 ("qtbase" ,qtbase)))
1022 `(("lxqt-build-tools" ,lxqt-build-tools)
1023 ("pkg-config" ,pkg-config)
1024 ("qttools" ,qttools)))
1026 '(#:tests? #f ; no tests
1028 (modify-phases %standard-phases
1029 (add-after 'unpack 'patch-source
1031 (substitute* '("autostart/CMakeLists.txt")
1032 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1033 "DESTINATION \"etc/xdg"))
1035 (home-page "https://lxqt.org/")
1036 (synopsis "GUI configuration tool for compton X composite manager")
1037 (description "@code{compton-conf} is a configuration tool for X composite
1039 (license license:lgpl2.1+)))
1041 (define-public lximage-qt
1048 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1049 version "/" name "-" version ".tar.xz"))
1051 (base32 "0iiq55rm4z2jp19q1pbd2whifwvxg052q324vrwp4p7nz0wh04za"))))
1052 (build-system cmake-build-system)
1054 `(("libexif" ,libexif)
1055 ("libfm-qt" ,libfm-qt)
1058 ("qtx11extras" ,qtx11extras)))
1060 `(("pkg-config" ,pkg-config)
1061 ("lxqt-build-tools" ,lxqt-build-tools)
1062 ("qttools" ,qttools)))
1064 '(#:tests? #f)) ; no tests
1065 (home-page "https://lxqt.org/")
1066 (synopsis "The image viewer and screenshot tool for lxqt")
1067 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1069 (license license:gpl2+)))
1071 (define-public obconf-qt
1078 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1079 version "/" name "-" version ".tar.xz"))
1081 (base32 "1kzb7364150b60qd3wcgnw78b9ia5k3b16kq8w3p1y7pg6pddy8m"))))
1082 (build-system cmake-build-system)
1084 `(("imlib2" ,imlib2)
1086 ("librsvg" ,librsvg)
1088 ("libxml2" ,libxml2)
1089 ("openbox" ,openbox)
1093 ("qtx11extras" ,qtx11extras)))
1095 `(("lxqt-build-tools" ,lxqt-build-tools)
1096 ("pkg-config" ,pkg-config)
1097 ("qttools" ,qttools)))
1099 '(#:tests? #f)) ; no tests
1100 (home-page "https://lxqt.org/")
1101 (synopsis "Openbox configuration tool")
1102 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1103 window manager OpenBox.")
1104 (license license:gpl2+)))
1106 (define-public pavucontrol-qt
1108 (name "pavucontrol-qt")
1113 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1114 version "/" name "-" version ".tar.xz"))
1116 (base32 "18mw5r8grfrf95vxjbqrr790kl5l59qdqcmlxmwa6rwbfgywj1fq"))))
1117 (build-system cmake-build-system)
1121 ("pulseaudio" ,pulseaudio)
1123 ("qtx11extras" ,qtx11extras)))
1125 `(("pkg-config" ,pkg-config)
1126 ("lxqt-build-tools" ,lxqt-build-tools)
1127 ("qttools" ,qttools)))
1129 '(#:tests? #f)) ; no tests
1130 (home-page "https://lxqt.org/")
1131 (synopsis "Pulseaudio mixer in Qt")
1132 (description "@code{pavucontrol-qt} is the Qt port of volume control
1133 @code{pavucontrol} of sound server @code{PulseAudio}.")
1134 (license license:gpl2+)))
1143 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1144 version "/" name "-" version ".tar.xz"))
1146 (base32 "0dz7ricxg2rrmdyca6mc2d4lyy5bpksjk751hvn95wssr76y2w0m"))))
1147 (build-system cmake-build-system)
1149 `(("libxrender" ,libxrender)
1151 ("qtx11extras" ,qtx11extras)))
1153 `(("lxqt-build-tools" ,lxqt-build-tools)
1154 ("qttools" ,qttools)))
1156 '(#:tests? #f)) ; no tests
1157 (home-page "https://lxqt.org/")
1158 (synopsis "Qt-based visual process status monitor")
1159 (description "@code{qps} is a monitor that displays the status of the
1160 processes currently in existence, much like code{top} or code{ps}.")
1161 (license license:gpl2+)))
1163 (define-public qtermwidget
1165 (name "qtermwidget")
1170 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1171 version "/" name "-" version ".tar.xz"))
1173 (base32 "0v1vvi8vf9y8nv8y0gzffaqji53s75ab5jypksih0ndcws8ryww4"))))
1174 (build-system cmake-build-system)
1176 `(("qtbase" ,qtbase)))
1178 `(("lxqt-build-tools" ,lxqt-build-tools)
1179 ("qttools" ,qttools)))
1181 '(#:tests? #f)) ; no tests
1182 (home-page "https://lxqt.org/")
1183 (synopsis "The terminal widget for QTerminal")
1184 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1185 (license license:gpl2+)))
1187 (define-public qterminal
1194 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1195 version "/" name "-" version ".tar.xz"))
1197 (base32 "0cgyaskyqginmm85d11inbi0mmxrsrnvgyx6g4l4l4iqpphfq670"))))
1198 (build-system cmake-build-system)
1200 `(("qtbase" ,qtbase)
1201 ("qtx11extras" ,qtx11extras)
1202 ("qtermwidget" ,qtermwidget)))
1204 `(("lxqt-build-tools" ,lxqt-build-tools)
1205 ("qttools" ,qttools)))
1207 '(#:tests? #f)) ; no tests
1208 (home-page "https://lxqt.org/")
1209 (synopsis "Lightweight Qt-based terminal emulator")
1210 (description "QTerminal is a lightweight Qt terminal emulator based on
1212 (license license:gpl2+)))
1214 (define-public screengrab
1221 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1222 version "/screengrab-" version ".tar.xz"))
1224 (base32 "05f81xjlmiykd7iwx5xns5vnynjq4js4x1bk8wd648frrksp44fa"))))
1225 (build-system cmake-build-system)
1227 `(("kwindowsystem" ,kwindowsystem)
1228 ("libqtxdg" ,libqtxdg)
1231 ("qtx11extras" ,qtx11extras)))
1233 `(("pkg-config" ,pkg-config)
1234 ("qttools" ,qttools)))
1236 '(#:tests? #f)) ; no tests
1237 (home-page "https://lxqt.org/")
1238 (synopsis "Crossplatform tool for fast making screenshots")
1239 (description "ScreenGrab is a program for fast creating screenshots, and
1240 easily publishing them on internet image hosting services.")
1241 (license license:gpl2+)))
1244 ;; The LXQt Desktop Environment
1249 (version (package-version lxqt-session))
1251 (build-system trivial-build-system)
1252 (arguments '(#:builder (begin (mkdir %output) #t)))
1255 ("desktop-file-utils" ,desktop-file-utils)
1256 ("hicolor-icon-theme" ,hicolor-icon-theme)
1257 ("xdg-user-dirs" ,xdg-user-dirs)
1258 ("xdg-utils" ,xdg-utils)
1260 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1261 ;; should be added to their propagated-inputs?
1264 ("lxqt-about" ,lxqt-about)
1265 ("lxqt-admin" ,lxqt-admin)
1266 ("lxqt-config" ,lxqt-config)
1267 ("lxqt-notificationd" ,lxqt-notificationd)
1268 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1269 ("lxqt-panel" ,lxqt-panel)
1270 ("lxqt-policykit" ,lxqt-policykit)
1271 ("lxqt-powermanagement" ,lxqt-powermanagement)
1272 ("lxqt-qtplugin" ,lxqt-qtplugin)
1273 ("lxqt-runner" ,lxqt-runner)
1274 ("lxqt-session" ,lxqt-session)
1275 ("lxqt-sudo" ,lxqt-sudo)
1276 ("lxqt-themes" ,lxqt-themes)
1277 ("pcmanfm-qt" ,pcmanfm-qt)
1279 ("compton" ,compton)
1280 ("compton-conf" ,compton-conf)
1281 ("font-dejavu" ,font-dejavu)
1282 ("lximage-qt" ,lximage-qt)
1283 ("obconf-qt" ,obconf-qt)
1284 ("openbox" ,openbox)
1285 ("oxygen-icons" ,oxygen-icons)
1286 ("pavucontrol-qt" ,pavucontrol-qt)
1288 ("qterminal" ,qterminal)))
1289 (synopsis "The Lightweight Qt Desktop Environment")
1290 (description "LXQt is a lightweight Qt desktop environment.")
1291 (home-page "https://lxde.org")
1292 (license license:gpl2+)))