Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
5 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
6 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
8 ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
9 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
10 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
11 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
12 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
13 ;;;
14 ;;; This file is part of GNU Guix.
15 ;;;
16 ;;; GNU Guix is free software; you can redistribute it and/or modify it
17 ;;; under the terms of the GNU General Public License as published by
18 ;;; the Free Software Foundation; either version 3 of the License, or (at
19 ;;; your option) any later version.
20 ;;;
21 ;;; GNU Guix is distributed in the hope that it will be useful, but
22 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 ;;; GNU General Public License for more details.
25 ;;;
26 ;;; You should have received a copy of the GNU General Public License
27 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28
29 (define-module (gnu packages gnome)
30 #:use-module ((guix licenses) #:prefix license:)
31 #:use-module (guix packages)
32 #:use-module (guix download)
33 #:use-module (guix utils)
34 #:use-module (guix build-system gnu)
35 #:use-module (guix build-system glib-or-gtk)
36 #:use-module (gnu packages)
37 #:use-module (gnu packages autotools)
38 #:use-module (gnu packages avahi)
39 #:use-module (gnu packages base)
40 #:use-module (gnu packages bison)
41 #:use-module (gnu packages cups)
42 #:use-module (gnu packages curl)
43 #:use-module (gnu packages databases)
44 #:use-module (gnu packages djvu)
45 #:use-module (gnu packages flex)
46 #:use-module (gnu packages docbook)
47 #:use-module (gnu packages glib)
48 #:use-module (gnu packages gnupg)
49 #:use-module (gnu packages gnuzilla)
50 #:use-module (gnu packages gstreamer)
51 #:use-module (gnu packages gtk)
52 #:use-module (gnu packages guile)
53 #:use-module (gnu packages pdf)
54 #:use-module (gnu packages polkit)
55 #:use-module (gnu packages popt)
56 #:use-module (gnu packages ghostscript)
57 #:use-module (gnu packages iso-codes)
58 #:use-module (gnu packages libcanberra)
59 #:use-module (gnu packages linux)
60 #:use-module (gnu packages libusb)
61 #:use-module (gnu packages lirc)
62 #:use-module (gnu packages lua)
63 #:use-module (gnu packages image)
64 #:use-module (gnu packages perl)
65 #:use-module (gnu packages photo)
66 #:use-module (gnu packages pkg-config)
67 #:use-module (gnu packages pulseaudio)
68 #:use-module (gnu packages python)
69 #:use-module (gnu packages scanner)
70 #:use-module (gnu packages ssh)
71 #:use-module (gnu packages xml)
72 #:use-module (gnu packages gl)
73 #:use-module (gnu packages qt) ; for libxkbcommon
74 #:use-module (gnu packages compression)
75 #:use-module (gnu packages texlive)
76 #:use-module (gnu packages tls)
77 #:use-module (gnu packages web)
78 #:use-module (gnu packages webkit)
79 #:use-module (gnu packages xorg)
80 #:use-module (gnu packages xdisorg)
81 #:use-module (gnu packages freedesktop)
82 #:use-module (gnu packages mail)
83 #:use-module (gnu packages backup)
84 #:use-module (gnu packages nettle)
85 #:use-module (gnu packages ncurses)
86 #:use-module (srfi srfi-1))
87
88 (define-public brasero
89 (package
90 (name "brasero")
91 (version "3.12.1")
92 (source (origin
93 (method url-fetch)
94 (uri (string-append "mirror://gnome/sources/" name "/"
95 (version-major+minor version) "/"
96 name "-" version ".tar.xz"))
97 (sha256
98 (base32
99 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
100 (build-system gnu-build-system)
101 (arguments
102 `(#:configure-flags (list
103 (string-append "--with-girdir="
104 (assoc-ref %outputs "out")
105 "/share/gir-1.0")
106 (string-append "--with-typelibdir="
107 (assoc-ref %outputs "out")
108 "/lib/girepository-1.0"))))
109 (propagated-inputs
110 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
111 (native-inputs
112 `(("intltool" ,intltool)
113 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
114 ("gobject-introspection" ,gobject-introspection)
115 ("pkg-config" ,pkg-config)))
116 (inputs
117 `(("glib" ,glib)
118 ("gnome-doc-utils" ,gnome-doc-utils)
119 ("gstreamer" ,gstreamer)
120 ("gst-plugins-base" ,gst-plugins-base)
121 ("gtk+" ,gtk+)
122 ("itstool" ,itstool)
123 ("libcanberra" ,libcanberra)
124 ("libice" ,libice)
125 ("libnotify" ,libnotify)
126 ("libsm" ,libsm)
127 ("libxml2" ,libxml2)
128 ("nettle" ,nettle)
129 ("totem-pl-parser" ,totem-pl-parser)))
130 (home-page "https://projects.gnome.org/brasero/")
131 (synopsis "CD/DVD burning tool for Gnome")
132 (description "Brasero is an application to burn CD/DVD for the Gnome
133 Desktop. It is designed to be as simple as possible and has some unique
134 features to enable users to create their discs easily and quickly.")
135 (license license:gpl2+)))
136
137 (define-public gnome-common
138 (package
139 (name "gnome-common")
140 (version "3.14.0")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "mirror://gnome/sources/" name "/"
145 (version-major+minor version) "/"
146 name "-" version ".tar.xz"))
147 (sha256
148 (base32
149 "0b1676g4q44ah73c5gwl1kg88pc93pnq1pa9kwl43d0vg0pj802c"))))
150 (build-system gnu-build-system)
151 (home-page "https://www.gnome.org/")
152 (synopsis "Bootstrap GNOME modules built from Git")
153 (description "gnome-common contains various files needed to bootstrap
154 GNOME modules built from Git. It contains a common \"autogen.sh\" script that
155 can be used to configure a source directory checked out from Git and some
156 commonly used macros.")
157 (license license:gpl2+)))
158
159 (define-public gnome-desktop
160 (package
161 (name "gnome-desktop")
162 (version "3.16.0")
163 (source
164 (origin
165 (method url-fetch)
166 (uri (string-append "mirror://gnome/sources/" name "/"
167 (version-major+minor version) "/"
168 name "-" version ".tar.xz"))
169 (sha256
170 (base32
171 "05lvik5cdh51xqd332qingph09zdhiaa1kqy9k2sk1simz4pvf8m"))))
172 (build-system gnu-build-system)
173 (native-inputs
174 `(("intltool" ,intltool)
175 ("pkg-config" ,pkg-config)))
176 (inputs
177 `(("gdk-pixbuf" ,gdk-pixbuf)
178 ("glib" ,glib)
179 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
180 ("gtk+" ,gtk+)
181 ("iso-codes" ,iso-codes)
182 ("itstool" ,itstool)
183 ("libx11" ,libx11)
184 ("libxext" ,libxext)
185 ("libxkbfile" ,libxkbfile)
186 ("libxrandr" ,libxrandr)
187 ("xkeyboard-config" ,xkeyboard-config)))
188 (home-page "https://www.gnome.org/")
189 (synopsis
190 "Libgnome-desktop, gnome-about, and desktop-wide documents")
191 (description
192 "The libgnome-desktop library provides API shared by several applications
193 on the desktop, but that cannot live in the platform for various reasons.
194 There is no API or ABI guarantee, although we are doing our best to provide
195 stability. Documentation for the API is available with gtk-doc.
196
197 The gnome-about program helps find which version of GNOME is installed.")
198 ; Some bits under the LGPL.
199 (license license:gpl2+)))
200
201 (define-public gnome-doc-utils
202 (package
203 (name "gnome-doc-utils")
204 (version "0.20.10")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append "mirror://gnome/sources/" name "/"
209 (version-major+minor version) "/"
210 name "-" version ".tar.xz"))
211 (sha256
212 (base32
213 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
214 (build-system gnu-build-system)
215 (native-inputs
216 `(("intltool" ,intltool)
217 ("docbook-xml" ,docbook-xml-4.4)
218 ("python2-libxml2" ,python2-libxml2)
219 ("libxml2" ,libxml2)
220 ("libxslt" ,libxslt)
221 ("pkg-config" ,pkg-config)
222 ("python-2" ,python-2)))
223 (home-page "https://wiki.gnome.org/GnomeDocUtils")
224 (synopsis
225 "Documentation utilities for the Gnome project")
226 (description
227 "Gnome-doc-utils is a collection of documentation utilities for the
228 Gnome project. It includes xml2po tool which makes it easier to translate
229 and keep up to date translations of documentation.")
230 (license license:gpl2+))) ; xslt under lgpl
231
232 (define-public gcr
233 (package
234 (name "gcr")
235 (version "3.16.0")
236 (source (origin
237 (method url-fetch)
238 (uri (string-append "mirror://gnome/sources/" name "/"
239 (version-major+minor version) "/"
240 name "-" version ".tar.xz"))
241 (sha256
242 (base32
243 "0xfhi0w358lvca1jjx24x2gm67mif33dsnmi9cv5i0f83ks8vzpc"))))
244 (build-system gnu-build-system)
245 (arguments
246 '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
247 ;not exist
248 #:phases (modify-phases %standard-phases
249 (add-before
250 'check 'pre-check
251 (lambda* (#:key inputs #:allow-other-keys)
252 (substitute* "build/tap-driver"
253 (("/usr/bin/env python") (which "python"))))))))
254 (inputs
255 `(("dbus" ,dbus)
256 ("gnupg" ,gnupg) ;called as a child process during tests
257 ("libgcrypt" ,libgcrypt)))
258 (native-inputs
259 `(("python" ,python-2) ;for tests
260 ("pkg-config" ,pkg-config)
261 ("glib" ,glib "bin")
262 ("intltool" ,intltool)))
263 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
264 (propagated-inputs
265 `(("p11-kit" ,p11-kit)
266 ("glib" ,glib)
267 ("gtk+" ,gtk+)))
268 (home-page "http://www.gnome.org")
269 (synopsis "Libraries for displaying certificates and accessing key stores")
270 (description
271 "The GCR package contains libraries used for displaying certificates and
272 accessing key stores. It also provides the viewer for crypto files on the
273 GNOME Desktop.")
274 (license license:lgpl2.1+)))
275
276 (define-public libgnome-keyring
277 (package
278 (name "libgnome-keyring")
279 (version "3.6.0")
280 (source (origin
281 (method url-fetch)
282 (uri (string-append "mirror://gnome/sources/" name "/"
283 (version-major+minor version) "/"
284 name "-" version ".tar.xz"))
285 (sha256
286 (base32
287 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
288 (build-system gnu-build-system)
289 (inputs
290 `(("libgcrypt" ,libgcrypt)
291 ("dbus" ,dbus)))
292 (native-inputs
293 `(("pkg-config" ,pkg-config)
294 ("glib" ,glib "bin")
295 ("intltool" ,intltool)))
296 (propagated-inputs
297 ;; Referred to in .h files and .pc.
298 `(("glib" ,glib)))
299 (home-page "http://www.gnome.org")
300 (synopsis "Accessing passwords from the GNOME keyring")
301 (description
302 "Client library to access passwords from the GNOME keyring.")
303
304 ;; Though a couple of files are LGPLv2.1+.
305 (license license:lgpl2.0+)))
306
307 (define-public gnome-keyring
308 (package
309 (name "gnome-keyring")
310 (version "3.16.0")
311 (source (origin
312 (method url-fetch)
313 (uri (string-append "mirror://gnome/sources/" name "/"
314 (version-major+minor version) "/"
315 name "-" version ".tar.xz"))
316 (sha256
317 (base32
318 "1xg1xha3x3hzlmvdq2zm90hc61pj7pnf9yxxvgq4ynl5af6bp8qm"))))
319 (build-system gnu-build-system)
320 (arguments
321 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
322 ;not exist
323 #:configure-flags
324 (list
325 (string-append "--with-pkcs11-config="
326 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
327 (string-append "--with-pkcs11-modules="
328 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
329 #:phases
330 (modify-phases %standard-phases
331 (add-before
332 'check 'pre-check
333 (lambda* (#:key inputs #:allow-other-keys)
334 (substitute* "build/tap-driver"
335 (("/usr/bin/env python") (which "python")))))
336 (add-before
337 'configure 'fix-docbook
338 (lambda* (#:key inputs #:allow-other-keys)
339 (substitute* "docs/Makefile.am"
340 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
341 (string-append (assoc-ref inputs "docbook-xsl")
342 "/xml/xsl/docbook-xsl-"
343 ,(package-version docbook-xsl)
344 "/manpages/docbook.xsl")))
345 (setenv "XML_CATALOG_FILES"
346 (string-append (assoc-ref inputs "docbook-xml")
347 "/xml/dtd/docbook/catalog.xml")))))))
348 (inputs
349 `(("libgcrypt" ,libgcrypt)
350 ("dbus" ,dbus)
351 ("gcr" ,gcr)))
352 (native-inputs
353 `(("pkg-config" ,pkg-config)
354 ("glib" ,glib "bin")
355 ("python" ,python-2) ;for tests
356 ("intltool" ,intltool)
357 ("autoconf" ,autoconf)
358 ("automake" ,automake)
359 ("libxslt" ,libxslt) ;for documentation
360 ("docbook-xml" ,docbook-xml-4.2)
361 ("docbook-xsl" ,docbook-xsl)))
362 (home-page "http://www.gnome.org")
363 (synopsis "Daemon to store passwords and encryption keys")
364 (description
365 "gnome-keyring is a program that keeps passwords and other secrets for
366 users. It is run as a daemon in the session, similar to ssh-agent, and other
367 applications locate it via an environment variable or D-Bus.
368
369 The program can manage several keyrings, each with its own master password,
370 and there is also a session keyring which is never stored to disk, but
371 forgotten when the session ends.")
372 (license license:lgpl2.1+)))
373
374 (define-public evince
375 (package
376 (name "evince")
377 (version "3.16.1")
378 (source (origin
379 (method url-fetch)
380 (uri (string-append "mirror://gnome/sources/" name "/"
381 (version-major+minor version) "/"
382 name "-" version ".tar.xz"))
383 (sha256
384 (base32
385 "0c31pwfzfm5x036f018q31k33vl8xb96nbs0iiccsc1abc37bzq6"))))
386 (build-system glib-or-gtk-build-system)
387 (arguments
388 `(#:configure-flags '("--disable-nautilus")
389
390 ;; FIXME: Tests fail with:
391 ;; ImportError: No module named gi.repository
392 ;; Where should that module come from?
393 #:tests? #f))
394 (inputs
395 `(("libspectre" ,libspectre)
396 ("djvulibre" ,djvulibre)
397 ("ghostscript" ,ghostscript)
398 ("poppler" ,poppler)
399 ("libtiff" ,libtiff)
400 ;; TODO:
401 ;; Add libgxps for XPS support.
402 ;; Build libkpathsea as a shared library for DVI support.
403 ;; ("libkpathsea" ,texlive-bin)
404 ("gnome-desktop" ,gnome-desktop)
405 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
406 ("libgnome-keyring" ,libgnome-keyring)
407 ("adwaita-icon-theme" ,adwaita-icon-theme)
408 ("itstool" ,itstool)
409 ("gdk-pixbuf" ,gdk-pixbuf)
410 ("atk" ,atk)
411 ("pango" ,pango)
412 ("gtk+" ,gtk+)
413 ("glib" ,glib)
414 ("libxml2" ,libxml2)
415 ("libsm" ,libsm)
416 ("libice" ,libice)
417 ("shared-mime-info" ,shared-mime-info)
418 ("dconf" ,dconf)
419 ("libcanberra" ,libcanberra)
420 ("libsecret" ,libsecret)
421
422 ;; For tests.
423 ("dogtail" ,python2-dogtail)))
424 (native-inputs
425 `(("intltool" ,intltool)
426 ("glib" ,glib "bin")
427 ("pkg-config" ,pkg-config)))
428 (home-page
429 "http://www.gnome.org/projects/evince/")
430 (synopsis "GNOME's document viewer")
431 (description
432 "Evince is a document viewer for multiple document formats. It
433 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
434 of Evince is to replace the multiple document viewers that exist
435 on the GNOME Desktop with a single simple application.")
436 (license license:gpl2+)))
437
438 (define-public gsettings-desktop-schemas
439 (package
440 (name "gsettings-desktop-schemas")
441 (version "3.16.0")
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append "mirror://gnome/sources/" name "/"
446 (version-major+minor version) "/"
447 name "-" version ".tar.xz"))
448 (sha256
449 (base32
450 "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16"))))
451 (build-system gnu-build-system)
452 (inputs
453 `(("glib" ,glib)))
454 (native-inputs
455 `(("intltool" ,intltool)
456 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
457 ("gobject-introspection" ,gobject-introspection)
458 ("pkg-config" ,pkg-config)))
459 (home-page "https://launchpad.net/gsettings-desktop-schemas")
460 (synopsis
461 "GNOME settings for various desktop components")
462 (description
463 "Gsettings-desktop-schemas contains a collection of GSettings schemas
464 for settings shared by various components of the GNOME desktop.")
465 (license license:lgpl2.1+)))
466
467 (define-public icon-naming-utils
468 (package
469 (name "icon-naming-utils")
470 (version "0.8.90")
471 (source
472 (origin
473 (method url-fetch)
474 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
475 version ".tar.bz2"))
476 (sha256
477 (base32
478 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
479 (build-system gnu-build-system)
480 (inputs
481 `(("perl" ,perl)
482 ("perl-xml-simple" ,perl-xml-simple)))
483 (arguments
484 '(#:phases
485 (alist-cons-after
486 'install 'set-load-paths
487 ;; Tell 'icon-name-mapping' where XML::Simple is.
488 (lambda* (#:key outputs #:allow-other-keys)
489 (let* ((out (assoc-ref outputs "out"))
490 (prog (string-append out "/libexec/icon-name-mapping")))
491 (wrap-program
492 prog
493 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
494 %standard-phases)))
495 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
496 (synopsis
497 "Utility to implement the Freedesktop Icon Naming Specification")
498 (description
499 "To help with the transition to the Freedesktop Icon Naming
500 Specification, the icon naming utility maps the icon names used by the
501 GNOME and KDE desktops to the icon names proposed in the specification.")
502 (license license:lgpl2.1+)))
503
504 (define-public desktop-file-utils
505 (package
506 (name "desktop-file-utils")
507 (version "0.22")
508 (source (origin
509 (method url-fetch)
510 (uri (string-append "http://www.freedesktop.org/software/" name
511 "/releases/" name "-" version ".tar.xz"))
512 (sha256
513 (base32
514 "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"))))
515 (build-system gnu-build-system)
516 (native-inputs
517 `(("pkg-config" ,pkg-config)))
518 (inputs
519 `(("glib" ,glib)))
520 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
521 (synopsis "Utilities for working with desktop entries")
522 (description
523 "This package contains a few command line utilities for working with
524 desktop entries:
525
526 desktop-file-validate: validates a desktop file and prints warnings/errors
527 about desktop entry specification violations.
528
529 desktop-file-install: installs a desktop file to the applications directory,
530 optionally munging it a bit in transit.
531
532 update-desktop-database: updates the database containing a cache of MIME types
533 handled by desktop files.")
534 (license license:gpl2+)))
535
536 (define-public gnome-icon-theme
537 (package
538 (name "gnome-icon-theme")
539 (version "3.12.0")
540 (source
541 (origin
542 (method url-fetch)
543 (uri (string-append "mirror://gnome/sources/" name "/"
544 (version-major+minor version) "/"
545 name "-" version ".tar.xz"))
546 (sha256
547 (base32
548 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
549 (build-system gnu-build-system)
550 (native-inputs
551 `(("gtk+" ,gtk+) ; for gtk-update-icon-cache
552 ("icon-naming-utils" ,icon-naming-utils)
553 ("intltool" ,intltool)
554 ("pkg-config" ,pkg-config)))
555 (home-page "http://art.gnome.org/")
556 (synopsis
557 "GNOME icon theme")
558 (description
559 "Icons for the GNOME desktop.")
560 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
561
562 ;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
563 (define-public adwaita-icon-theme
564 (package (inherit gnome-icon-theme)
565 (name "adwaita-icon-theme")
566 (version "3.16.2")
567 (source (origin
568 (method url-fetch)
569 (uri (string-append "mirror://gnome/sources/" name "/"
570 (version-major+minor version) "/"
571 name "-" version ".tar.xz"))
572 (sha256
573 (base32
574 "1hmlw7kvhr7c2asc5y77adpymi9ka17gaf76zz835nwwffnn4rlw"))))))
575
576 (define-public shared-mime-info
577 (package
578 (name "shared-mime-info")
579 (version "1.2")
580 (source (origin
581 (method url-fetch)
582 (uri (string-append "http://freedesktop.org/~hadess/"
583 "shared-mime-info-" version ".tar.xz"))
584 (sha256
585 (base32
586 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
587 (build-system gnu-build-system)
588 (arguments
589 ;; The build system appears not to be parallel-safe.
590 '(#:parallel-build? #f))
591 (inputs
592 `(("glib" ,glib)
593 ("libxml2" ,libxml2)))
594 (native-inputs
595 `(("intltool" ,intltool)
596 ("pkg-config" ,pkg-config)))
597 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
598 (synopsis "Database of common MIME types")
599 (description
600 "The shared-mime-info package contains the core database of common types
601 and the update-mime-database command used to extend it. It requires glib2 to
602 be installed for building the update command. Additionally, it uses intltool
603 for translations, though this is only a dependency for the maintainers. This
604 database is translated at Transifex.")
605 (license license:gpl2+)))
606
607 (define-public hicolor-icon-theme
608 (package
609 (name "hicolor-icon-theme")
610 (version "0.12")
611 (source
612 (origin
613 (method url-fetch)
614 (uri (string-append "http://icon-theme.freedesktop.org/releases/"
615 "hicolor-icon-theme-" version ".tar.gz"))
616 (sha256
617 (base32
618 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
619 (build-system gnu-build-system)
620 (arguments
621 `(#:tests? #f)) ; no check target
622 (home-page "http://icon-theme.freedesktop.org/releases/")
623 (synopsis
624 "Freedesktop icon theme")
625 (description
626 "Freedesktop icon theme.")
627 (license license:gpl2)))
628
629 (define-public libnotify
630 (package
631 (name "libnotify")
632 (version "0.7.6")
633 (source
634 (origin
635 (method url-fetch)
636 (uri (string-append "mirror://gnome/sources/" name "/"
637 (version-major+minor version) "/"
638 name "-" version ".tar.xz"))
639 (sha256
640 (base32
641 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
642 (build-system gnu-build-system)
643 (inputs
644 `(("gdk-pixbuf" ,gdk-pixbuf)
645 ("glib" ,glib)
646 ("gtk+" ,gtk+)
647 ("libpng" ,libpng)))
648 (native-inputs
649 `(("pkg-config" ,pkg-config)
650 ("glib" ,glib "bin")))
651 (home-page "https://developer-next.gnome.org/libnotify/")
652 (synopsis
653 "GNOME desktop notification library")
654 (description
655 "Libnotify is a library that sends desktop notifications to a
656 notification daemon, as defined in the Desktop Notifications spec. These
657 notifications can be used to inform the user about an event or display
658 some form of information without getting in the user's way.")
659 (license license:lgpl2.1+)))
660
661 (define-public libpeas
662 (package
663 (name "libpeas")
664 (version "1.12.1")
665 (source
666 (origin
667 (method url-fetch)
668 (uri (string-append "mirror://gnome/sources/" name "/"
669 (version-major+minor version) "/"
670 name "-" version ".tar.xz"))
671 (sha256
672 (base32
673 "1mjjjjwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476"))))
674 (build-system gnu-build-system)
675 (inputs
676 `(("atk" ,atk)
677 ("gdk-pixbuf" ,gdk-pixbuf)
678 ("glib" ,glib)
679 ("gtk+" ,gtk+)
680 ("pango" ,pango)))
681 (native-inputs
682 `(("pkg-config" ,pkg-config)
683 ("glib:bin" ,glib "bin")
684 ("gobject-introspection" ,gobject-introspection)
685 ("intltool" ,intltool)))
686 (home-page "https://wiki.gnome.org/Libpeas")
687 (synopsis "GObject plugin system")
688 (description
689 "Libpeas is a gobject-based plugins engine, and is targetted at giving
690 every application the chance to assume its own extensibility. It also has a
691 set of features including, but not limited to: multiple extension points; on
692 demand (lazy) programming language support for C, Python and JS; simplicity of
693 the API.")
694 (license license:lgpl2.0+)))
695
696 (define-public gtkglext
697 (package
698 (name "gtkglext")
699 (version "1.2.0")
700 (source (origin
701 (method url-fetch)
702 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
703 version "/gtkglext-" version ".tar.gz"))
704 (sha256
705 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
706 (patches (list
707 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
708 (build-system gnu-build-system)
709 (inputs `(("gtk+" ,gtk+-2)
710 ("mesa" ,mesa)
711 ("glu" ,glu)
712 ("libx11" ,libx11)
713 ("libxt" ,libxt)))
714 (native-inputs `(("pkg-config" ,pkg-config)
715 ("glib" ,glib "bin")))
716 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
717 (home-page "https://projects.gnome.org/gtkglext")
718 (synopsis "OpenGL extension to GTK+")
719 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
720 additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
721 API add-ons to make GTK+ widgets OpenGL-capable.")
722 (license license:lgpl2.1+)))
723
724 (define-public glade3
725 (package
726 (name "glade")
727 (version "3.8.4")
728 (source (origin
729 (method url-fetch)
730 (uri (string-append "mirror://gnome/sources/" name "/"
731 (version-major+minor version) "/"
732 name "3-" version ".tar.xz"))
733 (sha256
734 (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
735 (build-system gnu-build-system)
736 (inputs
737 `(("gtk+" ,gtk+-2)
738 ("libxml2" ,libxml2)))
739 (native-inputs
740 `(("intltool" ,intltool)
741 ("python" ,python)
742 ("pkg-config" ,pkg-config)))
743 (home-page "https://glade.gnome.org")
744 (synopsis "GTK+ rapid application development tool")
745 (description "Glade is a rapid application development (RAD) tool to
746 enable quick & easy development of user interfaces for the GTK+ toolkit and
747 the GNOME desktop environment.")
748 (license license:lgpl2.0+)))
749
750 (define-public libcroco
751 (package
752 (name "libcroco")
753 (version "0.6.8")
754 (source (origin
755 (method url-fetch)
756 (uri (string-append "mirror://gnome/sources/" name "/"
757 (version-major+minor version) "/"
758 name "-" version ".tar.xz"))
759 (sha256
760 (base32
761 "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
762 (build-system gnu-build-system)
763 (native-inputs
764 `(("pkg-config" ,pkg-config)))
765 (inputs
766 `(("glib" ,glib)
767 ("libxml2" ,libxml2)
768 ("zlib" ,zlib)))
769 (home-page "https://github.com/GNOME/libcroco")
770 (synopsis "CSS2 parsing and manipulation library")
771 (description
772 "Libcroco is a standalone CSS2 parsing and manipulation library.
773 The parser provides a low level event driven SAC-like API and a CSS object
774 model like API. Libcroco provides a CSS2 selection engine and an experimental
775 XML/CSS rendering engine.")
776
777 ;; LGPLv2.1-only.
778 (license license:lgpl2.1)))
779
780 (define-public libgsf
781 (package
782 (name "libgsf")
783 (version "1.14.30")
784 (source (origin
785 (method url-fetch)
786 (uri (string-append "mirror://gnome/sources/" name "/"
787 (version-major+minor version) "/"
788 name "-" version ".tar.xz"))
789 (sha256
790 (base32
791 "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
792 (build-system gnu-build-system)
793 (native-inputs
794 `(("intltool" ,intltool)
795 ("pkg-config" ,pkg-config)))
796 (inputs
797 `(("python" ,python)
798 ("zlib" ,zlib)
799 ("bzip2" ,bzip2)))
800 (propagated-inputs
801 `(("gdk-pixbuf" ,gdk-pixbuf)
802 ("glib" ,glib)
803 ("libxml2" ,libxml2)))
804 (home-page "http://www.gnome.org/projects/libgsf")
805 (synopsis "GNOME's Structured File Library")
806 (description
807 "Libgsf aims to provide an efficient extensible I/O abstraction for
808 dealing with different structured file formats.")
809
810 ;; LGPLv2.1-only.
811 (license license:lgpl2.1)))
812
813 (define-public librsvg
814 (package
815 (name "librsvg")
816 (version "2.40.9")
817 (source (origin
818 (method url-fetch)
819 (uri (string-append "mirror://gnome/sources/" name "/"
820 (version-major+minor version) "/"
821 name "-" version ".tar.xz"))
822 (sha256
823 (base32
824 "0fplymmqqr28y24vcnb01szn62pfbqhk8p1ngns54x9m6mflr5hk"))))
825 (build-system gnu-build-system)
826 (arguments
827 `(#:phases
828 (alist-cons-before
829 'configure 'augment-gir-search-path
830 (lambda* (#:key inputs #:allow-other-keys)
831 (substitute* "gdk-pixbuf-loader/Makefile.in"
832 ;; By default the gdk-pixbuf loader is installed under
833 ;; gdk-pixbuf's prefix. Work around that.
834 (("gdk_pixbuf_moduledir = .*$")
835 (string-append "gdk_pixbuf_moduledir = "
836 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
837 "loaders\n"))
838 ;; Likewise, create a separate 'loaders.cache' file.
839 (("gdk_pixbuf_cache_file = .*$")
840 "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
841 (alist-cons-after
842 'install 'generate-full-cache
843 (lambda* (#:key inputs outputs #:allow-other-keys)
844 (let ((loaders-directory
845 (string-append (assoc-ref outputs "out")
846 "/lib/gdk-pixbuf-2.0/2.10.0/loaders")))
847 (zero?
848 (system
849 (string-append
850 "gdk-pixbuf-query-loaders "
851 loaders-directory "/libpixbufloader-svg.so "
852 (string-join (find-files (assoc-ref inputs "gdk-pixbuf")
853 "libpixbufloader-.*\\.so") " ")
854 "> " loaders-directory ".cache")))))
855 %standard-phases))))
856 (native-inputs
857 `(("pkg-config" ,pkg-config)
858 ("glib" ,glib "bin") ; glib-mkenums, etc.
859 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
860 (inputs
861 `(("pango" ,pango)
862 ("libcroco" ,libcroco)
863 ("bzip2" ,bzip2)
864 ("libgsf" ,libgsf)
865 ("libxml2" ,libxml2)))
866 (propagated-inputs
867 ;; librsvg-2.0.pc refers to all of that.
868 `(("cairo" ,cairo)
869 ("gdk-pixbuf" ,gdk-pixbuf)
870 ("glib" ,glib)))
871 (home-page "https://wiki.gnome.org/LibRsvg")
872 (synopsis "Render SVG files using Cairo")
873 (description
874 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
875 library.")
876 (license license:lgpl2.0+)))
877
878 (define-public libidl
879 (package
880 (name "libidl")
881 (version "0.8.14")
882 (source (origin
883 (method url-fetch)
884 (uri (let ((upstream-name "libIDL"))
885 (string-append "mirror://gnome/sources/" upstream-name "/"
886 (version-major+minor version) "/"
887 upstream-name "-" version ".tar.bz2")))
888 (sha256
889 (base32
890 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
891 (build-system gnu-build-system)
892 (inputs `(("glib" ,glib)))
893 (native-inputs
894 `(("pkg-config" ,pkg-config)
895 ("flex", flex)
896 ("bison" ,bison)))
897 (home-page "http://freecode.com/projects/libidl")
898 (synopsis "Create trees of CORBA Interface Definition Language files")
899 (description "Libidl is a library for creating trees of CORBA Interface
900 Definition Language (idl) files, which is a specification for defining
901 portable interfaces. libidl was initially written for orbit (the orb from the
902 GNOME project, and the primary means of libidl distribution). However, the
903 functionality was designed to be as reusable and portable as possible.")
904 (license license:lgpl2.0+)))
905
906
907 (define-public orbit2
908 (package
909 (name "orbit2")
910 (version "2.14.19")
911 (source (origin
912 (method url-fetch)
913 (uri (let ((upstream-name "ORBit2"))
914 (string-append "mirror://gnome/sources/" upstream-name "/"
915 (version-major+minor version) "/"
916 upstream-name "-" version ".tar.bz2")))
917 (sha256
918 (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
919 (build-system gnu-build-system)
920 (arguments
921 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
922 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
923 ;; ... which they then completly ignore !!
924 #:phases
925 (alist-cons-before
926 'configure 'ignore-deprecations
927 (lambda _
928 (substitute* "linc2/src/Makefile.in"
929 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
930 %standard-phases)))
931 (inputs `(("glib" ,glib)
932 ("libidl" ,libidl)))
933 (native-inputs
934 `(("pkg-config" ,pkg-config)))
935 (home-page "https://projects.gnome.org/orbit2/")
936 (synopsis "CORBA 2.4-compliant Object Request Broker")
937 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
938 featuring mature C, C++ and Python bindings.")
939 ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
940 ;; SOME of the code files have licence notices for GPLv2+
941 ;; The tarball contains files of the text of GPLv2 and LGPLv2
942 (license license:gpl2+)))
943
944
945 (define-public libbonobo
946 (package
947 (name "libbonobo")
948 (version "2.32.1")
949 (source (origin
950 (method url-fetch)
951 (uri (string-append "mirror://gnome/sources/" name "/"
952 (version-major+minor version)
953 "/" name "-" version ".tar.bz2"))
954 (sha256
955 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
956 (patches (list (search-patch "libbonobo-activation-test-race.patch")))))
957 (build-system gnu-build-system)
958 (arguments
959 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
960 `(#:configure-flags
961 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
962 ;; ... which they then completly ignore !!
963 #:phases
964 (alist-cons-before
965 'configure 'ignore-deprecations
966 (lambda _
967 (substitute* "activation-server/Makefile.in"
968 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
969 %standard-phases)))
970 (inputs `(("popt" ,popt)
971 ("libxml2" ,libxml2)))
972 ;; The following are Required by the .pc file
973 (propagated-inputs
974 `(("glib" ,glib)
975 ("orbit2" ,orbit2)))
976 (native-inputs
977 `(("intltool" ,intltool)
978 ("pkg-config" ,pkg-config)
979 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
980 ("flex" ,flex)
981 ("bison" ,bison)))
982 (home-page "https://developer.gnome.org/libbonobo/")
983 (synopsis "Framework for creating reusable components for use in GNOME applications")
984 (description "Bonobo is a framework for creating reusable components for
985 use in GNOME applications, built on top of CORBA.")
986 ;; Licence not explicitly stated. Source files contain no licence notices.
987 ;; Tarball contains text of both GPLv2 and LGPLv2
988 ;; GPLv2 covers both conditions
989 (license license:gpl2+)))
990
991
992 (define-public gconf
993 (package
994 (name "gconf")
995 (version "3.2.6")
996 (source (origin
997 (method url-fetch)
998 (uri
999 (let ((upstream-name "GConf"))
1000 (string-append "mirror://gnome/sources/" upstream-name "/"
1001 (version-major+minor version) "/"
1002 upstream-name "-" version ".tar.xz")))
1003 (sha256
1004 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1005 (build-system gnu-build-system)
1006 (inputs `(("dbus-glib" ,dbus-glib)
1007 ("libxml2" ,libxml2)))
1008 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1009 ("orbit2" ,orbit2)))
1010 (native-inputs
1011 `(("intltool" ,intltool)
1012 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1013 ("pkg-config" ,pkg-config)))
1014 (home-page "https://projects.gnome.org/gconf/")
1015 (synopsis "Store application preferences")
1016 (description "Gconf is a system for storing application preferences. It
1017 is intended for user preferences; not arbitrary data storage.")
1018 (license license:lgpl2.0+)))
1019
1020
1021 (define-public gnome-mime-data
1022 (package
1023 (name "gnome-mime-data")
1024 (version "2.18.0")
1025 (source (origin
1026 (method url-fetch)
1027 (uri (string-append "mirror://gnome/sources/" name "/"
1028 (version-major+minor version) "/"
1029 name "-" version ".tar.bz2"))
1030 (sha256
1031 (base32
1032 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1033 (build-system gnu-build-system)
1034 (native-inputs
1035 `(("perl" ,perl)
1036 ("intltool" ,intltool)))
1037 (home-page "http://www.gnome.org")
1038 (synopsis "Base MIME and Application database for GNOME")
1039 (description "GNOME Mime Data is a module which contains the base MIME
1040 and Application database for GNOME. The data stored by this module is
1041 designed to be accessed through the MIME functions in GnomeVFS.")
1042 (license license:gpl2+)))
1043
1044
1045 (define-public gnome-vfs
1046 (package
1047 (name "gnome-vfs")
1048 (version "2.24.4")
1049 (source (origin
1050 (method url-fetch)
1051 (uri (string-append "mirror://gnome/sources/" name "/"
1052 (version-major+minor version) "/"
1053 name "-" version ".tar.bz2"))
1054 (sha256
1055 (base32
1056 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
1057 (build-system gnu-build-system)
1058 (arguments
1059 `(#:phases
1060 (alist-cons-before
1061 'configure 'ignore-deprecations
1062 (lambda _
1063 (substitute* '("libgnomevfs/Makefile.in"
1064 "daemon/Makefile.in")
1065 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1066 #t)
1067 (alist-cons-before
1068 'configure 'patch-test-async-cancel-to-never-fail
1069 (lambda _
1070 (substitute* "test/test-async-cancel.c"
1071 (("EXIT_FAILURE") "77")))
1072 %standard-phases))))
1073 (inputs `(("libxml2" ,libxml2)
1074 ("dbus-glib" ,dbus-glib)
1075 ("gconf" ,gconf)
1076 ("gnome-mime-data" ,gnome-mime-data)
1077 ("zlib" ,zlib)))
1078 (native-inputs
1079 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1080 ("intltool" ,intltool)
1081 ("pkg-config" ,pkg-config)))
1082 (home-page "https://developer.gnome.org/gnome-vfs/")
1083 (synopsis "Access files and folders in GNOME applications")
1084 (description
1085 "GnomeVFS is the core library used to access files and folders in GNOME
1086 applications. It provides a file system abstraction which allows applications
1087 to access local and remote files with a single consistent API.")
1088 (license license:lgpl2.0+)))
1089
1090
1091
1092 (define-public libgnome
1093 (package
1094 (name "libgnome")
1095 (version "2.32.1")
1096 (source (origin
1097 (method url-fetch)
1098 (uri (string-append "mirror://gnome/sources/" name "/"
1099 (version-major+minor version) "/"
1100 name "-" version ".tar.bz2"))
1101 (sha256
1102 (base32
1103 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1104 (build-system gnu-build-system)
1105 (arguments
1106 `(#:phases
1107 (alist-cons-before
1108 'configure 'enable-deprecated
1109 (lambda _
1110 (substitute* "libgnome/Makefile.in"
1111 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1112 %standard-phases)))
1113 (inputs `(("libxml2" ,libxml2)))
1114 (native-inputs
1115 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1116 ("intltool" ,intltool)
1117 ("pkg-config" ,pkg-config)))
1118 ;; The following are listed as Required in the .pc file
1119 ;; (except for libcanberra -- which seems to be oversight on the part
1120 ;; of the upstream developers -- anything that links against libgnome,
1121 ;; must also link against libcanberra
1122 (propagated-inputs
1123 `(("libcanberra" ,libcanberra)
1124 ("libbonobo" ,libbonobo)
1125 ("gconf" ,gconf)
1126 ("gnome-vfs" ,gnome-vfs)
1127 ("popt" ,popt))) ;gnome-program.h includes popt.h
1128 (home-page "https://developer.gnome.org/libgnome/")
1129 (synopsis "Useful routines for building applications")
1130 (description "The libgnome library provides a number of useful routines
1131 for building modern applications, including session management, activation of
1132 files and URIs, and displaying help.")
1133 (license license:lgpl2.0+)))
1134
1135
1136 (define-public libart-lgpl
1137 (package
1138 (name "libart-lgpl")
1139 (version "2.3.21")
1140 (source (origin
1141 (method url-fetch)
1142 (uri (let ((upstream-name "libart_lgpl"))
1143 (string-append "mirror://gnome/sources/" upstream-name "/"
1144 (version-major+minor version) "/"
1145 upstream-name "-" version ".tar.bz2")))
1146 (sha256
1147 (base32
1148 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
1149 (build-system gnu-build-system)
1150 (native-inputs
1151 `(("pkg-config" ,pkg-config)))
1152 (home-page "https://people.gnome.org/~mathieu/libart")
1153 (synopsis "2D drawing library")
1154 (description "Libart is a 2D drawing library intended as a
1155 high-quality vector-based 2D library with antialiasing and alpha composition.")
1156 (license license:lgpl2.0+)))
1157
1158
1159
1160 (define-public libgnomecanvas
1161 (package
1162 (name "libgnomecanvas")
1163 (version "2.30.3")
1164 (source (origin
1165 (method url-fetch)
1166 (uri (string-append "mirror://gnome/sources/" name "/"
1167 (version-major+minor version) "/"
1168 name "-" version ".tar.gz"))
1169 (sha256
1170 (base32
1171 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1172 (build-system gnu-build-system)
1173 ;; Mentioned as Required in the .pc file
1174 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1175 ("gtk+" ,gtk+-2)))
1176 (native-inputs
1177 `(("intltool" ,intltool)
1178 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1179 ("pkg-config" ,pkg-config)))
1180 (home-page "https://developer.gnome.org/libgnomecanvas/")
1181 (synopsis "Flexible widget for creating interactive structured graphics")
1182 (description "The GnomeCanvas widget provides a flexible widget for
1183 creating interactive structured graphics.")
1184 (license license:lgpl2.0+)))
1185
1186 (define-public libgnomecanvasmm
1187 (package
1188 (name "libgnomecanvasmm")
1189 (version "2.26.0")
1190 (source (origin
1191 (method url-fetch)
1192 (uri (string-append "mirror://gnome/sources/" name "/"
1193 (version-major+minor version) "/"
1194 name "-" version ".tar.bz2"))
1195 (sha256
1196 (base32
1197 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1198 (build-system gnu-build-system)
1199 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1200 (native-inputs
1201 `(("gtkmm-2" ,gtkmm-2)
1202 ("pkg-config" ,pkg-config)))
1203 (home-page "http://gtkmm.org")
1204 (synopsis "C++ bindings to the GNOME Canvas library")
1205 (description "C++ bindings to the GNOME Canvas library.")
1206 (license license:lgpl2.0+)))
1207
1208 (define-public libgnomeui
1209 (package
1210 (name "libgnomeui")
1211 (version "2.24.5")
1212 (source (origin
1213 (method url-fetch)
1214 (uri (string-append "mirror://gnome/sources/" name "/"
1215 (version-major+minor version) "/"
1216 name "-" version ".tar.bz2"))
1217 (sha256
1218 (base32
1219 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1220 (build-system gnu-build-system)
1221 ;; Mentioned as Required in the .pc file
1222 (propagated-inputs `(("libgnome" ,libgnome)
1223 ("libgnome-keyring" ,libgnome-keyring)))
1224 (inputs `(("libgnomecanvas" ,libgnomecanvas)
1225 ("libbonoboui" ,libbonoboui)
1226 ("libjpeg" ,libjpeg)
1227 ("popt" ,popt)
1228 ("libbonobo" ,libbonobo)
1229 ("libxml2" ,libxml2)
1230 ("libglade" ,libglade)))
1231 (native-inputs
1232 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1233 ("intltool" ,intltool)
1234 ("pkg-config" ,pkg-config)))
1235 (home-page "https://developer.gnome.org/libgnomeui/")
1236 (synopsis "Additional widgets for applications")
1237 (description "The libgnomeui library provides additional widgets for
1238 applications. Many of the widgets from libgnomeui have already been
1239 ported to GTK+.")
1240 (license license:lgpl2.0+)))
1241
1242 (define-public libglade
1243 (package
1244 (name "libglade")
1245 (version "2.6.4")
1246 (source (origin
1247 (method url-fetch)
1248 (uri (string-append "mirror://gnome/sources/" name "/"
1249 (version-major+minor version) "/"
1250 name "-" version ".tar.bz2"))
1251 (sha256
1252 (base32
1253 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1254 (build-system gnu-build-system)
1255 (inputs
1256 `(("gtk+-2" ,gtk+-2)
1257 ("libxml2" ,libxml2)
1258 ("python" ,python))) ;; needed for the optional libglade-convert program
1259 (native-inputs
1260 `(("pkg-config" ,pkg-config)))
1261 (home-page "https://developer.gnome.org/libglade")
1262 (synopsis "Load glade interfaces and access the glade built widgets")
1263 (description "Libglade is a library that provides interfaces for loading
1264 graphical interfaces described in glade files and for accessing the
1265 widgets built in the loading process.")
1266 (license license:gpl2+))) ; This is correct. GPL not LGPL
1267
1268 (define-public libgnomeprint
1269 ;; This library has been deprecated since 2006; see
1270 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
1271 (package
1272 (name "libgnomeprint")
1273 (version "2.8.2")
1274 (source (origin
1275 (method url-fetch)
1276 (uri (string-append "mirror://gnome/sources/" name "/"
1277 (version-major+minor version) "/"
1278 name "-" version ".tar.bz2"))
1279 (sha256
1280 (base32
1281 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))
1282 (modules '((guix build utils)))
1283 (snippet
1284 ;; Adapt to newer freetype. As the package is deprecated, there
1285 ;; is no use in creating a patch and reporting it.
1286 '(substitute* '("libgnomeprint/gnome-font-face.c"
1287 "libgnomeprint/gnome-rfont.c")
1288 (("freetype/") "freetype2/")))))
1289 (build-system gnu-build-system)
1290 (inputs
1291 `(("popt" ,popt)
1292 ("libart-lgpl" ,libart-lgpl)
1293 ("gtk+" ,gtk+-2)
1294 ("libxml2" ,libxml2)))
1295 (native-inputs
1296 `(("intltool" ,intltool)
1297 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1298 ("pkg-config" ,pkg-config)))
1299 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1300 (synopsis "Printing framework for GNOME")
1301 (description
1302 "GNOME-print was a printing framework for GNOME. It has been deprecated
1303 since ca. 2006, when GTK+ itself incorporated printing support.")
1304 (license license:lgpl2.0+)))
1305
1306
1307 (define-public libgnomeprintui
1308 ;; Deprecated; see libgnomeprint.
1309 (package
1310 (name "libgnomeprintui")
1311 (version "2.8.2")
1312 (source (origin
1313 (method url-fetch)
1314 (uri (string-append "mirror://gnome/sources/" name "/"
1315 (version-major+minor version) "/"
1316 name "-" version ".tar.bz2"))
1317 (sha256
1318 (base32
1319 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1320 (build-system gnu-build-system)
1321 ;; Mentioned as Required in the .pc file
1322 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1323 (inputs `(("gtk+" ,gtk+-2)
1324 ("glib" ,glib)
1325 ("gnome-icon-theme" ,gnome-icon-theme)
1326 ("libgnomecanvas" ,libgnomecanvas)
1327 ("libxml2" ,libxml2)))
1328 (native-inputs
1329 `(("intltool" ,intltool)
1330 ("pkg-config" ,pkg-config)))
1331 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1332 (synopsis "Printing framework for GNOME")
1333 (description (package-description libgnomeprint))
1334 (license license:lgpl2.0+)))
1335
1336 (define-public libbonoboui
1337 (package
1338 (name "libbonoboui")
1339 (version "2.24.5")
1340 (source (origin
1341 (method url-fetch)
1342 (uri (string-append "mirror://gnome/sources/" name "/"
1343 (version-major+minor version) "/"
1344 name "-" version ".tar.bz2"))
1345 (sha256
1346 (base32
1347 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1348 (build-system gnu-build-system)
1349 (arguments
1350 `(#:phases
1351 (alist-cons-before
1352 'check 'start-xserver
1353 (lambda* (#:key inputs #:allow-other-keys)
1354 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1355 (disp ":1"))
1356
1357 (setenv "HOME" (getcwd))
1358 (setenv "DISPLAY" disp)
1359 ;; There must be a running X server and make check doesn't start one.
1360 ;; Therefore we must do it.
1361 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1362 %standard-phases)))
1363 ;; Mentioned as Required by the .pc file
1364 (propagated-inputs `(("libxml2" ,libxml2)))
1365 (inputs
1366 `(("popt" ,popt)
1367 ("pangox-compat" ,pangox-compat)
1368 ("libgnome" ,libgnome)
1369 ("libgnomecanvas" ,libgnomecanvas)
1370 ("libglade" ,libglade)))
1371 (native-inputs
1372 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1373 ("intltool" ,intltool)
1374 ("xorg-server" ,xorg-server) ; For running the tests
1375 ("pkg-config" ,pkg-config)))
1376 (home-page "https://developer.gnome.org/libbonoboui/")
1377 (synopsis "Some user interface controls using Bonobo")
1378 (description "The Bonobo UI library provides a number of user interface
1379 controls using the Bonobo component framework.")
1380 (license license:lgpl2.0+)))
1381
1382 (define-public libwnck
1383 (package
1384 (name "libwnck")
1385 (version "3.14.0")
1386 (source (origin
1387 (method url-fetch)
1388 (uri (string-append "mirror://gnome/sources/" name "/"
1389 (version-major+minor version) "/"
1390 name "-" version ".tar.xz"))
1391 (sha256
1392 (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m"))))
1393 (build-system gnu-build-system)
1394 (native-inputs
1395 `(("pkg-config" ,pkg-config)
1396 ("intltool" ,intltool)))
1397 (propagated-inputs
1398 `(("gtk+" ,gtk+)
1399 ("libxres" ,libxres)
1400 ("startup-notification" ,startup-notification)))
1401 (home-page "https://developer.gnome.org/libwnck/")
1402 (synopsis "Window Navigator Construction Kit")
1403 (description
1404 "Libwnck is the Window Navigator Construction Kit, a library for use in
1405 writing pagers, tasklists, and more generally applications that are dealing
1406 with window management. It tries hard to respect the Extended Window Manager
1407 Hints specification (EWMH).")
1408 (license license:lgpl2.0+)))
1409
1410 ;; stable version for gtk2, required by xfwm4.
1411 (define-public libwnck-1
1412 (package (inherit libwnck)
1413 (name "libwnck")
1414 (version "2.30.7")
1415 (source (origin
1416 (method url-fetch)
1417 (uri (string-append "mirror://gnome/sources/" name "/"
1418 (version-major+minor version) "/"
1419 name "-" version ".tar.xz"))
1420 (sha256
1421 (base32
1422 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1423 (propagated-inputs
1424 `(("gtk+" ,gtk+-2)
1425 ("libxres" ,libxres)
1426 ("startup-notification" ,startup-notification)))))
1427
1428 (define-public goffice
1429 (package
1430 (name "goffice")
1431 (version "0.10.14")
1432 (source (origin
1433 (method url-fetch)
1434 (uri (string-append "mirror://gnome/sources/" name "/"
1435 (version-major+minor version) "/"
1436 name "-" version ".tar.xz"))
1437 (sha256
1438 (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
1439 (build-system gnu-build-system)
1440 (inputs
1441 `(("gtk+" ,gtk+)
1442 ("libgsf" ,libgsf)
1443 ("librsvg" ,librsvg)
1444 ("libxslt" ,libxslt)
1445 ("libxml2" ,libxml2)))
1446 (native-inputs
1447 `(("intltool" ,intltool)
1448 ("glib" ,glib "bin")
1449 ("pkg-config" ,pkg-config)))
1450 (home-page "https://developer.gnome.org/goffice/")
1451 (synopsis "Document-centric objects and utilities")
1452 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1453 (license
1454 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1455 ;; Note: NOT LGPL
1456 (list license:gpl2 license:gpl3))))
1457
1458 (define-public goffice-0.8
1459 (package (inherit goffice)
1460 (version "0.8.17")
1461 (source (origin
1462 (method url-fetch)
1463 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1464 (version-major+minor version) "/"
1465 (package-name goffice) "-" version ".tar.xz"))
1466 (sha256
1467 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1468 (arguments
1469 `(#:phases
1470 (alist-cons-after
1471 'unpack 'fix-pcre-check
1472 (lambda _
1473 ;; Only glib.h can be included directly. See
1474 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1475 (substitute* "configure"
1476 (("glib/gregex\\.h") "glib.h")) #t)
1477 %standard-phases)))
1478 (propagated-inputs
1479 ;; libgoffice-0.8.pc mentions libgsf-1
1480 `(("libgsf" ,libgsf)))
1481 (inputs
1482 `(("gtk" ,gtk+-2)
1483 ,@(alist-delete "gtk" (package-inputs goffice))))))
1484
1485 (define-public gnumeric
1486 (package
1487 (name "gnumeric")
1488 (version "1.12.17")
1489 (source (origin
1490 (method url-fetch)
1491 (uri (string-append "mirror://gnome/sources/" name "/"
1492 (version-major+minor version) "/"
1493 name "-" version ".tar.xz"))
1494 (sha256
1495 (base32
1496 "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
1497 (build-system gnu-build-system)
1498 (arguments
1499 `(;; The gnumeric developers don't worry much about failing tests.
1500 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1501 #:tests? #f
1502 #:phases
1503 (alist-cons-before
1504 'configure 'pre-conf
1505 (lambda* (#:key outputs #:allow-other-keys)
1506 ;; Make install tries to write into the directory of goffice
1507 ;; I am informed that this only affects the possibility to embed a
1508 ;; spreadsheet inside an Abiword document. So presumably when we
1509 ;; package Abiword we'll have to refer it to this directory.
1510 (substitute* "configure"
1511 (("^GOFFICE_PLUGINS_DIR=.*")
1512 (string-append "GOFFICE_PLUGINS_DIR="
1513 (assoc-ref outputs "out") "/goffice/plugins"))))
1514 %standard-phases)))
1515 (inputs
1516 `(("glib" ,glib)
1517 ("gtk+" ,gtk+)
1518 ("goffice" ,goffice)
1519 ("libgsf" ,libgsf)
1520 ("libxml2" ,libxml2)
1521 ("zlib" ,zlib)))
1522 (native-inputs
1523 `(("intltool" ,intltool)
1524 ("glib:bin" ,glib "bin")
1525 ("pkg-config" ,pkg-config)))
1526 (home-page "http://www.gnumeric.org")
1527 (synopsis "Spreadsheet application")
1528 (description
1529 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1530 interoperable with other spreadsheet applications. It has a vast array of
1531 features beyond typical spreadsheet functionality, such as support for linear
1532 and non-linear solvers, statistical analysis, and telecommunication
1533 engineering.")
1534 (license
1535 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1536 (list license:gpl2 license:gpl3))))
1537
1538 (define-public gnome-themes-standard
1539 (package
1540 (name "gnome-themes-standard")
1541 ;; The version of this package should be the same as the version of
1542 ;; gnome-desktop.
1543 (version (package-version gnome-desktop))
1544 (source
1545 (origin
1546 (method url-fetch)
1547 (uri (string-append "mirror://gnome/sources/" name "/"
1548 (version-major+minor version) "/" name "-"
1549 version ".tar.xz"))
1550 (sha256
1551 (base32
1552 "0kyrbfrgl6g6wm6zpllldz36fclvl8vwmn1snwk18kf7f6ncpsac"))))
1553 (build-system gnu-build-system)
1554 (inputs
1555 `(("gtk+" ,gtk+)
1556 ("gtk+-2" ,gtk+-2)
1557 ("librsvg" ,librsvg)
1558 ("libxml2" ,libxml2)
1559 ("glib" ,glib)))
1560 (native-inputs
1561 `(("intltool" ,intltool)
1562 ("glib:bin" ,glib "bin")
1563 ("pkg-config" ,pkg-config)))
1564 (arguments
1565 `(#:phases
1566 (alist-cons-before
1567 'build 'use-full-cache
1568 ;; Use librsvg's loaders.cache instead of the one provided by
1569 ;; gdk-pixbuf because the latter does not include support for SVG
1570 ;; files.
1571 (lambda* (#:key inputs #:allow-other-keys)
1572 (setenv "GDK_PIXBUF_MODULE_FILE"
1573 (car (find-files (assoc-ref inputs "librsvg")
1574 "loaders\\.cache"))))
1575 %standard-phases)))
1576 (home-page "https://launchpad.net/gnome-themes-standard")
1577 (synopsis "Default GNOME 3 themes")
1578 (description
1579 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1580 (license license:lgpl2.1+)))
1581
1582 (define-public seahorse
1583 (package
1584 (name "seahorse")
1585 (version "3.16.0")
1586 (source
1587 (origin
1588 (method url-fetch)
1589 (uri (string-append "mirror://gnome/sources/" name "/"
1590 (version-major+minor version) "/" name "-"
1591 version ".tar.xz"))
1592 (sha256
1593 (base32
1594 "0cg1grgpwbfkiny5148n17rzpc8kswyr5yff0kpm8l3lp01my2kp"))))
1595 (build-system glib-or-gtk-build-system)
1596 (inputs
1597 `(("gtk+" ,gtk+)
1598 ("gcr" ,gcr)
1599 ("gnupg" ,gnupg-1)
1600 ("gpgme" ,gpgme)
1601 ("openssh" ,openssh)
1602 ("libsecret" ,libsecret)))
1603 (native-inputs
1604 `(("intltool" ,intltool)
1605 ("glib:bin" ,glib "bin")
1606 ("itstool" ,itstool)
1607 ("pkg-config" ,pkg-config)))
1608 (home-page "https://launchpad.net/gnome-themes-standard")
1609 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1610 (description
1611 "Seahorse is a GNOME application for managing encryption keys and
1612 passwords in the GNOME keyring.")
1613 (license license:gpl2+)))
1614
1615 (define-public vala
1616 (package
1617 (name "vala")
1618 (version "0.28.0")
1619 (source (origin
1620 (method url-fetch)
1621 (uri (string-append "mirror://gnome/sources/" name "/"
1622 (version-major+minor version) "/"
1623 name "-" version ".tar.xz"))
1624 (sha256
1625 (base32
1626 "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd"))))
1627 (build-system gnu-build-system)
1628 (arguments
1629 '(#:phases
1630 (modify-phases %standard-phases
1631 (add-before 'check 'set-cc
1632 (lambda _
1633 (setenv "CC" "gcc")
1634 #t)))))
1635 (native-inputs
1636 `(("pkg-config" ,pkg-config)
1637 ("flex" ,flex)
1638 ("bison" ,bison)
1639 ("xsltproc" ,libxslt)
1640 ("dbus" ,dbus) ; for dbus tests
1641 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1642 (propagated-inputs
1643 `(("glib" ,glib))) ; required by libvala-0.26.pc
1644 (home-page "http://live.gnome.org/Vala/")
1645 (synopsis "Compiler for the GObject type system")
1646 (description
1647 "Vala is a programming language that aims to bring modern programming
1648 language features to GNOME developers without imposing any additional runtime
1649 requirements and without using a different ABI compared to applications and
1650 libraries written in C.")
1651 (license license:lgpl2.1+)))
1652
1653 (define-public vte
1654 (package
1655 (name "vte")
1656 (version "0.40.0")
1657 (source (origin
1658 (method url-fetch)
1659 (uri (string-append "mirror://gnome/sources/" name "/"
1660 (version-major+minor version) "/"
1661 name "-" version ".tar.xz"))
1662 (sha256
1663 (base32
1664 "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal"))))
1665 (build-system gnu-build-system)
1666 (native-inputs
1667 `(("pkg-config" ,pkg-config)
1668 ("intltool" ,intltool)
1669 ("vala" ,vala)
1670 ("gobject-introspection" ,gobject-introspection)
1671 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1672 ("xmllint" ,libxml2)))
1673 (propagated-inputs
1674 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
1675 ("gnutls" ,gnutls))) ;ditto
1676 (home-page "http://www.gnome.org/")
1677 (synopsis "Virtual Terminal Emulator")
1678 (description
1679 "VTE is a library (libvte) implementing a terminal emulator widget for
1680 GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1681 gnome-terminal, but can also be used to embed a console/terminal in games,
1682 editors, IDEs, etc.")
1683 (license license:lgpl2.1+)))
1684
1685 ;; stable version for gtk2, required by xfce4-terminal.
1686 (define-public vte/gtk+-2
1687 (package (inherit vte)
1688 (name "vte")
1689 (version "0.28.2")
1690 (source (origin
1691 (method url-fetch)
1692 (uri (string-append "mirror://gnome/sources/" name "/"
1693 (version-major+minor version) "/"
1694 name "-" version ".tar.xz"))
1695 (sha256
1696 (base32
1697 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1698 (arguments
1699 '(#:configure-flags '("--disable-python")))
1700 (native-inputs
1701 `(("pkg-config" ,pkg-config)
1702 ("intltool" ,intltool)
1703 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1704 (propagated-inputs
1705 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1706 ("ncurses" ,ncurses))))) ; required by libvte.la
1707
1708 (define-public dconf
1709 (package
1710 (name "dconf")
1711 (version "0.22.0")
1712 (source (origin
1713 (method url-fetch)
1714 (uri (string-append
1715 "mirror://gnome/sources/" name "/"
1716 (version-major+minor version) "/"
1717 name "-" version ".tar.xz"))
1718 (sha256
1719 (base32 "13jb49504bir814v8n8vjip5sazwfwsrnniw87cpg7phqfq7q9qa"))))
1720 (build-system glib-or-gtk-build-system)
1721 (inputs
1722 `(("gtk+" ,gtk+)
1723 ("glib" ,glib)
1724 ("dbus" ,dbus)
1725 ("libxml2" ,libxml2)))
1726 (native-inputs
1727 `(("libxslt" ,libxslt)
1728 ("docbook-xml" ,docbook-xml-4.2)
1729 ("docbook-xsl" ,docbook-xsl)
1730 ("intltool" ,intltool)
1731 ("pkg-config" ,pkg-config)))
1732 (arguments
1733 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1734 ; or /etc/machine-id.
1735 #:configure-flags
1736 ;; Set the correct RUNPATH in binaries.
1737 (list (string-append "LDFLAGS=-Wl,-rpath="
1738 (assoc-ref %outputs "out") "/lib")
1739 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1740 #:phases
1741 (alist-cons-before
1742 'configure 'fix-docbook
1743 (lambda* (#:key inputs #:allow-other-keys)
1744 (substitute* "docs/Makefile.in"
1745 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1746 (string-append (assoc-ref inputs "docbook-xsl")
1747 "/xml/xsl/docbook-xsl-"
1748 ,(package-version docbook-xsl)
1749 "/manpages/docbook.xsl")))
1750 (setenv "XML_CATALOG_FILES"
1751 (string-append (assoc-ref inputs "docbook-xml")
1752 "/xml/dtd/docbook/catalog.xml")))
1753 %standard-phases)))
1754 (home-page "https://developer.gnome.org/dconf")
1755 (synopsis "Low-level GNOME configuration system")
1756 (description "Dconf is a low-level configuration system. Its main purpose
1757 is to provide a backend to GSettings on platforms that don't already have
1758 configuration storage systems.")
1759 (license license:lgpl2.1)))
1760
1761 (define-public json-glib
1762 (package
1763 (name "json-glib")
1764 (version "1.0.2")
1765 (source (origin
1766 (method url-fetch)
1767 (uri (string-append "mirror://gnome/sources/" name "/"
1768 (version-major+minor version) "/"
1769 name "-" version ".tar.xz"))
1770 (sha256
1771 (base32
1772 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
1773 (build-system gnu-build-system)
1774 (native-inputs
1775 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
1776 ("gobject-introspection" ,gobject-introspection)
1777 ("pkg-config" ,pkg-config)))
1778 (propagated-inputs
1779 `(("glib" ,glib))) ;according to json-glib-1.0.pc
1780 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
1781 (synopsis "Compiler for the GObject type system")
1782 (description
1783 "JSON-GLib is a C library based on GLib providing serialization and
1784 deserialization support for the JavaScript Object Notation (JSON) format
1785 described by RFC 4627. It provides parser and generator GObject classes and
1786 various wrappers for the complex data types employed by JSON, such as arrays
1787 and objects.")
1788 (license license:lgpl2.1+)))
1789
1790 (define-public libxklavier
1791 (package
1792 (name "libxklavier")
1793 (version "5.3")
1794 (source (origin
1795 (method url-fetch)
1796 (uri (string-append "mirror://gnome/sources/" name "/"
1797 version "/" name "-" version ".tar.xz"))
1798 (sha256
1799 (base32
1800 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
1801 (build-system gnu-build-system)
1802 (arguments
1803 '(#:configure-flags
1804 (list (string-append "--with-xkb-base="
1805 (assoc-ref %build-inputs "xkeyboard-config")
1806 "/share/X11/xkb"))))
1807 (native-inputs
1808 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
1809 ("gobject-introspection" ,gobject-introspection)
1810 ("pkg-config" ,pkg-config)))
1811 (propagated-inputs
1812 ;; Required by libxklavier.pc.
1813 `(("glib" ,glib)
1814 ("libxml2" ,libxml2)))
1815 (inputs
1816 `(("iso-codes" ,iso-codes)
1817 ("libxi" ,libxi)
1818 ("libxkbfile" ,libxkbfile)
1819 ("xkbcomp" ,xkbcomp)
1820 ("xkeyboard-config" ,xkeyboard-config)))
1821 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
1822 (synopsis "High-level API for X Keyboard Extension")
1823 (description
1824 "LibXklavier is a library providing high-level API for X Keyboard
1825 Extension known as XKB. This library is intended to support XFree86 and other
1826 commercial X servers. It is useful for creating XKB-related software (layout
1827 indicators etc).")
1828 (license license:lgpl2.0+)))
1829
1830 (define-public python2-rsvg
1831 ;; XXX: This is actually a subset of gnome-python-desktop.
1832 (package
1833 (name "python2-rsvg")
1834 (version "2.32.0")
1835 (source
1836 (origin
1837 (method url-fetch)
1838 (uri (string-append
1839 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
1840 version ".tar.bz2"))
1841 (sha256
1842 (base32
1843 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
1844 (build-system gnu-build-system)
1845 (native-inputs
1846 `(("pkg-config" ,pkg-config)))
1847 (inputs
1848 `(("python" ,python-2)
1849 ("python2-pygtk" ,python2-pygtk)
1850 ("librsvg" ,librsvg)))
1851 (home-page "http://www.gnome.org")
1852 (synopsis "Python bindings to librsvg")
1853 (description
1854 "This packages provides Python bindings to librsvg, the SVG rendering
1855 library.")
1856
1857 ;; This is the license of the rsvg bindings. The license of each module
1858 ;; of gnome-python-desktop is given in 'COPYING'.
1859 (license license:lgpl2.1+)))
1860
1861 (define-public glib-networking
1862 (package
1863 (name "glib-networking")
1864 (version "2.44.0")
1865 (source (origin
1866 (method url-fetch)
1867 (uri (string-append "mirror://gnome/sources/glib-networking/"
1868 (version-major+minor version) "/"
1869 name "-" version ".tar.xz"))
1870 (sha256
1871 (base32
1872 "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg"))))
1873 (build-system gnu-build-system)
1874 (arguments
1875 `(#:configure-flags
1876 ;; FIXME: ca-certificates.crt is not available in the build environment.
1877 '("--with-ca-certificates=no")
1878 #:phases
1879 (modify-phases %standard-phases
1880 (add-before 'configure 'patch-giomoduledir
1881 ;; Install GIO modules into $out/lib/gio/modules.
1882 (lambda _
1883 (substitute* "configure"
1884 (("GIO_MODULE_DIR=.*")
1885 (string-append "GIO_MODULE_DIR=" %output
1886 "/lib/gio/modules\n"))))))))
1887 (native-inputs
1888 `(("pkg-config" ,pkg-config)
1889 ("intltool" ,intltool)))
1890 (inputs
1891 `(("glib" ,glib)
1892 ("gnutls" ,gnutls)
1893 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1894 ("p11-kit" ,p11-kit)))
1895 (home-page "http://www.gnome.org")
1896 (synopsis "Network-related GIO modules")
1897 (description
1898 "This package contains various network related extensions for the GIO
1899 library.")
1900 (license license:lgpl2.0+)))
1901
1902 (define-public librest
1903 (package
1904 (name "librest")
1905 (version "0.7.93")
1906 (source (origin
1907 (method url-fetch)
1908 (uri (string-append "mirror://gnome/sources/rest/"
1909 (version-major+minor version) "/"
1910 "rest-" version ".tar.xz"))
1911 (sha256
1912 (base32
1913 "05mj10hhiik23ai8w4wkk5vhsp7hcv24bih5q3fl82ilam268467"))))
1914 (build-system gnu-build-system)
1915 (arguments
1916 '(#:tests? #f ; tests require internet connection
1917 #:configure-flags
1918 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
1919 (native-inputs
1920 `(("glib-mkenums" ,glib "bin")
1921 ("gobject-introspection" ,gobject-introspection)
1922 ("pkg-config" ,pkg-config)))
1923 (propagated-inputs
1924 ;; rest-0.7.pc refers to all these.
1925 `(("glib" ,glib)
1926 ("libsoup" ,libsoup)
1927 ("libxml2" ,libxml2)))
1928 (home-page "http://www.gtk.org/")
1929 (synopsis "RESTful web api query library")
1930 (description
1931 "This library was designed to make it easier to access web services that
1932 claim to be \"RESTful\". It includes convenience wrappers for libsoup and
1933 libxml to ease remote use of the RESTful API.")
1934 (license license:lgpl2.1+)))
1935
1936 (define-public libsoup
1937 (package
1938 (name "libsoup")
1939 (version "2.50.0")
1940 (source (origin
1941 (method url-fetch)
1942 (uri (string-append "mirror://gnome/sources/libsoup/"
1943 (version-major+minor version) "/"
1944 name "-" version ".tar.xz"))
1945 (sha256
1946 (base32
1947 "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y"))))
1948 (build-system gnu-build-system)
1949 (outputs '("out" "doc"))
1950 (arguments
1951 `(#:configure-flags
1952 (list (string-append "--with-html-dir="
1953 (assoc-ref %outputs "doc")
1954 "/share/gtk-doc/html")
1955 ;; To find GIO modules from glib-networking.
1956 (string-append "GIO_EXTRA_MODULES="
1957 (assoc-ref %build-inputs "glib-networking")
1958 "/lib/gio/modules"))
1959 #:phases
1960 (modify-phases %standard-phases
1961 (add-before 'configure 'disable-unconnected-socket-test
1962 ;; This test fails due to missing /etc/nsswitch.conf
1963 ;; in the build environment.
1964 (lambda _
1965 (substitute* "tests/socket-test.c"
1966 ((".*/sockets/unconnected.*") ""))
1967 #t))
1968 (add-before 'check 'unset-LC_ALL
1969 ;; The 'check-local' target runs 'env LANG=C sort -u',
1970 ;; unset 'LC_ALL' to make 'LANG' working.
1971 (lambda _
1972 (unsetenv "LC_ALL")
1973 #t)))))
1974 (native-inputs
1975 `(("glib:bin" ,glib "bin") ; for glib-mkenums
1976 ("gobject-introspection" ,gobject-introspection)
1977 ("intltool" ,intltool)
1978 ("pkg-config" ,pkg-config)
1979 ("python" ,python-wrapper)
1980 ;; These are needed for the tests.
1981 ;; FIXME: Add PHP once available.
1982 ("curl" ,curl)
1983 ("httpd" ,httpd)))
1984 (propagated-inputs
1985 ;; libsoup-2.4.pc refers to all these.
1986 `(("glib" ,glib)
1987 ("libxml2" ,libxml2)))
1988 (inputs
1989 `(("glib-networking" ,glib-networking)
1990 ("sqlite" ,sqlite)))
1991 (home-page "https://live.gnome.org/LibSoup/")
1992 (synopsis "GLib-based HTTP Library")
1993 (description
1994 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
1995 and the GLib main loop, to integrate well with GNOME applications.")
1996 (license license:lgpl2.0+)))
1997
1998 (define-public libsecret
1999 (package
2000 (name "libsecret")
2001 (version "0.18")
2002 (source (origin
2003 (method url-fetch)
2004 (uri (string-append
2005 "mirror://gnome/sources/libsecret/" version "/"
2006 name "-" version ".tar.xz"))
2007 (sha256
2008 (base32
2009 "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc"))))
2010 (build-system gnu-build-system)
2011 (outputs '("out" "doc"))
2012 (arguments
2013 `(#:tests? #f ; FIXME: Testing hangs.
2014 #:configure-flags
2015 (list (string-append "--with-html-dir="
2016 (assoc-ref %outputs "doc")
2017 "/share/gtk-doc/html"))))
2018 (native-inputs
2019 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2020 ("gobject-introspection" ,gobject-introspection)
2021 ("intltool" ,intltool)
2022 ("pkg-config" ,pkg-config)
2023 ("vala" ,vala)
2024 ("xsltproc" ,libxslt)))
2025 ;; These are needed for the tests.
2026 ;; FIXME: Add gjs once available.
2027 ;("dbus" ,dbus)
2028 ;("python2" ,python-2)
2029 ;("python2-dbus" ,python2-dbus)
2030 ;("python2-pygobject" ,python2-pygobject)
2031 ;("python2-pygobject-2" ,python2-pygobject-2)))
2032 (propagated-inputs
2033 `(("glib" ,glib))) ; required by libsecret-1.pc
2034 (inputs
2035 `(("docbook-xsl" ,docbook-xsl)
2036 ("libgcrypt" ,libgcrypt)
2037 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2038 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2039 (synopsis "GObject bindings for \"Secret Service\" API")
2040 (description
2041 "Libsecret is a GObject based library for storing and retrieving passwords
2042 and other secrets. It communicates with the \"Secret Service\" using DBus.")
2043 (license license:lgpl2.1+)))
2044
2045 (define-public gnome-mines
2046 (package
2047 (name "gnome-mines")
2048 (version "3.16.0")
2049 (source
2050 (origin
2051 (method url-fetch)
2052 (uri (string-append "mirror://gnome/sources/" name "/"
2053 (version-major+minor version) "/"
2054 name "-" version ".tar.xz"))
2055 (sha256
2056 (base32
2057 "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx"))))
2058 (build-system glib-or-gtk-build-system)
2059 (arguments
2060 '(#:phases
2061 (modify-phases %standard-phases
2062 (add-before 'configure 'patch-/bin/true
2063 (lambda _
2064 (substitute* "configure"
2065 (("/bin/true") (which "true")))))
2066 (add-after 'install 'wrap-pixbuf
2067 ;; Use librsvg's loaders.cache to support SVG files.
2068 (lambda* (#:key inputs outputs #:allow-other-keys)
2069 (let* ((out (assoc-ref outputs "out"))
2070 (prog (string-append out "/bin/gnome-mines"))
2071 (rsvg (assoc-ref inputs "librsvg"))
2072 (pixbuf (find-files rsvg "^loaders\\.cache$")))
2073 (wrap-program prog
2074 `("GDK_PIXBUF_MODULE_FILE" = ,pixbuf))))))))
2075 (native-inputs
2076 `(("pkg-config" ,pkg-config)
2077 ("desktop-file-utils" ,desktop-file-utils)
2078 ("intltool" ,intltool)
2079 ("itstool" ,itstool)))
2080 (inputs
2081 `(("gtk+" ,gtk+)
2082 ("librsvg" ,librsvg)))
2083 (home-page "https://wiki.gnome.org/Apps/Mines")
2084 (synopsis "Minesweeper game")
2085 (description
2086 "Mines (previously gnomine) is a puzzle game where you locate mines
2087 floating in an ocean using only your brain and a little bit of luck.")
2088 (license license:gpl2+)))
2089
2090 (define-public gnome-terminal
2091 (package
2092 (name "gnome-terminal")
2093 (version "3.16.0")
2094 (source
2095 (origin
2096 (method url-fetch)
2097 (uri (string-append "mirror://gnome/sources/" name "/"
2098 (version-major+minor version) "/"
2099 name "-" version ".tar.xz"))
2100 (sha256
2101 (base32
2102 "1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd"))))
2103 (build-system glib-or-gtk-build-system)
2104 (arguments
2105 '(#:configure-flags
2106 (list "--disable-migration" "--disable-search-provider"
2107 "--without-nautilus-extension")
2108 #:phases
2109 (modify-phases %standard-phases
2110 (add-before 'configure 'patch-/bin/true
2111 (lambda _
2112 (substitute* "configure"
2113 (("/bin/true") (which "true"))))))))
2114 (native-inputs
2115 `(("pkg-config" ,pkg-config)
2116 ("desktop-file-utils" ,desktop-file-utils)
2117 ("intltool" ,intltool)
2118 ("itstool" ,itstool)))
2119 (propagated-inputs
2120 `(("dconf" ,dconf)))
2121 (inputs
2122 `(("gtk+" ,gtk+)
2123 ("vte" ,vte)
2124 ("gnutls" ,gnutls)
2125 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2126 ("util-linux" ,util-linux)
2127 ("vala" ,vala)))
2128 (home-page "https://wiki.gnome.org/Apps/Terminal")
2129 (synopsis "Terminal emulator")
2130 (description
2131 "GNOME Terminal is a terminal emulator application for accessing a
2132 UNIX shell environment which can be used to run programs available on
2133 your system.
2134
2135 It supports several profiles, multiple tabs and implements several
2136 keyboard shortcuts.")
2137 (license license:gpl3+)))
2138
2139 (define-public colord
2140 (package
2141 (name "colord")
2142 (version "1.1.8")
2143 (source
2144 (origin
2145 (method url-fetch)
2146 (uri (string-append "http://www.freedesktop.org/software/colord/releases/"
2147 name "-" version ".tar.xz"))
2148 (sha256
2149 (base32
2150 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2151 (build-system glib-or-gtk-build-system)
2152 (arguments
2153 '(;; The tests want to run valgrind. Punt for now.
2154 #:tests? #f
2155 #:configure-flags (list "--localstatedir=/var"
2156 ;; GUSB not packaged yet.
2157 "--disable-gusb"
2158 ;; No dep on systemd.
2159 "--disable-systemd-login"
2160 ;; Wants to install to global completion dir;
2161 ;; punt.
2162 "--disable-bash-completion"
2163 ;; colord-gtk not packaged yet.
2164 "--disable-session-example"
2165 "--with-daemon-user=colord"
2166 "--enable-sane"
2167 (string-append "--with-udevrulesdir="
2168 (assoc-ref %outputs "out")
2169 "/lib/udev/rules.d"))
2170 #:phases
2171 (modify-phases %standard-phases
2172 (add-before 'configure 'patch-/bin/true
2173 (lambda _
2174 (substitute* "configure"
2175 (("/bin/true") (which "true")))
2176 (substitute* "src/Makefile.in"
2177 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
2178 "if test -w $(DESTDIR)$(localstatedir);")))))))
2179 (native-inputs
2180 `(("pkg-config" ,pkg-config)
2181 ("gobject-introspection" ,gobject-introspection)
2182 ("libtool" ,libtool)
2183 ("intltool" ,intltool)))
2184 (inputs
2185 `(("eudev" ,eudev)
2186 ("dbus-glib" ,dbus-glib)
2187 ("libusb" ,libusb)
2188 ("lcms" ,lcms)
2189 ("sqlite" ,sqlite)
2190 ("polkit" ,polkit)
2191 ("sane-backends" ,sane-backends)))
2192 (home-page "http://www.freedesktop.org/software/colord/")
2193 (synopsis "Color management service")
2194 (description "Colord is a system service that makes it easy to manage,
2195 install and generate color profiles to accurately color manage input and
2196 output devices.")
2197 (license license:gpl2+)))
2198
2199 (define-public geoclue
2200 (package
2201 (name "geoclue")
2202 (version "2.2.0")
2203 (source
2204 (origin
2205 (method url-fetch)
2206 (uri (string-append "http://www.freedesktop.org/software/" name
2207 "/releases/" (version-major+minor version) "/"
2208 name "-" version ".tar.xz"))
2209 (sha256
2210 (base32
2211 "0inlqx0zar498fhi9hh92p2g4kp8qy3zdl4z3vw6bjwp9w6xx454"))
2212 (patches (list (search-patch "geoclue-config.patch")))))
2213 (build-system glib-or-gtk-build-system)
2214 (arguments
2215 '(;; The tests want to run the system bus.
2216 #:tests? #f
2217 #:configure-flags (list ;; Disable bits requiring ModemManager.
2218 "--disable-3g-source"
2219 "--disable-cdma-source"
2220 "--disable-modem-gps-source"
2221 "--with-dbus-service-user=geoclue")
2222 #:phases
2223 (modify-phases %standard-phases
2224 (add-before 'configure 'patch-/bin/true
2225 (lambda _
2226 (substitute* "configure"
2227 (("/bin/true") (which "true"))))))))
2228 (native-inputs
2229 `(("pkg-config" ,pkg-config)
2230 ("intltool" ,intltool)))
2231 (inputs
2232 `(("glib" ,glib)
2233 ("json-glib" ,json-glib)
2234 ("libsoup" ,libsoup)))
2235 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2236 (synopsis "Geolocation service")
2237 (description "Geoclue is a D-Bus service that provides location
2238 information. The primary goal of the Geoclue project is to make creating
2239 location-aware applications as simple as possible, while the secondary goal is
2240 to ensure that no application can access location information without explicit
2241 permission from user.")
2242 (license license:gpl2+)))
2243
2244 (define-public geocode-glib
2245 (package
2246 (name "geocode-glib")
2247 (version "3.16.0")
2248 (source (origin
2249 (method url-fetch)
2250 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2251 (version-major+minor version) "/"
2252 name "-" version ".tar.xz"))
2253 (sha256
2254 (base32
2255 "1cbfv0kds6b6k0cl7q47xpj3x1scwcd7m68zl1rf7i4hmhw4hpqj"))))
2256 (build-system gnu-build-system)
2257 (arguments
2258 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2259 ;; work for the builder. Punt.
2260 #:tests? #f
2261 ))
2262 (native-inputs
2263 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2264 ("gobject-introspection" ,gobject-introspection)
2265 ("pkg-config" ,pkg-config)
2266 ("json-glib" ,json-glib)))
2267 (propagated-inputs
2268 ;; geocode-glib-1.0.pc refers to GIO.
2269 `(("glib" ,glib)))
2270 (inputs
2271 `(("libsoup" ,libsoup)))
2272 (home-page "https://github.com/GNOME/geocode-glib/")
2273 (synopsis "Geocoding and reverse-geocoding library")
2274 (description
2275 "geocode-glib is a convenience library for geocoding (finding longitude,
2276 and latitude from an address) and reverse geocoding (finding an address from
2277 coordinates) using the Nominatim service. geocode-glib caches requests for
2278 faster results and to avoid unnecessary server load.")
2279 (license license:lgpl2.0+)))
2280
2281 (define-public upower
2282 (package
2283 (name "upower")
2284 (version "0.99.2")
2285 (source (origin
2286 (method url-fetch)
2287 (uri (string-append "http://upower.freedesktop.org/releases/"
2288 name "-" version ".tar.xz"))
2289 (sha256
2290 (base32
2291 "0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79"))
2292 (patches (list (search-patch "upower-builddir.patch")))))
2293 (build-system glib-or-gtk-build-system)
2294 (arguments
2295 '( ;; The tests want to contact the system bus, which can't be done in the
2296 ;; build environment. The integration test can run, but the last of
2297 ;; the up-self-tests doesn't. Disable tests for now.
2298 #:tests? #f
2299 #:configure-flags (list "--localstatedir=/var"
2300 (string-append "--with-udevrulesdir="
2301 (assoc-ref %outputs "out")
2302 "/lib/udev/rules.d"))
2303 #:phases
2304 (modify-phases %standard-phases
2305 (add-before 'configure 'patch-/bin/true
2306 (lambda _
2307 (substitute* "configure"
2308 (("/bin/true") (which "true")))))
2309 (add-before 'configure 'patch-integration-test
2310 (lambda _
2311 (substitute* "src/linux/integration-test"
2312 (("/usr/bin/python3") (which "python3"))))))))
2313 (native-inputs
2314 `(("pkg-config" ,pkg-config)
2315 ("intltool" ,intltool)
2316 ("python" ,python)))
2317 (inputs
2318 `(("eudev" ,eudev)
2319 ("dbus-glib" ,dbus-glib)
2320 ("libusb" ,libusb)))
2321 (home-page "http://upower.freedesktop.org/")
2322 (synopsis "System daemon for managing power devices")
2323 (description
2324 "UPower is an abstraction for enumerating power devices,
2325 listening to device events and querying history and statistics. Any
2326 application or service on the system can access the org.freedesktop.UPower
2327 service via the system message bus.")
2328 (license license:gpl2+)))
2329
2330 (define-public libgweather
2331 (package
2332 (name "libgweather")
2333 (version "3.16.0")
2334 (source (origin
2335 (method url-fetch)
2336 (uri (string-append "mirror://gnome/sources/" name "/"
2337 (version-major+minor version) "/"
2338 name "-" version ".tar.xz"))
2339 (sha256
2340 (base32
2341 "0x1z6wv7hdw2ivlkifcbd940zyrnvqvc4zh2drgvd2r6jmd7bjza"))))
2342 (build-system gnu-build-system)
2343 (arguments
2344 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2345 ;; work for the builder. Punt.
2346 #:tests? #f
2347 #:configure-flags
2348 `(;; No introspection for now, as it wants to install to
2349 ;; gobject-introspection's own directory and I don't know how to easily
2350 ;; override this.
2351 "--enable-introspection=no"
2352 ,(string-append "--with-zoneinfo-dir="
2353 (assoc-ref %build-inputs "tzdata")
2354 "/share/zoneinfo"))))
2355 (native-inputs
2356 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2357 ("pkg-config" ,pkg-config)
2358 ("intltool" ,intltool)))
2359 (propagated-inputs
2360 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2361 ;; libsoup.
2362 `(("gtk+" ,gtk+)
2363 ("gdk-pixbuf" ,gdk-pixbuf)
2364 ("libxml2" ,libxml2)
2365 ("libsoup" ,libsoup)))
2366 (inputs
2367 `(("tzdata" ,tzdata)
2368 ("geocode-glib" ,geocode-glib)))
2369 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2370 (synopsis "Location, time zone, and weather library for GNOME")
2371 (description
2372 "libgweather is a library to access weather information from online
2373 services for numerous locations.")
2374 (license license:gpl2+)))
2375
2376 (define-public gnome-settings-daemon
2377 (package
2378 (name "gnome-settings-daemon")
2379 (version "3.16.0")
2380 (source
2381 (origin
2382 (method url-fetch)
2383 (uri (string-append "mirror://gnome/sources/" name "/"
2384 (version-major+minor version) "/"
2385 name "-" version ".tar.xz"))
2386 (sha256
2387 (base32
2388 "1w29x2izq59125ga5ncmmaklc8kw7x7rdn6swn26bs23mah1r1g3"))))
2389 (build-system glib-or-gtk-build-system)
2390 (arguments
2391 `(;; Network manager not yet packaged.
2392 #:configure-flags '("--disable-network-manager")
2393 ;; Color management test can't reach the colord system service.
2394 #:tests? #f))
2395 (native-inputs
2396 `(("pkg-config" ,pkg-config)
2397 ("intltool" ,intltool)
2398 ("xsltproc" ,libxslt)
2399 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2400 ("docbook-xml" ,docbook-xml-4.2)
2401 ("docbook-xsl" ,docbook-xsl)))
2402 (inputs
2403 `(("colord" ,colord)
2404 ("eudev" ,eudev)
2405 ("upower" ,upower)
2406 ("polkit" ,polkit)
2407 ("pulseaudio" ,pulseaudio)
2408 ("libcanberra" ,libcanberra)
2409 ("libx11" ,libx11)
2410 ("libxtst" ,libxtst)
2411 ("lcms" ,lcms)
2412 ("libnotify" ,libnotify)
2413 ("geoclue" ,geoclue)
2414 ("geocode-glib" ,geocode-glib)
2415 ("libgweather" ,libgweather)
2416 ("gnome-desktop" ,gnome-desktop)
2417 ("nss" ,nss)
2418 ("cups" ,cups)
2419 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2420 ("libwacom" ,libwacom)
2421 ("librsvg" ,librsvg)
2422 ("xf86-input-wacom" ,xf86-input-wacom)))
2423 (home-page "http://www.gnome.org")
2424 (synopsis "GNOME settings daemon")
2425 (description
2426 "This package contains the daemon responsible for setting the various
2427 parameters of a GNOME session and the applications that run under it. It
2428 handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2429 settings, themes, mouse settings, and startup of other daemons.")
2430 (license license:gpl2+)))
2431
2432 (define-public totem-pl-parser
2433 (package
2434 (name "totem-pl-parser")
2435 (version "3.10.5")
2436 (source (origin
2437 (method url-fetch)
2438 (uri (string-append "mirror://gnome/sources/totem-pl-parser/3.10/"
2439 "totem-pl-parser-" version ".tar.xz"))
2440 (sha256
2441 (base32
2442 "0dw1kiwmjwdjrighri0j9nagsnj44dllm0mamnfh4y5nc47mhim7"))))
2443 (build-system gnu-build-system)
2444 (arguments
2445 ;; FIXME: Tests require gvfs.
2446 `(#:tests? #f))
2447 (native-inputs
2448 `(("intltool" ,intltool)
2449 ("glib" ,glib "bin")
2450 ("gobject-introspection" ,gobject-introspection)
2451 ("pkg-config" ,pkg-config)))
2452 (propagated-inputs
2453 `(("glib" ,glib)
2454 ("gmime" ,gmime)
2455 ("libxml2" ,libxml2)))
2456 (inputs
2457 `(("libarchive" ,libarchive)
2458 ("libgcrypt" ,libgcrypt)
2459 ("nettle" ,nettle)
2460 ("libsoup" ,libsoup)))
2461 (home-page "https://projects.gnome.org/totem")
2462 (synopsis "Library to parse and save media playlists for GNOME")
2463 (description "Totem-pl-parser is a GObjects-based library to parse and save
2464 playlists in a variety of formats.")
2465 (license license:lgpl2.0+)))
2466
2467 (define-public aisleriot
2468 (package
2469 (name "aisleriot")
2470 (version "3.16.1")
2471 (source (origin
2472 (method url-fetch)
2473 (uri (string-append "mirror://gnome/sources/" name "/"
2474 (version-major+minor version) "/"
2475 name "-" version ".tar.xz"))
2476 (sha256
2477 (base32
2478 "19k483x9dkq8vjbq8f333pk9qil64clpsfg20q8xk9bgmk38aj8h"))))
2479 (build-system glib-or-gtk-build-system)
2480 (arguments
2481 '(#:configure-flags
2482 '("--with-platform=gtk-only"
2483 "--with-card-theme-formats=svg")))
2484 (native-inputs
2485 `(("desktop-file-utils" ,desktop-file-utils)
2486 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2487 ("intltool" ,intltool)
2488 ("itstool" ,itstool)
2489 ("pkg-config" ,pkg-config)
2490 ("xmllint" ,libxml2)))
2491 (inputs
2492 `(("gtk+" ,gtk+)
2493 ("guile" ,guile-2.0)
2494 ("libcanberra" ,libcanberra)
2495 ("librsvg" ,librsvg)))
2496 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
2497 (synopsis "Solitaire card games")
2498 (description
2499 "Aisleriot (also known as Solitaire or sol) is a collection of card games
2500 which are easy to play with the aid of a mouse.")
2501 (license license:gpl3+)))
2502
2503 (define-public devhelp
2504 (package
2505 (name "devhelp")
2506 (version "3.16.1")
2507 (source (origin
2508 (method url-fetch)
2509 (uri (string-append "mirror://gnome/sources/" name "/"
2510 (version-major+minor version) "/"
2511 name "-" version ".tar.xz"))
2512 (sha256
2513 (base32
2514 "0i8kyh86hzwxs8dm047ivghl2b92vigdxa3x4pk4ha0whpk38g37"))))
2515 (build-system glib-or-gtk-build-system)
2516 (native-inputs
2517 `(("intltool" ,intltool)
2518 ("pkg-config" ,pkg-config)))
2519 (inputs
2520 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2521 ("webkitgtk" ,webkitgtk)))
2522 (home-page "https://wiki.gnome.org/Apps/Devhelp")
2523 (synopsis "API documentation browser for GNOME")
2524 (description
2525 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
2526 natively with GTK-Doc (the API reference system developed for GTK+ and used
2527 throughout GNOME for API documentation).")
2528 (license license:gpl2+)))
2529
2530 (define-public cogl
2531 (package
2532 (name "cogl")
2533 (version "1.20.0")
2534 (source
2535 (origin
2536 (method url-fetch)
2537 (uri (string-append "mirror://gnome/sources/" name "/"
2538 (version-major+minor version) "/"
2539 name "-" version ".tar.xz"))
2540 (sha256
2541 (base32
2542 "0aqrj7gc0x7v536vdycgn2i23fj3nx3qwdd3mwgx7rr9b14kb7kj"))))
2543 (build-system gnu-build-system)
2544 (native-inputs
2545 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2546 ("gobject-introspection" ,gobject-introspection)
2547 ;;("xorg-server" ,xorg-server) ; for the test suite
2548 ("pkg-config" ,pkg-config)))
2549 (propagated-inputs
2550 `(("glib" ,glib)
2551 ("gdk-pixbuf" ,gdk-pixbuf)
2552 ("libx11" ,libx11)
2553 ("libxext" ,libxext)
2554 ("libxfixes" ,libxfixes)
2555 ("libxdamage" ,libxdamage)
2556 ("libxcomposite" ,libxcomposite)
2557 ("libxrandr" ,libxrandr)))
2558 (inputs
2559 `(("mesa" ,mesa)
2560 ("cairo" ,cairo)
2561 ("pango" ,pango)
2562 ("gstreamer" ,gstreamer)
2563 ("gst-plugins-base" ,gst-plugins-base)))
2564 (arguments
2565 `(#:configure-flags (list "--enable-cogl-gst"
2566 ;; Arrange to pass an absolute file name to
2567 ;; dlopen for libGL.so.
2568 (string-append "--with-gl-libname="
2569 (assoc-ref %build-inputs "mesa")
2570 "/lib/libGL.so"))
2571 ;; XXX FIXME: All tests fail, with many warnings printed like this:
2572 ;; _FontTransOpen: Unable to Parse address
2573 ;; ${prefix}/share/fonts/X11/misc/
2574 #:tests? #f
2575 #; #:phases
2576 #;
2577 (modify-phases %standard-phases
2578 (add-before 'check 'start-xorg-server
2579 (lambda* (#:key inputs #:allow-other-keys)
2580 ;; The test suite requires a running X server.
2581 (system (format #f "~a/bin/Xvfb :1 &"
2582 (assoc-ref inputs "xorg-server")))
2583 (setenv "DISPLAY" ":1")
2584 #t)))))
2585 (home-page "http://www.cogl3d.org")
2586 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
2587 (description
2588 "Cogl is a small library for using 3D graphics hardware to draw pretty
2589 pictures. The API departs from the flat state machine style of OpenGL and is
2590 designed to make it easy to write orthogonal components that can render
2591 without stepping on each others toes.")
2592 (license (list license:expat ; most of the code
2593 license:bsd-3 ; cogl/cogl-point-in-poly.c
2594 license:sgifreeb2.0 ; cogl-path/tesselator/
2595 license:asl2.0)))) ; examples/android/
2596
2597 (define-public clutter
2598 (package
2599 (name "clutter")
2600 (version "1.22.2")
2601 (source
2602 (origin
2603 (method url-fetch)
2604 (uri (string-append "mirror://gnome/sources/" name "/"
2605 (version-major+minor version) "/"
2606 name "-" version ".tar.xz"))
2607 (sha256
2608 (base32
2609 "1b0ikh9q3c3qnny3kbvhqih35449q8ajcbh7zkm8k3kykwfx4scf"))))
2610 (build-system gnu-build-system)
2611 (native-inputs
2612 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
2613 ("gobject-introspection" ,gobject-introspection)
2614 ("pkg-config" ,pkg-config)
2615 ("xsltproc" ,libxslt)))
2616 (propagated-inputs
2617 `(("cogl" ,cogl)
2618 ("cairo" ,cairo)
2619 ("atk" ,atk)
2620 ("gtk+" ,gtk+)
2621 ("json-glib" ,json-glib)
2622 ("glib" ,glib)
2623 ("libxcomposite" ,libxcomposite)
2624 ("libxdamage" ,libxdamage)
2625 ("libxext" ,libxext)
2626 ("xinput" ,xinput)))
2627 (inputs
2628 `(("libxkbcommon" ,libxkbcommon)
2629 ("udev" ,eudev)))
2630 (arguments
2631 `(#:configure-flags '("--enable-x11-backend=yes")
2632 ;; XXX FIXME: Get test suite working. It would probably fail in the
2633 ;; same way the cogl tests fail, since clutter is based on cogl.
2634 #:tests? #f))
2635 (home-page "http://www.clutter-project.org")
2636 (synopsis "Open GL based interactive canvas library")
2637 (description
2638 "Clutter is an Open GL based interactive canvas library, designed for
2639 creating fast, mainly 2D single window applications such as media box UIs,
2640 presentations, kiosk style applications and so on.")
2641 (license license:lgpl2.0+)))
2642
2643 (define-public clutter-gtk
2644 (package
2645 (name "clutter-gtk")
2646 (version "1.6.0")
2647 (source
2648 (origin
2649 (method url-fetch)
2650 (uri (string-append "mirror://gnome/sources/" name "/"
2651 (version-major+minor version) "/"
2652 name "-" version ".tar.xz"))
2653 (sha256
2654 (base32
2655 "0k93hbf5d1970hs7vjddr3nnngygc7mxqbj474r3cdm0fjsm0dc8"))))
2656 (build-system gnu-build-system)
2657 (native-inputs
2658 `(("pkg-config" ,pkg-config)
2659 ("gobject-introspection" ,gobject-introspection)))
2660 (inputs
2661 `(("clutter" ,clutter)
2662 ("gtk+" ,gtk+)))
2663 (home-page "http://www.clutter-project.org")
2664 (synopsis "Open GL based interactive canvas library GTK+ widget")
2665 (description
2666 "Clutter is an Open GL based interactive canvas library, designed for
2667 creating fast, mainly 2D single window applications such as media box UIs,
2668 presentations, kiosk style applications and so on.")
2669 (license license:lgpl2.0+)))
2670
2671 (define-public clutter-gst
2672 (package
2673 (name "clutter-gst")
2674 (version "3.0.6")
2675 (source
2676 (origin
2677 (method url-fetch)
2678 (uri (string-append "mirror://gnome/sources/" name "/"
2679 (version-major+minor version) "/"
2680 name "-" version ".tar.xz"))
2681 (sha256
2682 (base32
2683 "0xnzfdzawl1kdx715gp31nwjp7a1kib094s7xvg7bhbwwlx4kmfn"))))
2684 (build-system gnu-build-system)
2685 (native-inputs
2686 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2687 ("pkg-config" ,pkg-config)
2688 ("gobject-introspection" ,gobject-introspection)))
2689 (inputs
2690 `(("clutter" ,clutter)
2691 ("gstreamer" ,gstreamer)
2692 ("gst-plugins-base" ,gst-plugins-base)))
2693 (home-page "http://www.clutter-project.org")
2694 (synopsis "Integration library for using GStreamer with Clutter")
2695 (description
2696 "Clutter-Gst is an integration library for using GStreamer with Clutter.
2697 It provides a GStreamer sink to upload frames to GL and an actor that
2698 implements the ClutterGstPlayer interface using playbin. Clutter is an Open
2699 GL based interactive canvas library.")
2700 (license license:lgpl2.0+)))
2701
2702 (define-public gom
2703 (package
2704 (name "gom")
2705 (version "0.3.1")
2706 (source
2707 (origin
2708 (method url-fetch)
2709 (uri (string-append "mirror://gnome/sources/" name "/"
2710 (version-major+minor version) "/"
2711 name "-" version ".tar.xz"))
2712 (sha256
2713 (base32
2714 "1x9qgviszzh59d009jd13k0pdxzv9w4dmwp3wszbsk3qxr3fnlbr"))))
2715 (build-system gnu-build-system)
2716 (native-inputs
2717 `(("intltool" ,intltool)
2718 ("pkg-config" ,pkg-config)
2719 ("gobject-introspection" ,gobject-introspection)))
2720 (inputs
2721 `(("glib" ,glib)
2722 ("gdk-pixbuf" ,gdk-pixbuf)
2723 ("sqlite" ,sqlite)))
2724 ;; XXX TODO: Figure out how to run the test suite.
2725 (arguments `(#:tests? #f))
2726 (home-page "https://wiki.gnome.org/Projects/Gom")
2727 (synopsis "Object mapper from GObjects to SQLite")
2728 (description
2729 "Gom provides an object mapper from GObjects to SQLite. It helps you
2730 write applications that need to store structured data as well as make complex
2731 queries upon that data.")
2732 (license license:lgpl2.1+)))
2733
2734 (define-public gnome-klotski
2735 (package
2736 (name "gnome-klotski")
2737 (version "3.16.1")
2738 (source (origin
2739 (method url-fetch)
2740 (uri (string-append "mirror://gnome/sources/" name "/"
2741 (version-major+minor version) "/"
2742 name "-" version ".tar.xz"))
2743 (sha256
2744 (base32
2745 "0a64935c7pp51jhaf29q9zlx3lamj7zrhyff7clvv0w8v1w6gpax"))))
2746 (build-system glib-or-gtk-build-system)
2747 (native-inputs
2748 `(("desktop-file-utils" ,desktop-file-utils)
2749 ("intltool" ,intltool)
2750 ("itstool" ,itstool)
2751 ("pkg-config" ,pkg-config)))
2752 (inputs
2753 `(("gtk+" ,gtk+)
2754 ("librsvg" ,librsvg)))
2755 (home-page "https://wiki.gnome.org/Apps/Klotski")
2756 (synopsis "Sliding block puzzles")
2757 (description
2758 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
2759 the patterned block to the area bordered by green markers. To do so, you will
2760 need to slide other blocks out of the way. Complete each puzzle in as few moves
2761 as possible!")
2762 (license license:gpl2+)))
2763
2764 (define-public grilo
2765 (package
2766 (name "grilo")
2767 (version "0.2.12")
2768 (source
2769 (origin
2770 (method url-fetch)
2771 (uri (string-append "mirror://gnome/sources/" name "/"
2772 (version-major+minor version) "/"
2773 name "-" version ".tar.xz"))
2774 (sha256
2775 (base32
2776 "11bvc7rsrjjwz8hp67p3fn8zmywrpawrcbi3vgw8b0dwa0sndd2m"))))
2777 (build-system gnu-build-system)
2778 (native-inputs
2779 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
2780 ("intltool" ,intltool)
2781 ("pkg-config" ,pkg-config)
2782 ("gobject-introspection" ,gobject-introspection)))
2783 (inputs
2784 `(("glib" ,glib)
2785 ("gtk+" ,gtk+)
2786 ("libxml2" ,libxml2)
2787 ;; XXX TODO: Add oauth
2788 ("libsoup" ,libsoup)
2789 ("totem-pl-parser" ,totem-pl-parser)))
2790 (arguments
2791 `(#:phases
2792 (modify-phases %standard-phases
2793 (add-after 'unpack 'fix-introspection-install-dir
2794 (lambda* (#:key outputs #:allow-other-keys)
2795 (let ((out (assoc-ref outputs "out")))
2796 (substitute* '("src/Makefile.in"
2797 "libs/pls/Makefile.in"
2798 "libs/net/Makefile.in")
2799 (("@INTROSPECTION_GIRDIR@")
2800 (string-append out "/share/gir-1.0/"))
2801 (("@INTROSPECTION_TYPELIBDIR@")
2802 (string-append out "/lib/girepository-1.0/")))))))))
2803 (native-search-paths
2804 (list (search-path-specification
2805 (variable "GRL_PLUGIN_PATH")
2806 (files (list (string-append "lib/grilo-"
2807 (version-major+minor version)))))))
2808 (home-page "http://live.gnome.org/Grilo")
2809 (synopsis "Framework for discovering and browsing media")
2810 (description
2811 "Grilo is a framework focused on making media discovery and browsing easy
2812 for application developers.")
2813 (license license:lgpl2.1+)))
2814
2815 (define-public grilo-plugins
2816 (package
2817 (name "grilo-plugins")
2818 (version "0.2.14")
2819 (source
2820 (origin
2821 (method url-fetch)
2822 (uri (string-append "mirror://gnome/sources/" name "/"
2823 (version-major+minor version) "/"
2824 name "-" version ".tar.xz"))
2825 (sha256
2826 (base32
2827 "1aykhc679pwn2qxsg19g8nh9hffpsqkgxcbqq7lcfn2hcwb83wfh"))))
2828 (build-system gnu-build-system)
2829 (native-inputs
2830 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
2831 ("intltool" ,intltool)
2832 ("itstool" ,itstool)
2833 ("pkg-config" ,pkg-config)))
2834 (inputs
2835 `(("grilo" ,grilo)
2836 ("glib" ,glib)
2837 ("libxml2" ,libxml2)
2838 ("sqlite" ,sqlite)
2839 ("gom" ,gom)
2840 ;; XXX TODO: Add oauth
2841 ;; XXX TODO: Add goa
2842 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
2843 ;; XXX TODO: Add lua (needs help finding it)
2844 ("json-glib" ,json-glib)
2845 ("avahi" ,avahi)
2846 ("gmime" ,gmime)
2847 ("libsoup" ,libsoup)
2848 ("libarchive" ,libarchive)
2849 ("totem-pl-parser" ,totem-pl-parser)))
2850 (arguments
2851 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
2852 %output
2853 "/lib/grilo-"
2854 ,(version-major+minor version)))
2855 ;; XXX FIXME: Try to get the test suite working. It appears to require
2856 ;; a working system dbus. Inside the build container, all tests fail
2857 ;; with: "assertion failed: (source)". Outside of the build container,
2858 ;; most tests succeed.
2859 #:tests? #f))
2860 (home-page "http://live.gnome.org/Grilo")
2861 (synopsis "Plugins for the Grilo media discovery library")
2862 (description
2863 "Grilo is a framework focused on making media discovery and browsing easy
2864 for application developers.")
2865 (license license:lgpl2.1+)))
2866
2867 (define-public totem
2868 (package
2869 (name "totem")
2870 (version "3.16.1")
2871 (source
2872 (origin
2873 (method url-fetch)
2874 (uri (string-append "mirror://gnome/sources/" name "/"
2875 (version-major+minor version) "/"
2876 name "-" version ".tar.xz"))
2877 (sha256
2878 (base32
2879 "1nkm2i271ivq40hryrl6px39gbbvhmlx4vmvwvw4h3z8xh3013f9"))))
2880 (build-system glib-or-gtk-build-system)
2881 (native-inputs
2882 `(("pkg-config" ,pkg-config)
2883 ("desktop-file-utils" ,desktop-file-utils)
2884 ("gobject-introspection" ,gobject-introspection)
2885 ("intltool" ,intltool)
2886 ("itstool" ,itstool)))
2887 (propagated-inputs
2888 `(("dconf" ,dconf)))
2889 (inputs
2890 `(("gtk+" ,gtk+)
2891 ("gdk-pixbuf" ,gdk-pixbuf)
2892 ("atk" ,atk)
2893 ("cairo" ,cairo)
2894 ("dbus-glib" ,dbus-glib)
2895 ("clutter" ,clutter)
2896 ("clutter-gtk" ,clutter-gtk)
2897 ("clutter-gst" ,clutter-gst)
2898 ("xproto" ,xproto)
2899 ("libxxf86vm" ,libxxf86vm)
2900 ("libxtst" ,libxtst)
2901 ("libxrandr" ,libxrandr)
2902 ("libxml2" ,libxml2)
2903 ("libsoup" ,libsoup)
2904 ("libpeas" ,libpeas)
2905 ("librsvg" ,librsvg)
2906 ("lirc" ,lirc)
2907 ("gnome-desktop" ,gnome-desktop)
2908 ("gstreamer" ,gstreamer)
2909 ("gst-plugins-base" ,gst-plugins-base)
2910 ("gst-plugins-good" ,gst-plugins-good)
2911 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2912 ("adwaita-icon-theme" ,adwaita-icon-theme)
2913 ;; XXX We use python-2 because libxml2 because itstool (which needs
2914 ;; libxml) currently uses python-2.
2915 ("python" ,python-2)
2916 ("python-pygobject" ,python2-pygobject)
2917 ;; XXX TODO pylint needed for python support
2918 ("totem-pl-parser" ,totem-pl-parser)
2919 ("grilo" ,grilo)
2920 ("grilo-plugins" ,grilo-plugins)
2921 ("nettle" ,nettle)
2922 ("vala" ,vala)))
2923 (arguments
2924 `(#:phases
2925 (modify-phases %standard-phases
2926 (add-after
2927 'install 'wrap-totem
2928 (lambda* (#:key inputs outputs #:allow-other-keys)
2929 (let ((out (assoc-ref outputs "out"))
2930 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
2931 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
2932 (wrap-program (string-append out "/bin/totem")
2933 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
2934 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
2935 #t)))))
2936 (home-page "https://wiki.gnome.org/Apps/Videos")
2937 (synopsis "Simple media player for GNOME based on GStreamer")
2938 (description "Totem is a simple yet featureful media player for GNOME
2939 which can read a large number of file formats.")
2940 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
2941 ;; to be used and distributed together with GStreamer and Totem. See
2942 ;; file://COPYING in the source distribution for details.
2943 (license license:gpl2+)))
2944
2945 (define-public rhythmbox
2946 (package
2947 (name "rhythmbox")
2948 (version "3.2.1")
2949 (source (origin
2950 (method url-fetch)
2951 (uri (string-append "mirror://gnome/sources/" name "/"
2952 (version-major+minor version) "/"
2953 name "-" version ".tar.xz"))
2954 (sha256
2955 (base32
2956 "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"))))
2957 (build-system glib-or-gtk-build-system)
2958 (arguments
2959 `(#:configure-flags
2960 (list "--enable-lirc"
2961 "--enable-python"
2962 "--enable-vala"
2963 "--with-brasero"
2964 "--with-gudev"
2965 "--with-libsecret")
2966 #:phases
2967 (modify-phases %standard-phases
2968 (add-after
2969 'install 'wrap-rhythmbox
2970 (lambda* (#:key inputs outputs #:allow-other-keys)
2971 (let ((out (assoc-ref outputs "out"))
2972 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
2973 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
2974 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
2975 (wrap-program (string-append out "/bin/rhythmbox")
2976 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
2977 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
2978 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
2979 #t)))))
2980 (propagated-inputs
2981 `(("dconf" ,dconf)))
2982 (native-inputs
2983 `(("intltool" ,intltool)
2984 ("glib" ,glib "bin")
2985 ("gobject-introspection" ,gobject-introspection)
2986 ("desktop-file-utils" ,desktop-file-utils)
2987 ("pkg-config" ,pkg-config)))
2988 (inputs
2989 `(("json-glib" ,json-glib)
2990 ("tdb" ,tdb)
2991 ("gnome-desktop" ,gnome-desktop)
2992 ("python" ,python)
2993 ("python-pygobject" ,python2-pygobject)
2994 ("vala" ,vala)
2995 ("gmime" ,gmime)
2996 ("nettle" ,nettle)
2997 ("itstool" ,itstool)
2998 ("adwaita-icon-theme" ,adwaita-icon-theme)
2999 ("grilo" ,grilo)
3000 ("grilo-plugins" ,grilo-plugins)
3001 ("gstreamer" ,gstreamer)
3002 ("gst-plugins-base" ,gst-plugins-base)
3003 ("gst-plugins-good" ,gst-plugins-good)
3004 ("eudev" ,eudev)
3005 ("totem-pl-parser" ,totem-pl-parser)
3006 ;;("libmtp" ,libmtp) FIXME: Not detected
3007 ("libsecret" ,libsecret)
3008 ("libsoup" ,libsoup)
3009 ("libnotify" ,libnotify)
3010 ("libpeas" ,libpeas)
3011 ("lirc" ,lirc)
3012 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3013 ;;("clutter" ,clutter)
3014 ;;("clutter-gtk" ,clutter-gtk)
3015 ;;("clutter-gst" ,clutter-gst)
3016 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3017 ("atk" ,atk)
3018 ("pango" ,pango)
3019 ("gtk+" ,gtk+)
3020 ;; TODO:
3021 ;; * libgpod
3022 ;; * mx
3023 ;; * webkit
3024 ("brasero" ,brasero)))
3025 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3026 (synopsis "Music player for GNOME")
3027 (description "Rhythmbox is a music playing application for GNOME. It
3028 supports playlists, song ratings, and any codecs installed through gstreamer.")
3029 (license license:gpl2+)))
3030
3031 (define-public eog
3032 (package
3033 (name "eog")
3034 (version "3.16.2")
3035 (source (origin
3036 (method url-fetch)
3037 (uri (string-append "mirror://gnome/sources/" name "/"
3038 (version-major+minor version) "/"
3039 name "-" version ".tar.xz"))
3040 (sha256
3041 (base32
3042 "0frw1b5jix9pffznav5s7ajjx91a8rv5lf4sjvjv3fw65mbnhbw0"))))
3043 (build-system glib-or-gtk-build-system)
3044 (arguments
3045 `(#:phases
3046 (modify-phases %standard-phases
3047 (add-after
3048 'install 'wrap-eog
3049 (lambda* (#:key outputs #:allow-other-keys)
3050 (let ((out (assoc-ref outputs "out"))
3051 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3052 (wrap-program (string-append out "/bin/eog")
3053 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3054 #t)))))
3055 (propagated-inputs
3056 `(("dconf" ,dconf)))
3057 (native-inputs
3058 `(("intltool" ,intltool)
3059 ("itstool", itstool)
3060 ("glib" ,glib "bin")
3061 ("gobject-introspection" ,gobject-introspection)
3062 ("pkg-config" ,pkg-config)))
3063 (inputs
3064 `(("gnome-desktop" ,gnome-desktop)
3065 ("shared-mime-info" ,shared-mime-info)
3066 ("adwaita-icon-theme" ,adwaita-icon-theme)
3067 ("exempi" ,exempi)
3068 ("lcms" ,lcms)
3069 ("libexif" ,libexif)
3070 ("libpeas" ,libpeas)
3071 ("libjpeg" ,libjpeg)
3072 ("librsvg" ,librsvg)
3073 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3074 ("gtk+" ,gtk+)))
3075 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3076 (synopsis "GNOME image viewer")
3077 (description "Eye of GNOME is the GNOME image viewer. It
3078 supports image conversion, rotation, and slideshows.")
3079 (license license:gpl2+)))