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>
5 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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))
42 (define-public gtk-xfce-engine
44 (name "gtk-xfce-engine")
48 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
49 name "-" version ".tar.bz2"))
52 "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h"))))
53 (build-system gnu-build-system)
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")
61 "Default GTK+ engine and themes for Xfce Desktop Environment.")
64 (define-public libxfce4util
70 (uri (string-append "http://archive.xfce.org/xfce/"
71 (version-major+minor version)
72 "/src/" name "-" version ".tar.bz2"))
75 "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"))))
76 (build-system gnu-build-system)
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")
84 "A general-purpose utility library with core application support for the
85 Xfce Desktop Environment.")
94 (uri (string-append "http://archive.xfce.org/xfce/"
95 (version-major+minor version)
96 "/src/" name "-" version ".tar.bz2"))
99 "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"))))
100 (build-system gnu-build-system)
101 (arguments '(#:parallel-tests? #f)) ; parallel tests failed
103 `(("pkg-config" ,pkg-config)
104 ("intltool" ,intltool)))
106 ;; libxfconf-0.pc refers to all these.
109 ("dbus-glib" ,dbus-glib)))
111 `(("libxfce4util" ,libxfce4util)))
112 (home-page "http://www.xfce.org/")
113 (synopsis "Configuration storage and query system for Xfce")
115 "Settings daemon for Xfce, implemented as a D-Bus-based configuration
119 (define-public libxfce4ui
125 (uri (string-append "http://archive.xfce.org/xfce/"
126 (version-major+minor version)
127 "/src/" name "-" version ".tar.bz2"))
130 "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"))))
131 (build-system gnu-build-system)
133 `(("pkg-config" ,pkg-config)
134 ("intltool" ,intltool)))
136 ;; libxfce4kbd-private-2.pc refers to all these.
138 ("libxfce4util" ,libxfce4util)
140 (inputs `(("libsm" ,libsm)
142 ("startup-notification" ,startup-notification)))
143 (home-page "http://www.xfce.org/")
144 (synopsis "Widgets library for Xfce")
146 "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
147 to share commonly used Xfce widgets amoung the Xfce applications.")
156 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
157 name "-" version ".tar.bz2"))
160 "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf"))))
161 (build-system gnu-build-system)
163 `(("pkg-config" ,pkg-config)
164 ("intltool" ,intltool)))
166 ;; exo-1.pc refers to all these.
168 ("libxfce4util" ,libxfce4util)))
170 `(("libxfce4ui" ,libxfce4ui)
171 ("perl-uri" ,perl-uri)))
172 (home-page "http://www.xfce.org/")
173 (synopsis "Extension library for Xfce")
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
178 ;; Libraries are under LGPLv2+, and programs under GPLv2+.
179 (license (list gpl2+ lgpl2.1+))))
181 (define-public garcon
187 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
188 name "-" version ".tar.bz2"))
191 "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"))))
192 (build-system gnu-build-system)
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")
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.")
208 (define-public tumbler
214 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
215 name "-" version ".tar.bz2"))
218 "0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82"))))
219 (build-system gnu-build-system)
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
226 `(("glib" ,glib))) ; required by tumbler-1.pc
229 ("gdk-pixbuf" ,gdk-pixbuf)
230 ("freetype" ,freetype)
234 ("gstreamer" ,gstreamer-0.10)))
235 (home-page "http://www.xfce.org/")
236 (synopsis "D-Bus service for applications to request thumbnails")
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.")
243 (define-public xfce4-panel
249 (uri (string-append "http://archive.xfce.org/xfce/"
250 (version-major+minor version)
251 "/src/" name "-" version ".tar.bz2"))
254 "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"))
255 (patches (list (search-patch "xfce4-panel-plugins.patch")))))
256 (build-system gnu-build-system)
258 `(("pkg-config" ,pkg-config)
259 ("intltool" ,intltool)))
261 `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
265 ("libwnck" ,libwnck-1)
266 ("libxfce4ui" ,libxfce4ui)))
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")
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+))))
279 (define-public xfce4-battery-plugin
281 (name "xfce4-battery-plugin")
285 (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
286 name "/" (version-major+minor version) "/"
287 name "-" version ".tar.bz2"))
290 "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
291 (build-system gnu-build-system)
292 (native-inputs `(("pkg-config" ,pkg-config)
293 ("intltool" ,intltool)))
294 (inputs `(("glib" ,glib)
296 ("libxfce4util" ,libxfce4util)
297 ("libxfce4ui" ,libxfce4ui)
298 ("xfce4-panel" ,xfce4-panel)))
300 "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
301 (synopsis "Battery monitor panel plugin for Xfce4")
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+))))
308 (define-public xfce4-appfinder
310 (name "xfce4-appfinder")
314 (uri (string-append "http://archive.xfce.org/xfce/"
315 (version-major+minor version)
316 "/src/" name "-" version ".tar.bz2"))
319 "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4"))))
320 (build-system gnu-build-system)
322 `(("pkg-config" ,pkg-config)
323 ("intltool" ,intltool)))
326 ("libxfce4ui" ,libxfce4ui)))
327 (home-page "http://www.xfce.org/")
328 (synopsis "Xfce application finder")
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.")
334 (define-public xfce4-session
336 (name "xfce4-session")
340 (uri (string-append "http://archive.xfce.org/xfce/"
341 (version-major+minor version)
342 "/src/" name "-" version ".tar.bz2"))
345 "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"))))
346 (build-system gnu-build-system)
349 (list (string-append "--with-xsession-prefix=" %output))))
351 `(("pkg-config" ,pkg-config)
352 ("intltool" ,intltool)))
354 `(("iceauth" ,iceauth)
356 ("libwnck" ,libwnck-1)
357 ("libxfce4ui" ,libxfce4ui)))
358 (home-page "http://www.xfce.org/")
359 (synopsis "Xfce session manager")
361 "Session manager for Xfce, it will restore your session on startup and
362 allows you to shutdown the computer from Xfce.")
365 (define-public xfce4-settings
367 (name "xfce4-settings")
371 (uri (string-append "http://archive.xfce.org/xfce/"
372 (version-major+minor version)
373 "/src/" name "-" version ".tar.bz2"))
376 "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"))))
377 (build-system gnu-build-system)
379 `(("pkg-config" ,pkg-config)
380 ("intltool" ,intltool)))
384 ("libnotify" ,libnotify)
385 ("libxcursor", libxcursor)
387 ("libxrandr" ,libxrandr)
388 ("libxfce4ui" ,libxfce4ui)))
389 (home-page "http://www.xfce.org/")
390 (synopsis "Xfce settings manager")
392 "Settings manager for Xfce, it can control various aspects of the desktop
393 like appearance, display, keyboard and mouse settings.")
396 (define-public thunar
402 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
403 "Thunar-" version ".tar.bz2"))
406 "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c"))))
407 (build-system gnu-build-system)
409 `(("pkg-config" ,pkg-config)
410 ("intltool" ,intltool)))
415 ("libnotify" ,libnotify)
416 ("libxfce4ui" ,libxfce4ui)
418 ("xfce4-panel" ,xfce4-panel)
419 ("startup-notification" ,startup-notification)))
420 (home-page "http://www.xfce.org/")
421 (synopsis "Xfce file manager")
423 "A modern file manager for graphical desktop, aiming to be easy-to-use and
427 (define-public thunar-volman
429 (name "thunar-volman")
433 (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
434 name "-" version ".tar.bz2"))
437 "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"))))
438 (build-system gnu-build-system)
440 `(("pkg-config" ,pkg-config)
441 ("intltool" ,intltool)))
445 ("libnotify" ,libnotify)
446 ("libxfce4ui" ,libxfce4ui)))
447 (home-page "http://www.xfce.org/")
448 (synopsis "Removable media manager for Thunar")
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.")
463 (uri (string-append "http://archive.xfce.org/xfce/"
464 (version-major+minor version)
465 "/src/" name "-" version ".tar.bz2"))
468 "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"))))
469 (build-system gnu-build-system)
471 `(("pkg-config" ,pkg-config)
472 ("intltool" ,intltool)))
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")
481 "Window manager for Xfce, it handles the placement of windows
485 (define-public xfdesktop
491 (uri (string-append "http://archive.xfce.org/xfce/"
492 (version-major+minor version)
493 "/src/" name "-" version ".tar.bz2"))
496 "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"))))
497 (build-system gnu-build-system)
499 `(("pkg-config" ,pkg-config)
500 ("intltool" ,intltool)))
504 ("libnotify" ,libnotify)
505 ("libwnck" ,libwnck-1)
506 ("libxfce4ui" ,libxfce4ui)
508 (home-page "http://www.xfce.org/")
509 (synopsis "Xfce desktop manager")
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.")
516 (define-public xfce4-terminal
518 (name "xfce4-terminal")
522 (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
523 (version-major+minor version) "/"
524 name "-" version ".tar.bz2"))
527 "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi"))))
528 (build-system gnu-build-system)
530 `(("pkg-config" ,pkg-config)
531 ("intltool" ,intltool)))
533 `(("libxfce4ui" ,libxfce4ui)
534 ("vte" ,vte/gtk+-2)))
535 (home-page "http://www.xfce.org/")
536 (synopsis "Xfce terminal emulator")
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