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