gnu: lxqt-session: Wrap startlxqt executable.
[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 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 ;;;
14 ;;; This file is part of GNU Guix.
15 ;;;
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.
20 ;;;
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.
25 ;;;
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/>.
28
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))
66
67
68 ;; Third party libraries
69
70 (define-public libdbusmenu-qt
71 (package
72 (name "libdbusmenu-qt")
73 (version "0.9.3+16.04.20160218-0ubuntu1")
74 (source
75 (origin
76 (method git-fetch)
77 ;; Download from github rather than launchpad because launchpad trunk
78 ;; tarball hash is not deterministic.
79 (uri (git-reference
80 (url "https://github.com/unity8-team/libdbusmenu-qt")
81 (commit version)))
82 (file-name (git-file-name name version))
83 (sha256
84 (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
85 (build-system cmake-build-system)
86 (arguments
87 ;; XXX: Tests require a dbus session and some icons.
88 '(#:tests? #f))
89 (native-inputs
90 `(("doxygen" ,doxygen)))
91 (inputs
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+)))
99
100 (define-public libstatgrab
101 (package
102 (name "libstatgrab")
103 (version "0.92")
104 (source
105 (origin
106 (method url-fetch)
107 (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
108 name "-" version ".tar.gz"))
109 (sha256
110 (base32 "15m1sl990l85ijf8pnc6hdfha6fqyiq74mijrzm3xz4zzxm91wav"))))
111 (build-system gnu-build-system)
112 (arguments
113 '(#:configure-flags '("--enable-tests")))
114 (native-inputs
115 ;; For testing.
116 `(("perl" ,perl)))
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+)))
123
124
125 ;; Base
126
127 (define-public lxqt-build-tools
128 (package
129 (name "lxqt-build-tools")
130 (version "0.7.0")
131 (source
132 (origin
133 (method url-fetch)
134 (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
135 "/download/" version
136 "/lxqt-build-tools-" version ".tar.xz"))
137 (sha256
138 (base32 "147vdkc25mrlr0fy785yzwhm4gwjxa5xl3n3hljz4c97m531kzl5"))))
139 (build-system cmake-build-system)
140 (arguments
141 `(#:tests? #f ; no tests
142 #:configure-flags
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")))
148 (native-inputs
149 `(("pkg-config" ,pkg-config)
150 ("glib" ,glib)))
151 (inputs
152 `(("qtbase" ,qtbase)))
153 (synopsis "LXQt Build tools")
154 (description
155 "Lxqt-build-tools is providing several tools needed to build LXQt
156 itself as well as other components maintained by the LXQt project.")
157 (home-page "https://lxqt.github.io")
158 (license license:lgpl2.1+)))
159
160 (define-public libqtxdg
161 (package
162 (name "libqtxdg")
163 (version "3.5.0")
164 (source
165 (origin
166 (method url-fetch)
167 (uri (string-append
168 "https://github.com/lxqt/libqtxdg/releases/download/"
169 version "/libqtxdg-" version ".tar.xz"))
170 (sha256
171 (base32 "0g2mwipgl8737jhgqymjixvk745svh2rlini3qr92lrg60v9paa1"))))
172 (build-system cmake-build-system)
173 (arguments
174 '(#:configure-flags
175 '("-DBUILD_TESTS=ON"
176 "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
177 #:phases
178 (modify-phases %standard-phases
179 (add-before 'check 'pre-check
180 (lambda _
181 ;; Run the tests offscreen.
182 (setenv "QT_QPA_PLATFORM" "offscreen")
183 #t)))))
184 (propagated-inputs
185 ;; required by Qt5XdgIconLoader.pc
186 `(("glib" ,glib)
187 ("qtbase" ,qtbase)
188 ("qtsvg" ,qtsvg)))
189 (native-inputs
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
195 in Qt.")
196 (license license:lgpl2.1+)))
197
198 (define-public liblxqt
199 (package
200 (name "liblxqt")
201 (version "0.15.1")
202 (source
203 (origin
204 (method url-fetch)
205 (uri (string-append
206 "https://github.com/lxqt/" name "/releases/download/"
207 version "/" name "-" version ".tar.xz"))
208 (sha256
209 (base32 "0mg62gypjpmpjd3lr7rrvzmkkhli1vf5pri47hg76byz84vng4a9"))))
210 (build-system cmake-build-system)
211 (arguments
212 `(#:tests? #f ; no tests
213 #:phases
214 (modify-phases %standard-phases
215 (add-after 'unpack 'patch-source
216 (lambda _
217 (substitute* "CMakeLists.txt"
218 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
219 "DESTINATION \"share/polkit-1/actions"))
220 #t))
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")))
227 #t)))))
228 (inputs
229 `(("kwindowsystem" ,kwindowsystem)
230 ("libqtxdg" ,libqtxdg)
231 ("libxscrnsaver" ,libxscrnsaver)
232 ("polkit-qt" ,polkit-qt)
233 ("qtsvg" ,qtsvg)
234 ("qtx11extras" ,qtx11extras)))
235 (native-inputs
236 `(("lxqt-build-tools" ,lxqt-build-tools)
237 ("qttools" ,qttools)))
238 (home-page "https://lxqt.github.io")
239 (synopsis "Core utility library for all LXQt components")
240 (description "liblxqt provides the basic libraries shared by the
241 components of the LXQt desktop environment.")
242 (license license:lgpl2.1+)))
243
244 (define-public libsysstat
245 (package
246 (name "libsysstat")
247 (version "0.4.3")
248 (source
249 (origin
250 (method url-fetch)
251 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
252 version "/" name "-" version ".tar.xz"))
253 (sha256
254 (base32 "1s5s7skzy3sh4rlnfy7r0cg3r1scvp35ldd28bhnqjya99m7ip37"))))
255 (build-system cmake-build-system)
256 (arguments '(#:tests? #f)) ; no tests
257 (inputs
258 `(("qtbase" ,qtbase)))
259 (native-inputs
260 `(("lxqt-build-tools" ,lxqt-build-tools)))
261 (home-page "https://lxqt.github.io")
262 (synopsis "Library used to query system info and statistics")
263 (description "libsysstat is a library to query system information like CPU
264 and memory usage or network traffic.")
265 (license license:lgpl2.1+)))
266
267
268 ;; Core
269
270 (define-public lxqt-about
271 (package
272 (name "lxqt-about")
273 (version "0.15.0")
274 (source
275 (origin
276 (method url-fetch)
277 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
278 version "/" name "-" version ".tar.xz"))
279 (sha256
280 (base32 "0p24z1vykyp8dkhwaxxi4hw5150yv9a2ncc55vbwx4c6bmmibmsh"))))
281 (build-system cmake-build-system)
282 (inputs
283 `(("kwindowsystem" ,kwindowsystem)
284 ("liblxqt" ,liblxqt)
285 ("libqtxdg" ,libqtxdg)
286 ("qtbase" ,qtbase)
287 ("qtsvg" ,qtsvg)
288 ("qtx11extras" ,qtx11extras)))
289 (native-inputs
290 `(("lxqt-build-tools" ,lxqt-build-tools)
291 ("qttools" ,qttools)))
292 (arguments
293 '(#:tests? #f ; no tests
294 #:phases
295 (modify-phases %standard-phases
296 (add-before 'build 'setenv
297 (lambda _
298 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
299 #t))
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")))
306 #t)))))
307 (home-page "https://lxqt.github.io")
308 (synopsis "Provides information about LXQt and the system")
309 (description "lxqt-about is a dialogue window providing information about
310 LXQt and the system it's running on.")
311 (license license:lgpl2.1+)))
312
313 (define-public lxqt-admin
314 (package
315 (name "lxqt-admin")
316 (version "0.15.0")
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
321 version "/" name "-" version ".tar.xz"))
322 (sha256
323 (base32 "1zal37hyzqimwsymmi3w15n1iq78g53754s8abc9ylkzc236xpfc"))))
324 (build-system cmake-build-system)
325 (inputs
326 `(("kwindowsystem" ,kwindowsystem)
327 ("liblxqt" ,liblxqt)
328 ("libqtxdg" ,libqtxdg)
329 ("polkit-qt" ,polkit-qt)
330 ("qtsvg" ,qtsvg)
331 ("qtx11extras" ,qtx11extras)))
332 (native-inputs
333 `(("lxqt-build-tools" ,lxqt-build-tools)
334 ("qttools" ,qttools)))
335 (arguments
336 '(#:tests? #f ; no tests
337 #:phases
338 (modify-phases %standard-phases
339 (add-after 'unpack 'patch-source
340 (lambda _
341 (substitute* "lxqt-admin-user/CMakeLists.txt"
342 (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
343 "DESTINATION \"share/polkit-1/actions"))
344 #t))
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")))
352 #t)))))
353 (home-page "https://lxqt.github.io")
354 (synopsis "LXQt system administration tool")
355 (description "lxqt-admin is providing two GUI tools to adjust settings of
356 the operating system LXQt is running on.")
357 (license license:lgpl2.1+)))
358
359 (define-public lxqt-config
360 (package
361 (name "lxqt-config")
362 (version "0.15.0")
363 (source
364 (origin
365 (method url-fetch)
366 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
367 version "/" name "-" version ".tar.xz"))
368 (sha256
369 (base32 "18fagd6ynmx74qw0pjkkg2n3v6s18n6lcsbj7lvfd4lkbcfnzqpb"))))
370 (build-system cmake-build-system)
371 (inputs
372 `(("eudev" ,eudev)
373 ("kwindowsystem" ,kwindowsystem)
374 ("libkscreen" ,libkscreen)
375 ("liblxqt" ,liblxqt)
376 ("libqtxdg" ,libqtxdg)
377 ("libxcursor" ,libxcursor)
378 ("libxi" ,libxi)
379 ("qtbase" ,qtbase)
380 ("qtsvg" ,qtsvg)
381 ("qtx11extras" ,qtx11extras)
382 ("solid" ,solid)
383 ("xf86-input-libinput" ,xf86-input-libinput)
384 ("xkeyboard-config" ,xkeyboard-config)
385 ("zlib" ,zlib)))
386 (native-inputs
387 `(("pkg-config" ,pkg-config)
388 ("lxqt-build-tools" ,lxqt-build-tools)
389 ("qttools" ,qttools)))
390 (arguments
391 '(#:tests? #f ; no tests
392 #:phases
393 (modify-phases %standard-phases
394 (add-after 'unpack 'patch-source
395 (lambda _
396 (substitute* '("src/CMakeLists.txt")
397 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
398 "DESTINATION \"etc/xdg"))
399 #t))
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")))
407 #t)))
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")))
421 #t)))))
422 (home-page "https://lxqt.github.io")
423 (synopsis "Tools to configure LXQt and the underlying operating system")
424 (description "lxqt-config is providing several tools involved in the
425 configuration of both LXQt and the underlying operating system.")
426 (license license:lgpl2.1+)))
427
428 (define-public lxqt-globalkeys
429 (package
430 (name "lxqt-globalkeys")
431 (version "0.15.0")
432 (source
433 (origin
434 (method url-fetch)
435 (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
436 "releases/download/" version "/"
437 "lxqt-globalkeys-" version ".tar.xz"))
438 (sha256
439 (base32 "1wfvpvy32p60j7xibfa30skzxx2187qrsqxm1npabj1y5bva2m6f"))))
440 (build-system cmake-build-system)
441 (inputs
442 `(("kwindowsystem" ,kwindowsystem)
443 ("liblxqt" ,liblxqt)
444 ("libqtxdg" ,libqtxdg)
445 ("qtbase" ,qtbase)
446 ("qtsvg" ,qtsvg)
447 ("qtx11extras" ,qtx11extras)))
448 (native-inputs
449 `(("pkg-config" ,pkg-config)
450 ("qttools" ,qttools)
451 ("lxqt-build-tools" ,lxqt-build-tools)))
452 (arguments
453 '(#:tests? #f ; no tests
454 #:phases
455 (modify-phases %standard-phases
456 (add-after 'unpack 'patch-source
457 (lambda _
458 (substitute* '("autostart/CMakeLists.txt"
459 "xdg/CMakeLists.txt")
460 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
461 "DESTINATION \"etc/xdg"))
462 #t))
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")))
469 #t)))))
470 (home-page "https://lxqt.github.io")
471 (synopsis "Daemon used to register global keyboard shortcuts")
472 (description "lxqt-globalkeys is providing tools to set global keyboard
473 shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
474 as a whole and are not limited to distinct applications.")
475 (license license:lgpl2.1+)))
476
477 (define-public lxqt-notificationd
478 (package
479 (name "lxqt-notificationd")
480 (version "0.15.0")
481 (source
482 (origin
483 (method url-fetch)
484 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
485 version "/" name "-" version ".tar.xz"))
486 (sha256
487 (base32 "01fva6q2vb0aframxgm0jslvb3z0dcwmhz0yr239bskvdwpn885w"))))
488 (build-system cmake-build-system)
489 (inputs
490 `(("kwindowsystem" ,kwindowsystem)
491 ("liblxqt" ,liblxqt)
492 ("libqtxdg" ,libqtxdg)
493 ("qtbase" ,qtbase)
494 ("qtsvg" ,qtsvg)
495 ("qtx11extras" ,qtx11extras)))
496 (native-inputs
497 `(("lxqt-build-tools" ,lxqt-build-tools)
498 ("qttools" ,qttools)))
499 (arguments
500 '(#:tests? #f ; no test target
501 #:phases
502 (modify-phases %standard-phases
503 (add-after 'unpack 'patch-source
504 (lambda _
505 (substitute* '("autostart/CMakeLists.txt")
506 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
507 "DESTINATION \"etc/xdg"))
508 #t))
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")))
516 #t)))))
517 (home-page "https://lxqt.github.io")
518 (synopsis "The LXQt notification daemon")
519 (description "lxqt-notificationd is LXQt's implementation of a daemon
520 according to the Desktop Notifications Specification.")
521 (license license:lgpl2.1+)))
522
523 (define-public lxqt-openssh-askpass
524 (package
525 (name "lxqt-openssh-askpass")
526 (version "0.15.0")
527 (source
528 (origin
529 (method url-fetch)
530 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
531 version "/" name "-" version ".tar.xz"))
532 (sha256
533 (base32 "1h8nhj4ig8419kfdqjsig16ayf2byrzgrk698aiym544n5ayjwak"))))
534 (build-system cmake-build-system)
535 (inputs
536 `(("kwindowsystem" ,kwindowsystem)
537 ("liblxqt" ,liblxqt)
538 ("libqtxdg" ,libqtxdg)
539 ("qtbase" ,qtbase)
540 ("qtsvg" ,qtsvg)
541 ("qtx11extras" ,qtx11extras)))
542 (native-inputs
543 `(("lxqt-build-tools" ,lxqt-build-tools)
544 ("qttools" ,qttools)))
545 (arguments
546 '(#:tests? #f ; no tests
547 #:phases
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")))
555 #t)))))
556 (home-page "https://lxqt.github.io")
557 (synopsis "GUI to query passwords on behalf of SSH agents")
558 (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
559 of other programs.")
560 (license license:lgpl2.1+)))
561
562 (define-public lxqt-panel
563 (package
564 (name "lxqt-panel")
565 (version "0.15.1")
566 (source
567 (origin
568 (method url-fetch)
569 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
570 version "/" name "-" version ".tar.xz"))
571 (sha256
572 (base32 "1b40l9p31nz96q38vwgd1zj142xcwqnjwljsird4nnzs2smjn1c6"))))
573 (build-system cmake-build-system)
574 (inputs
575 `(("alsa-lib" ,alsa-lib)
576 ("kguiaddons" ,kguiaddons)
577 ("libdbusmenu-qt" ,libdbusmenu-qt)
578 ("liblxqt" ,liblxqt)
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)
588 ("pcre" ,pcre)
589 ("pulseaudio" ,pulseaudio)
590 ("qtbase" ,qtbase)
591 ("qtsvg" ,qtsvg)
592 ("qtx11extras" ,qtx11extras)
593 ("solid" ,solid)
594 ("xcb-util" ,xcb-util)
595 ("xkeyboard-config" ,xkeyboard-config)))
596 (native-inputs
597 `(("pkg-config" ,pkg-config)
598 ("lxqt-build-tools" ,lxqt-build-tools)
599 ("qttools" ,qttools)))
600 (propagated-inputs
601 ;; Propagating KWINDOWSYSTEM so that the list of opened applications
602 ;; shows up in lxqt-panel's taskbar plugin.
603 `(("kwindowsystem" ,kwindowsystem)
604 ("lxmenu-data" ,lxmenu-data)))
605 (arguments
606 '(#:tests? #f ; no tests
607 #:phases
608 (modify-phases %standard-phases
609 (add-after 'unpack 'patch-source
610 (lambda _
611 (substitute* '("autostart/CMakeLists.txt"
612 "menu/CMakeLists.txt")
613 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
614 "DESTINATION \"etc/xdg"))
615 #t))
616 (add-after 'unpack 'patch-translations-dir
617 (lambda* (#:key outputs #:allow-other-keys)
618 (substitute* '("cmake/BuildPlugin.cmake"
619 "panel/CMakeLists.txt")
620 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
621 (string-append (assoc-ref outputs "out")
622 "/share/lxqt/translations")))
623 #t))
624 (add-after 'unpack 'set-xkeyboard-config-file-path
625 (lambda* (#:key inputs #:allow-other-keys)
626 ;; Set the path to xkeyboard-config.
627 (let ((xkb (assoc-ref inputs "xkeyboard-config")))
628 (substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
629 (("/usr/share/X11/xkb/rules/evdev.xml")
630 (string-append xkb "/share/X11/xkb/rules/evdev.xml")))
631 #t))))))
632 (home-page "https://lxqt.github.io")
633 (synopsis "The LXQt desktop panel")
634 (description "lxqt-panel represents the taskbar of LXQt.")
635 (license license:lgpl2.1+)))
636
637 (define-public lxqt-policykit
638 (package
639 (name "lxqt-policykit")
640 (version "0.15.0")
641 (source
642 (origin
643 (method url-fetch)
644 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
645 version "/" name "-" version ".tar.xz"))
646 (sha256
647 (base32 "0kzc9mxl47bz6mifmk4xi9sxh7jl31d55j7cq8vijqg3w1yb5rp2"))))
648 (build-system cmake-build-system)
649 (inputs
650 `(("kwindowsystem" ,kwindowsystem)
651 ("liblxqt" ,liblxqt)
652 ("libqtxdg" ,libqtxdg)
653 ("pcre" ,pcre)
654 ("polkit-qt" ,polkit-qt)
655 ("qtbase" ,qtbase)
656 ("qtsvg" ,qtsvg)
657 ("qtx11extras" ,qtx11extras)))
658 (native-inputs
659 `(("pkg-config" ,pkg-config)
660 ("polkit" ,polkit)
661 ("lxqt-build-tools" ,lxqt-build-tools)
662 ("qttools" ,qttools)))
663 (arguments
664 '(#:tests? #f ; no test target
665 #:phases
666 (modify-phases %standard-phases
667 (add-after 'unpack 'patch-source
668 (lambda _
669 (substitute* '("autostart/CMakeLists.txt")
670 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
671 "DESTINATION \"etc/xdg"))
672 #t))
673 (add-after 'unpack 'patch-translations-dir
674 (lambda* (#:key outputs #:allow-other-keys)
675 (substitute* "CMakeLists.txt"
676 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
677 (string-append (assoc-ref outputs "out")
678 "/share/lxqt/translations")))
679 #t)))))
680 (home-page "https://lxqt.github.io")
681 (synopsis "The LXQt PolicyKit agent")
682 (description "lxqt-policykit is the polkit authentication agent of
683 LXQt.")
684 (license license:lgpl2.1+)))
685
686 (define-public lxqt-powermanagement
687 (package
688 (name "lxqt-powermanagement")
689 (version "0.15.0")
690 (source
691 (origin
692 (method url-fetch)
693 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
694 version "/" name "-" version ".tar.xz"))
695 (sha256
696 (base32 "1kal7w6ngs9yrg309p4wacmabpynsrysmbpfkpphg158z548wwl0"))))
697 (build-system cmake-build-system)
698 (inputs
699 `(("kidletime" ,kidletime)
700 ("kwindowsystem" ,kwindowsystem)
701 ("liblxqt" ,liblxqt)
702 ("libqtxdg" ,libqtxdg)
703 ("qtbase" ,qtbase)
704 ("qtsvg" ,qtsvg)
705 ("qtx11extras" ,qtx11extras)
706 ("solid" ,solid)))
707 (native-inputs
708 `(("lxqt-build-tools" ,lxqt-build-tools)
709 ("qttools" ,qttools)))
710 (arguments
711 '(#:tests? #f ; no tests
712 #:phases
713 (modify-phases %standard-phases
714 (add-after 'unpack 'patch-source
715 (lambda _
716 (substitute* '("autostart/CMakeLists.txt")
717 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
718 "DESTINATION \"etc/xdg"))
719 #t))
720 (add-after 'unpack 'patch-translations-dir
721 (lambda* (#:key outputs #:allow-other-keys)
722 (substitute* '("config/CMakeLists.txt"
723 "src/CMakeLists.txt")
724 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
725 (string-append (assoc-ref outputs "out")
726 "/share/lxqt/translations")))
727 #t)))))
728 (home-page "https://lxqt.github.io")
729 (synopsis "Power management module for LXQt")
730 (description "lxqt-powermanagement is providing tools to monitor power
731 management events and optionally trigger actions like e. g. shut down a system
732 when laptop batteries are low on power.")
733 (license license:lgpl2.1+)))
734
735 (define-public lxqt-qtplugin
736 (package
737 (name "lxqt-qtplugin")
738 (version "0.15.1")
739 (source
740 (origin
741 (method url-fetch)
742 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
743 version "/" name "-" version ".tar.xz"))
744 (sha256
745 (base32 "17kmpm3nn07xyxz21f86y3hqi6s0jvqyhsc703zy0463sc58vvys"))))
746 (build-system cmake-build-system)
747 (inputs
748 `(("libdbusmenu-qt" ,libdbusmenu-qt)
749 ("libfm-qt" ,libfm-qt)
750 ("libqtxdg" ,libqtxdg)
751 ("qtbase" ,qtbase)
752 ("qtsvg" ,qtsvg)
753 ("qtx11extras" ,qtx11extras)))
754 (native-inputs
755 `(("lxqt-build-tools" ,lxqt-build-tools)
756 ("qttools" ,qttools)))
757 (arguments
758 '(#:tests? #f ; no tests
759 #:phases
760 (modify-phases %standard-phases
761 (add-after 'unpack 'patch-source
762 (lambda _
763 (substitute* '("src/CMakeLists.txt")
764 (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
765 "DESTINATION \"lib/qt5/plugins"))
766 #t)))))
767 (home-page "https://lxqt.github.io")
768 (synopsis "LXQt Qt platform integration plugin")
769 (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
770 Qt with LXQt.")
771 (license license:lgpl2.1+)))
772
773 (define-public lxqt-runner
774 (package
775 (name "lxqt-runner")
776 (version "0.15.0")
777 (source
778 (origin
779 (method url-fetch)
780 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
781 version "/" name "-" version ".tar.xz"))
782 (sha256
783 (base32 "02xxpflhh6a8qpnjhl5mrl07ikzl5x21mf0rj8nmm0v28rpkqjk1"))))
784 (build-system cmake-build-system)
785 (inputs
786 `(("kwindowsystem" ,kwindowsystem)
787 ("liblxqt" ,liblxqt)
788 ("libqtxdg" ,libqtxdg)
789 ("lxqt-globalkeys" ,lxqt-globalkeys)
790 ("muparser" ,muparser)
791 ("pcre" ,pcre)
792 ("qtbase" ,qtbase)
793 ("qtsvg" ,qtsvg)
794 ("qtx11extras" ,qtx11extras)))
795 (native-inputs
796 `(("pkg-config" ,pkg-config)
797 ("qttools" ,qttools)
798 ("lxqt-build-tools" ,lxqt-build-tools)))
799 (arguments
800 '(#:tests? #f ; no tests
801 #:phases
802 (modify-phases %standard-phases
803 (add-after 'unpack 'patch-source
804 (lambda _
805 (substitute* '("autostart/CMakeLists.txt")
806 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
807 "DESTINATION \"etc/xdg"))
808 #t))
809 (add-after 'unpack 'patch-translations-dir
810 (lambda* (#:key outputs #:allow-other-keys)
811 (substitute* "CMakeLists.txt"
812 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
813 (string-append (assoc-ref outputs "out")
814 "/share/lxqt/translations")))
815 #t)))))
816 (home-page "https://lxqt.github.io")
817 (synopsis "Tool used to launch programs quickly by typing their names")
818 (description "lxqt-runner provides a GUI that comes up on the desktop and
819 allows for launching applications or shutting down the system.")
820 (license license:lgpl2.1+)))
821
822 (define-public lxqt-session
823 (package
824 (name "lxqt-session")
825 (version "0.15.0")
826 (source
827 (origin
828 (method url-fetch)
829 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
830 version "/" name "-" version ".tar.xz"))
831 (sha256
832 (base32 "17y6l1l2m2hzxlzvr7wbixnldbr7waky97vj6lx72r81l45wqkz4"))))
833 (build-system cmake-build-system)
834 (inputs
835 `(("eudev" ,eudev)
836 ("kwindowsystem" ,kwindowsystem)
837 ("liblxqt" ,liblxqt)
838 ("libqtxdg" ,libqtxdg)
839 ("qtbase" ,qtbase)
840 ("qtsvg" ,qtsvg)
841 ("qtx11extras" ,qtx11extras)
842 ("xdg-user-dirs" ,xdg-user-dirs)))
843 (native-inputs
844 `(("pkg-config" ,pkg-config)
845 ("lxqt-build-tools" ,lxqt-build-tools)
846 ("qttools" ,qttools)))
847 (arguments
848 `(#:tests? #f
849 #:phases
850 (modify-phases %standard-phases
851 (add-after 'unpack 'patch-source
852 (lambda* (#:key outputs #:allow-other-keys)
853 (substitute* '("autostart/CMakeLists.txt"
854 "config/CMakeLists.txt")
855 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
856 "DESTINATION \"etc/xdg"))
857 (let ((out (assoc-ref outputs "out")))
858 (substitute* '("xsession/lxqt.desktop.in")
859 (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt"))
860 (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt")))
861 #t)))
862 ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
863 (add-after 'unpack 'patch-openbox-permission
864 (lambda _
865 (substitute* "startlxqt.in"
866 (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
867 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
868 " # fix openbox permission issue\n"
869 " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
870 #t))
871 (add-after 'unpack 'patch-translations-dir
872 (lambda* (#:key outputs #:allow-other-keys)
873 (substitute* '("lxqt-config-session/CMakeLists.txt"
874 "lxqt-leave/CMakeLists.txt"
875 "lxqt-session/CMakeLists.txt")
876 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
877 (string-append (assoc-ref outputs "out")
878 "/share/lxqt/translations")))
879 #t))
880 (add-after 'install 'wrap-program
881 (lambda* (#:key inputs outputs #:allow-other-keys)
882 (let ((out (assoc-ref outputs "out")))
883 (wrap-program (string-append out "/bin/startlxqt")
884 `("XDG_CONFIG_DIRS" ":" suffix ("/run/current-system/profile/share"
885 "/run/current-system/profile/share/pcmanfm-qt")))
886 #t))))))
887 (home-page "https://lxqt.github.io")
888 (synopsis "Session manager for LXQt")
889 (description "lxqt-session provides the standard session manager
890 for the LXQt desktop environment.")
891 (license license:lgpl2.1+)))
892
893 (define-public lxqt-sudo
894 (package
895 (name "lxqt-sudo")
896 (version "0.15.0")
897 (source
898 (origin
899 (method url-fetch)
900 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
901 version "/" name "-" version ".tar.xz"))
902 (sha256
903 (base32 "1v4gzmld3zqi3y9pdy3hb8lq81jwbgi4ia00lbzccg8cm0m8n55w"))))
904 (build-system cmake-build-system)
905 (inputs
906 `(("kwindowsystem" ,kwindowsystem)
907 ("liblxqt" ,liblxqt)
908 ("libqtxdg" ,libqtxdg)
909 ("qtbase" ,qtbase)
910 ("qtsvg" ,qtsvg)
911 ("qtx11extras" ,qtx11extras)
912 ("sudo" ,sudo)))
913 (native-inputs
914 `(("pkg-config" ,pkg-config)
915 ("qttools" ,qttools)
916 ("lxqt-build-tools" ,lxqt-build-tools)))
917 (arguments
918 '(#:tests? #f ; no tests
919 #:phases
920 (modify-phases %standard-phases
921 (add-after 'unpack 'patch-translations-dir
922 (lambda* (#:key outputs #:allow-other-keys)
923 (substitute* "CMakeLists.txt"
924 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
925 (string-append (assoc-ref outputs "out")
926 "/share/lxqt/translations")))
927 #t)))))
928 (home-page "https://lxqt.github.io")
929 (synopsis "GUI frontend for sudo/su")
930 (description "lxqt-sudo is a graphical front-end of commands sudo and su
931 respectively. As such it enables regular users to launch applications with
932 permissions of other users including root.")
933 (license license:lgpl2.1+)))
934
935 (define-public lxqt-themes
936 (package
937 (name "lxqt-themes")
938 (version "0.15.0")
939 (source
940 (origin
941 (method url-fetch)
942 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
943 version "/" name "-" version ".tar.xz"))
944 (sha256
945 (base32 "1dzv60q1dhi666ajh218smkp3ybh5vl2mxyvlbyc9zwvhgx3f0d1"))))
946 (build-system cmake-build-system)
947 (native-inputs
948 `(("lxqt-build-tools" ,lxqt-build-tools)))
949 (arguments
950 `(#:tests? #f ; no tests
951 #:phases
952 (modify-phases %standard-phases
953 (add-after 'unpack 'patch-source
954 (lambda _
955 (substitute* '("CMakeLists.txt")
956 (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
957 "DESTINATION \"share/lxqt/graphics"))
958 (substitute* '("themes/CMakeLists.txt")
959 (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
960 "DESTINATION \"share/lxqt"))
961 #t)))))
962 (home-page "https://lxqt.github.io")
963 (synopsis "Themes, graphics and icons for LXQt")
964 (description "This package comprises a number of graphic files and themes
965 for LXQt.")
966 ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
967 ;; licensed under CC-BY-SA 3.0.
968 (license license:lgpl2.1+)))
969
970
971 ;; File Manager
972
973 (define-public libfm-qt
974 (package
975 (name "libfm-qt")
976 (version "0.15.1")
977 (source
978 (origin
979 (method url-fetch)
980 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
981 version "/" name "-" version ".tar.xz"))
982 (sha256
983 (base32 "034kc8i571m31fksprih6iiykxj85j98fmm6nrkmlwql45kr6rvs"))))
984 (build-system cmake-build-system)
985 (arguments
986 '(#:tests? #f)) ; no tests
987 (inputs
988 `(("glib" ,glib)
989 ("libexif" ,libexif)
990 ("libfm" ,libfm)
991 ("libxcb" ,libxcb)
992 ("menu-cache" ,menu-cache)
993 ("pcre" ,pcre)
994 ("qtbase" ,qtbase)
995 ("qtx11extras" ,qtx11extras)))
996 (native-inputs
997 `(("pkg-config" ,pkg-config)
998 ("lxqt-build-tools" ,lxqt-build-tools)
999 ("qttools" ,qttools)))
1000 (home-page "https://lxqt.github.io")
1001 (synopsis "Qt binding for libfm")
1002 (description "libfm-qt is the Qt port of libfm, a library providing
1003 components to build desktop file managers which belongs to LXDE.")
1004 (license license:lgpl2.1+)))
1005
1006 (define-public pcmanfm-qt
1007 (package
1008 (name "pcmanfm-qt")
1009 (version "0.15.1")
1010 (source
1011 (origin
1012 (method url-fetch)
1013 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1014 version "/" name "-" version ".tar.xz"))
1015 (sha256
1016 (base32 "1izc60hrc16sv2ig9psr3br9iq8nln6a2ycfspzycgpk8rh0f6jd"))))
1017 (build-system cmake-build-system)
1018 (inputs
1019 `(("libfm-qt" ,libfm-qt)
1020 ("qtbase" ,qtbase)
1021 ("qtx11extras" ,qtx11extras)))
1022 (native-inputs
1023 `(("pkg-config" ,pkg-config)
1024 ("qttools" ,qttools)
1025 ("lxqt-build-tools" ,lxqt-build-tools)))
1026 (arguments
1027 '(#:tests? #f ; no tests
1028 #:phases
1029 (modify-phases %standard-phases
1030 (add-after 'unpack 'patch-source
1031 (lambda _
1032 (substitute* '("autostart/CMakeLists.txt")
1033 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1034 "DESTINATION \"etc/xdg"))
1035 #t)))))
1036 (home-page "https://lxqt.github.io")
1037 (synopsis "File manager and desktop icon manager")
1038 (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
1039 LXDE.")
1040 (license license:gpl2+)))
1041
1042
1043 ;; Extra
1044
1045 (define-public compton-conf
1046 (package
1047 (name "compton-conf")
1048 (version "0.15.0")
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1053 version "/" name "-" version ".tar.xz"))
1054 (sha256
1055 (base32 "1ii1bans7wdafm9rmxvsdqp3ad4cj0pa8kf92plbmbm3nycpf1q9"))))
1056 (build-system cmake-build-system)
1057 (inputs
1058 `(("libconfig" ,libconfig)
1059 ("qtbase" ,qtbase)))
1060 (native-inputs
1061 `(("lxqt-build-tools" ,lxqt-build-tools)
1062 ("pkg-config" ,pkg-config)
1063 ("qttools" ,qttools)))
1064 (arguments
1065 '(#:tests? #f ; no tests
1066 #:phases
1067 (modify-phases %standard-phases
1068 (add-after 'unpack 'patch-source
1069 (lambda _
1070 (substitute* '("autostart/CMakeLists.txt")
1071 (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
1072 "DESTINATION \"etc/xdg"))
1073 #t)))))
1074 (home-page "https://lxqt.github.io")
1075 (synopsis "GUI configuration tool for compton X composite manager")
1076 (description "@code{compton-conf} is a configuration tool for X composite
1077 manager Compton.")
1078 (license license:lgpl2.1+)))
1079
1080 (define-public lximage-qt
1081 (package
1082 (name "lximage-qt")
1083 (version "0.15.0")
1084 (source
1085 (origin
1086 (method url-fetch)
1087 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1088 version "/" name "-" version ".tar.xz"))
1089 (sha256
1090 (base32 "02iyymb8ywlzvv69lga5a86b7kh4v78zw6qzq5kcnjp1rpj2rjrk"))))
1091 (build-system cmake-build-system)
1092 (inputs
1093 `(("libexif" ,libexif)
1094 ("libfm-qt" ,libfm-qt)
1095 ("qtbase" ,qtbase)
1096 ("qtsvg" ,qtsvg)
1097 ("qtx11extras" ,qtx11extras)))
1098 (native-inputs
1099 `(("pkg-config" ,pkg-config)
1100 ("lxqt-build-tools" ,lxqt-build-tools)
1101 ("qttools" ,qttools)))
1102 (arguments
1103 '(#:tests? #f)) ; no tests
1104 (home-page "https://lxqt.github.io")
1105 (synopsis "The image viewer and screenshot tool for lxqt")
1106 (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
1107 image viewer.")
1108 (license license:gpl2+)))
1109
1110 (define-public obconf-qt
1111 (package
1112 (name "obconf-qt")
1113 (version "0.15.0")
1114 (source
1115 (origin
1116 (method url-fetch)
1117 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1118 version "/" name "-" version ".tar.xz"))
1119 (sha256
1120 (base32 "1vcv2y54hgxcf76cr775632kajmvz3v4x1q3r6p1lzs9s7lmrh6q"))))
1121 (build-system cmake-build-system)
1122 (inputs
1123 `(("imlib2" ,imlib2)
1124 ("libsm" ,libsm)
1125 ("librsvg" ,librsvg)
1126 ("libxft" ,libxft)
1127 ("libxml2" ,libxml2)
1128 ("openbox" ,openbox)
1129 ("pango" ,pango)
1130 ("pcre" ,pcre)
1131 ("qtbase" ,qtbase)
1132 ("qtx11extras" ,qtx11extras)))
1133 (native-inputs
1134 `(("lxqt-build-tools" ,lxqt-build-tools)
1135 ("pkg-config" ,pkg-config)
1136 ("qttools" ,qttools)))
1137 (arguments
1138 '(#:tests? #f)) ; no tests
1139 (home-page "https://lxqt.github.io")
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.15.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 "15wknwmb4640r5fm4wiq6xa70qa2djay2806wyvajh11xjmqy566"))))
1156 (build-system cmake-build-system)
1157 (inputs
1158 `(("glib" ,glib)
1159 ("pcre" ,pcre)
1160 ("pulseaudio" ,pulseaudio)
1161 ("qtbase" ,qtbase)
1162 ("qtx11extras" ,qtx11extras)))
1163 (native-inputs
1164 `(("pkg-config" ,pkg-config)
1165 ("lxqt-build-tools" ,lxqt-build-tools)
1166 ("qttools" ,qttools)))
1167 (arguments
1168 '(#:tests? #f)) ; no tests
1169 (home-page "https://lxqt.github.io")
1170 (synopsis "Pulseaudio mixer in Qt")
1171 (description "@code{pavucontrol-qt} is the Qt port of volume control
1172 @code{pavucontrol} of sound server @code{PulseAudio}.")
1173 (license license:gpl2+)))
1174
1175 (define-public qps
1176 (package
1177 (name "qps")
1178 (version "2.1.0")
1179 (source
1180 (origin
1181 (method url-fetch)
1182 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1183 version "/" name "-" version ".tar.xz"))
1184 (sha256
1185 (base32 "0yym1bpglz8vha28x7k21fxx1vlsq19m3fyhk2cq3pwq3nqijwp7"))))
1186 (build-system cmake-build-system)
1187 (inputs
1188 `(("kwindowsystem" ,kwindowsystem)
1189 ("libxrender" ,libxrender)
1190 ("liblxqt" ,liblxqt)
1191 ("libqtxdg" ,libqtxdg)
1192 ("qtbase" ,qtbase)
1193 ("qtx11extras" ,qtx11extras)))
1194 (native-inputs
1195 `(("lxqt-build-tools" ,lxqt-build-tools)
1196 ("qttools" ,qttools)))
1197 (arguments
1198 '(#:tests? #f)) ; no tests
1199 (home-page "https://lxqt.github.io")
1200 (synopsis "Qt-based visual process status monitor")
1201 (description "@code{qps} is a monitor that displays the status of the
1202 processes currently in existence, much like code{top} or code{ps}.")
1203 (license license:gpl2+)))
1204
1205 (define-public qtermwidget
1206 (package
1207 (name "qtermwidget")
1208 (version "0.15.0")
1209 (source
1210 (origin
1211 (method url-fetch)
1212 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1213 version "/" name "-" version ".tar.xz"))
1214 (sha256
1215 (base32 "1vn3bbc99py0ak7z9s6p71n9cacpckz57a1p97iwb0p23g4zgjkf"))))
1216 (build-system cmake-build-system)
1217 (inputs
1218 `(("qtbase" ,qtbase)
1219 ("utf8proc" ,utf8proc)))
1220 (native-inputs
1221 `(("lxqt-build-tools" ,lxqt-build-tools)
1222 ("qttools" ,qttools)))
1223 (arguments
1224 '(#:tests? #f)) ; no tests
1225 (home-page "https://lxqt.github.io")
1226 (synopsis "The terminal widget for QTerminal")
1227 (description "QTermWidget is a terminal emulator widget for Qt 5.")
1228 (license license:gpl2+)))
1229
1230 (define-public qterminal
1231 (package
1232 (name "qterminal")
1233 (version "0.15.0")
1234 (source
1235 (origin
1236 (method url-fetch)
1237 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1238 version "/" name "-" version ".tar.xz"))
1239 (sha256
1240 (base32 "0r7xmwjpak47ayj7cj37bwrdlv1mx5nhqpccb5pbn2fh8slp8zsm"))))
1241 (build-system cmake-build-system)
1242 (inputs
1243 `(("qtbase" ,qtbase)
1244 ("qtx11extras" ,qtx11extras)
1245 ("qtermwidget" ,qtermwidget)))
1246 (native-inputs
1247 `(("lxqt-build-tools" ,lxqt-build-tools)
1248 ("qttools" ,qttools)))
1249 (arguments
1250 '(#:tests? #f)) ; no tests
1251 (home-page "https://lxqt.github.io")
1252 (synopsis "Lightweight Qt-based terminal emulator")
1253 (description "QTerminal is a lightweight Qt terminal emulator based on
1254 QTermWidget.")
1255 (license license:gpl2+)))
1256
1257 (define-public screengrab
1258 (package
1259 (name "screengrab")
1260 (version "2.0.1")
1261 (source
1262 (origin
1263 (method url-fetch)
1264 (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
1265 version "/screengrab-" version ".tar.xz"))
1266 (sha256
1267 (base32 "14znjw3d3gw02fsmhrjcj86l173m2ypl1x8hhba9ld23icr1gqwf"))))
1268 (build-system cmake-build-system)
1269 (inputs
1270 `(("kwindowsystem" ,kwindowsystem)
1271 ("libqtxdg" ,libqtxdg)
1272 ("qtbase" ,qtbase)
1273 ("qtsvg" ,qtsvg)
1274 ("qtx11extras" ,qtx11extras)))
1275 (native-inputs
1276 `(("pkg-config" ,pkg-config)
1277 ("qttools" ,qttools)))
1278 (arguments
1279 '(#:tests? #f)) ; no tests
1280 (home-page "https://lxqt.github.io")
1281 (synopsis "Crossplatform tool for fast making screenshots")
1282 (description "ScreenGrab is a program for fast creating screenshots, and
1283 easily publishing them on internet image hosting services.")
1284 (license license:gpl2+)))
1285
1286
1287 (define-public lxqt-archiver
1288 (package
1289 (name "lxqt-archiver")
1290 (version "0.2.0")
1291 (source
1292 (origin
1293 (method url-fetch)
1294 (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
1295 version "/" name "-" version ".tar.xz"))
1296 (sha256
1297 (base32 "1i725zaah0wv18j5fchg6isbh4b601filx549cq2hkzf2sylh9ff"))))
1298 (build-system cmake-build-system)
1299 (inputs
1300 `(("glib" ,glib)
1301 ("json-glib" ,json-glib)
1302 ("libfm-qt" ,libfm-qt)
1303 ("qtbase" ,qtbase)
1304 ("qtx11extras" ,qtx11extras)))
1305 (native-inputs
1306 `(("pkg-config" ,pkg-config)
1307 ("lxqt-build-tools" ,lxqt-build-tools)
1308 ("qttools" ,qttools)))
1309 (arguments
1310 '(#:tests? #f))
1311 (home-page "https://lxqt.github.io")
1312 (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
1313 (description
1314 "This package provides a Qt graphical interface to archiving programs
1315 like @command{tar} and @command{zip}.")
1316 (license license:gpl2+)))
1317
1318 (define-public lxqt-connman-applet
1319 ;; since the main developers didn't release any version yet, their
1320 ;; latest commit on `master` branch at the moment used for this version.
1321 (let ((commit "8a6cc14371a2f18f963e6a2996446082bb60f17d")
1322 (revision "0"))
1323 (package
1324 (name "lxqt-connman-applet")
1325 (version (git-version "0.15.0" revision commit))
1326 (source
1327 (origin
1328 (method git-fetch)
1329 (uri (git-reference
1330 (url (string-append "https://github.com/lxqt/" name ".git"))
1331 (commit commit)))
1332 (file-name (git-file-name name version))
1333 (sha256 (base32 "0br4bxfrl8k7lq84aq4grznlk8xzzjgkmd19bf9mwjr0a87gg72v"))))
1334 (build-system cmake-build-system)
1335 (inputs
1336 `(("kwindowsystem" ,kwindowsystem)
1337 ("qtbase" ,qtbase)
1338 ("qtsvg" ,qtsvg)
1339 ("liblxqt" ,liblxqt)
1340 ("qtx11extras" ,qtx11extras)
1341 ("libqtxdg" ,libqtxdg)))
1342 (native-inputs
1343 `(("lxqt-build-tools" ,lxqt-build-tools)
1344 ("qtlinguist" ,qttools)))
1345 (arguments
1346 `(#:tests? #f ; no tests
1347 #:phases
1348 (modify-phases %standard-phases
1349 (add-after 'unpack 'patch-translations-dir
1350 (lambda* (#:key outputs #:allow-other-keys)
1351 (substitute* "CMakeLists.txt"
1352 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
1353 (string-append (assoc-ref outputs "out")
1354 "/share/lxqt/translations"))
1355 (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
1356 #t))
1357 (add-after 'unpack 'remove-definitions
1358 (lambda _
1359 (substitute* "CMakeLists.txt"
1360 (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
1361 "include(LXQtCompilerSettings NO_POLICY_SCOPE)
1362 remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
1363 #t)))))
1364 (home-page "https://github.com/lxqt/lxqt-connman-applet")
1365 (synopsis "System-tray applet for connman")
1366 (description "This package provides a Qt-based system-tray applet for
1367 the network management tool Connman, originally developed for the LXQT
1368 desktop.")
1369 (license license:lgpl2.1+))))
1370
1371 ;; The LXQt Desktop Environment
1372
1373 (define-public lxqt
1374 (package
1375 (name "lxqt")
1376 (version (package-version lxqt-session))
1377 (source #f)
1378 (build-system trivial-build-system)
1379 (arguments '(#:builder (begin (mkdir %output) #t)))
1380 (propagated-inputs
1381 `(;; XDG
1382 ("desktop-file-utils" ,desktop-file-utils)
1383 ("hicolor-icon-theme" ,hicolor-icon-theme)
1384 ("xdg-user-dirs" ,xdg-user-dirs)
1385 ("xdg-utils" ,xdg-utils)
1386 ;; Base
1387 ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
1388 ;; should be added to their propagated-inputs?
1389 ("qtsvg" ,qtsvg)
1390 ;; Core
1391 ("lxqt-about" ,lxqt-about)
1392 ("lxqt-admin" ,lxqt-admin)
1393 ("lxqt-config" ,lxqt-config)
1394 ("lxqt-globalkeys" ,lxqt-globalkeys)
1395 ("lxqt-notificationd" ,lxqt-notificationd)
1396 ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
1397 ("lxqt-panel" ,lxqt-panel)
1398 ("lxqt-policykit" ,lxqt-policykit)
1399 ("lxqt-powermanagement" ,lxqt-powermanagement)
1400 ("lxqt-qtplugin" ,lxqt-qtplugin)
1401 ("lxqt-runner" ,lxqt-runner)
1402 ("lxqt-session" ,lxqt-session)
1403 ("lxqt-sudo" ,lxqt-sudo)
1404 ("lxqt-themes" ,lxqt-themes)
1405 ("pcmanfm-qt" ,pcmanfm-qt)
1406 ;; Extra
1407 ("compton" ,compton)
1408 ("compton-conf" ,compton-conf)
1409 ("font-dejavu" ,font-dejavu)
1410 ("lximage-qt" ,lximage-qt)
1411 ("obconf-qt" ,obconf-qt)
1412 ("openbox" ,openbox)
1413 ("oxygen-icons" ,oxygen-icons)
1414 ("pavucontrol-qt" ,pavucontrol-qt)
1415 ("qps" ,qps)
1416 ("qterminal" ,qterminal)))
1417 (synopsis "The Lightweight Qt Desktop Environment")
1418 (description "LXQt is a lightweight Qt desktop environment.")
1419 (home-page "https://lxqt.github.io")
1420 (license license:gpl2+)))