Commit | Line | Data |
---|---|---|
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 | |
90 | Xfce 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 | |
134 | storage 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 | 166 | to 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 | |
195 | that are targeted at desktop development, libexo is targeted at application | |
196 | development.") | |
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 | |
222 | GLib and GIO. It was started as a complete rewrite of the former Xfce menu | |
223 | library called libxfce4menu, which, in contrast to garcon, was lacking menu | |
224 | merging 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 | |
258 | various URI schemes and MIME types. It is an implementation of the thumbnail | |
259 | management 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, | |
296 | applications 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 | |
355 | around while it is usually lost when you close an application. It is able to | |
356 | handle text and images, and has a feature to execute actions on specific text by | |
357 | matching 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 | |
386 | convenient way to adjust the audio volume of the PulseAudio sound system and | |
387 | to an auto mixer tool like pavucontrol. It can optionally handle multimedia | |
388 | keys 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 | |
419 | keyboard layouts. | |
420 | ||
421 | One can choose the keyboard model, what key combination to | |
422 | use to switch between the layouts, the actual keyboard layouts, | |
423 | the way in which the current layout is being displayed (country | |
424 | flag image or text) and the layout policy, which is whether to | |
425 | store the layout globally (for all windows), per application or | |
426 | per 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 | |
452 | your 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 | |
497 | allows 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 | |
533 | like 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 | |
564 | fast.") | |
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 | |
591 | automatic management of removable drives and media. For example, if | |
592 | thunar-volman is installed and configured properly, and you plug in your | |
e881752c | 593 | digital camera, it will automatically spawn your preferred photo application |
aac03800 SB |
594 | and 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 | |
624 | on 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 | |
654 | optional application menu or icons for minimized applications or launchers, | |
655 | devices 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 | |
681 | include a simple configuration interface, the ability to use multiple tabs | |
682 | with terminals within a single window, the possibility to have a | |
683 | pseudo-transparent terminal background, and a compact mode (where both the | |
684 | menubar and the window decorations are hidden) that helps you to save space | |
685 | on 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 | |
743 | system resources, while still being visually appealing and user friendly.") | |
744 | (license gpl2+))) |