gnu: libsysstat: Update to 0.4.6.
[jackhill/guix/guix.git] / gnu / packages / lxqt.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2015, 2022 Sou Bunnbu <iyzsong@gmail.com>
4 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
6 ;;; Copyright © 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
9 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
10 ;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
11 ;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
12 ;;; Copyright © 2020 André Batista <nandre@riseup.net>
13 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
14 ;;;
15 ;;; This file is part of GNU Guix.
16 ;;;
17 ;;; GNU Guix is free software; you can redistribute it and/or modify it
18 ;;; under the terms of the GNU General Public License as published by
19 ;;; the Free Software Foundation; either version 3 of the License, or (at
20 ;;; your option) any later version.
21 ;;;
22 ;;; GNU Guix is distributed in the hope that it will be useful, but
23 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 ;;; GNU General Public License for more details.
26 ;;;
27 ;;; You should have received a copy of the GNU General Public License
28 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30 (define-module (gnu packages lxqt)
31 #:use-module (guix download)
32 #:use-module (guix git-download)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix gexp)
35 #:use-module (guix packages)
36 #:use-module (guix utils)
37 #:use-module (guix build-system cmake)
38 #:use-module (guix build-system gnu)
39 #:use-module (guix build-system trivial)
40 #:use-module (gnu packages)
41 #:use-module (gnu packages admin)
42 #:use-module (gnu packages compression)
43 #:use-module (gnu packages documentation)
44 #:use-module (gnu packages compton)
45 #:use-module (gnu packages fonts)
46 #:use-module (gnu packages freedesktop)
47 #:use-module (gnu packages glib)
48 #:use-module (gnu packages gnome)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages image)
51 #:use-module (gnu packages kde-frameworks)
52 #:use-module (gnu packages kde-plasma)
53 #:use-module (gnu packages linux)
54 #:use-module (gnu packages perl)
55 #:use-module (gnu packages lxde)
56 #:use-module (gnu packages maths)
57 #:use-module (gnu packages openbox)
58 #:use-module (gnu packages pcre)
59 #:use-module (gnu packages photo)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages polkit)
62 #:use-module (gnu packages pulseaudio)
63 #:use-module (gnu packages qt)
64 #:use-module (gnu packages textutils)
65 #:use-module (gnu packages xdisorg)
66 #:use-module (gnu packages xml)
67 #:use-module (gnu packages xorg))
68
69
70 ;; Third party libraries
71
72 (define-public libdbusmenu-qt
73 (package
74 (name "libdbusmenu-qt")
75 (version "0.9.3+16.04.20160218-0ubuntu1")
76 (source
77 (origin
78 (method git-fetch)
79 ;; Download from github rather than launchpad because launchpad trunk
80 ;; tarball hash is not deterministic.
81 (uri (git-reference
82 (url "https://github.com/unity8-team/libdbusmenu-qt")
83 (commit version)))
84 (file-name (git-file-name name version))
85 (sha256
86 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
87 (build-system cmake-build-system)
88 (arguments
89 ;; XXX: Tests require a dbus session and some icons.
90 '(#:tests? #f))
91 (native-inputs
92 (list doxygen))
93 (inputs
94 (list qtbase-5))
95 (home-page "https://launchpad.net/libdbusmenu-qt")
96 (synopsis "Qt implementation of the DBusMenu spec")
97 (description "This library provides a Qt implementation of the DBusMenu
98 protocol. The DBusMenu protocol makes it possible for applications to export
99 and import their menus over DBus.")
100 (license license:lgpl2.1+)))
101
102 (define-public libstatgrab
103 (package
104 (name "libstatgrab")
105 (version "0.92.1")
106 (source
107 (origin
108 (method url-fetch)
109 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
110 name "-" version ".tar.gz"))
111 (sha256
112 (base32 "04bcbln3qlilxsyh5hrwdrv7x4pfv2lkwdwa98bxfismd15am22n"))))
113 (build-system gnu-build-system)
114 (arguments
115 '(#:configure-flags '("--enable-tests"
116 "--disable-static")))
117 (native-inputs
118 ;; For testing.
119 (list perl))
120 (home-page "https://www.i-scream.org/libstatgrab/")
121 (synopsis "Provides access to statistics about the system")
122 (description "libstatgrab is a library that provides cross platform access
123 to statistics about the system on which it's run.")
124 ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
125 (license license:gpl2+)))
126
127
128 ;; Base
129
130 (define-public lxqt-build-tools
131 (package
132 (name "lxqt-build-tools")
133 (version "0.11.0")
134 (source
135 (origin
136 (method url-fetch)
137 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
138 "/download/" version
139 "/lxqt-build-tools-" version ".tar.xz"))
140 (sha256
141 (base32 "1ff1pkrlxd8h0j8v49p6wrfhnqrz8s5b53hi835m41cvkzjljpfx"))))
142 (build-system cmake-build-system)
143 (arguments
144 (list
145 #:tests? #f ; no tests
146 #:modules `((ice-9 regex)
147 (guix build cmake-build-system)
148 (guix build utils))
149 ;; In phases and configure-flags: Set LXQT_TRANSLATIONS_DIR,
150 ;; LXQT_DATA_DIR, etc. to relative paths, so that packages using
151 ;; LXQtConfigVars.cmake from lxqt-build-tools will install translations
152 ;; and data files into their outputs, remove the need to patch their
153 ;; cmake files.
154 #:phases
155 #~(modify-phases %standard-phases
156 (add-after 'install 'patch-LXQtConfigVars.cmake
157 (lambda _
158 (substitute* (string-append #$output
159 "/share/cmake/lxqt-build-tools"
160 "/modules/LXQtConfigVars.cmake")
161 (((regexp-quote (string-append #$output "/"))) "")))))
162 #:configure-flags
163 #~(list "-DLXQT_ETC_XDG_DIR=etc/xdg")))
164 (native-inputs
165 (list pkg-config glib))
166 (inputs
167 (list qtbase-5))
168 (propagated-inputs
169 ;; Dependent projects require Perl via the CMake files.
170 (list perl))
171 (synopsis "LXQt Build tools")
172 (description
173 "Lxqt-build-tools is providing several tools needed to build LXQt
174 itself as well as other components maintained by the LXQt project.")
175 (home-page "https://lxqt-project.org")
176 (license license:lgpl2.1+)))
177
178 (define-public libqtxdg
179 (package
180 (name "libqtxdg")
181 (version "3.9.1")
182 (source
183 (origin
184 (method url-fetch)
185 (uri (string-append
186 "https://github.com/lxqt/libqtxdg/releases/download/"
187 version "/libqtxdg-" version ".tar.xz"))
188 (sha256
189 (base32 "1kh4hv59bkjifq20ksh1mizf9mp7x30v6fpwccr45mi7hasqvvfi"))))
190 (build-system cmake-build-system)
191 (arguments
192 '(#:configure-flags
193 '("-DBUILD_TESTS=ON"
194 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
195 #:phases
196 (modify-phases %standard-phases
197 (add-before 'check 'pre-check
198 (lambda _
199 ;; Run the tests offscreen.
200 (setenv "QT_QPA_PLATFORM" "offscreen")
201 #t)))))
202 (propagated-inputs
203 ;; required by Qt5XdgIconLoader.pc
204 (list glib qtbase-5 qtsvg-5))
205 (native-inputs
206 (list lxqt-build-tools pkg-config))
207 (home-page "https://github.com/lxqt/libqtxdg")
208 (synopsis "Qt implementation of freedesktop.org xdg specifications")
209 (description "Libqtxdg implements the freedesktop.org xdg specifications
210 in Qt.")
211 (license license:lgpl2.1+)))
212
213 (define-public qtxdg-tools
214 (package
215 (name "qtxdg-tools")
216 (version "3.9.1")
217 (source
218 (origin
219 (method url-fetch)
220 (uri (string-append
221 "https://github.com/lxqt/qtxdg-tools/releases/download/"
222 version "/qtxdg-tools-" version ".tar.xz"))
223 (sha256
224 (base32 "0qn35v4dv71g0a4cqkbikppwmihxmfa560q9kw5pwk2y0xiwpncr"))))
225 (build-system cmake-build-system)
226 (arguments '(#:tests? #f)) ; no tests
227 (propagated-inputs (list libqtxdg))
228 (native-inputs (list lxqt-build-tools))
229 (home-page "https://github.com/lxqt/qtxdg-tools")
230 (synopsis "User tools for libqtxdg")
231 (description "This package contains a CLI MIME tool, @command{qtxdg-mat},
232 for handling file associations and opening files with their default
233 applications.")
234 (license license:lgpl2.1+)))
235
236 (define-public liblxqt
237 (package
238 (name "liblxqt")
239 (version "1.1.0")
240 (source
241 (origin
242 (method url-fetch)
243 (uri (string-append
244 "https://github.com/lxqt/" name "/releases/download/"
245 version "/" name "-" version ".tar.xz"))
246 (sha256
247 (base32 "1fickg1q54pcb8bv3x0ydg4xx02cqykibnjcq09as2kws6xbhk9n"))))
248 (build-system cmake-build-system)
249 (arguments
250 `(#:tests? #f ; no tests
251 #:phases
252 (modify-phases %standard-phases
253 (add-after 'unpack 'patch-source
254 (lambda _
255 (substitute* "CMakeLists.txt"
256 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
257 "DESTINATION \"share/polkit-1/actions"))
258 #t)))))
259 (inputs
260 (list kwindowsystem
261 libqtxdg
262 libxscrnsaver
263 polkit-qt
264 qtsvg-5
265 qtx11extras))
266 (native-inputs
267 (list lxqt-build-tools qttools-5))
268 (home-page "https://lxqt-project.org")
269 (synopsis "Core utility library for all LXQt components")
270 (description "liblxqt provides the basic libraries shared by the
271 components of the LXQt desktop environment.")
272 (license license:lgpl2.1+)))
273
274 (define-public libsysstat
275 (package
276 (name "libsysstat")
277 (version "0.4.6")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
282 version "/" name "-" version ".tar.xz"))
283 (sha256
284 (base32 "1ghkzgz3ypjii08f00g26pnmw0s5naf344p83dwnf3kfdlykiip6"))))
285 (build-system cmake-build-system)
286 (arguments '(#:tests? #f)) ; no tests
287 (inputs
288 (list qtbase-5))
289 (native-inputs
290 (list lxqt-build-tools))
291 (home-page "https://lxqt-project.org")
292 (synopsis "Library used to query system info and statistics")
293 (description "libsysstat is a library to query system information like CPU
294 and memory usage or network traffic.")
295 (license license:lgpl2.1+)))
296
297
298 ;; Core
299
300 (define-public lxqt-about
301 (package
302 (name "lxqt-about")
303 (version "0.17.0")
304 (source
305 (origin
306 (method url-fetch)
307 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
308 version "/" name "-" version ".tar.xz"))
309 (sha256
310 (base32 "04riqf2xgbcnq67l5zb0dfnnmc4a2zljx8zfn3jlvxirnd73l0zm"))))
311 (build-system cmake-build-system)
312 (inputs
313 (list kwindowsystem
314 liblxqt
315 libqtxdg
316 qtbase-5
317 qtsvg-5
318 qtx11extras))
319 (native-inputs
320 (list lxqt-build-tools qttools-5))
321 (arguments
322 '(#:tests? #f ; no tests
323 #:phases
324 (modify-phases %standard-phases
325 (add-before 'build 'setenv
326 (lambda _
327 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
328 #t))
329 (add-after 'unpack 'patch-translations-dir
330 (lambda* (#:key outputs #:allow-other-keys)
331 (substitute* "CMakeLists.txt"
332 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
333 (string-append (assoc-ref outputs "out")
334 "/share/lxqt/translations")))
335 #t)))))
336 (home-page "https://lxqt-project.org")
337 (synopsis "Provides information about LXQt and the system")
338 (description "lxqt-about is a dialogue window providing information about
339 LXQt and the system it's running on.")
340 (license license:lgpl2.1+)))
341
342 (define-public lxqt-admin
343 (package
344 (name "lxqt-admin")
345 (version "0.17.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
350 version "/" name "-" version ".tar.xz"))
351 (sha256
352 (base32 "07fkn3zmpfxjzzsv1hyv50sx0359n10lxjil35qn266nz165wj43"))))
353 (build-system cmake-build-system)
354 (inputs
355 (list kwindowsystem
356 liblxqt
357 libqtxdg
358 polkit-qt
359 qtsvg-5
360 qtx11extras))
361 (native-inputs
362 (list lxqt-build-tools qttools-5))
363 (arguments
364 '(#:tests? #f ; no tests
365 #:phases
366 (modify-phases %standard-phases
367 (add-after 'unpack 'patch-source
368 (lambda _
369 (substitute* '("lxqt-admin-user/CMakeLists.txt"
370 "lxqt-admin-time/CMakeLists.txt")
371 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
372 "DESTINATION \"share/polkit-1/actions"))
373 #t))
374 (add-after 'unpack 'patch-translations-dir
375 (lambda* (#:key outputs #:allow-other-keys)
376 (substitute* '("lxqt-admin-time/CMakeLists.txt"
377 "lxqt-admin-user/CMakeLists.txt")
378 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
379 (string-append (assoc-ref outputs "out")
380 "/share/lxqt/translations")))
381 #t)))))
382 (home-page "https://lxqt-project.org")
383 (synopsis "LXQt system administration tool")
384 (description "lxqt-admin is providing two GUI tools to adjust settings of
385 the operating system LXQt is running on.")
386 (license license:lgpl2.1+)))
387
388 (define-public lxqt-config
389 (package
390 (name "lxqt-config")
391 (version "0.17.1")
392 (source
393 (origin
394 (method url-fetch)
395 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
396 version "/" name "-" version ".tar.xz"))
397 (sha256
398 (base32 "0nr43d6fyc5zg4b3iwpca2cy58ry8q0rahrk6ixm7wrvmaiwkh93"))))
399 (build-system cmake-build-system)
400 (inputs
401 (list eudev
402 kwindowsystem
403 liblxqt
404 libqtxdg
405 libxcursor
406 libxi
407 qtbase-5
408 qtsvg-5
409 qtx11extras
410 solid
411 xf86-input-libinput
412 xkeyboard-config
413 zlib))
414 (native-inputs
415 (list pkg-config lxqt-build-tools qttools-5))
416 ;; XXX: This is a workaround so libkscreen can find the backends as we
417 ;; dont have a way specify them. We may want to patch like Nix does.
418 (propagated-inputs
419 (list libkscreen))
420 (arguments
421 '(#:tests? #f ; no tests
422 #:phases
423 (modify-phases %standard-phases
424 (add-after 'unpack 'patch-source
425 (lambda _
426 (substitute* '("src/CMakeLists.txt")
427 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
428 "DESTINATION \"etc/xdg"))
429 #t))
430 (add-after 'unpack 'set-xkeyboard-config-file-name
431 (lambda* (#:key inputs #:allow-other-keys)
432 ;; Set the file name to xkeyboard-config.
433 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
434 (substitute* "lxqt-config-input/keyboardlayoutconfig.h"
435 (("/usr/share/X11/xkb/rules/base.lst")
436 (string-append xkb "/share/X11/xkb/rules/base.lst")))
437 #t)))
438 (add-after 'unpack 'patch-translations-dir
439 (lambda* (#:key outputs #:allow-other-keys)
440 (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
441 "lxqt-config-brightness/CMakeLists.txt"
442 "lxqt-config-appearance/CMakeLists.txt"
443 "lxqt-config-locale/CMakeLists.txt"
444 "lxqt-config-monitor/CMakeLists.txt"
445 "lxqt-config-input/CMakeLists.txt"
446 "liblxqt-config-cursor/CMakeLists.txt"
447 "src/CMakeLists.txt")
448 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
449 (string-append (assoc-ref outputs "out")
450 "/share/lxqt/translations")))
451 #t)))))
452 (home-page "https://lxqt-project.org")
453 (synopsis "Tools to configure LXQt and the underlying operating system")
454 (description "lxqt-config is providing several tools involved in the
455 configuration of both LXQt and the underlying operating system.")
456 (license license:lgpl2.1+)))
457
458 (define-public lxqt-globalkeys
459 (package
460 (name "lxqt-globalkeys")
461 (version "0.17.0")
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
466 "releases/download/" version "/"
467 "lxqt-globalkeys-" version ".tar.xz"))
468 (sha256
469 (base32 "0pnyqiqhaawrnyvw3ljp850d911abaalnl4rgvl2xyzybvlhki4h"))))
470 (build-system cmake-build-system)
471 (inputs
472 (list kwindowsystem
473 liblxqt
474 libqtxdg
475 qtbase-5
476 qtsvg-5
477 qtx11extras))
478 (native-inputs
479 (list pkg-config qttools-5 lxqt-build-tools))
480 (arguments
481 '(#:tests? #f ; no tests
482 #:phases
483 (modify-phases %standard-phases
484 (add-after 'unpack 'patch-source
485 (lambda _
486 (substitute* '("autostart/CMakeLists.txt"
487 "xdg/CMakeLists.txt")
488 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
489 "DESTINATION \"etc/xdg"))
490 #t))
491 (add-after 'unpack 'patch-translations-dir
492 (lambda* (#:key outputs #:allow-other-keys)
493 (substitute* "config/CMakeLists.txt"
494 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
495 (string-append (assoc-ref outputs "out")
496 "/share/lxqt/translations")))
497 #t)))))
498 (home-page "https://lxqt-project.org")
499 (synopsis "Daemon used to register global keyboard shortcuts")
500 (description "lxqt-globalkeys is providing tools to set global keyboard
501 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
502 as a whole and are not limited to distinct applications.")
503 (license license:lgpl2.1+)))
504
505 (define-public lxqt-notificationd
506 (package
507 (name "lxqt-notificationd")
508 (version "0.17.0")
509 (source
510 (origin
511 (method url-fetch)
512 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
513 version "/" name "-" version ".tar.xz"))
514 (sha256
515 (base32 "1dyal7brmfnydfgb6lpxnqww8fj5gzixs7s3wf5nn2ihsz1wm4nk"))))
516 (build-system cmake-build-system)
517 (inputs
518 (list kwindowsystem
519 liblxqt
520 libqtxdg
521 qtbase-5
522 qtsvg-5
523 qtx11extras))
524 (native-inputs
525 (list lxqt-build-tools qttools-5))
526 (arguments
527 '(#:tests? #f ; no test target
528 #:phases
529 (modify-phases %standard-phases
530 (add-after 'unpack 'patch-source
531 (lambda _
532 (substitute* '("autostart/CMakeLists.txt")
533 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
534 "DESTINATION \"etc/xdg"))
535 #t))
536 (add-after 'unpack 'patch-translations-dir
537 (lambda* (#:key outputs #:allow-other-keys)
538 (substitute* '("config/CMakeLists.txt"
539 "src/CMakeLists.txt")
540 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
541 (string-append (assoc-ref outputs "out")
542 "/share/lxqt/translations")))
543 #t)))))
544 (home-page "https://lxqt-project.org")
545 (synopsis "The LXQt notification daemon")
546 (description "lxqt-notificationd is LXQt's implementation of a daemon
547 according to the Desktop Notifications Specification.")
548 (license license:lgpl2.1+)))
549
550 (define-public lxqt-openssh-askpass
551 (package
552 (name "lxqt-openssh-askpass")
553 (version "0.17.0")
554 (source
555 (origin
556 (method url-fetch)
557 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
558 version "/" name "-" version ".tar.xz"))
559 (sha256
560 (base32 "0gdcy8c21sbfrlfz9c3zqw4dvdwf309flkjgqanwwl9i8hr26chr"))))
561 (build-system cmake-build-system)
562 (inputs
563 (list kwindowsystem
564 liblxqt
565 libqtxdg
566 qtbase-5
567 qtsvg-5
568 qtx11extras))
569 (native-inputs
570 (list lxqt-build-tools qttools-5))
571 (arguments
572 '(#:tests? #f ; no tests
573 #:phases
574 (modify-phases %standard-phases
575 (add-after 'unpack 'patch-translations-dir
576 (lambda* (#:key outputs #:allow-other-keys)
577 (substitute* "CMakeLists.txt"
578 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
579 (string-append (assoc-ref outputs "out")
580 "/share/lxqt/translations")))
581 #t)))))
582 (home-page "https://lxqt-project.org")
583 (synopsis "GUI to query passwords on behalf of SSH agents")
584 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
585 of other programs.")
586 (license license:lgpl2.1+)))
587
588 (define-public lxqt-panel
589 (package
590 (name "lxqt-panel")
591 (version "0.17.1")
592 (source
593 (origin
594 (method url-fetch)
595 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
596 version "/" name "-" version ".tar.xz"))
597 (sha256
598 (base32 "1k2cfs1mhad486kh93vbxma3jpjksp4hzjv1xmp1g5alb5dgnc0q"))))
599 (build-system cmake-build-system)
600 (inputs
601 (list alsa-lib
602 kguiaddons
603 libdbusmenu-qt
604 liblxqt
605 libqtxdg
606 libstatgrab
607 libsysstat
608 libxcomposite
609 libxdamage
610 libxkbcommon
611 libxrender
612 `(,lm-sensors "lib")
613 lxqt-globalkeys
614 pcre
615 pulseaudio
616 qtbase-5
617 qtsvg-5
618 qtx11extras
619 solid
620 xcb-util
621 xkeyboard-config))
622 (native-inputs
623 (list pkg-config lxqt-build-tools qttools-5))
624 (propagated-inputs
625 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
626 ;; shows up in lxqt-panel's taskbar plugin.
627 (list kwindowsystem lxmenu-data))
628 (arguments
629 '(#:tests? #f ; no tests
630 #:phases
631 (modify-phases %standard-phases
632 (add-after 'unpack 'patch-source
633 (lambda _
634 (substitute* '("autostart/CMakeLists.txt"
635 "menu/CMakeLists.txt")
636 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
637 "DESTINATION \"etc/xdg"))
638 #t))
639 (add-after 'unpack 'patch-translations-dir
640 (lambda* (#:key outputs #:allow-other-keys)
641 (substitute* '("cmake/BuildPlugin.cmake"
642 "panel/CMakeLists.txt")
643 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
644 (string-append (assoc-ref outputs "out")
645 "/share/lxqt/translations")))
646 #t))
647 (add-after 'unpack 'set-xkeyboard-config-file-path
648 (lambda* (#:key inputs #:allow-other-keys)
649 ;; Set the path to xkeyboard-config.
650 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
651 (substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
652 (("/usr/share/X11/xkb/rules/evdev.xml")
653 (string-append xkb "/share/X11/xkb/rules/evdev.xml")))
654 #t))))))
655 (home-page "https://lxqt-project.org")
656 (synopsis "The LXQt desktop panel")
657 (description "lxqt-panel represents the taskbar of LXQt.")
658 (license license:lgpl2.1+)))
659
660 (define-public lxqt-policykit
661 (package
662 (name "lxqt-policykit")
663 (version "0.17.0")
664 (source
665 (origin
666 (method url-fetch)
667 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
668 version "/" name "-" version ".tar.xz"))
669 (sha256
670 (base32 "119bjhx208g7wxmr8r0ajb3wl6vagq1aks6zz07df4bgjs3nnpli"))))
671 (build-system cmake-build-system)
672 (inputs
673 (list kwindowsystem
674 liblxqt
675 libqtxdg
676 pcre
677 polkit-qt
678 qtbase-5
679 qtsvg-5
680 qtx11extras))
681 (native-inputs
682 (list pkg-config polkit lxqt-build-tools qttools-5))
683 (arguments
684 '(#:tests? #f ; no test target
685 #:phases
686 (modify-phases %standard-phases
687 (add-after 'unpack 'patch-source
688 (lambda _
689 (substitute* '("autostart/CMakeLists.txt")
690 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
691 "DESTINATION \"etc/xdg"))
692 #t))
693 (add-after 'unpack 'patch-translations-dir
694 (lambda* (#:key outputs #:allow-other-keys)
695 (substitute* "CMakeLists.txt"
696 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
697 (string-append (assoc-ref outputs "out")
698 "/share/lxqt/translations")))
699 #t)))))
700 (home-page "https://lxqt-project.org")
701 (synopsis "The LXQt PolicyKit agent")
702 (description "lxqt-policykit is the polkit authentication agent of
703 LXQt.")
704 (license license:lgpl2.1+)))
705
706 (define-public lxqt-powermanagement
707 (package
708 (name "lxqt-powermanagement")
709 (version "0.17.1")
710 (source
711 (origin
712 (method url-fetch)
713 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
714 version "/" name "-" version ".tar.xz"))
715 (sha256
716 (base32 "00njx8a8cs0zzpz798qc9j16k7i4y0ydy1xmmcq9yv0wawh4gqck"))))
717 (build-system cmake-build-system)
718 (inputs
719 (list kidletime
720 kwindowsystem
721 liblxqt
722 libqtxdg
723 lxqt-globalkeys
724 qtbase-5
725 qtsvg-5
726 qtx11extras
727 solid))
728 (native-inputs
729 (list lxqt-build-tools qttools-5))
730 (arguments
731 '(#:tests? #f ; no tests
732 #:phases
733 (modify-phases %standard-phases
734 (add-after 'unpack 'patch-source
735 (lambda _
736 (substitute* '("autostart/CMakeLists.txt")
737 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
738 "DESTINATION \"etc/xdg"))
739 #t))
740 (add-after 'unpack 'patch-translations-dir
741 (lambda* (#:key outputs #:allow-other-keys)
742 (substitute* '("config/CMakeLists.txt"
743 "src/CMakeLists.txt")
744 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
745 (string-append (assoc-ref outputs "out")
746 "/share/lxqt/translations")))
747 #t)))))
748 (home-page "https://lxqt-project.org")
749 (synopsis "Power management module for LXQt")
750 (description "lxqt-powermanagement is providing tools to monitor power
751 management events and optionally trigger actions like e. g. shut down a system
752 when laptop batteries are low on power.")
753 (license license:lgpl2.1+)))
754
755 (define-public lxqt-qtplugin
756 (package
757 (name "lxqt-qtplugin")
758 (version "0.17.0")
759 (source
760 (origin
761 (method url-fetch)
762 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
763 version "/" name "-" version ".tar.xz"))
764 (sha256
765 (base32 "14c6abxfg3vda333wrvb5lk45c45hnb66jclbs3vsmrjxdb13vv5"))))
766 (build-system cmake-build-system)
767 (inputs
768 (list libdbusmenu-qt
769 libfm-qt
770 libqtxdg
771 qtbase-5
772 qtsvg-5
773 qtx11extras))
774 (native-inputs
775 (list lxqt-build-tools qttools-5))
776 (arguments
777 '(#:tests? #f ; no tests
778 #:phases
779 (modify-phases %standard-phases
780 (add-after 'unpack 'patch-source
781 (lambda _
782 (substitute* '("src/CMakeLists.txt")
783 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
784 "DESTINATION \"lib/qt5/plugins"))
785 #t)))))
786 (home-page "https://lxqt-project.org")
787 (synopsis "LXQt Qt platform integration plugin")
788 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
789 Qt with LXQt.")
790 (license license:lgpl2.1+)))
791
792 (define-public lxqt-runner
793 (package
794 (name "lxqt-runner")
795 (version "0.17.0")
796 (source
797 (origin
798 (method url-fetch)
799 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
800 version "/" name "-" version ".tar.xz"))
801 (sha256
802 (base32 "0n53jbvkmp4vgi21a720gsvi407m4ybqk8xrpnm5f48yjr88r9i4"))))
803 (build-system cmake-build-system)
804 (inputs
805 (list kwindowsystem
806 liblxqt
807 libqtxdg
808 lxqt-globalkeys
809 muparser
810 pcre
811 qtbase-5
812 qtsvg-5
813 qtx11extras))
814 (native-inputs
815 (list pkg-config qttools-5 lxqt-build-tools))
816 (arguments
817 '(#:tests? #f ; no tests
818 #:phases
819 (modify-phases %standard-phases
820 (add-after 'unpack 'patch-source
821 (lambda _
822 (substitute* '("autostart/CMakeLists.txt")
823 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
824 "DESTINATION \"etc/xdg"))
825 #t))
826 (add-after 'unpack 'patch-translations-dir
827 (lambda* (#:key outputs #:allow-other-keys)
828 (substitute* "CMakeLists.txt"
829 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
830 (string-append (assoc-ref outputs "out")
831 "/share/lxqt/translations")))
832 #t)))))
833 (home-page "https://lxqt-project.org")
834 (synopsis "Tool used to launch programs quickly by typing their names")
835 (description "lxqt-runner provides a GUI that comes up on the desktop and
836 allows for launching applications or shutting down the system.")
837 (license license:lgpl2.1+)))
838
839 (define-public lxqt-session
840 (package
841 (name "lxqt-session")
842 (version "0.17.1")
843 (source
844 (origin
845 (method url-fetch)
846 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
847 version "/" name "-" version ".tar.xz"))
848 (sha256
849 (base32 "0iwwfyngpbhs2dwvbw0cci0bf3qbqcpjjw7h5vm46nimvgp8q1fr"))))
850 (build-system cmake-build-system)
851 (inputs
852 (list eudev
853 kwindowsystem
854 liblxqt
855 libqtxdg
856 procps
857 qtbase-5
858 qtsvg-5
859 qtx11extras
860 xdg-user-dirs))
861 (native-inputs
862 (list pkg-config lxqt-build-tools qttools-5))
863 (arguments
864 `(#:tests? #f
865 #:phases
866 (modify-phases %standard-phases
867 (add-after 'unpack 'patch-source
868 (lambda* (#:key outputs #:allow-other-keys)
869 (substitute* '("autostart/CMakeLists.txt"
870 "config/CMakeLists.txt")
871 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
872 "DESTINATION \"etc/xdg"))
873 (let ((out (assoc-ref outputs "out")))
874 (substitute* '("xsession/lxqt.desktop.in")
875 (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt"))
876 (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt")))
877 #t)))
878 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
879 (add-after 'unpack 'patch-openbox-permission
880 (lambda _
881 (substitute* "startlxqt.in"
882 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
883 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
884 " # fix openbox permission issue\n"
885 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
886 #t))
887 (add-after 'unpack 'patch-translations-dir
888 (lambda* (#:key outputs #:allow-other-keys)
889 (substitute* '("lxqt-config-session/CMakeLists.txt"
890 "lxqt-leave/CMakeLists.txt"
891 "lxqt-session/CMakeLists.txt")
892 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
893 (string-append (assoc-ref outputs "out")
894 "/share/lxqt/translations")))
895 #t))
896 (add-after 'install 'wrap-program
897 (lambda* (#:key inputs outputs #:allow-other-keys)
898 (let ((out (assoc-ref outputs "out")))
899 (wrap-program (string-append out "/bin/startlxqt")
900 `("XDG_CONFIG_DIRS" ":" suffix ("/run/current-system/profile/share"
901 "/run/current-system/profile/share/pcmanfm-qt")))
902 #t))))))
903 (home-page "https://lxqt-project.org")
904 (synopsis "Session manager for LXQt")
905 (description "lxqt-session provides the standard session manager
906 for the LXQt desktop environment.")
907 (license license:lgpl2.1+)))
908
909 (define-public lxqt-sudo
910 (package
911 (name "lxqt-sudo")
912 (version "0.17.0")
913 (source
914 (origin
915 (method url-fetch)
916 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
917 version "/" name "-" version ".tar.xz"))
918 (sha256
919 (base32 "02s38m0ywp0gjkjczvrc4r1ignshbajlj084xd61d3rcm7vahhic"))))
920 (build-system cmake-build-system)
921 (inputs
922 (list kwindowsystem
923 liblxqt
924 libqtxdg
925 qtbase-5
926 qtsvg-5
927 qtx11extras
928 sudo))
929 (native-inputs
930 (list pkg-config qttools-5 lxqt-build-tools))
931 (arguments
932 '(#:tests? #f ; no tests
933 #:phases
934 (modify-phases %standard-phases
935 (add-after 'unpack 'patch-translations-dir
936 (lambda* (#:key outputs #:allow-other-keys)
937 (substitute* "CMakeLists.txt"
938 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
939 (string-append (assoc-ref outputs "out")
940 "/share/lxqt/translations")))
941 #t)))))
942 (home-page "https://lxqt-project.org")
943 (synopsis "GUI frontend for sudo/su")
944 (description "lxqt-sudo is a graphical front-end of commands sudo and su
945 respectively. As such it enables regular users to launch applications with
946 permissions of other users including root.")
947 (license license:lgpl2.1+)))
948
949 (define-public lxqt-themes
950 (package
951 (name "lxqt-themes")
952 (version "0.17.0")
953 (source
954 (origin
955 (method url-fetch)
956 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
957 version "/" name "-" version ".tar.xz"))
958 (sha256
959 (base32 "0kmvcz6rxghxxgb0m264zbvycc1zjma8mr4cpwg5kyrzb47rdw9z"))))
960 (build-system cmake-build-system)
961 (native-inputs
962 (list lxqt-build-tools))
963 (arguments
964 `(#:tests? #f ; no tests
965 #:phases
966 (modify-phases %standard-phases
967 (add-after 'unpack 'patch-source
968 (lambda _
969 (substitute* '("CMakeLists.txt")
970 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
971 "DESTINATION \"share/lxqt/graphics"))
972 (substitute* '("themes/CMakeLists.txt")
973 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
974 "DESTINATION \"share/lxqt"))
975 #t)))))
976 (home-page "https://lxqt-project.org")
977 (synopsis "Themes, graphics and icons for LXQt")
978 (description "This package comprises a number of graphic files and themes
979 for LXQt.")
980 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
981 ;; licensed under CC-BY-SA 3.0.
982 (license license:lgpl2.1+)))
983
984
985 ;; File Manager
986
987 (define-public libfm-qt
988 (package
989 (name "libfm-qt")
990 (version "0.17.1")
991 (source
992 (origin
993 (method url-fetch)
994 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
995 version "/" name "-" version ".tar.xz"))
996 (sha256
997 (base32 "1991lm1gnw9s5wwn1yf3vba63bfmrrgsxc70h3nhdl9mh16qygxa"))))
998 (build-system cmake-build-system)
999 (arguments
1000 '(#:tests? #f)) ; no tests
1001 (inputs
1002 (list glib
1003 libexif
1004 libfm
1005 libxcb
1006 menu-cache
1007 pcre
1008 qtbase-5
1009 qtx11extras))
1010 (native-inputs
1011 (list pkg-config lxqt-build-tools qttools-5))
1012 (home-page "https://lxqt-project.org")
1013 (synopsis "Qt binding for libfm")
1014 (description "libfm-qt is the Qt port of libfm, a library providing
1015 components to build desktop file managers which belongs to LXDE.")
1016 (license license:lgpl2.1+)))
1017
1018 (define-public pcmanfm-qt
1019 (package
1020 (name "pcmanfm-qt")
1021 (version "0.17.0")
1022 (source
1023 (origin
1024 (method url-fetch)
1025 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1026 version "/" name "-" version ".tar.xz"))
1027 (sha256
1028 (base32 "1axs7dnh2z08ygy28iipfbgfck15k2i2pwlf0v8d8axjrmavzb3l"))))
1029 (build-system cmake-build-system)
1030 (inputs
1031 (list libfm-qt qtbase-5 qtx11extras))
1032 (native-inputs
1033 (list pkg-config qttools-5 lxqt-build-tools))
1034 (arguments
1035 '(#:tests? #f ; no tests
1036 #:phases
1037 (modify-phases %standard-phases
1038 (add-after 'unpack 'patch-source
1039 (lambda _
1040 (substitute* '("autostart/CMakeLists.txt")
1041 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1042 "DESTINATION \"etc/xdg"))
1043 (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in")
1044 (("@LXQT_SHARE_DIR@")
1045 "/run/current-system/profile/share/lxqt" ))
1046 #t)))))
1047 (home-page "https://lxqt-project.org")
1048 (synopsis "File manager and desktop icon manager")
1049 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1050 LXDE.")
1051 (license license:gpl2+)))
1052
1053
1054 ;; Extra
1055
1056 (define-public compton-conf
1057 (package
1058 (name "compton-conf")
1059 (version "0.16.0")
1060 (source
1061 (origin
1062 (method url-fetch)
1063 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1064 version "/" name "-" version ".tar.xz"))
1065 (sha256
1066 (base32 "0haarzhndjp0wndfhcdy6zl2whpdn3w0qzr3rr137kfqibc58lvx"))))
1067 (build-system cmake-build-system)
1068 (inputs
1069 (list libconfig qtbase-5))
1070 (native-inputs
1071 (list lxqt-build-tools pkg-config qttools-5))
1072 (arguments
1073 '(#:tests? #f ; no tests
1074 #:phases
1075 (modify-phases %standard-phases
1076 (add-after 'unpack 'patch-source
1077 (lambda _
1078 (substitute* '("autostart/CMakeLists.txt")
1079 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1080 "DESTINATION \"etc/xdg"))
1081 #t)))))
1082 (home-page "https://lxqt-project.org")
1083 (synopsis "GUI configuration tool for compton X composite manager")
1084 (description "@code{compton-conf} is a configuration tool for X composite
1085 manager Compton.")
1086 (license license:lgpl2.1+)))
1087
1088 (define-public lximage-qt
1089 (package
1090 (name "lximage-qt")
1091 (version "0.17.0")
1092 (source
1093 (origin
1094 (method url-fetch)
1095 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1096 version "/" name "-" version ".tar.xz"))
1097 (sha256
1098 (base32 "0g6hs41xfw2ghhwpj0rqr2ciri0x9v984689yrnmnvah88zlya1f"))))
1099 (build-system cmake-build-system)
1100 (inputs
1101 (list libexif libfm-qt qtbase-5 qtsvg-5 qtx11extras))
1102 (native-inputs
1103 (list pkg-config lxqt-build-tools qttools-5))
1104 (arguments
1105 '(#:tests? #f)) ; no tests
1106 (home-page "https://lxqt-project.org")
1107 (synopsis "The image viewer and screenshot tool for lxqt")
1108 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1109 image viewer.")
1110 (license license:gpl2+)))
1111
1112 (define-public obconf-qt
1113 (package
1114 (name "obconf-qt")
1115 (version "0.16.1")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1120 version "/" name "-" version ".tar.xz"))
1121 (sha256
1122 (base32 "0hlbivdbiw7wjhwrp8qfmq50ks19v0q21m3pyjj0k2na7nv9d3a5"))))
1123 (build-system cmake-build-system)
1124 (inputs
1125 (list imlib2
1126 libsm
1127 librsvg
1128 libxft
1129 libxml2
1130 openbox
1131 pango
1132 pcre
1133 qtbase-5
1134 qtx11extras))
1135 (native-inputs
1136 (list lxqt-build-tools pkg-config qttools-5))
1137 (arguments
1138 '(#:tests? #f)) ; no tests
1139 (home-page "https://lxqt-project.org")
1140 (synopsis "Openbox configuration tool")
1141 (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
1142 window manager OpenBox.")
1143 (license license:gpl2+)))
1144
1145 (define-public pavucontrol-qt
1146 (package
1147 (name "pavucontrol-qt")
1148 (version "0.17.0")
1149 (source
1150 (origin
1151 (method url-fetch)
1152 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1153 version "/" name "-" version ".tar.xz"))
1154 (sha256
1155 (base32 "0w51dpjayav78lmhw966fz3gvypkmv64xgsd7x5rqs8am39lq9vc"))))
1156 (build-system cmake-build-system)
1157 (inputs
1158 (list glib pcre pulseaudio qtbase-5 qtx11extras))
1159 (native-inputs
1160 (list pkg-config lxqt-build-tools qttools-5))
1161 (arguments
1162 '(#:tests? #f)) ; no tests
1163 (home-page "https://lxqt-project.org")
1164 (synopsis "Pulseaudio mixer in Qt")
1165 (description "@code{pavucontrol-qt} is the Qt port of volume control
1166 @code{pavucontrol} of sound server @code{PulseAudio}.")
1167 (license license:gpl2+)))
1168
1169 (define-public qps
1170 (package
1171 (name "qps")
1172 (version "2.3.0")
1173 (source
1174 (origin
1175 (method url-fetch)
1176 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1177 version "/" name "-" version ".tar.xz"))
1178 (sha256
1179 (base32 "0zg0czrh3dlbnl5smxamhkdbj1g0szm47w1c0fwpaplgc1vv5lfq"))))
1180 (build-system cmake-build-system)
1181 (inputs
1182 (list kwindowsystem
1183 libxrender
1184 liblxqt
1185 libqtxdg
1186 qtbase-5
1187 qtx11extras))
1188 (native-inputs
1189 (list lxqt-build-tools qttools-5))
1190 (arguments
1191 '(#:tests? #f)) ; no tests
1192 (home-page "https://lxqt-project.org")
1193 (synopsis "Qt-based visual process status monitor")
1194 (description "@code{qps} is a monitor that displays the status of the
1195 processes currently in existence, much like code{top} or code{ps}.")
1196 (license license:gpl2+)))
1197
1198 (define-public qtermwidget
1199 (package
1200 (name "qtermwidget")
1201 (version "0.17.0")
1202 (source
1203 (origin
1204 (method url-fetch)
1205 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1206 version "/" name "-" version ".tar.xz"))
1207 (sha256
1208 (base32 "10lv475qj0x3c3vl4yhjyr6y10qj5pq8n5pal5k24f6pf7xv412f"))))
1209 (build-system cmake-build-system)
1210 (inputs
1211 (list qtbase-5 utf8proc))
1212 (native-inputs
1213 (list lxqt-build-tools qttools-5))
1214 (arguments
1215 '(#:tests? #f)) ; no tests
1216 (home-page "https://lxqt-project.org")
1217 (synopsis "The terminal widget for QTerminal")
1218 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1219 (license license:gpl2+)))
1220
1221 (define-public qterminal
1222 (package
1223 (name "qterminal")
1224 (version "0.17.0")
1225 (source
1226 (origin
1227 (method url-fetch)
1228 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1229 version "/" name "-" version ".tar.xz"))
1230 (sha256
1231 (base32 "0rfv7a6ncm8fs8aicinh9l29w4636gxzcqz735jmch2r41v9i1d9"))))
1232 (build-system cmake-build-system)
1233 (inputs
1234 (list qtbase-5 qtx11extras qtermwidget))
1235 (native-inputs
1236 (list lxqt-build-tools qttools-5))
1237 (arguments
1238 '(#:tests? #f)) ; no tests
1239 (home-page "https://lxqt-project.org")
1240 (synopsis "Lightweight Qt-based terminal emulator")
1241 (description "QTerminal is a lightweight Qt terminal emulator based on
1242 QTermWidget.")
1243 (license license:gpl2+)))
1244
1245 (define-public screengrab
1246 (package
1247 (name "screengrab")
1248 (version "2.2.0")
1249 (source
1250 (origin
1251 (method url-fetch)
1252 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1253 version "/screengrab-" version ".tar.xz"))
1254 (sha256
1255 (base32 "0cilzw7rz5m2klzpax7rrs5rr6whfda2svwzsn2jvmrirmh5by7r"))))
1256 (build-system cmake-build-system)
1257 (inputs
1258 (list kwindowsystem libqtxdg qtbase-5 qtsvg-5 qtx11extras))
1259 (native-inputs
1260 (list pkg-config perl qttools-5))
1261 (arguments
1262 '(#:tests? #f)) ; no tests
1263 (home-page "https://lxqt-project.org")
1264 (synopsis "Crossplatform tool for fast making screenshots")
1265 (description "ScreenGrab is a program for fast creating screenshots, and
1266 easily publishing them on internet image hosting services.")
1267 (license license:gpl2+)))
1268
1269
1270 (define-public lxqt-archiver
1271 (package
1272 (name "lxqt-archiver")
1273 (version "0.4.0")
1274 (source
1275 (origin
1276 (method url-fetch)
1277 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1278 version "/" name "-" version ".tar.xz"))
1279 (sha256
1280 (base32 "0fzgq7cyr7hx8qmq84xfgbsdx04mc1r7vzq5mz79j7bp2ysh134z"))))
1281 (build-system cmake-build-system)
1282 (inputs
1283 (list glib json-glib libfm-qt qtbase-5 qtx11extras))
1284 (native-inputs
1285 (list pkg-config lxqt-build-tools qttools-5))
1286 (arguments
1287 '(#:tests? #f))
1288 (home-page "https://lxqt-project.org")
1289 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1290 (description
1291 "This package provides a Qt graphical interface to archiving programs
1292 like @command{tar} and @command{zip}.")
1293 (license license:gpl2+)))
1294
1295 (define-public lxqt-connman-applet
1296 ;; since the main developers didn't release any version yet, their
1297 ;; latest commit on `master` branch at the moment used for this version.
1298 (let ((commit "db1618d58fd3439142c4e44b24cba0dbb68b7141")
1299 (revision "0"))
1300 (package
1301 (name "lxqt-connman-applet")
1302 (version (git-version "0.15.0" revision commit))
1303 (source
1304 (origin
1305 (method git-fetch)
1306 (uri (git-reference
1307 (url (string-append "https://github.com/lxqt/" name))
1308 (commit commit)))
1309 (file-name (git-file-name name version))
1310 (sha256
1311 (base32 "087641idpg7n8yhh5biis4wv52ayw3rddirwqb34bf5fwj664pw9"))))
1312 (build-system cmake-build-system)
1313 (inputs
1314 (list kwindowsystem
1315 qtbase-5
1316 qtsvg-5
1317 liblxqt
1318 qtx11extras
1319 libqtxdg))
1320 (native-inputs
1321 `(("lxqt-build-tools" ,lxqt-build-tools)
1322 ("qtlinguist" ,qttools-5)))
1323 (arguments
1324 `(#:tests? #f ; no tests
1325 #:phases
1326 (modify-phases %standard-phases
1327 (add-after 'unpack 'patch-translations-dir
1328 (lambda* (#:key outputs #:allow-other-keys)
1329 (substitute* "CMakeLists.txt"
1330 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1331 (string-append (assoc-ref outputs "out")
1332 "/share/lxqt/translations"))
1333 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1334 #t))
1335 (add-after 'unpack 'remove-definitions
1336 (lambda _
1337 (substitute* "CMakeLists.txt"
1338 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1339 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1340 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1341 #t)))))
1342 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1343 (synopsis "System-tray applet for connman")
1344 (description "This package provides a Qt-based system-tray applet for
1345 the network management tool Connman, originally developed for the LXQT
1346 desktop.")
1347 (license license:lgpl2.1+))))
1348
1349 ;; The LXQt Desktop Environment
1350
1351 (define-public lxqt
1352 (package
1353 (name "lxqt")
1354 (version "17.0")
1355 (source #f)
1356 (build-system trivial-build-system)
1357 (arguments '(#:builder (begin (mkdir %output) #t)))
1358 (propagated-inputs
1359 (list ;; XDG
1360 desktop-file-utils
1361 hicolor-icon-theme
1362 xdg-user-dirs
1363 xdg-utils
1364 ;; Base
1365 ;; TODO: qtsvg-5 is needed for lxqt apps to display icons. Maybe it
1366 ;; should be added to their propagated-inputs?
1367 qtsvg-5
1368 ;; Core
1369 lxqt-about
1370 lxqt-admin
1371 lxqt-config
1372 lxqt-globalkeys
1373 lxqt-notificationd
1374 lxqt-openssh-askpass
1375 lxqt-panel
1376 lxqt-policykit
1377 lxqt-powermanagement
1378 lxqt-qtplugin
1379 lxqt-runner
1380 lxqt-session
1381 lxqt-sudo
1382 lxqt-themes
1383 pcmanfm-qt
1384 ;; Extra
1385 picom
1386 font-dejavu
1387 lximage-qt
1388 obconf-qt
1389 openbox
1390 oxygen-icons
1391 pavucontrol-qt
1392 qps
1393 qterminal))
1394 (synopsis "The Lightweight Qt Desktop Environment")
1395 (description "LXQt is a lightweight Qt desktop environment.")
1396 (home-page "https://lxqt-project.org")
1397 (license license:gpl2+)))