gnu: Add emacs-god-mode.
[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>
62ac2ed9
SB
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages xfce)
305bc4cc 22 #:use-module ((guix licenses) #:hide (freetype))
62ac2ed9
SB
23 #:use-module (guix packages)
24 #:use-module (guix download)
79c2528f 25 #:use-module (guix utils)
62ac2ed9 26 #:use-module (guix build-system gnu)
0ca0ce53 27 #:use-module (guix build-system glib-or-gtk)
d814f921 28 #:use-module (gnu packages)
62ac2ed9
SB
29 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages glib)
6cec9818
SB
31 #:use-module (gnu packages gtk)
32 #:use-module (gnu packages xorg)
2eb7d77d 33 #:use-module (gnu packages xdisorg)
305bc4cc
SB
34 #:use-module (gnu packages web)
35 #:use-module (gnu packages fontutils)
36 #:use-module (gnu packages image)
37 #:use-module (gnu packages gnome)
38 #:use-module (gnu packages pdf)
25a21c7f 39 #:use-module (gnu packages polkit)
5c776d27
SB
40 #:use-module (gnu packages gstreamer)
41 #:use-module (gnu packages linux)
42 #:use-module (gnu packages photo)
0f0c586a
SB
43 #:use-module (gnu packages pcre)
44 #:use-module (gnu packages pulseaudio))
62ac2ed9
SB
45
46(define-public gtk-xfce-engine
47 (package
48 (name "gtk-xfce-engine")
221d4572 49 (version "2.10.1")
62ac2ed9
SB
50 (source (origin
51 (method url-fetch)
221d4572
SB
52 (uri (string-append "http://archive.xfce.org/src/xfce/"
53 name "/" (version-major+minor version) "/"
62ac2ed9
SB
54 name "-" version ".tar.bz2"))
55 (sha256
56 (base32
221d4572 57 "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
62ac2ed9
SB
58 (build-system gnu-build-system)
59 (native-inputs
60 `(("pkg-config" ,pkg-config)
61 ("intltool" ,intltool)))
62 (inputs `(("gtk+" ,gtk+-2)))
63 (home-page "http://www.xfce.org/")
64 (synopsis "GTK+ theme engine for Xfce")
65 (description
66 "Default GTK+ engine and themes for Xfce Desktop Environment.")
67 (license gpl2+)))
79c2528f
SB
68
69(define-public libxfce4util
70 (package
71 (name "libxfce4util")
96fffede 72 (version "4.12.1")
79c2528f
SB
73 (source (origin
74 (method url-fetch)
75 (uri (string-append "http://archive.xfce.org/xfce/"
76 (version-major+minor version)
77 "/src/" name "-" version ".tar.bz2"))
78 (sha256
79 (base32
96fffede 80 "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
79c2528f
SB
81 (build-system gnu-build-system)
82 (native-inputs
83 `(("pkg-config" ,pkg-config)
84 ("intltool" ,intltool)))
85 (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
86 (home-page "http://www.xfce.org/")
87 (synopsis "Basic utility library for Xfce")
88 (description
89 "A general-purpose utility library with core application support for the
90Xfce Desktop Environment.")
91 (license lgpl2.0+)))
471dbb70
SB
92
93(define-public xfconf
94 (package
95 (name "xfconf")
e013220e 96 (version "4.12.0")
471dbb70
SB
97 (source (origin
98 (method url-fetch)
99 (uri (string-append "http://archive.xfce.org/xfce/"
100 (version-major+minor version)
101 "/src/" name "-" version ".tar.bz2"))
102 (sha256
103 (base32
e013220e 104 "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"))))
471dbb70 105 (build-system gnu-build-system)
b2836799
SB
106 (arguments
107 '(#:phases
108 ;; Run check after install phase to test dbus activation.
109 (alist-cons-after
110 'install 'check
111 (lambda _
112 (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
113 ;; Run test-suite under a dbus session.
114 (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
115 (string-append %output "/share"))
406766c0
SB
116 ;; For the missing '/etc/machine-id'.
117 (setenv "DBUS_FATAL_WARNINGS" "0");
b2836799
SB
118 (zero? (system* "dbus-launch" "make" "check")))
119 (alist-delete 'check %standard-phases))))
471dbb70
SB
120 (native-inputs
121 `(("pkg-config" ,pkg-config)
122 ("intltool" ,intltool)))
123 (propagated-inputs
124 ;; libxfconf-0.pc refers to all these.
125 `(("glib" ,glib)
126 ("dbus" ,dbus)
127 ("dbus-glib" ,dbus-glib)))
128 (inputs
129 `(("libxfce4util" ,libxfce4util)))
130 (home-page "http://www.xfce.org/")
131 (synopsis "Configuration storage and query system for Xfce")
132 (description
133 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
134storage system.")
135 (license lgpl2.0+)))
6cec9818
SB
136
137(define-public libxfce4ui
138 (package
139 (name "libxfce4ui")
7379ffc1 140 (version "4.12.0")
6cec9818
SB
141 (source (origin
142 (method url-fetch)
143 (uri (string-append "http://archive.xfce.org/xfce/"
144 (version-major+minor version)
145 "/src/" name "-" version ".tar.bz2"))
146 (sha256
147 (base32
7379ffc1 148 "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781"))))
6cec9818
SB
149 (build-system gnu-build-system)
150 (native-inputs
151 `(("pkg-config" ,pkg-config)
152 ("intltool" ,intltool)))
153 (propagated-inputs
75beb7e1
SB
154 `(("gtk+-2" ,gtk+-2) ; required by libxfce4ui-1.pc
155 ("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
156 ;; libxfce4kbd-private-2.pc refers to all these.
6cec9818
SB
157 ("libxfce4util" ,libxfce4util)
158 ("xfconf" ,xfconf)))
159 (inputs `(("libsm" ,libsm)
160 ("libice" ,libice)
161 ("startup-notification" ,startup-notification)))
162 (home-page "http://www.xfce.org/")
163 (synopsis "Widgets library for Xfce")
164 (description
165 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
e881752c 166to share commonly used Xfce widgets among the Xfce applications.")
6cec9818 167 (license lgpl2.0+)))
2eb7d77d
SB
168
169(define-public exo
170 (package
171 (name "exo")
9ade90ae 172 (version "0.10.3")
2eb7d77d
SB
173 (source (origin
174 (method url-fetch)
9ade90ae 175 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
2eb7d77d
SB
176 name "-" version ".tar.bz2"))
177 (sha256
178 (base32
9ade90ae 179 "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m"))))
2eb7d77d
SB
180 (build-system gnu-build-system)
181 (native-inputs
182 `(("pkg-config" ,pkg-config)
183 ("intltool" ,intltool)))
184 (propagated-inputs
185 ;; exo-1.pc refers to all these.
186 `(("gtk+" ,gtk+-2)
187 ("libxfce4util" ,libxfce4util)))
188 (inputs
189 `(("libxfce4ui" ,libxfce4ui)
190 ("perl-uri" ,perl-uri)))
191 (home-page "http://www.xfce.org/")
192 (synopsis "Extension library for Xfce")
193 (description
194 "An extension library to Xfce. While Xfce comes with quite a few libraries
195that are targeted at desktop development, libexo is targeted at application
196development.")
197 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
198 (license (list gpl2+ lgpl2.1+))))
7fc3d5f3
SB
199
200(define-public garcon
201 (package
202 (name "garcon")
ea3fb8f1 203 (version "0.4.0")
7fc3d5f3
SB
204 (source (origin
205 (method url-fetch)
ea3fb8f1 206 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
7fc3d5f3
SB
207 name "-" version ".tar.bz2"))
208 (sha256
209 (base32
ea3fb8f1 210 "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"))))
7fc3d5f3
SB
211 (build-system gnu-build-system)
212 (native-inputs
213 `(("pkg-config" ,pkg-config)
214 ("intltool" ,intltool)
215 ("glib:bin" ,glib "bin")))
ea3fb8f1
SB
216 (propagated-inputs
217 `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
7fc3d5f3
SB
218 (home-page "http://www.xfce.org/")
219 (synopsis "Implementation of the freedesktop.org menu specification")
220 (description
221 "Garcon is a freedesktop.org compliant menu implementation based on
222GLib and GIO. It was started as a complete rewrite of the former Xfce menu
223library called libxfce4menu, which, in contrast to garcon, was lacking menu
224merging features essential for loading menus modified with menu editors.")
225 (license lgpl2.0+)))
305bc4cc
SB
226
227(define-public tumbler
228 (package
229 (name "tumbler")
3786be08 230 (version "0.1.31")
305bc4cc
SB
231 (source (origin
232 (method url-fetch)
710f3ce4 233 (uri (string-append "http://archive.xfce.org/src/xfce/tumbler/0.1/"
305bc4cc
SB
234 name "-" version ".tar.bz2"))
235 (sha256
236 (base32
3786be08 237 "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"))))
305bc4cc
SB
238 (build-system gnu-build-system)
239 (native-inputs
240 `(("pkg-config" ,pkg-config)
241 ("intltool" ,intltool)
242 ("glib:bin" ,glib "bin") ; need glib-genmarshal
243 ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
244 (propagated-inputs
245 `(("glib" ,glib))) ; required by tumbler-1.pc
246 (inputs
247 `(("dbus" ,dbus)
248 ("gdk-pixbuf" ,gdk-pixbuf)
249 ("freetype" ,freetype)
250 ("libjpeg" ,libjpeg)
251 ("libgsf" ,libgsf)
252 ("poppler" ,poppler)
710f3ce4 253 ("gstreamer" ,gstreamer)))
305bc4cc
SB
254 (home-page "http://www.xfce.org/")
255 (synopsis "D-Bus service for applications to request thumbnails")
256 (description
257 "Tumbler is a D-Bus service for applications to request thumbnails for
258various URI schemes and MIME types. It is an implementation of the thumbnail
259management D-Bus specification.")
260 (license gpl2+)))
3b3a7fe7
SB
261
262(define-public xfce4-panel
263 (package
264 (name "xfce4-panel")
bcd54994 265 (version "4.12.0")
3b3a7fe7
SB
266 (source (origin
267 (method url-fetch)
268 (uri (string-append "http://archive.xfce.org/xfce/"
269 (version-major+minor version)
270 "/src/" name "-" version ".tar.bz2"))
271 (sha256
272 (base32
bcd54994 273 "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
d814f921 274 (patches (list (search-patch "xfce4-panel-plugins.patch")))))
3b3a7fe7 275 (build-system gnu-build-system)
7ee2005e
SB
276 (arguments
277 '(#:configure-flags '("--enable-gtk3")))
3b3a7fe7
SB
278 (native-inputs
279 `(("pkg-config" ,pkg-config)
280 ("intltool" ,intltool)))
281 (propagated-inputs
282 `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
283 (inputs
284 `(("exo" ,exo)
285 ("garcon", garcon)
286 ("libwnck" ,libwnck-1)
287 ("libxfce4ui" ,libxfce4ui)))
d814f921
MW
288 (native-search-paths
289 (list (search-path-specification
290 (variable "X_XFCE4_LIB_DIRS")
af070955 291 (files '("lib/xfce4")))))
3b3a7fe7
SB
292 (home-page "http://www.xfce.org/")
293 (synopsis "Xfce desktop panel")
294 (description
295 "Desktop panel for Xfce, which contains program launchers, window buttons,
296applications menu, workspace switcher and more.")
297 ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
298 (license (list gpl2+ lgpl2.1+))))
c5c2f9bb 299
bfb84869
MW
300(define-public xfce4-battery-plugin
301 (package
302 (name "xfce4-battery-plugin")
303 (version "1.0.5")
304 (source (origin
305 (method url-fetch)
306 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
307 name "/" (version-major+minor version) "/"
308 name "-" version ".tar.bz2"))
309 (sha256
310 (base32
311 "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
312 (build-system gnu-build-system)
313 (native-inputs `(("pkg-config" ,pkg-config)
314 ("intltool" ,intltool)))
315 (inputs `(("glib" ,glib)
316 ("gtk+" ,gtk+-2)
317 ("libxfce4util" ,libxfce4util)
318 ("libxfce4ui" ,libxfce4ui)
319 ("xfce4-panel" ,xfce4-panel)))
320 (home-page
321 "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
322 (synopsis "Battery monitor panel plugin for Xfce4")
323 (description
324 "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
325 ;; The main plugin code is covered by gpl2+, but the files containing code
326 ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
327 (license (list gpl2+ lgpl2.0+))))
328
d692678f
SB
329(define-public xfce4-clipman-plugin
330 (package
331 (name "xfce4-clipman-plugin")
332 (version "1.2.6")
333 (source (origin
334 (method url-fetch)
335 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
336 name "/" (version-major+minor version) "/"
337 name "-" version ".tar.bz2"))
338 (sha256
339 (base32
340 "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113"))))
341 (build-system gnu-build-system)
342 (native-inputs
343 `(("intltool" ,intltool)
344 ("pkg-config" ,pkg-config)))
345 (inputs
346 `(("exo" ,exo)
347 ("libxfce4ui" ,libxfce4ui)
348 ("libxtst" ,libxtst)
349 ("xfce4-panel" ,xfce4-panel)))
350 (home-page
351 "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin")
352 (synopsis "Clipboard manager for Xfce")
353 (description
354 "Clipman is a clipboard manager for Xfce. It keeps the clipboard contents
355around while it is usually lost when you close an application. It is able to
356handle text and images, and has a feature to execute actions on specific text by
357matching them against regular expressions.")
358 (license (list gpl2+))))
359
0f0c586a
SB
360(define-public xfce4-pulseaudio-plugin
361 (package
362 (name "xfce4-pulseaudio-plugin")
363 (version "0.2.3")
364 (source (origin
365 (method url-fetch)
366 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
367 name "/" (version-major+minor version) "/"
368 name "-" version ".tar.bz2"))
369 (sha256
370 (base32
371 "0crvb2gyxbnlf46712arg3m2vqx81dixqhqdwss0bngpijy3ca78"))))
372 (build-system gnu-build-system)
373 (native-inputs
374 `(("intltool" ,intltool)
375 ("pkg-config" ,pkg-config)))
376 (inputs
377 `(("exo" ,exo)
378 ("libnotify" ,libnotify)
379 ("libxfce4ui" ,libxfce4ui)
380 ("pulseaudio" ,pulseaudio)
381 ("xfce4-panel" ,xfce4-panel)))
382 (home-page "http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/")
383 (synopsis "PulseAudio panel plugin for Xfce")
384 (description
385 "Xfce PulseAudio plugin is a plugin for the Xfce panel which provides a
386convenient way to adjust the audio volume of the PulseAudio sound system and
387to an auto mixer tool like pavucontrol. It can optionally handle multimedia
388keys for controlling the audio volume.")
389 (license gpl2+)))
390
5a179844
AE
391(define-public xfce4-xkb-plugin
392 (package
393 (name "xfce4-xkb-plugin")
394 (version "0.7.1")
395 (source (origin
396 (method url-fetch)
397 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
398 name "/" (version-major+minor version) "/"
399 name "-" version ".tar.bz2"))
400 (sha256
401 (base32
402 "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
403 (build-system gnu-build-system)
404 (native-inputs
405 `(("intltool" ,intltool)
406 ("pkg-config" ,pkg-config)))
407 (inputs
408 `(("garcon" ,garcon)
409 ("librsvg" ,librsvg)
410 ("libwnck" ,libwnck-1)
411 ("libx11" ,libx11)
412 ("libxfce4ui" ,libxfce4ui)
413 ("libxklavier" ,libxklavier)
414 ("xfce4-panel" ,xfce4-panel)))
415 (home-page "http://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
416 (synopsis "XKB layout switching panel plug-in for Xfce")
417 (description
418 "Xfce XKB plugin makes it possible to set up and use multiple
419keyboard layouts.
420
421One can choose the keyboard model, what key combination to
422use to switch between the layouts, the actual keyboard layouts,
423the way in which the current layout is being displayed (country
424flag image or text) and the layout policy, which is whether to
425store the layout globally (for all windows), per application or
426per window.")
427 (license bsd-2)))
428
c5c2f9bb
SB
429(define-public xfce4-appfinder
430 (package
431 (name "xfce4-appfinder")
be3db25a 432 (version "4.12.0")
c5c2f9bb
SB
433 (source (origin
434 (method url-fetch)
435 (uri (string-append "http://archive.xfce.org/xfce/"
436 (version-major+minor version)
437 "/src/" name "-" version ".tar.bz2"))
438 (sha256
439 (base32
be3db25a 440 "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
c5c2f9bb
SB
441 (build-system gnu-build-system)
442 (native-inputs
443 `(("pkg-config" ,pkg-config)
444 ("intltool" ,intltool)))
445 (inputs
446 `(("garcon" ,garcon)
447 ("libxfce4ui" ,libxfce4ui)))
448 (home-page "http://www.xfce.org/")
449 (synopsis "Xfce application finder")
450 (description
451 "Application finder for Xfce, it will show the applications installed on
452your system in categories, so you can quickly find and launch them.")
453 (license gpl2+)))
9a8a040d
SB
454
455(define-public xfce4-session
456 (package
457 (name "xfce4-session")
3d75c320 458 (version "4.12.0")
9a8a040d
SB
459 (source (origin
460 (method url-fetch)
461 (uri (string-append "http://archive.xfce.org/xfce/"
462 (version-major+minor version)
463 "/src/" name "-" version ".tar.bz2"))
464 (sha256
465 (base32
b90e7e5d
DT
466 "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
467 (patches
468 ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
25a21c7f
RW
469 (list (search-patch "xfce4-session-fix-xflock4.patch")))
470 (modules '((guix build utils)))
471 (snippet
472 '(begin
473 (substitute* "xfsm-shutdown-helper/main.c"
474 (("/sbin/shutdown -h now") "halt")
475 (("/sbin/shutdown -r now") "restart")
476 (("/usr/sbin/pm-suspend") "pm-suspend")
477 (("/usr/sbin/pm-hibernate") "pm-hibernate"))
478 #t))))
9a8a040d
SB
479 (build-system gnu-build-system)
480 (arguments
481 '(#:configure-flags
482 (list (string-append "--with-xsession-prefix=" %output))))
483 (native-inputs
484 `(("pkg-config" ,pkg-config)
485 ("intltool" ,intltool)))
486 (inputs
487 `(("iceauth" ,iceauth)
25a21c7f
RW
488 ("upower" ,upower)
489 ("polkit" ,polkit)
9a8a040d
SB
490 ("libsm" ,libsm)
491 ("libwnck" ,libwnck-1)
492 ("libxfce4ui" ,libxfce4ui)))
493 (home-page "http://www.xfce.org/")
494 (synopsis "Xfce session manager")
495 (description
496 "Session manager for Xfce, it will restore your session on startup and
497allows you to shutdown the computer from Xfce.")
498 (license gpl2+)))
55613927
SB
499
500(define-public xfce4-settings
501 (package
502 (name "xfce4-settings")
2998f718 503 (version "4.12.0")
55613927
SB
504 (source (origin
505 (method url-fetch)
506 (uri (string-append "http://archive.xfce.org/xfce/"
507 (version-major+minor version)
508 "/src/" name "-" version ".tar.bz2"))
509 (sha256
510 (base32
363ccf9f
SB
511 "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
512 (patches
513 (list (search-patch "xfce4-settings-defaults.patch")))))
55613927
SB
514 (build-system gnu-build-system)
515 (native-inputs
516 `(("pkg-config" ,pkg-config)
517 ("intltool" ,intltool)))
518 (inputs
519 `(("exo" ,exo)
520 ("garcon" ,garcon)
521 ("libnotify" ,libnotify)
522 ("libxcursor", libxcursor)
523 ("libxi" ,libxi)
2f8339c8 524 ("libxklavier" ,libxklavier)
55613927 525 ("libxrandr" ,libxrandr)
2f8339c8
SB
526 ("libxfce4ui" ,libxfce4ui)
527 ("upower" ,upower)
528 ("xf86-input-libinput" ,xf86-input-libinput)))
55613927
SB
529 (home-page "http://www.xfce.org/")
530 (synopsis "Xfce settings manager")
531 (description
532 "Settings manager for Xfce, it can control various aspects of the desktop
533like appearance, display, keyboard and mouse settings.")
534 (license gpl2+)))
5c776d27
SB
535
536(define-public thunar
537 (package
538 (name "thunar")
78daf79b 539 (version "1.6.6")
5c776d27
SB
540 (source (origin
541 (method url-fetch)
78daf79b 542 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
5c776d27
SB
543 "Thunar-" version ".tar.bz2"))
544 (sha256
545 (base32
78daf79b 546 "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
5c776d27
SB
547 (build-system gnu-build-system)
548 (native-inputs
549 `(("pkg-config" ,pkg-config)
550 ("intltool" ,intltool)))
551 (inputs
552 `(("exo" ,exo)
5c776d27 553 ("libexif" ,libexif)
ea226291 554 ("libgudev" ,libgudev)
5c776d27
SB
555 ("libnotify" ,libnotify)
556 ("libxfce4ui" ,libxfce4ui)
557 ("pcre" ,pcre)
558 ("xfce4-panel" ,xfce4-panel)
559 ("startup-notification" ,startup-notification)))
560 (home-page "http://www.xfce.org/")
561 (synopsis "Xfce file manager")
562 (description
563 "A modern file manager for graphical desktop, aiming to be easy-to-use and
564fast.")
565 (license gpl2+)))
aac03800
SB
566
567(define-public thunar-volman
568 (package
569 (name "thunar-volman")
ad154006 570 (version "0.8.1")
aac03800
SB
571 (source (origin
572 (method url-fetch)
ad154006 573 (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
aac03800
SB
574 name "-" version ".tar.bz2"))
575 (sha256
576 (base32
ad154006 577 "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
aac03800
SB
578 (build-system gnu-build-system)
579 (native-inputs
580 `(("pkg-config" ,pkg-config)
581 ("intltool" ,intltool)))
582 (inputs
583 `(("exo" ,exo)
ea226291 584 ("libgudev" ,libgudev)
aac03800
SB
585 ("libnotify" ,libnotify)
586 ("libxfce4ui" ,libxfce4ui)))
587 (home-page "http://www.xfce.org/")
588 (synopsis "Removable media manager for Thunar")
589 (description
590 "Thunar-volman is an extension for the Thunar File Manager, which enables
591automatic management of removable drives and media. For example, if
592thunar-volman is installed and configured properly, and you plug in your
e881752c 593digital camera, it will automatically spawn your preferred photo application
aac03800
SB
594and import the new pictures from your camera.")
595 (license gpl2+)))
3a4bfdde
SB
596
597(define-public xfwm4
598 (package
599 (name "xfwm4")
39a4d761 600 (version "4.12.0")
3a4bfdde
SB
601 (source (origin
602 (method url-fetch)
603 (uri (string-append "http://archive.xfce.org/xfce/"
604 (version-major+minor version)
605 "/src/" name "-" version ".tar.bz2"))
606 (sha256
607 (base32
39a4d761 608 "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
3a4bfdde
SB
609 (build-system gnu-build-system)
610 (native-inputs
611 `(("pkg-config" ,pkg-config)
612 ("intltool" ,intltool)))
613 (inputs
8ccf68f9
SB
614 `(("libdrm" ,libdrm)
615 ("libwnck" ,libwnck-1)
616 ("libxcomposite" ,libxcomposite)
617 ("libxdamage" ,libxdamage)
3a4bfdde 618 ("libxfce4ui" ,libxfce4ui)
8ccf68f9 619 ("libxrandr" ,libxrandr)))
3a4bfdde
SB
620 (home-page "http://www.xfce.org/")
621 (synopsis "Xfce window manager")
622 (description
623 "Window manager for Xfce, it handles the placement of windows
624on the screen.")
625 (license gpl2+)))
8a3c54e0
SB
626
627(define-public xfdesktop
628 (package
629 (name "xfdesktop")
046bcf29 630 (version "4.12.0")
8a3c54e0
SB
631 (source (origin
632 (method url-fetch)
633 (uri (string-append "http://archive.xfce.org/xfce/"
634 (version-major+minor version)
635 "/src/" name "-" version ".tar.bz2"))
636 (sha256
637 (base32
046bcf29 638 "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
8a3c54e0
SB
639 (build-system gnu-build-system)
640 (native-inputs
641 `(("pkg-config" ,pkg-config)
642 ("intltool" ,intltool)))
643 (inputs
644 `(("exo" ,exo)
645 ("garcon" ,garcon)
646 ("libnotify" ,libnotify)
647 ("libwnck" ,libwnck-1)
648 ("libxfce4ui" ,libxfce4ui)
649 ("thunar" ,thunar)))
650 (home-page "http://www.xfce.org/")
651 (synopsis "Xfce desktop manager")
652 (description
653 "Desktop manager for Xfce, it sets the background color or image with
654optional application menu or icons for minimized applications or launchers,
655devices and folders.")
656 (license gpl2+)))
eea3e54c
SB
657
658(define-public xfce4-terminal
659 (package
660 (name "xfce4-terminal")
661 (version "0.6.3")
662 (source (origin
663 (method url-fetch)
664 (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
665 (version-major+minor version) "/"
666 name "-" version ".tar.bz2"))
667 (sha256
668 (base32
669 "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi"))))
670 (build-system gnu-build-system)
671 (native-inputs
672 `(("pkg-config" ,pkg-config)
673 ("intltool" ,intltool)))
674 (inputs
675 `(("libxfce4ui" ,libxfce4ui)
676 ("vte" ,vte/gtk+-2)))
677 (home-page "http://www.xfce.org/")
678 (synopsis "Xfce terminal emulator")
679 (description
680 "A lightweight and easy to use terminal emulator for Xfce. Features
681include a simple configuration interface, the ability to use multiple tabs
682with terminals within a single window, the possibility to have a
683pseudo-transparent terminal background, and a compact mode (where both the
684menubar and the window decorations are hidden) that helps you to save space
685on your desktop.")
686 (license gpl2+)))
0ca0ce53
SB
687
688(define-public xfce
689 (package
690 (name "xfce")
691 (version (package-version xfce4-session))
692 (source #f)
693 (build-system glib-or-gtk-build-system)
694 (arguments
695 '(#:modules ((guix build gnu-build-system)
696 (guix build glib-or-gtk-build-system)
697 (guix build utils)
698 (srfi srfi-26))
0ca0ce53
SB
699 #:phases
700 (alist-replace
701 'install
702 (lambda* (#:key outputs #:allow-other-keys)
703 (let* ((out (assoc-ref outputs "out"))
704 (bin (string-append out "/bin"))
705 (prog (string-append bin "/startxfce4")))
706 (mkdir-p bin)
707 (symlink (string-append
708 (assoc-ref %build-inputs "xfce4-session")
709 "/bin/startxfce4")
710 prog)
711 (wrap-program prog
712 ;; For xfce4-panel plugins.
713 `("X_XFCE4_LIB_DIRS" = ,(list (getenv "X_XFCE4_LIB_DIRS"))))))
714 (map (cut assq <> %standard-phases)
715 '(set-paths install glib-or-gtk-wrap)))))
716 (propagated-inputs
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)
722 ("shared-mime-info" ,shared-mime-info)
723 ("thunar" ,thunar)
724 ("thunar-volman" ,thunar-volman)
725 ("tumlber" ,tumbler)
726 ("xfce4-appfinder" ,xfce4-appfinder)
0ca0ce53
SB
727 ("xfce4-panel" ,xfce4-panel)
728 ("xfce4-session" ,xfce4-session)
729 ("xfce4-settings" ,xfce4-settings)
730 ("xfce4-terminal" ,xfce4-terminal)
731 ("xfconf" ,xfconf)
732 ("xfdesktop" ,xfdesktop)
35557712
SB
733 ("xfwm4" ,xfwm4)
734 ;; Panel plugins.
735 ("xfce4-battery-plugin" ,xfce4-battery-plugin)
736 ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
5a179844
AE
737 ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
738 ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
0ca0ce53
SB
739 (home-page "http://www.xfce.org/")
740 (synopsis "Desktop environment (meta-package)")
741 (description
742 "Xfce is a lightweight desktop environment. It aims to be fast and low on
743system resources, while still being visually appealing and user friendly.")
744 (license gpl2+)))