gnu: imagemagick: Upgrade to 6.8.8-4.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages gnome)
c1354b90 20 #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1+ lgpl3))
995b7261
AE
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
ed19903d 24 #:use-module (gnu packages)
995b7261 25 #:use-module (gnu packages glib)
c1354b90 26 #:use-module (gnu packages gnupg)
85f5dc19 27 #:use-module (gnu packages gstreamer)
d9c1a22b 28 #:use-module (gnu packages gtk)
c1354b90
LC
29 #:use-module (gnu packages pdf)
30 #:use-module (gnu packages ghostscript)
9cc98f8a 31 #:use-module (gnu packages iso-codes)
85f5dc19 32 #:use-module (gnu packages libcanberra)
d9c1a22b 33 #:use-module (gnu packages libpng)
27477d2d 34 #:use-module (gnu packages perl)
995b7261
AE
35 #:use-module (gnu packages pkg-config)
36 #:use-module (gnu packages python)
85f5dc19 37 #:use-module (gnu packages xml)
200726ed 38 #:use-module (gnu packages gl)
85f5dc19
AE
39 #:use-module (gnu packages xorg))
40
41(define-public brasero
42 (package
43 (name "brasero")
44 (version "3.8.0")
45 (source (origin
46 (method url-fetch)
47 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
48 version ".tar.xz"))
49 (sha256
50 (base32
51 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
52 (build-system gnu-build-system)
53 (propagated-inputs
54 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
55 (native-inputs
56 `(("intltool" ,intltool)
57 ("pkg-config" ,pkg-config)))
85f5dc19
AE
58 (inputs
59 `(("glib" ,glib)
60 ("gnome-doc-utils" ,gnome-doc-utils)
61 ("gstreamer" ,gstreamer)
62 ("gst-plugins-base" ,gst-plugins-base)
63 ("gtk+" ,gtk+)
85f5dc19
AE
64 ("itstool" ,itstool)
65 ("libcanberra" ,libcanberra)
66 ("libice" ,libice)
67 ("libnotify" ,libnotify)
68 ("libsm" ,libsm)
c4c4cc05
JD
69 ("libxml2" ,libxml2)))
70 (native-inputs
71 `(("intltool" ,intltool)
85f5dc19
AE
72 ("pkg-config" ,pkg-config)))
73 (home-page "https://projects.gnome.org/brasero/")
74 (synopsis "CD/DVD burning tool for Gnome")
75 (description "Brasero is an application to burn CD/DVD for the Gnome
76Desktop. It is designed to be as simple as possible and has some unique
77features to enable users to create their discs easily and quickly.")
78 (license gpl2+)))
995b7261 79
9cc98f8a
CR
80(define-public gnome-desktop
81 (package
82 (name "gnome-desktop")
83 (version "3.10.0")
84 (source
85 (origin
86 (method url-fetch)
87 (uri (string-append "mirror://gnome/sources/" name "/3.10/"
88 name "-" version ".tar.xz"))
89 (sha256
90 (base32
91 "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
92 (build-system gnu-build-system)
93 (native-inputs
94 `(("intltool" ,intltool)
95 ("pkg-config" ,pkg-config)))
96 (inputs
97 `(("gdk-pixbuf" ,gdk-pixbuf)
98 ("glib" ,glib)
99 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
100 ("gtk+" ,gtk+)
101 ("iso-codes" ,iso-codes)
102 ("itstool" ,itstool)
103 ("libx11" ,libx11)
104 ("libxext" ,libxext)
105 ("libxkbfile" ,libxkbfile)
106 ("libxrandr" ,libxrandr)
107 ("xkeyboard-config" ,xkeyboard-config)))
108 (home-page "https://www.gnome.org/")
109 (synopsis
110 "libgnome-desktop, gnome-about, and desktop-wide documents")
111 (description
112 "The libgnome-desktop library provides API shared by several applications
113on the desktop, but that cannot live in the platform for various reasons. There
114is no API or ABI guarantee, although we are doing our best to provide
115stability. Documentation for the API is available with gtk-doc.
116
117The gnome-about program helps find which version of GNOME is installed.")
118 ; Some bits under the LGPL.
119 (license gpl2+)))
120
995b7261
AE
121(define-public gnome-doc-utils
122 (package
123 (name "gnome-doc-utils")
124 (version "0.20.10")
125 (source
126 (origin
127 (method url-fetch)
128 (uri (string-append "mirror://gnome/sources/" name "/0.20/"
129 name "-" version ".tar.xz"))
130 (sha256
131 (base32
132 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
133 (build-system gnu-build-system)
c4c4cc05 134 (native-inputs
995b7261
AE
135 `(("intltool" ,intltool)
136 ("libxml2" ,libxml2)
137 ("libxslt" ,libxslt)
138 ("pkg-config" ,pkg-config)
139 ("python-2" ,python-2)))
140 (arguments
141 `(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd
142 (home-page "https://wiki.gnome.org/GnomeDocUtils")
143 (synopsis
144 "Documentation utilities for the Gnome project")
145 (description
146 "Gnome-doc-utils is a collection of documentation utilities for the
147Gnome project. It includes xml2po tool which makes it easier to translate
148and keep up to date translations of documentation.")
149 (license gpl2+))) ; xslt under lgpl
d9c1a22b 150
c1354b90
LC
151(define-public libgnome-keyring
152 (package
153 (name "libgnome-keyring")
154 (version "3.6.0")
155 (source (origin
156 (method url-fetch)
157 (uri (string-append
158 "mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
159 version
160 ".tar.xz"))
161 (sha256
162 (base32
163 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
164 (build-system gnu-build-system)
c1354b90 165 (inputs
c4c4cc05 166 `(("libgcrypt" ,libgcrypt)
c1354b90 167 ("dbus" ,dbus)))
c4c4cc05
JD
168 (native-inputs
169 `(("pkg-config" ,pkg-config)
170 ("intltool" ,intltool)))
c1354b90
LC
171 (propagated-inputs
172 ;; Referred to in .h files and .pc.
173 `(("glib" ,glib)))
174 (home-page "http://www.gnome.org")
175 (synopsis "Accessing passwords from the GNOME keyring")
176 (description
177 "Client library to access passwords from the GNOME keyring.")
178
179 ;; Though a couple of files are LGPLv2.1+.
180 (license lgpl2.0+)))
181
182(define-public evince
183 (package
184 (name "evince")
185 (version "3.6.1")
186 (source (origin
187 (method url-fetch)
96e42467
LC
188 (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
189 version ".tar.xz"))
c1354b90
LC
190 (sha256
191 (base32
192 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
193 (build-system gnu-build-system)
194 (arguments
195 `(#:configure-flags '("--disable-nautilus")
196
197 ;; FIXME: Tests fail with:
198 ;; ImportError: No module named gi.repository
199 ;; Where should that module come from?
96e42467
LC
200 #:tests? #f
201
202 #:phases (alist-cons-after
203 'install 'set-mime-search-path
204 (lambda* (#:key inputs outputs #:allow-other-keys)
205 ;; Wrap 'evince' so that it knows where MIME info is.
206 (let ((out (assoc-ref outputs "out"))
207 (mime (assoc-ref inputs "shared-mime-info")))
208 (wrap-program (string-append out "/bin/evince")
209 `("XDG_DATA_DIRS" ":" prefix
210 ,(list (string-append mime "/share")
211 (string-append out "/share"))))))
212 %standard-phases)))
c1354b90
LC
213 (inputs
214 `(("libspectre" ,libspectre)
215 ;; ("djvulibre" ,djvulibre)
216 ("ghostscript" ,ghostscript)
217 ("poppler" ,poppler)
218 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
219 ("libgnome-keyring" ,libgnome-keyring)
220 ("gnome-icon-theme" ,gnome-icon-theme)
221 ("itstool" ,itstool)
222 ("gdk-pixbuf" ,gdk-pixbuf)
223 ("atk" ,atk)
224 ("pango" ,pango)
225 ("gtk+" ,gtk+)
226 ("glib" ,glib)
227 ("libxml2" ,libxml2)
c1354b90
LC
228 ("libsm" ,libsm)
229 ("libice" ,libice)
96e42467 230 ("shared-mime-info" ,shared-mime-info)
c1354b90
LC
231
232 ;; For tests.
233 ("dogtail" ,python2-dogtail)))
96e42467 234 (native-inputs
c4c4cc05
JD
235 `(("intltool" ,intltool)
236 ("pkg-config" ,pkg-config)))
c1354b90
LC
237 (home-page
238 "http://www.gnome.org/projects/evince/")
239 (synopsis "GNOME's document viewer")
240 (description
241 "Evince is a document viewer for multiple document formats. It
242currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
243of Evince is to replace the multiple document viewers that exist
96e42467 244on the GNOME Desktop with a single simple application.")
c1354b90
LC
245 (license gpl2+)))
246
22e32e69
AE
247(define-public gsettings-desktop-schemas
248 (package
249 (name "gsettings-desktop-schemas")
250 (version "3.10.0")
251 (source
252 (origin
253 (method url-fetch)
254 (uri (string-append "mirror://gnome/sources/" name "/"
255 (string-copy version 0 (string-rindex version #\.)) "/"
256 name "-" version ".tar.xz"))
257 (sha256
258 (base32
259 "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
260 (build-system gnu-build-system)
261 (inputs
c4c4cc05
JD
262 `(("glib" ,glib)))
263 (native-inputs
264 `(("intltool" ,intltool)
22e32e69
AE
265 ("pkg-config" ,pkg-config)))
266 (home-page "https://launchpad.net/gsettings-desktop-schemas")
267 (synopsis
268 "GNOME settings for various desktop components")
269 (description
270 "Gsettings-desktop-schemas contains a collection of GSettings schemas
271for settings shared by various components of the GNOME desktop.")
272 (license lgpl2.1+)))
273
27477d2d
AE
274(define-public icon-naming-utils
275 (package
276 (name "icon-naming-utils")
277 (version "0.8.90")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
282 version ".tar.bz2"))
283 (sha256
284 (base32
285 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
286 (build-system gnu-build-system)
287 (inputs
288 `(("perl" ,perl)
289 ("perl-xml-simple" ,perl-xml-simple)))
290 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
291 (synopsis
292 "Utility to implement the Freedesktop Icon Naming Specification")
293 (description
294 "To help with the transition to the Freedesktop Icon Naming
295Specification, the icon naming utility maps the icon names used by the
296GNOME and KDE desktops to the icon names proposed in the specification.")
297 (license lgpl2.1+)))
298
7d3f3651
AE
299(define-public gnome-icon-theme
300 (package
301 (name "gnome-icon-theme")
302 (version "3.10.0")
303 (source
304 (origin
305 (method url-fetch)
306 (uri (string-append "mirror://gnome/sources/" name "/"
307 (string-copy version 0 (string-rindex version #\.)) "/"
308 name "-" version ".tar.xz"))
309 (sha256
310 (base32
311 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
312 (build-system gnu-build-system)
313 (inputs
314 `(("gtk+" ,gtk+)
c4c4cc05
JD
315 ("icon-naming-utils" ,icon-naming-utils)))
316 (native-inputs
317 `(("intltool" ,intltool)
318 ("pkg-config" ,pkg-config)))
7d3f3651
AE
319 (home-page "http://art.gnome.org/")
320 (synopsis
321 "GNOME icon theme")
322 (description
323 "Icons for the GNOME desktop.")
324 (license lgpl3))) ; or Creative Commons BY-SA 3.0
325
9167f8e6
LC
326(define-public shared-mime-info
327 (package
328 (name "shared-mime-info")
329 (version "1.2")
330 (source (origin
331 (method url-fetch)
332 (uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
333 version ".tar.xz"))
334 (sha256
335 (base32
336 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
337 (build-system gnu-build-system)
338 (arguments
339 ;; The build system appears not to be parallel-safe.
340 '(#:parallel-build? #f))
341 (inputs
342 `(("glib" ,glib)
c4c4cc05 343 ("libxml2" ,libxml2)))
9167f8e6 344 (native-inputs
c4c4cc05
JD
345 `(("intltool" ,intltool)
346 ("pkg-config" ,pkg-config)))
9167f8e6
LC
347 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
348 (synopsis "Database of common MIME types")
349 (description
350 "The shared-mime-info package contains the core database of common types
351and the update-mime-database command used to extend it. It requires glib2 to
352be installed for building the update command. Additionally, it uses intltool
353for translations, though this is only a dependency for the maintainers. This
354database is translated at Transifex.")
355 (license gpl2+)))
356
bef4dd92
AE
357(define-public hicolor-icon-theme
358 (package
359 (name "hicolor-icon-theme")
360 (version "0.12")
361 (source
362 (origin
363 (method url-fetch)
364 (uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
365 version ".tar.gz"))
366 (sha256
367 (base32
368 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
369 (build-system gnu-build-system)
370 (arguments
371 `(#:tests? #f)) ; no check target
372 (home-page "http://icon-theme.freedesktop.org/releases/")
373 (synopsis
374 "Freedesktop icon theme")
375 (description
376 "Freedesktop icon theme.")
377 (license gpl2)))
378
d9c1a22b
AE
379(define-public libnotify
380 (package
381 (name "libnotify")
382 (version "0.7.6")
383 (source
384 (origin
385 (method url-fetch)
386 (uri (string-append "mirror://gnome/sources/" name "/"
387 (string-copy version 0 (string-rindex version #\.)) "/"
388 name "-" version ".tar.xz"))
389 (sha256
390 (base32
391 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
392 (build-system gnu-build-system)
393 (inputs
394 `(("gdk-pixbuf" ,gdk-pixbuf)
395 ("glib" ,glib)
396 ("gtk+" ,gtk+)
c4c4cc05
JD
397 ("libpng" ,libpng)))
398 (native-inputs
399 `(("pkg-config" ,pkg-config)))
d9c1a22b
AE
400 (home-page "https://developer-next.gnome.org/libnotify/")
401 (synopsis
402 "GNOME desktop notification library")
403 (description
404 "Libnotify is a library that sends desktop notifications to a
405notification daemon, as defined in the Desktop Notifications spec. These
406notifications can be used to inform the user about an event or display
407some form of information without getting in the user's way.")
408 (license lgpl2.1+)))
7a8605ce
CR
409
410(define-public libpeas
411 (package
412 (name "libpeas")
413 (version "1.9.0")
414 (source
415 (origin
416 (method url-fetch)
417 (uri (string-append "mirror://gnome/sources/" name "/"
418 (substring version 0 (string-rindex version #\.)) "/"
419 name "-" version ".tar.xz"))
420 (sha256
421 (base32
422 "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
423 (build-system gnu-build-system)
424 (arguments
425 `(#:modules ((guix build gnome)
426 (guix build gnu-build-system)
427 (guix build utils))
428 #:imported-modules ((guix build gnome)
429 (guix build gnu-build-system)
430 (guix build utils))
431 #:phases
432 (alist-replace
433 'configure
434 (lambda* (#:key inputs #:allow-other-keys #:rest args)
435 (let ((configure (assoc-ref %standard-phases 'configure)))
436 (substitute* "libpeas-gtk/Makefile.in"
437 (("--add-include-path")
438 (string-append
439 " --add-include-path=" (gir-directory inputs "atk")
440 " --add-include-path=" (gir-directory inputs "gdk-pixbuf")
441 " --add-include-path=" (gir-directory inputs "gtk+")
442 " --add-include-path=" (gir-directory inputs "pango")
443 " --add-include-path")))
444 (substitute* "libpeas-gtk/Makefile.in"
445 (("--includedir=\\$\\(top_builddir")
446 (string-append
447 " --includedir=" (gir-directory inputs "atk")
448 " --includedir=" (gir-directory inputs "gdk-pixbuf")
449 " --includedir=" (gir-directory inputs "gtk+")
450 " --includedir=" (gir-directory inputs "pango")
451 " --includedir=$(top_builddir")))
452 (apply configure args)))
453 %standard-phases)))
454 (inputs
455 `(("atk" ,atk)
456 ("gdk-pixbuf" ,gdk-pixbuf)
457 ("glib" ,glib)
458 ("gobject-introspection" ,gobject-introspection)
459 ("gtk+" ,gtk+)
460 ("intltool" ,intltool)
461 ("pango" ,pango)
462 ("pkg-config" ,pkg-config)))
463 (home-page "https://wiki.gnome.org/Libpeas")
464 (synopsis "GObject plugin system")
465 (description
466 "libpeas is a gobject-based plugins engine, and is targetted at giving
467every application the chance to assume its own extensibility. It also has a
468set of features including, but not limited to: multiple extension points; on
469demand (lazy) programming language support for C, Python and JS; simplicity of
470the API")
471
472 (license lgpl2.0+)))
ed19903d
JD
473
474(define-public gtkglext
475 (package
476 (name "gtkglext")
477 (version "1.2.0")
478 (source (origin
479 (method url-fetch)
480 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
481 version "/gtkglext-" version ".tar.gz"))
482 (sha256
483 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
484 (patches (list
485 (search-patch "gtkglext-remove-pangox-dependency.patch")
486 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
487 (build-system gnu-build-system)
488 (inputs `(("gtk+" ,gtk+-2)
489 ("mesa" ,mesa)
490 ("libx11" ,libx11)
491 ("libxt" ,libxt)))
492 (native-inputs `(("pkg-config" ,pkg-config)))
493 (home-page "https://projects.gnome.org/gtkglext")
494 (synopsis "OpenGL extension to GTK+.")
495 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
496additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
497API add-ons to make GTK+ widgets OpenGL-capable.")
498 (license lgpl2.1+)))