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