gnu: Move numerous "inputs" which should be "native-inputs".
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
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)
20 #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1+ lgpl3))
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
24 #:use-module (gnu packages glib)
25 #:use-module (gnu packages gnupg)
26 #:use-module (gnu packages gstreamer)
27 #:use-module (gnu packages gtk)
28 #:use-module (gnu packages pdf)
29 #:use-module (gnu packages ghostscript)
30 #:use-module (gnu packages libcanberra)
31 #:use-module (gnu packages libpng)
32 #:use-module (gnu packages perl)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages python)
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+)
58 ("itstool" ,itstool)
59 ("libcanberra" ,libcanberra)
60 ("libice" ,libice)
61 ("libnotify" ,libnotify)
62 ("libsm" ,libsm)
63 ("libxml2" ,libxml2)))
64 (native-inputs
65 `(("intltool" ,intltool)
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
70 Desktop. It is designed to be as simple as possible and has some unique
71 features to enable users to create their discs easily and quickly.")
72 (license gpl2+)))
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)
87 (native-inputs
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
100 Gnome project. It includes xml2po tool which makes it easier to translate
101 and keep up to date translations of documentation.")
102 (license gpl2+))) ; xslt under lgpl
103
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)
118 (inputs
119 `(("libgcrypt" ,libgcrypt)
120 ("dbus" ,dbus)))
121 (native-inputs
122 `(("pkg-config" ,pkg-config)
123 ("intltool" ,intltool)))
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)
141 (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
142 version ".tar.xz"))
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?
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)))
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)
181 ("libsm" ,libsm)
182 ("libice" ,libice)
183 ("shared-mime-info" ,shared-mime-info)
184
185 ;; For tests.
186 ("dogtail" ,python2-dogtail)))
187 (native-inputs
188 `(("intltool" ,intltool)
189 ("pkg-config" ,pkg-config)))
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
195 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
196 of Evince is to replace the multiple document viewers that exist
197 on the GNOME Desktop with a single simple application.")
198 (license gpl2+)))
199
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
215 `(("glib" ,glib)))
216 (native-inputs
217 `(("intltool" ,intltool)
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
224 for settings shared by various components of the GNOME desktop.")
225 (license lgpl2.1+)))
226
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
248 Specification, the icon naming utility maps the icon names used by the
249 GNOME and KDE desktops to the icon names proposed in the specification.")
250 (license lgpl2.1+)))
251
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+)
268 ("icon-naming-utils" ,icon-naming-utils)))
269 (native-inputs
270 `(("intltool" ,intltool)
271 ("pkg-config" ,pkg-config)))
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
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)
296 ("libxml2" ,libxml2)))
297 (native-inputs
298 `(("intltool" ,intltool)
299 ("pkg-config" ,pkg-config)))
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
304 and the update-mime-database command used to extend it. It requires glib2 to
305 be installed for building the update command. Additionally, it uses intltool
306 for translations, though this is only a dependency for the maintainers. This
307 database is translated at Transifex.")
308 (license gpl2+)))
309
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
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+)
350 ("libpng" ,libpng)))
351 (native-inputs
352 `(("pkg-config" ,pkg-config)))
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
358 notification daemon, as defined in the Desktop Notifications spec. These
359 notifications can be used to inform the user about an event or display
360 some form of information without getting in the user's way.")
361 (license lgpl2.1+)))