gnu: xfce4-battery-plugin: Update to 1.1.2.
[jackhill/guix/guix.git] / gnu / packages / xfce.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
3 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
4 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
5 ;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
6 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
7 ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
9 ;;; Copyright © 2017 ng0 <ng0@n0.is>
10 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;;
12 ;;; This file is part of GNU Guix.
13 ;;;
14 ;;; GNU Guix is free software; you can redistribute it and/or modify it
15 ;;; under the terms of the GNU General Public License as published by
16 ;;; the Free Software Foundation; either version 3 of the License, or (at
17 ;;; your option) any later version.
18 ;;;
19 ;;; GNU Guix is distributed in the hope that it will be useful, but
20 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;;; GNU General Public License for more details.
23 ;;;
24 ;;; You should have received a copy of the GNU General Public License
25 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26
27 (define-module (gnu packages xfce)
28 #:use-module ((guix licenses) #:hide (freetype))
29 #:use-module (guix packages)
30 #:use-module (guix download)
31 #:use-module (guix utils)
32 #:use-module (guix build-system glib-or-gtk)
33 #:use-module (guix build-system gnu)
34 #:use-module (guix build-system trivial)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages calendar)
37 #:use-module (gnu packages cdrom)
38 #:use-module (gnu packages pkg-config)
39 #:use-module (gnu packages glib)
40 #:use-module (gnu packages gtk)
41 #:use-module (gnu packages xorg)
42 #:use-module (gnu packages xdisorg)
43 #:use-module (gnu packages web)
44 #:use-module (gnu packages fontutils)
45 #:use-module (gnu packages freedesktop)
46 #:use-module (gnu packages image)
47 #:use-module (gnu packages gnome)
48 #:use-module (gnu packages pdf)
49 #:use-module (gnu packages polkit)
50 #:use-module (gnu packages gstreamer)
51 #:use-module (gnu packages linux)
52 #:use-module (gnu packages photo)
53 #:use-module (gnu packages pcre)
54 #:use-module (gnu packages popt)
55 #:use-module (gnu packages pulseaudio))
56
57 (define-public gtk-xfce-engine
58 (package
59 (name "gtk-xfce-engine")
60 (version "2.10.1")
61 (source (origin
62 (method url-fetch)
63 (uri (string-append "http://archive.xfce.org/src/xfce/"
64 name "/" (version-major+minor version) "/"
65 name "-" version ".tar.bz2"))
66 (sha256
67 (base32
68 "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
69 (build-system gnu-build-system)
70 (native-inputs
71 `(("pkg-config" ,pkg-config)
72 ("intltool" ,intltool)))
73 (inputs `(("gtk+" ,gtk+-2)))
74 (home-page "https://www.xfce.org/")
75 (synopsis "GTK+ theme engine for Xfce")
76 (description
77 "Default GTK+ engine and themes for Xfce Desktop Environment.")
78 (license gpl2+)))
79
80 (define-public libxfce4util
81 (package
82 (name "libxfce4util")
83 (version "4.12.1")
84 (source (origin
85 (method url-fetch)
86 (uri (string-append "http://archive.xfce.org/xfce/"
87 (version-major+minor version)
88 "/src/" name "-" version ".tar.bz2"))
89 (sha256
90 (base32
91 "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
92 (build-system gnu-build-system)
93 (native-inputs
94 `(("pkg-config" ,pkg-config)
95 ("intltool" ,intltool)))
96 (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
97 (home-page "https://www.xfce.org/")
98 (synopsis "Basic utility library for Xfce")
99 (description
100 "A general-purpose utility library with core application support for the
101 Xfce Desktop Environment.")
102 (license lgpl2.0+)))
103
104 (define-public xfconf
105 (package
106 (name "xfconf")
107 (version "4.12.1")
108 (source (origin
109 (method url-fetch)
110 (uri (string-append "https://archive.xfce.org/src/xfce/"
111 name "/" (version-major+minor version) "/"
112 name "-" version ".tar.bz2"))
113 (sha256
114 (base32
115 "0dns190bwb615wy9ma2654sw4vz1d0rcv061zmaalkv9wmj8bx1m"))))
116 (build-system gnu-build-system)
117 (arguments
118 '(#:phases
119 ;; Run check after install phase to test dbus activation.
120 (modify-phases %standard-phases
121 (add-after 'install 'check
122 (lambda _
123 (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
124 ;; Run test-suite under a dbus session.
125 (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
126 (string-append %output "/share"))
127 ;; For the missing '/etc/machine-id'.
128 (setenv "DBUS_FATAL_WARNINGS" "0");
129 (invoke "dbus-launch" "make" "check")))
130 (delete 'check))))
131 (native-inputs
132 `(("pkg-config" ,pkg-config)
133 ("intltool" ,intltool)))
134 (propagated-inputs
135 ;; libxfconf-0.pc refers to all these.
136 `(("glib" ,glib)
137 ("dbus" ,dbus)
138 ("dbus-glib" ,dbus-glib)))
139 (inputs
140 `(("libxfce4util" ,libxfce4util)))
141 (home-page "https://www.xfce.org/")
142 (synopsis "Configuration storage and query system for Xfce")
143 (description
144 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
145 storage system.")
146 (license lgpl2.0+)))
147
148 (define-public libxfce4ui
149 (package
150 (name "libxfce4ui")
151 (version "4.12.1")
152 (source (origin
153 (method url-fetch)
154 (uri (string-append "https://archive.xfce.org/src/xfce/"
155 name "/" (version-major+minor version) "/"
156 name "-" version ".tar.bz2"))
157 (sha256
158 (base32
159 "0hzzhiiwmqsrbv17nninhs2x1b8ck0ym85jck2xphx5ypw8rhq9x"))))
160 (build-system gnu-build-system)
161 (native-inputs
162 `(("pkg-config" ,pkg-config)
163 ("intltool" ,intltool)))
164 (propagated-inputs
165 `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
166 ;; libxfce4kbd-private-2.pc refers to all these.
167 ("libxfce4util" ,libxfce4util)
168 ("xfconf" ,xfconf)))
169 (inputs `(("libsm" ,libsm)
170 ("libice" ,libice)
171 ;; FIXME: required by libxfce4ui-1.pc, so should be propagated,
172 ;; but will lead to a conflict with gtk+.
173 ("gtk+-2" ,gtk+-2)
174 ("startup-notification" ,startup-notification)))
175 (home-page "https://www.xfce.org/")
176 (synopsis "Widgets library for Xfce")
177 (description
178 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
179 to share commonly used Xfce widgets among the Xfce applications.")
180 (license lgpl2.0+)))
181
182 (define-public exo
183 (package
184 (name "exo")
185 (version "0.12.4")
186 (source (origin
187 (method url-fetch)
188 (uri (string-append "https://archive.xfce.org/src/xfce/"
189 name "/" (version-major+minor version) "/"
190 name "-" version ".tar.bz2"))
191 (sha256
192 (base32
193 "1bsh43m6dh83vj9qi1vs0425m2d5yfqjyihr7zjjqmyvdf0n1bxh"))))
194 (build-system gnu-build-system)
195 (native-inputs
196 `(("pkg-config" ,pkg-config)
197 ("intltool" ,intltool)))
198 (propagated-inputs
199 ;; exo-1.pc refers to all these.
200 `(("gtk+" ,gtk+-2)
201 ("libxfce4util" ,libxfce4util)))
202 (inputs
203 `(("libxfce4ui" ,libxfce4ui)
204 ("perl-uri" ,perl-uri)))
205 (home-page "https://www.xfce.org/")
206 (synopsis "Extension library for Xfce")
207 (description
208 "An extension library to Xfce. While Xfce comes with quite a few libraries
209 that are targeted at desktop development, libexo is targeted at application
210 development.")
211 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
212 (license (list gpl2+ lgpl2.1+))))
213
214 (define-public garcon
215 (package
216 (name "garcon")
217 (version "0.6.2")
218 (source (origin
219 (method url-fetch)
220 (uri (string-append "https://archive.xfce.org/src/xfce/"
221 name "/" (version-major+minor version) "/"
222 name "-" version ".tar.bz2"))
223 (sha256
224 (base32
225 "0z64g6f2vwfjzqsrsn05nbcbs8l6y4cfdgxk4k2la3giixj0jzx8"))))
226 (build-system gnu-build-system)
227 (native-inputs
228 `(("pkg-config" ,pkg-config)
229 ("intltool" ,intltool)
230 ("glib:bin" ,glib "bin")))
231 (inputs
232 `(("gtk+" ,gtk+-2)))
233 (propagated-inputs
234 `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
235 (home-page "https://www.xfce.org/")
236 (synopsis "Implementation of the freedesktop.org menu specification")
237 (description
238 "Garcon is a freedesktop.org compliant menu implementation based on
239 GLib and GIO. It was started as a complete rewrite of the former Xfce menu
240 library called libxfce4menu, which, in contrast to garcon, was lacking menu
241 merging features essential for loading menus modified with menu editors.")
242 (license lgpl2.0+)))
243
244 (define-public tumbler
245 (package
246 (name "tumbler")
247 (version "0.2.3")
248 (source (origin
249 (method url-fetch)
250 (uri (string-append "https://archive.xfce.org/src/xfce/"
251 name "/" (version-major+minor version) "/"
252 name "-" version ".tar.bz2"))
253 (sha256
254 (base32
255 "0h3x325dbz0lnb7b3zzbfrva3v0rn99v03zj9cza7ysr2nyy28nh"))))
256 (build-system gnu-build-system)
257 (native-inputs
258 `(("pkg-config" ,pkg-config)
259 ("intltool" ,intltool)
260 ("glib:bin" ,glib "bin") ; need glib-genmarshal
261 ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
262 (propagated-inputs
263 `(("glib" ,glib))) ; required by tumbler-1.pc
264 (inputs
265 `(("dbus" ,dbus)
266 ("gdk-pixbuf" ,gdk-pixbuf)
267 ("freetype" ,freetype)
268 ("libjpeg" ,libjpeg)
269 ("libgsf" ,libgsf)
270 ("poppler" ,poppler)
271 ("gstreamer" ,gstreamer)))
272 (home-page "https://www.xfce.org/")
273 (synopsis "D-Bus service for applications to request thumbnails")
274 (description
275 "Tumbler is a D-Bus service for applications to request thumbnails for
276 various URI schemes and MIME types. It is an implementation of the thumbnail
277 management D-Bus specification.")
278 (license gpl2+)))
279
280 (define-public xfce4-panel
281 (package
282 (name "xfce4-panel")
283 (version "4.12.2")
284 (source (origin
285 (method url-fetch)
286 (uri (string-append "https://archive.xfce.org/src/xfce/"
287 name "/" (version-major+minor version) "/"
288 name "-" version ".tar.bz2"))
289 (sha256
290 (base32
291 "1s8cvsrgmkmmm84g6mghpj2k4777gm22g5lrsf8pdy5qh6xql1a2"))
292 (patches (search-patches "xfce4-panel-plugins.patch"))))
293 (build-system gnu-build-system)
294 (arguments
295 '(#:configure-flags '("--enable-gtk3")))
296 (native-inputs
297 `(("pkg-config" ,pkg-config)
298 ("intltool" ,intltool)))
299 (propagated-inputs
300 `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
301 (inputs
302 `(("exo" ,exo)
303 ("garcon" ,garcon)
304 ("libwnck" ,libwnck-2)
305 ("libxfce4ui" ,libxfce4ui)))
306 (native-search-paths
307 (list (search-path-specification
308 (variable "X_XFCE4_LIB_DIRS")
309 (files '("lib/xfce4")))))
310 (home-page "https://www.xfce.org/")
311 (synopsis "Xfce desktop panel")
312 (description
313 "Desktop panel for Xfce, which contains program launchers, window buttons,
314 applications menu, workspace switcher and more.")
315 ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
316 (license (list gpl2+ lgpl2.1+))))
317
318 (define-public xfce4-battery-plugin
319 (package
320 (name "xfce4-battery-plugin")
321 (version "1.1.2")
322 (source (origin
323 (method url-fetch)
324 (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
325 name "/" (version-major+minor version) "/"
326 name "-" version ".tar.bz2"))
327 (sha256
328 (base32
329 "1nypi0zazrcrbbm5vb221yw64zxrk56v4fffkblxlyd9m6gk80fn"))))
330 (build-system gnu-build-system)
331 (native-inputs `(("pkg-config" ,pkg-config)
332 ("intltool" ,intltool)))
333 (inputs `(("glib" ,glib)
334 ("gtk+" ,gtk+-2)
335 ("libxfce4util" ,libxfce4util)
336 ("libxfce4ui" ,libxfce4ui)
337 ("xfce4-panel" ,xfce4-panel)))
338 (home-page
339 "https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
340 (synopsis "Battery monitor panel plugin for Xfce4")
341 (description
342 "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
343 ;; The main plugin code is covered by gpl2+, but the files containing code
344 ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
345 (license (list gpl2+ lgpl2.0+))))
346
347 (define-public xfce4-clipman-plugin
348 (package
349 (name "xfce4-clipman-plugin")
350 (version "1.2.6")
351 (source (origin
352 (method url-fetch)
353 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
354 name "/" (version-major+minor version) "/"
355 name "-" version ".tar.bz2"))
356 (sha256
357 (base32
358 "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113"))))
359 (build-system gnu-build-system)
360 (native-inputs
361 `(("intltool" ,intltool)
362 ("pkg-config" ,pkg-config)))
363 (inputs
364 `(("exo" ,exo)
365 ("libxfce4ui" ,libxfce4ui)
366 ("libxtst" ,libxtst)
367 ("xfce4-panel" ,xfce4-panel)))
368 (home-page
369 "https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin")
370 (synopsis "Clipboard manager for Xfce")
371 (description
372 "Clipman is a clipboard manager for Xfce. It keeps the clipboard contents
373 around while it is usually lost when you close an application. It is able to
374 handle text and images, and has a feature to execute actions on specific text by
375 matching them against regular expressions.")
376 (license (list gpl2+))))
377
378 (define-public xfce4-pulseaudio-plugin
379 (package
380 (name "xfce4-pulseaudio-plugin")
381 (version "0.2.3")
382 (source (origin
383 (method url-fetch)
384 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
385 name "/" (version-major+minor version) "/"
386 name "-" version ".tar.bz2"))
387 (sha256
388 (base32
389 "0crvb2gyxbnlf46712arg3m2vqx81dixqhqdwss0bngpijy3ca78"))))
390 (build-system gnu-build-system)
391 (native-inputs
392 `(("intltool" ,intltool)
393 ("pkg-config" ,pkg-config)))
394 (inputs
395 `(("exo" ,exo)
396 ("libnotify" ,libnotify)
397 ("libxfce4ui" ,libxfce4ui)
398 ("pulseaudio" ,pulseaudio)
399 ("xfce4-panel" ,xfce4-panel)))
400 (home-page "https://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/")
401 (synopsis "PulseAudio panel plugin for Xfce")
402 (description
403 "Xfce PulseAudio plugin is a plugin for the Xfce panel which provides a
404 convenient way to adjust the audio volume of the PulseAudio sound system and
405 to an auto mixer tool like pavucontrol. It can optionally handle multimedia
406 keys for controlling the audio volume.")
407 (license gpl2+)))
408
409 (define-public xfce4-xkb-plugin
410 (package
411 (name "xfce4-xkb-plugin")
412 (version "0.7.1")
413 (source (origin
414 (method url-fetch)
415 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
416 name "/" (version-major+minor version) "/"
417 name "-" version ".tar.bz2"))
418 (sha256
419 (base32
420 "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
421 (build-system gnu-build-system)
422 (native-inputs
423 `(("intltool" ,intltool)
424 ("pkg-config" ,pkg-config)))
425 (inputs
426 `(("garcon" ,garcon)
427 ("librsvg" ,librsvg)
428 ("libwnck" ,libwnck-2)
429 ("libx11" ,libx11)
430 ("libxfce4ui" ,libxfce4ui)
431 ("libxklavier" ,libxklavier)
432 ("xfce4-panel" ,xfce4-panel)))
433 (home-page "https://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
434 (synopsis "XKB layout switching panel plug-in for Xfce")
435 (description
436 "Xfce XKB plugin makes it possible to set up and use multiple
437 keyboard layouts.
438
439 One can choose the keyboard model, what key combination to
440 use to switch between the layouts, the actual keyboard layouts,
441 the way in which the current layout is being displayed (country
442 flag image or text) and the layout policy, which is whether to
443 store the layout globally (for all windows), per application or
444 per window.")
445 (license bsd-2)))
446
447 (define-public xfce4-appfinder
448 (package
449 (name "xfce4-appfinder")
450 (version "4.12.0")
451 (source (origin
452 (method url-fetch)
453 (uri (string-append "http://archive.xfce.org/xfce/"
454 (version-major+minor version)
455 "/src/" name "-" version ".tar.bz2"))
456 (sha256
457 (base32
458 "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
459 (build-system gnu-build-system)
460 (native-inputs
461 `(("pkg-config" ,pkg-config)
462 ("intltool" ,intltool)))
463 (inputs
464 `(("garcon" ,garcon)
465 ("gtk+" ,gtk+-2)
466 ("libxfce4ui" ,libxfce4ui)))
467 (home-page "https://www.xfce.org/")
468 (synopsis "Xfce application finder")
469 (description
470 "Application finder for Xfce, it will show the applications installed on
471 your system in categories, so you can quickly find and launch them.")
472 (license gpl2+)))
473
474 (define-public xfce4-session
475 (package
476 (name "xfce4-session")
477 (version "4.12.0")
478 (source (origin
479 (method url-fetch)
480 (uri (string-append "http://archive.xfce.org/xfce/"
481 (version-major+minor version)
482 "/src/" name "-" version ".tar.bz2"))
483 (sha256
484 (base32
485 "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
486 (patches
487 ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
488 (search-patches "xfce4-session-fix-xflock4.patch"))
489 (modules '((guix build utils)))
490 (snippet
491 '(begin
492 (substitute* "xfsm-shutdown-helper/main.c"
493 (("/sbin/shutdown -h now") "halt")
494 (("/sbin/shutdown -r now") "restart")
495 (("/usr/sbin/pm-suspend") "pm-suspend")
496 (("/usr/sbin/pm-hibernate") "pm-hibernate"))
497 #t))))
498 (build-system gnu-build-system)
499 (arguments
500 '(#:configure-flags
501 (list (string-append "--with-xsession-prefix=" %output))
502 ;; Disable icon cache update.
503 #:make-flags
504 '("gtk_update_icon_cache=true")))
505 (native-inputs
506 `(("pkg-config" ,pkg-config)
507 ("intltool" ,intltool)))
508 (inputs
509 `(("iceauth" ,iceauth)
510 ("upower" ,upower)
511 ("polkit" ,polkit)
512 ("libsm" ,libsm)
513 ("libwnck" ,libwnck-2)
514 ("libxfce4ui" ,libxfce4ui)))
515 (home-page "https://www.xfce.org/")
516 (synopsis "Xfce session manager")
517 (description
518 "Session manager for Xfce, it will restore your session on startup and
519 allows you to shutdown the computer from Xfce.")
520 (license gpl2+)))
521
522 (define-public xfce4-settings
523 (package
524 (name "xfce4-settings")
525 (version "4.12.0")
526 (source (origin
527 (method url-fetch)
528 (uri (string-append "http://archive.xfce.org/xfce/"
529 (version-major+minor version)
530 "/src/" name "-" version ".tar.bz2"))
531 (sha256
532 (base32
533 "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
534 (patches (search-patches "xfce4-settings-defaults.patch"))))
535 (build-system gnu-build-system)
536 (native-inputs
537 `(("pkg-config" ,pkg-config)
538 ("intltool" ,intltool)))
539 (inputs
540 `(("exo" ,exo)
541 ("garcon" ,garcon)
542 ("libnotify" ,libnotify)
543 ("libxcursor" ,libxcursor)
544 ("libxi" ,libxi)
545 ("libxklavier" ,libxklavier)
546 ("libxrandr" ,libxrandr)
547 ("libxfce4ui" ,libxfce4ui)
548 ("upower" ,upower)
549 ("xf86-input-libinput" ,xf86-input-libinput)))
550 (home-page "https://www.xfce.org/")
551 (synopsis "Xfce settings manager")
552 (description
553 "Settings manager for Xfce, it can control various aspects of the desktop
554 like appearance, display, keyboard and mouse settings.")
555 (license gpl2+)))
556
557 (define-public thunar
558 (package
559 (name "thunar")
560 (version "1.6.6")
561 (source (origin
562 (method url-fetch)
563 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
564 "Thunar-" version ".tar.bz2"))
565 (sha256
566 (base32
567 "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
568 (build-system gnu-build-system)
569 (native-inputs
570 `(("pkg-config" ,pkg-config)
571 ("intltool" ,intltool)))
572 (inputs
573 `(("exo" ,exo)
574 ("libexif" ,libexif)
575 ("libgudev" ,libgudev)
576 ("libnotify" ,libnotify)
577 ("libxfce4ui" ,libxfce4ui)
578 ("pcre" ,pcre)
579 ("xfce4-panel" ,xfce4-panel)
580 ("startup-notification" ,startup-notification)))
581 (home-page "https://www.xfce.org/")
582 (synopsis "Xfce file manager")
583 (description
584 "A modern file manager for graphical desktop, aiming to be easy-to-use and
585 fast.")
586 (license gpl2+)))
587
588 (define-public thunar-volman
589 (package
590 (name "thunar-volman")
591 (version "0.8.1")
592 (source (origin
593 (method url-fetch)
594 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
595 name "-" version ".tar.bz2"))
596 (sha256
597 (base32
598 "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
599 (build-system gnu-build-system)
600 (native-inputs
601 `(("pkg-config" ,pkg-config)
602 ("intltool" ,intltool)))
603 (inputs
604 `(("exo" ,exo)
605 ("libgudev" ,libgudev)
606 ("libnotify" ,libnotify)
607 ("libxfce4ui" ,libxfce4ui)))
608 (home-page "https://www.xfce.org/")
609 (synopsis "Removable media manager for Thunar")
610 (description
611 "Thunar-volman is an extension for the Thunar File Manager, which enables
612 automatic management of removable drives and media. For example, if
613 thunar-volman is installed and configured properly, and you plug in your
614 digital camera, it will automatically spawn your preferred photo application
615 and import the new pictures from your camera.")
616 (license gpl2+)))
617
618 (define-public xfwm4
619 (package
620 (name "xfwm4")
621 (version "4.12.0")
622 (source (origin
623 (method url-fetch)
624 (uri (string-append "http://archive.xfce.org/xfce/"
625 (version-major+minor version)
626 "/src/" name "-" version ".tar.bz2"))
627 (sha256
628 (base32
629 "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
630 (build-system gnu-build-system)
631 (native-inputs
632 `(("pkg-config" ,pkg-config)
633 ("intltool" ,intltool)))
634 (inputs
635 `(("libdrm" ,libdrm)
636 ("libwnck" ,libwnck-2)
637 ("libxcomposite" ,libxcomposite)
638 ("libxdamage" ,libxdamage)
639 ("libxfce4ui" ,libxfce4ui)
640 ("libxrandr" ,libxrandr)))
641 (home-page "https://www.xfce.org/")
642 (synopsis "Xfce window manager")
643 (description
644 "Window manager for Xfce, it handles the placement of windows
645 on the screen.")
646 (license gpl2+)))
647
648 (define-public xfdesktop
649 (package
650 (name "xfdesktop")
651 (version "4.12.0")
652 (source (origin
653 (method url-fetch)
654 (uri (string-append "http://archive.xfce.org/xfce/"
655 (version-major+minor version)
656 "/src/" name "-" version ".tar.bz2"))
657 (sha256
658 (base32
659 "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
660 (build-system gnu-build-system)
661 (native-inputs
662 `(("pkg-config" ,pkg-config)
663 ("intltool" ,intltool)))
664 (inputs
665 `(("exo" ,exo)
666 ("garcon" ,garcon)
667 ("libnotify" ,libnotify)
668 ("libwnck" ,libwnck-2)
669 ("libxfce4ui" ,libxfce4ui)
670 ("thunar" ,thunar)))
671 (home-page "https://www.xfce.org/")
672 (synopsis "Xfce desktop manager")
673 (description
674 "Desktop manager for Xfce, it sets the background color or image with
675 optional application menu or icons for minimized applications or launchers,
676 devices and folders.")
677 (license gpl2+)))
678
679 (define-public xfce4-terminal
680 (package
681 (name "xfce4-terminal")
682 (version "0.8.6")
683 (source (origin
684 (method url-fetch)
685 (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
686 (version-major+minor version) "/"
687 name "-" version ".tar.bz2"))
688 (sha256
689 (base32
690 "1mw1v20a9r8figl5m93jfp16x64bfj8yjmy5s5kbdw501425camw"))))
691 (build-system gnu-build-system)
692 (native-inputs
693 `(("pkg-config" ,pkg-config)
694 ("intltool" ,intltool)))
695 (inputs
696 `(("libxfce4ui" ,libxfce4ui)
697 ("vte" ,vte)))
698 (home-page "https://www.xfce.org/")
699 (synopsis "Xfce terminal emulator")
700 (description
701 "A lightweight and easy to use terminal emulator for Xfce. Features
702 include a simple configuration interface, the ability to use multiple tabs
703 with terminals within a single window, the possibility to have a
704 pseudo-transparent terminal background, and a compact mode (where both the
705 menubar and the window decorations are hidden) that helps you to save space
706 on your desktop.")
707 (license gpl2+)))
708
709 (define-public xfce
710 (package
711 (name "xfce")
712 (version (package-version xfce4-session))
713 (source #f)
714 (build-system trivial-build-system)
715 (arguments
716 '(#:modules ((guix build union))
717 #:builder
718 (begin
719 (use-modules (ice-9 match)
720 (guix build union))
721 (match %build-inputs
722 (((names . directories) ...)
723 (union-build (assoc-ref %outputs "out")
724 directories)
725 #t)))))
726 (inputs
727 `(("exo" ,exo)
728 ("garcon" ,garcon)
729 ("gnome-icon-theme" ,gnome-icon-theme)
730 ("gtk-xfce-engine" ,gtk-xfce-engine)
731 ("hicolor-icon-theme" ,hicolor-icon-theme)
732 ("ristretto" ,ristretto)
733 ("shared-mime-info" ,shared-mime-info)
734 ("thunar" ,thunar)
735 ("thunar-volman" ,thunar-volman)
736 ("tumlber" ,tumbler)
737 ("xfce4-appfinder" ,xfce4-appfinder)
738 ("xfce4-panel" ,xfce4-panel)
739 ("xfce4-power-manager" ,xfce4-power-manager)
740 ("xfce4-session" ,xfce4-session)
741 ("xfce4-settings" ,xfce4-settings)
742 ("xfce4-terminal" ,xfce4-terminal)
743 ("xfconf" ,xfconf)
744 ("xfdesktop" ,xfdesktop)
745 ("xfwm4" ,xfwm4)
746 ;; Panel plugins.
747 ("xfce4-battery-plugin" ,xfce4-battery-plugin)
748 ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
749 ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
750 ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
751 (native-search-paths
752 ;; For finding panel plugins.
753 (package-native-search-paths xfce4-panel))
754 (home-page "https://www.xfce.org/")
755 (synopsis "Desktop environment (meta-package)")
756 (description
757 "Xfce is a lightweight desktop environment. It aims to be fast and low on
758 system resources, while still being visually appealing and user friendly.")
759 (license gpl2+)))
760
761 (define-public xfce4-power-manager
762 (package
763 (name "xfce4-power-manager")
764 (version "1.4.3")
765 (source (origin
766 (method url-fetch)
767 (uri (string-append "http://archive.xfce.org/xfce/4.12"
768 "/src/" name "-" version ".tar.bz2"))
769 (sha256
770 (base32
771 "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1"))))
772 (build-system gnu-build-system)
773 (arguments
774 '(#:configure-flags '("--enable-gtk3")))
775 (native-inputs
776 `(("pkg-config" ,pkg-config)
777 ("intltool" ,intltool)))
778 (inputs
779 `(("lbxrandr" ,libxrandr)
780 ("gtk+" ,gtk+-2)
781 ("upower" ,upower)
782 ("libnotify" ,libnotify)
783 ("libxfce4ui" ,libxfce4ui)))
784 (home-page "https://www.xfce.org/")
785 (synopsis "Xfce Power Manager")
786 (description
787 "This is a power manager for the Xfce desktop. It manages the power
788 sources on the computer and the devices that can be controlled to reduce their
789 power consumption (such as LCD brightness level, monitor sleep, CPU frequency
790 scaling, etc). In addition, xfce4-power-manager provides a set of
791 freedesktop-compliant DBus interfaces to inform other applications about current
792 power level so that they can adjust their power consumption, and it provides the
793 inhibit interface which allows applications to prevent automatic sleep.")
794 (license gpl2+)))
795
796 (define-public ristretto
797 (package
798 (name "ristretto")
799 (version "0.8.3")
800 (source (origin
801 (method url-fetch)
802 (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
803 (version-major+minor version) "/"
804 name "-" version ".tar.bz2"))
805 (sha256
806 (base32
807 "0r96r8r1qslr6cqvwldm99ha563adkw9v2zvaznxkpqn11v1374c"))))
808 (build-system gnu-build-system)
809 (native-inputs
810 `(("intltool" ,intltool)
811 ("pkg-config" ,pkg-config)))
812 (inputs
813 `(("desktop-file-utils" ,desktop-file-utils)
814 ("gtk+" ,gtk+-2)
815 ("libexif" ,libexif)
816 ("libxfce4ui" ,libxfce4ui)
817 ("librsvg" ,librsvg)
818 ("tumbler" ,tumbler)))
819 (home-page "https://docs.xfce.org/apps/ristretto/start")
820 (synopsis "Fast and lightweight picture-viewer")
821 (description
822 "The Ristretto Image Viewer is an application that can be used to view,
823 and scroll through images. It can be used to run a slideshow of images, open
824 images with other applications like an image-editor or configure an image as
825 the desktop wallpaper.")
826 (license gpl2+)))
827
828 (define-public xfce4-taskmanager
829 (package
830 (name "xfce4-taskmanager")
831 (version "1.1.0")
832 (source (origin
833 (method url-fetch)
834 (uri (string-append "http://archive.xfce.org/src/apps/"
835 name "/" (version-major+minor version) "/"
836 name "-" version ".tar.bz2"))
837 (sha256
838 (base32
839 "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if"))))
840 (build-system gnu-build-system)
841 (native-inputs
842 `(("intltool" ,intltool)
843 ("pkg-config" ,pkg-config)))
844 (inputs
845 `(("libwnck" ,libwnck-2)
846 ("gtk+" ,gtk+-2)))
847 (home-page "https://goodies.xfce.org/projects/applications/xfce4-taskmanager")
848 (synopsis "Easy to use task manager")
849 (description
850 "This is a task manager for the Xfce desktop. It displays the CPU and
851 memory usage graphically, and it can display processes as a tree.")
852 (license gpl2+)))
853
854 (define-public orage
855 (package
856 (name "orage")
857 (version "4.12.1")
858 (source (origin
859 (method url-fetch)
860 (uri (string-append "http://archive.xfce.org/src/apps/"
861 name "/" (version-major+minor version) "/"
862 name "-" version ".tar.bz2"))
863 (sha256
864 (base32
865 "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
866 (build-system gnu-build-system)
867 (native-inputs
868 `(("intltool" ,intltool)
869 ("pkg-config" ,pkg-config)))
870 (inputs
871 `(("gtk+" ,gtk+-2)
872 ("libical" ,libical)
873 ("libnotify" ,libnotify)
874 ("popt" ,popt)
875 ("xfce4-panel" ,xfce4-panel)))
876 (home-page "https://www.xfce.org/projects/")
877 (synopsis "Simple calendar application with reminders")
878 (description
879 "This is a simple calendar application for the Xfce desktop. Orage has
880 alarms and uses the iCalendar format, making it compatible with many other
881 calendar applications. It also includes a panel clock plugin and an
882 international clock application capable of simultaneously showing clocks from
883 several different time zones.")
884 (license gpl2+)))
885
886 (define-public xfce4-notifyd
887 (package
888 (name "xfce4-notifyd")
889 (version "0.3.6")
890 (source (origin
891 (method url-fetch)
892 (uri (string-append "http://archive.xfce.org/src/apps/"
893 name "/" (version-major+minor version) "/"
894 name "-" version ".tar.bz2"))
895 (sha256
896 (base32
897 "1ybcfqfynr33g5hp2lgq17s8qyx7rq6fd2iwrpwcvm6kml6prjpl"))))
898 (build-system glib-or-gtk-build-system)
899 (native-inputs
900 `(("intltool" ,intltool)
901 ("pkg-config" ,pkg-config)))
902 (inputs
903 `(("libxfce4ui" ,libxfce4ui)
904 ("libnotify" ,libnotify)))
905 (home-page "https://goodies.xfce.org/projects/applications/xfce4-notifyd")
906 (synopsis "Show notification bubbles on Xfce")
907 (description
908 "The Xfce Notify Daemon (xfce4-notifyd for short) is a smallish program
909 that implements the “server-side” portion of the Freedesktop desktop
910 notifications specification. Applications that wish to pop up a notification
911 bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
912 sending standard messages over D-Bus using the
913 @code{org.freedesktop.Notifications} interface.")
914 (license gpl2)))
915
916 (define-public xfburn
917 (package
918 (name "xfburn")
919 (version "0.5.5")
920 (source (origin
921 (method url-fetch)
922 (uri (string-append "http://archive.xfce.org/src/apps/xfburn/"
923 (version-major+minor version) "/"
924 name "-" version ".tar.bz2"))
925 (sha256
926 (base32
927 "1qdd8prnsfilsprg36p95cz3z50ffr9kgvka4d5pm260lsl3l5xa"))))
928 (build-system gnu-build-system)
929 (native-inputs
930 `(("intltool" ,intltool)
931 ("pkg-config" ,pkg-config)))
932 (inputs
933 `(("exo" ,exo)
934 ("gstreamer" ,gstreamer)
935 ("gst-plugins-base" ,gst-plugins-base)
936 ("gst-plugins-good" ,gst-plugins-good)
937 ("gst-plugins-ugly" ,gst-plugins-ugly)
938 ("glib" ,glib)
939 ("gtk+" ,gtk+-2)
940 ("libburn" ,libburn)
941 ("libisofs" ,libisofs)
942 ("libxfce4ui" ,libxfce4ui)))
943 (home-page "https://goodies.xfce.org/projects/applications/xfburn")
944 (synopsis "GTK+ based CD, DVD and Blu-ray burning application")
945 (description
946 "Xfburn is a simple CD, DVD, and Blu-ray burning tool based on
947 the libburnia libraries. It can blank CD/DVD/BD(-RW)s, burn and
948 create iso images, audio CDs, as well as burn personal compositions
949 of data to either CD/DVD/BD.")
950 (license gpl2+)))