1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
4 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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))
38 (define-public brasero
44 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
48 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
49 (build-system gnu-build-system)
51 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
54 ("gnome-doc-utils" ,gnome-doc-utils)
55 ("gstreamer" ,gstreamer)
56 ("gst-plugins-base" ,gst-plugins-base)
59 ("libcanberra" ,libcanberra)
61 ("libnotify" ,libnotify)
63 ("libxml2" ,libxml2)))
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.")
74 (define-public gnome-doc-utils
76 (name "gnome-doc-utils")
81 (uri (string-append "mirror://gnome/sources/" name "/0.20/"
82 name "-" version ".tar.xz"))
85 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
86 (build-system gnu-build-system)
88 `(("intltool" ,intltool)
91 ("pkg-config" ,pkg-config)
92 ("python-2" ,python-2)))
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")
97 "Documentation utilities for the Gnome project")
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
104 (define-public libgnome-keyring
106 (name "libgnome-keyring")
111 "mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
116 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
117 (build-system gnu-build-system)
119 `(("libgcrypt" ,libgcrypt)
122 `(("pkg-config" ,pkg-config)
123 ("intltool" ,intltool)))
125 ;; Referred to in .h files and .pc.
127 (home-page "http://www.gnome.org")
128 (synopsis "Accessing passwords from the GNOME keyring")
130 "Client library to access passwords from the GNOME keyring.")
132 ;; Though a couple of files are LGPLv2.1+.
135 (define-public evince
141 (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
145 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
146 (build-system gnu-build-system)
148 `(#:configure-flags '("--disable-nautilus")
150 ;; FIXME: Tests fail with:
151 ;; ImportError: No module named gi.repository
152 ;; Where should that module come from?
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"))))))
167 `(("libspectre" ,libspectre)
168 ;; ("djvulibre" ,djvulibre)
169 ("ghostscript" ,ghostscript)
171 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
172 ("libgnome-keyring" ,libgnome-keyring)
173 ("gnome-icon-theme" ,gnome-icon-theme)
175 ("gdk-pixbuf" ,gdk-pixbuf)
183 ("shared-mime-info" ,shared-mime-info)
186 ("dogtail" ,python2-dogtail)))
188 `(("intltool" ,intltool)
189 ("pkg-config" ,pkg-config)))
191 "http://www.gnome.org/projects/evince/")
192 (synopsis "GNOME's document viewer")
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.")
200 (define-public gsettings-desktop-schemas
202 (name "gsettings-desktop-schemas")
207 (uri (string-append "mirror://gnome/sources/" name "/"
208 (string-copy version 0 (string-rindex version #\.)) "/"
209 name "-" version ".tar.xz"))
212 "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
213 (build-system gnu-build-system)
217 `(("intltool" ,intltool)
218 ("pkg-config" ,pkg-config)))
219 (home-page "https://launchpad.net/gsettings-desktop-schemas")
221 "GNOME settings for various desktop components")
223 "Gsettings-desktop-schemas contains a collection of GSettings schemas
224 for settings shared by various components of the GNOME desktop.")
227 (define-public icon-naming-utils
229 (name "icon-naming-utils")
234 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
238 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
239 (build-system gnu-build-system)
242 ("perl-xml-simple" ,perl-xml-simple)))
243 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
245 "Utility to implement the Freedesktop Icon Naming Specification")
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.")
252 (define-public gnome-icon-theme
254 (name "gnome-icon-theme")
259 (uri (string-append "mirror://gnome/sources/" name "/"
260 (string-copy version 0 (string-rindex version #\.)) "/"
261 name "-" version ".tar.xz"))
264 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
265 (build-system gnu-build-system)
268 ("icon-naming-utils" ,icon-naming-utils)))
270 `(("intltool" ,intltool)
271 ("pkg-config" ,pkg-config)))
272 (home-page "http://art.gnome.org/")
276 "Icons for the GNOME desktop.")
277 (license lgpl3))) ; or Creative Commons BY-SA 3.0
279 (define-public shared-mime-info
281 (name "shared-mime-info")
285 (uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
289 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
290 (build-system gnu-build-system)
292 ;; The build system appears not to be parallel-safe.
293 '(#:parallel-build? #f))
296 ("libxml2" ,libxml2)))
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")
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.")
310 (define-public hicolor-icon-theme
312 (name "hicolor-icon-theme")
317 (uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
321 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
322 (build-system gnu-build-system)
324 `(#:tests? #f)) ; no check target
325 (home-page "http://icon-theme.freedesktop.org/releases/")
327 "Freedesktop icon theme")
329 "Freedesktop icon theme.")
332 (define-public libnotify
339 (uri (string-append "mirror://gnome/sources/" name "/"
340 (string-copy version 0 (string-rindex version #\.)) "/"
341 name "-" version ".tar.xz"))
344 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
345 (build-system gnu-build-system)
347 `(("gdk-pixbuf" ,gdk-pixbuf)
352 `(("pkg-config" ,pkg-config)))
353 (home-page "https://developer-next.gnome.org/libnotify/")
355 "GNOME desktop notification library")
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.")