gnu: gtk+: enable introspection.
[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)
24 #:use-module (gnu packages glib)
c1354b90 25 #:use-module (gnu packages gnupg)
85f5dc19 26 #:use-module (gnu packages gstreamer)
d9c1a22b 27 #:use-module (gnu packages gtk)
c1354b90
LC
28 #:use-module (gnu packages pdf)
29 #:use-module (gnu packages ghostscript)
85f5dc19 30 #:use-module (gnu packages libcanberra)
d9c1a22b 31 #:use-module (gnu packages libpng)
27477d2d 32 #:use-module (gnu packages perl)
995b7261
AE
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages python)
85f5dc19
AE
35 #:use-module (gnu packages xml)
36 #:use-module (gnu packages xorg))
37
38(define-public brasero
39 (package
40 (name "brasero")
41 (version "3.8.0")
42 (source (origin
43 (method url-fetch)
44 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
45 version ".tar.xz"))
46 (sha256
47 (base32
48 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
49 (build-system gnu-build-system)
50 (propagated-inputs
51 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
52 (inputs
53 `(("glib" ,glib)
54 ("gnome-doc-utils" ,gnome-doc-utils)
55 ("gstreamer" ,gstreamer)
56 ("gst-plugins-base" ,gst-plugins-base)
57 ("gtk+" ,gtk+)
85f5dc19
AE
58 ("itstool" ,itstool)
59 ("libcanberra" ,libcanberra)
60 ("libice" ,libice)
61 ("libnotify" ,libnotify)
62 ("libsm" ,libsm)
c4c4cc05
JD
63 ("libxml2" ,libxml2)))
64 (native-inputs
65 `(("intltool" ,intltool)
85f5dc19
AE
66 ("pkg-config" ,pkg-config)))
67 (home-page "https://projects.gnome.org/brasero/")
68 (synopsis "CD/DVD burning tool for Gnome")
69 (description "Brasero is an application to burn CD/DVD for the Gnome
70Desktop. It is designed to be as simple as possible and has some unique
71features to enable users to create their discs easily and quickly.")
72 (license gpl2+)))
995b7261
AE
73
74(define-public gnome-doc-utils
75 (package
76 (name "gnome-doc-utils")
77 (version "0.20.10")
78 (source
79 (origin
80 (method url-fetch)
81 (uri (string-append "mirror://gnome/sources/" name "/0.20/"
82 name "-" version ".tar.xz"))
83 (sha256
84 (base32
85 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
86 (build-system gnu-build-system)
c4c4cc05 87 (native-inputs
995b7261
AE
88 `(("intltool" ,intltool)
89 ("libxml2" ,libxml2)
90 ("libxslt" ,libxslt)
91 ("pkg-config" ,pkg-config)
92 ("python-2" ,python-2)))
93 (arguments
94 `(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd
95 (home-page "https://wiki.gnome.org/GnomeDocUtils")
96 (synopsis
97 "Documentation utilities for the Gnome project")
98 (description
99 "Gnome-doc-utils is a collection of documentation utilities for the
100Gnome project. It includes xml2po tool which makes it easier to translate
101and keep up to date translations of documentation.")
102 (license gpl2+))) ; xslt under lgpl
d9c1a22b 103
c1354b90
LC
104(define-public libgnome-keyring
105 (package
106 (name "libgnome-keyring")
107 (version "3.6.0")
108 (source (origin
109 (method url-fetch)
110 (uri (string-append
111 "mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
112 version
113 ".tar.xz"))
114 (sha256
115 (base32
116 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
117 (build-system gnu-build-system)
c1354b90 118 (inputs
c4c4cc05 119 `(("libgcrypt" ,libgcrypt)
c1354b90 120 ("dbus" ,dbus)))
c4c4cc05
JD
121 (native-inputs
122 `(("pkg-config" ,pkg-config)
123 ("intltool" ,intltool)))
c1354b90
LC
124 (propagated-inputs
125 ;; Referred to in .h files and .pc.
126 `(("glib" ,glib)))
127 (home-page "http://www.gnome.org")
128 (synopsis "Accessing passwords from the GNOME keyring")
129 (description
130 "Client library to access passwords from the GNOME keyring.")
131
132 ;; Though a couple of files are LGPLv2.1+.
133 (license lgpl2.0+)))
134
135(define-public evince
136 (package
137 (name "evince")
138 (version "3.6.1")
139 (source (origin
140 (method url-fetch)
96e42467
LC
141 (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
142 version ".tar.xz"))
c1354b90
LC
143 (sha256
144 (base32
145 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
146 (build-system gnu-build-system)
147 (arguments
148 `(#:configure-flags '("--disable-nautilus")
149
150 ;; FIXME: Tests fail with:
151 ;; ImportError: No module named gi.repository
152 ;; Where should that module come from?
96e42467
LC
153 #:tests? #f
154
155 #:phases (alist-cons-after
156 'install 'set-mime-search-path
157 (lambda* (#:key inputs outputs #:allow-other-keys)
158 ;; Wrap 'evince' so that it knows where MIME info is.
159 (let ((out (assoc-ref outputs "out"))
160 (mime (assoc-ref inputs "shared-mime-info")))
161 (wrap-program (string-append out "/bin/evince")
162 `("XDG_DATA_DIRS" ":" prefix
163 ,(list (string-append mime "/share")
164 (string-append out "/share"))))))
165 %standard-phases)))
c1354b90
LC
166 (inputs
167 `(("libspectre" ,libspectre)
168 ;; ("djvulibre" ,djvulibre)
169 ("ghostscript" ,ghostscript)
170 ("poppler" ,poppler)
171 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
172 ("libgnome-keyring" ,libgnome-keyring)
173 ("gnome-icon-theme" ,gnome-icon-theme)
174 ("itstool" ,itstool)
175 ("gdk-pixbuf" ,gdk-pixbuf)
176 ("atk" ,atk)
177 ("pango" ,pango)
178 ("gtk+" ,gtk+)
179 ("glib" ,glib)
180 ("libxml2" ,libxml2)
c1354b90
LC
181 ("libsm" ,libsm)
182 ("libice" ,libice)
96e42467 183 ("shared-mime-info" ,shared-mime-info)
c1354b90
LC
184
185 ;; For tests.
186 ("dogtail" ,python2-dogtail)))
96e42467 187 (native-inputs
c4c4cc05
JD
188 `(("intltool" ,intltool)
189 ("pkg-config" ,pkg-config)))
c1354b90
LC
190 (home-page
191 "http://www.gnome.org/projects/evince/")
192 (synopsis "GNOME's document viewer")
193 (description
194 "Evince is a document viewer for multiple document formats. It
195currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
196of Evince is to replace the multiple document viewers that exist
96e42467 197on the GNOME Desktop with a single simple application.")
c1354b90
LC
198 (license gpl2+)))
199
22e32e69
AE
200(define-public gsettings-desktop-schemas
201 (package
202 (name "gsettings-desktop-schemas")
203 (version "3.10.0")
204 (source
205 (origin
206 (method url-fetch)
207 (uri (string-append "mirror://gnome/sources/" name "/"
208 (string-copy version 0 (string-rindex version #\.)) "/"
209 name "-" version ".tar.xz"))
210 (sha256
211 (base32
212 "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
213 (build-system gnu-build-system)
214 (inputs
c4c4cc05
JD
215 `(("glib" ,glib)))
216 (native-inputs
217 `(("intltool" ,intltool)
22e32e69
AE
218 ("pkg-config" ,pkg-config)))
219 (home-page "https://launchpad.net/gsettings-desktop-schemas")
220 (synopsis
221 "GNOME settings for various desktop components")
222 (description
223 "Gsettings-desktop-schemas contains a collection of GSettings schemas
224for settings shared by various components of the GNOME desktop.")
225 (license lgpl2.1+)))
226
27477d2d
AE
227(define-public icon-naming-utils
228 (package
229 (name "icon-naming-utils")
230 (version "0.8.90")
231 (source
232 (origin
233 (method url-fetch)
234 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
235 version ".tar.bz2"))
236 (sha256
237 (base32
238 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
239 (build-system gnu-build-system)
240 (inputs
241 `(("perl" ,perl)
242 ("perl-xml-simple" ,perl-xml-simple)))
243 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
244 (synopsis
245 "Utility to implement the Freedesktop Icon Naming Specification")
246 (description
247 "To help with the transition to the Freedesktop Icon Naming
248Specification, the icon naming utility maps the icon names used by the
249GNOME and KDE desktops to the icon names proposed in the specification.")
250 (license lgpl2.1+)))
251
7d3f3651
AE
252(define-public gnome-icon-theme
253 (package
254 (name "gnome-icon-theme")
255 (version "3.10.0")
256 (source
257 (origin
258 (method url-fetch)
259 (uri (string-append "mirror://gnome/sources/" name "/"
260 (string-copy version 0 (string-rindex version #\.)) "/"
261 name "-" version ".tar.xz"))
262 (sha256
263 (base32
264 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
265 (build-system gnu-build-system)
266 (inputs
267 `(("gtk+" ,gtk+)
c4c4cc05
JD
268 ("icon-naming-utils" ,icon-naming-utils)))
269 (native-inputs
270 `(("intltool" ,intltool)
271 ("pkg-config" ,pkg-config)))
7d3f3651
AE
272 (home-page "http://art.gnome.org/")
273 (synopsis
274 "GNOME icon theme")
275 (description
276 "Icons for the GNOME desktop.")
277 (license lgpl3))) ; or Creative Commons BY-SA 3.0
278
9167f8e6
LC
279(define-public shared-mime-info
280 (package
281 (name "shared-mime-info")
282 (version "1.2")
283 (source (origin
284 (method url-fetch)
285 (uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
286 version ".tar.xz"))
287 (sha256
288 (base32
289 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
290 (build-system gnu-build-system)
291 (arguments
292 ;; The build system appears not to be parallel-safe.
293 '(#:parallel-build? #f))
294 (inputs
295 `(("glib" ,glib)
c4c4cc05 296 ("libxml2" ,libxml2)))
9167f8e6 297 (native-inputs
c4c4cc05
JD
298 `(("intltool" ,intltool)
299 ("pkg-config" ,pkg-config)))
9167f8e6
LC
300 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
301 (synopsis "Database of common MIME types")
302 (description
303 "The shared-mime-info package contains the core database of common types
304and the update-mime-database command used to extend it. It requires glib2 to
305be installed for building the update command. Additionally, it uses intltool
306for translations, though this is only a dependency for the maintainers. This
307database is translated at Transifex.")
308 (license gpl2+)))
309
bef4dd92
AE
310(define-public hicolor-icon-theme
311 (package
312 (name "hicolor-icon-theme")
313 (version "0.12")
314 (source
315 (origin
316 (method url-fetch)
317 (uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
318 version ".tar.gz"))
319 (sha256
320 (base32
321 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
322 (build-system gnu-build-system)
323 (arguments
324 `(#:tests? #f)) ; no check target
325 (home-page "http://icon-theme.freedesktop.org/releases/")
326 (synopsis
327 "Freedesktop icon theme")
328 (description
329 "Freedesktop icon theme.")
330 (license gpl2)))
331
d9c1a22b
AE
332(define-public libnotify
333 (package
334 (name "libnotify")
335 (version "0.7.6")
336 (source
337 (origin
338 (method url-fetch)
339 (uri (string-append "mirror://gnome/sources/" name "/"
340 (string-copy version 0 (string-rindex version #\.)) "/"
341 name "-" version ".tar.xz"))
342 (sha256
343 (base32
344 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
345 (build-system gnu-build-system)
346 (inputs
347 `(("gdk-pixbuf" ,gdk-pixbuf)
348 ("glib" ,glib)
349 ("gtk+" ,gtk+)
c4c4cc05
JD
350 ("libpng" ,libpng)))
351 (native-inputs
352 `(("pkg-config" ,pkg-config)))
d9c1a22b
AE
353 (home-page "https://developer-next.gnome.org/libnotify/")
354 (synopsis
355 "GNOME desktop notification library")
356 (description
357 "Libnotify is a library that sends desktop notifications to a
358notification daemon, as defined in the Desktop Notifications spec. These
359notifications can be used to inform the user about an event or display
360some form of information without getting in the user's way.")
361 (license lgpl2.1+)))