Merge branch 'core-updates'
[jackhill/guix/guix.git] / gnu / packages / xfce.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
3 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages xfce)
21 #:use-module ((guix licenses) #:hide (freetype))
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix utils)
25 #:use-module (guix build-system gnu)
26 #:use-module (gnu packages)
27 #:use-module (gnu packages pkg-config)
28 #:use-module (gnu packages glib)
29 #:use-module (gnu packages gtk)
30 #:use-module (gnu packages xorg)
31 #:use-module (gnu packages xdisorg)
32 #:use-module (gnu packages web)
33 #:use-module (gnu packages fontutils)
34 #:use-module (gnu packages image)
35 #:use-module (gnu packages gnome)
36 #:use-module (gnu packages pdf)
37 #:use-module (gnu packages gstreamer)
38 #:use-module (gnu packages linux)
39 #:use-module (gnu packages photo)
40 #:use-module (gnu packages pcre))
41
42 (define-public gtk-xfce-engine
43 (package
44 (name "gtk-xfce-engine")
45 (version "3.0.0")
46 (source (origin
47 (method url-fetch)
48 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
49 name "-" version ".tar.bz2"))
50 (sha256
51 (base32
52 "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h"))))
53 (build-system gnu-build-system)
54 (native-inputs
55 `(("pkg-config" ,pkg-config)
56 ("intltool" ,intltool)))
57 (inputs `(("gtk+" ,gtk+-2)))
58 (home-page "http://www.xfce.org/")
59 (synopsis "GTK+ theme engine for Xfce")
60 (description
61 "Default GTK+ engine and themes for Xfce Desktop Environment.")
62 (license gpl2+)))
63
64 (define-public libxfce4util
65 (package
66 (name "libxfce4util")
67 (version "4.10.0")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "http://archive.xfce.org/xfce/"
71 (version-major+minor version)
72 "/src/" name "-" version ".tar.bz2"))
73 (sha256
74 (base32
75 "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"))))
76 (build-system gnu-build-system)
77 (native-inputs
78 `(("pkg-config" ,pkg-config)
79 ("intltool" ,intltool)))
80 (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
81 (home-page "http://www.xfce.org/")
82 (synopsis "Basic utility library for Xfce")
83 (description
84 "A general-purpose utility library with core application support for the
85 Xfce Desktop Environment.")
86 (license lgpl2.0+)))
87
88 (define-public xfconf
89 (package
90 (name "xfconf")
91 (version "4.10.0")
92 (source (origin
93 (method url-fetch)
94 (uri (string-append "http://archive.xfce.org/xfce/"
95 (version-major+minor version)
96 "/src/" name "-" version ".tar.bz2"))
97 (sha256
98 (base32
99 "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"))))
100 (build-system gnu-build-system)
101 (arguments '(#:parallel-tests? #f)) ; parallel tests failed
102 (native-inputs
103 `(("pkg-config" ,pkg-config)
104 ("intltool" ,intltool)))
105 (propagated-inputs
106 ;; libxfconf-0.pc refers to all these.
107 `(("glib" ,glib)
108 ("dbus" ,dbus)
109 ("dbus-glib" ,dbus-glib)))
110 (inputs
111 `(("libxfce4util" ,libxfce4util)))
112 (home-page "http://www.xfce.org/")
113 (synopsis "Configuration storage and query system for Xfce")
114 (description
115 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
116 storage system.")
117 (license lgpl2.0+)))
118
119 (define-public libxfce4ui
120 (package
121 (name "libxfce4ui")
122 (version "4.10.0")
123 (source (origin
124 (method url-fetch)
125 (uri (string-append "http://archive.xfce.org/xfce/"
126 (version-major+minor version)
127 "/src/" name "-" version ".tar.bz2"))
128 (sha256
129 (base32
130 "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"))))
131 (build-system gnu-build-system)
132 (native-inputs
133 `(("pkg-config" ,pkg-config)
134 ("intltool" ,intltool)))
135 (propagated-inputs
136 ;; libxfce4kbd-private-2.pc refers to all these.
137 `(("gtk+" ,gtk+-2)
138 ("libxfce4util" ,libxfce4util)
139 ("xfconf" ,xfconf)))
140 (inputs `(("libsm" ,libsm)
141 ("libice" ,libice)
142 ("startup-notification" ,startup-notification)))
143 (home-page "http://www.xfce.org/")
144 (synopsis "Widgets library for Xfce")
145 (description
146 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
147 to share commonly used Xfce widgets amoung the Xfce applications.")
148 (license lgpl2.0+)))
149
150 (define-public exo
151 (package
152 (name "exo")
153 (version "0.8.0")
154 (source (origin
155 (method url-fetch)
156 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
157 name "-" version ".tar.bz2"))
158 (sha256
159 (base32
160 "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf"))))
161 (build-system gnu-build-system)
162 (native-inputs
163 `(("pkg-config" ,pkg-config)
164 ("intltool" ,intltool)))
165 (propagated-inputs
166 ;; exo-1.pc refers to all these.
167 `(("gtk+" ,gtk+-2)
168 ("libxfce4util" ,libxfce4util)))
169 (inputs
170 `(("libxfce4ui" ,libxfce4ui)
171 ("perl-uri" ,perl-uri)))
172 (home-page "http://www.xfce.org/")
173 (synopsis "Extension library for Xfce")
174 (description
175 "An extension library to Xfce. While Xfce comes with quite a few libraries
176 that are targeted at desktop development, libexo is targeted at application
177 development.")
178 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
179 (license (list gpl2+ lgpl2.1+))))
180
181 (define-public garcon
182 (package
183 (name "garcon")
184 (version "0.2.0")
185 (source (origin
186 (method url-fetch)
187 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
188 name "-" version ".tar.bz2"))
189 (sha256
190 (base32
191 "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"))))
192 (build-system gnu-build-system)
193 (native-inputs
194 `(("pkg-config" ,pkg-config)
195 ("intltool" ,intltool)
196 ("glib:bin" ,glib "bin")))
197 (propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc
198 (inputs `(("libxfce4util" ,libxfce4util)))
199 (home-page "http://www.xfce.org/")
200 (synopsis "Implementation of the freedesktop.org menu specification")
201 (description
202 "Garcon is a freedesktop.org compliant menu implementation based on
203 GLib and GIO. It was started as a complete rewrite of the former Xfce menu
204 library called libxfce4menu, which, in contrast to garcon, was lacking menu
205 merging features essential for loading menus modified with menu editors.")
206 (license lgpl2.0+)))
207
208 (define-public tumbler
209 (package
210 (name "tumbler")
211 (version "0.1.25")
212 (source (origin
213 (method url-fetch)
214 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
215 name "-" version ".tar.bz2"))
216 (sha256
217 (base32
218 "0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82"))))
219 (build-system gnu-build-system)
220 (native-inputs
221 `(("pkg-config" ,pkg-config)
222 ("intltool" ,intltool)
223 ("glib:bin" ,glib "bin") ; need glib-genmarshal
224 ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
225 (propagated-inputs
226 `(("glib" ,glib))) ; required by tumbler-1.pc
227 (inputs
228 `(("dbus" ,dbus)
229 ("gdk-pixbuf" ,gdk-pixbuf)
230 ("freetype" ,freetype)
231 ("libjpeg" ,libjpeg)
232 ("libgsf" ,libgsf)
233 ("poppler" ,poppler)
234 ("gstreamer" ,gstreamer-0.10)))
235 (home-page "http://www.xfce.org/")
236 (synopsis "D-Bus service for applications to request thumbnails")
237 (description
238 "Tumbler is a D-Bus service for applications to request thumbnails for
239 various URI schemes and MIME types. It is an implementation of the thumbnail
240 management D-Bus specification.")
241 (license gpl2+)))
242
243 (define-public xfce4-panel
244 (package
245 (name "xfce4-panel")
246 (version "4.10.0")
247 (source (origin
248 (method url-fetch)
249 (uri (string-append "http://archive.xfce.org/xfce/"
250 (version-major+minor version)
251 "/src/" name "-" version ".tar.bz2"))
252 (sha256
253 (base32
254 "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"))
255 (patches (list (search-patch "xfce4-panel-plugins.patch")))))
256 (build-system gnu-build-system)
257 (native-inputs
258 `(("pkg-config" ,pkg-config)
259 ("intltool" ,intltool)))
260 (propagated-inputs
261 `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
262 (inputs
263 `(("exo" ,exo)
264 ("garcon", garcon)
265 ("libwnck" ,libwnck-1)
266 ("libxfce4ui" ,libxfce4ui)))
267 (native-search-paths
268 (list (search-path-specification
269 (variable "X_XFCE4_LIB_DIRS")
270 (files '("lib/xfce4")))))
271 (home-page "http://www.xfce.org/")
272 (synopsis "Xfce desktop panel")
273 (description
274 "Desktop panel for Xfce, which contains program launchers, window buttons,
275 applications menu, workspace switcher and more.")
276 ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
277 (license (list gpl2+ lgpl2.1+))))
278
279 (define-public xfce4-battery-plugin
280 (package
281 (name "xfce4-battery-plugin")
282 (version "1.0.5")
283 (source (origin
284 (method url-fetch)
285 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
286 name "/" (version-major+minor version) "/"
287 name "-" version ".tar.bz2"))
288 (sha256
289 (base32
290 "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
291 (build-system gnu-build-system)
292 (native-inputs `(("pkg-config" ,pkg-config)
293 ("intltool" ,intltool)))
294 (inputs `(("glib" ,glib)
295 ("gtk+" ,gtk+-2)
296 ("libxfce4util" ,libxfce4util)
297 ("libxfce4ui" ,libxfce4ui)
298 ("xfce4-panel" ,xfce4-panel)))
299 (home-page
300 "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
301 (synopsis "Battery monitor panel plugin for Xfce4")
302 (description
303 "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
304 ;; The main plugin code is covered by gpl2+, but the files containing code
305 ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
306 (license (list gpl2+ lgpl2.0+))))
307
308 (define-public xfce4-appfinder
309 (package
310 (name "xfce4-appfinder")
311 (version "4.10.0")
312 (source (origin
313 (method url-fetch)
314 (uri (string-append "http://archive.xfce.org/xfce/"
315 (version-major+minor version)
316 "/src/" name "-" version ".tar.bz2"))
317 (sha256
318 (base32
319 "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4"))))
320 (build-system gnu-build-system)
321 (native-inputs
322 `(("pkg-config" ,pkg-config)
323 ("intltool" ,intltool)))
324 (inputs
325 `(("garcon" ,garcon)
326 ("libxfce4ui" ,libxfce4ui)))
327 (home-page "http://www.xfce.org/")
328 (synopsis "Xfce application finder")
329 (description
330 "Application finder for Xfce, it will show the applications installed on
331 your system in categories, so you can quickly find and launch them.")
332 (license gpl2+)))
333
334 (define-public xfce4-session
335 (package
336 (name "xfce4-session")
337 (version "4.10.0")
338 (source (origin
339 (method url-fetch)
340 (uri (string-append "http://archive.xfce.org/xfce/"
341 (version-major+minor version)
342 "/src/" name "-" version ".tar.bz2"))
343 (sha256
344 (base32
345 "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"))))
346 (build-system gnu-build-system)
347 (arguments
348 '(#:configure-flags
349 (list (string-append "--with-xsession-prefix=" %output))))
350 (native-inputs
351 `(("pkg-config" ,pkg-config)
352 ("intltool" ,intltool)))
353 (inputs
354 `(("iceauth" ,iceauth)
355 ("libsm" ,libsm)
356 ("libwnck" ,libwnck-1)
357 ("libxfce4ui" ,libxfce4ui)))
358 (home-page "http://www.xfce.org/")
359 (synopsis "Xfce session manager")
360 (description
361 "Session manager for Xfce, it will restore your session on startup and
362 allows you to shutdown the computer from Xfce.")
363 (license gpl2+)))
364
365 (define-public xfce4-settings
366 (package
367 (name "xfce4-settings")
368 (version "4.10.0")
369 (source (origin
370 (method url-fetch)
371 (uri (string-append "http://archive.xfce.org/xfce/"
372 (version-major+minor version)
373 "/src/" name "-" version ".tar.bz2"))
374 (sha256
375 (base32
376 "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"))))
377 (build-system gnu-build-system)
378 (native-inputs
379 `(("pkg-config" ,pkg-config)
380 ("intltool" ,intltool)))
381 (inputs
382 `(("exo" ,exo)
383 ("garcon" ,garcon)
384 ("libnotify" ,libnotify)
385 ("libxcursor", libxcursor)
386 ("libxi" ,libxi)
387 ("libxrandr" ,libxrandr)
388 ("libxfce4ui" ,libxfce4ui)))
389 (home-page "http://www.xfce.org/")
390 (synopsis "Xfce settings manager")
391 (description
392 "Settings manager for Xfce, it can control various aspects of the desktop
393 like appearance, display, keyboard and mouse settings.")
394 (license gpl2+)))
395
396 (define-public thunar
397 (package
398 (name "thunar")
399 (version "1.4.0")
400 (source (origin
401 (method url-fetch)
402 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
403 "Thunar-" version ".tar.bz2"))
404 (sha256
405 (base32
406 "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c"))))
407 (build-system gnu-build-system)
408 (native-inputs
409 `(("pkg-config" ,pkg-config)
410 ("intltool" ,intltool)))
411 (inputs
412 `(("exo" ,exo)
413 ("gudev", eudev)
414 ("libexif" ,libexif)
415 ("libnotify" ,libnotify)
416 ("libxfce4ui" ,libxfce4ui)
417 ("pcre" ,pcre)
418 ("xfce4-panel" ,xfce4-panel)
419 ("startup-notification" ,startup-notification)))
420 (home-page "http://www.xfce.org/")
421 (synopsis "Xfce file manager")
422 (description
423 "A modern file manager for graphical desktop, aiming to be easy-to-use and
424 fast.")
425 (license gpl2+)))
426
427 (define-public thunar-volman
428 (package
429 (name "thunar-volman")
430 (version "0.8.0")
431 (source (origin
432 (method url-fetch)
433 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
434 name "-" version ".tar.bz2"))
435 (sha256
436 (base32
437 "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"))))
438 (build-system gnu-build-system)
439 (native-inputs
440 `(("pkg-config" ,pkg-config)
441 ("intltool" ,intltool)))
442 (inputs
443 `(("exo" ,exo)
444 ("gudev" ,eudev)
445 ("libnotify" ,libnotify)
446 ("libxfce4ui" ,libxfce4ui)))
447 (home-page "http://www.xfce.org/")
448 (synopsis "Removable media manager for Thunar")
449 (description
450 "Thunar-volman is an extension for the Thunar File Manager, which enables
451 automatic management of removable drives and media. For example, if
452 thunar-volman is installed and configured properly, and you plug in your
453 digitcal camera, it will automatically spawn your preferred photo application
454 and import the new pictures from your camera.")
455 (license gpl2+)))
456
457 (define-public xfwm4
458 (package
459 (name "xfwm4")
460 (version "4.10.0")
461 (source (origin
462 (method url-fetch)
463 (uri (string-append "http://archive.xfce.org/xfce/"
464 (version-major+minor version)
465 "/src/" name "-" version ".tar.bz2"))
466 (sha256
467 (base32
468 "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"))))
469 (build-system gnu-build-system)
470 (native-inputs
471 `(("pkg-config" ,pkg-config)
472 ("intltool" ,intltool)))
473 (inputs
474 `(("libwnck", libwnck-1)
475 ("libxfce4ui" ,libxfce4ui)
476 ("libxrandr" ,libxrandr)
477 ("libxcomposite" ,libxcomposite)))
478 (home-page "http://www.xfce.org/")
479 (synopsis "Xfce window manager")
480 (description
481 "Window manager for Xfce, it handles the placement of windows
482 on the screen.")
483 (license gpl2+)))
484
485 (define-public xfdesktop
486 (package
487 (name "xfdesktop")
488 (version "4.10.0")
489 (source (origin
490 (method url-fetch)
491 (uri (string-append "http://archive.xfce.org/xfce/"
492 (version-major+minor version)
493 "/src/" name "-" version ".tar.bz2"))
494 (sha256
495 (base32
496 "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"))))
497 (build-system gnu-build-system)
498 (native-inputs
499 `(("pkg-config" ,pkg-config)
500 ("intltool" ,intltool)))
501 (inputs
502 `(("exo" ,exo)
503 ("garcon" ,garcon)
504 ("libnotify" ,libnotify)
505 ("libwnck" ,libwnck-1)
506 ("libxfce4ui" ,libxfce4ui)
507 ("thunar" ,thunar)))
508 (home-page "http://www.xfce.org/")
509 (synopsis "Xfce desktop manager")
510 (description
511 "Desktop manager for Xfce, it sets the background color or image with
512 optional application menu or icons for minimized applications or launchers,
513 devices and folders.")
514 (license gpl2+)))
515
516 (define-public xfce4-terminal
517 (package
518 (name "xfce4-terminal")
519 (version "0.6.3")
520 (source (origin
521 (method url-fetch)
522 (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
523 (version-major+minor version) "/"
524 name "-" version ".tar.bz2"))
525 (sha256
526 (base32
527 "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi"))))
528 (build-system gnu-build-system)
529 (native-inputs
530 `(("pkg-config" ,pkg-config)
531 ("intltool" ,intltool)))
532 (inputs
533 `(("libxfce4ui" ,libxfce4ui)
534 ("vte" ,vte/gtk+-2)))
535 (home-page "http://www.xfce.org/")
536 (synopsis "Xfce terminal emulator")
537 (description
538 "A lightweight and easy to use terminal emulator for Xfce. Features
539 include a simple configuration interface, the ability to use multiple tabs
540 with terminals within a single window, the possibility to have a
541 pseudo-transparent terminal background, and a compact mode (where both the
542 menubar and the window decorations are hidden) that helps you to save space
543 on your desktop.")
544 (license gpl2+)))