gnu: Add appstream-glib.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
89e34644 3;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
88f70665 9;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
49586905 11;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
8344a85e 12;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e2674357 14;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
8b877545 15;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
21f05134 17;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
6064a4e8 20;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
3920868c 22;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
735b8db6 24;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
995b7261
AE
26;;;
27;;; This file is part of GNU Guix.
28;;;
29;;; GNU Guix is free software; you can redistribute it and/or modify it
30;;; under the terms of the GNU General Public License as published by
31;;; the Free Software Foundation; either version 3 of the License, or (at
32;;; your option) any later version.
33;;;
34;;; GNU Guix is distributed in the hope that it will be useful, but
35;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37;;; GNU General Public License for more details.
38;;;
39;;; You should have received a copy of the GNU General Public License
40;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42(define-module (gnu packages gnome)
b5b73a82 43 #:use-module ((guix licenses) #:prefix license:)
995b7261
AE
44 #:use-module (guix packages)
45 #:use-module (guix download)
4a526711 46 #:use-module (guix git-download)
29a7c98a 47 #:use-module (guix utils)
995b7261 48 #:use-module (guix build-system gnu)
121de2e1 49 #:use-module (guix build-system glib-or-gtk)
dc050251 50 #:use-module (guix build-system trivial)
ed19903d 51 #:use-module (gnu packages)
ba5dd105 52 #:use-module (gnu packages admin)
75016d07 53 #:use-module (gnu packages autotools)
7b212526 54 #:use-module (gnu packages avahi)
6a180f6f 55 #:use-module (gnu packages base)
5698b8b8 56 #:use-module (gnu packages bison)
df217748 57 #:use-module (gnu packages calendar)
df12f04a 58 #:use-module (gnu packages check)
23a22af6 59 #:use-module (gnu packages cups)
6e1bb642 60 #:use-module (gnu packages curl)
c3f29bc9 61 #:use-module (gnu packages cyrus-sasl)
6e1bb642 62 #:use-module (gnu packages databases)
c769cf9f 63 #:use-module (gnu packages djvu)
ba5dd105 64 #:use-module (gnu packages dns)
121de2e1 65 #:use-module (gnu packages flex)
b4ce6300 66 #:use-module (gnu packages docbook)
329d731b 67 #:use-module (gnu packages enchant)
a56be436 68 #:use-module (gnu packages fontutils)
dfc407f3 69 #:use-module (gnu packages game-development)
fed5a689 70 #:use-module (gnu packages gettext)
995b7261 71 #:use-module (gnu packages glib)
c1354b90 72 #:use-module (gnu packages gnupg)
23a22af6 73 #:use-module (gnu packages gnuzilla)
85f5dc19 74 #:use-module (gnu packages gstreamer)
d9c1a22b 75 #:use-module (gnu packages gtk)
df217748 76 #:use-module (gnu packages gperf)
6b888eff 77 #:use-module (gnu packages guile)
34b979b9 78 #:use-module (gnu packages openldap)
c1354b90 79 #:use-module (gnu packages pdf)
75016d07 80 #:use-module (gnu packages polkit)
5698b8b8 81 #:use-module (gnu packages popt)
c1354b90 82 #:use-module (gnu packages ghostscript)
b645146f 83 #:use-module (gnu packages ibus)
9cc98f8a 84 #:use-module (gnu packages iso-codes)
85f5dc19 85 #:use-module (gnu packages libcanberra)
b64e217f 86 #:use-module (gnu packages libunistring)
88f70665 87 #:use-module (gnu packages linux)
75016d07 88 #:use-module (gnu packages libusb)
4e3fc547 89 #:use-module (gnu packages lirc)
7b212526 90 #:use-module (gnu packages lua)
e55354b8 91 #:use-module (gnu packages image)
ba5dd105 92 #:use-module (gnu packages networking)
b645146f 93 #:use-module (gnu packages password-utils)
de1215e2 94 #:use-module (gnu packages pcre)
27477d2d 95 #:use-module (gnu packages perl)
f70d8383 96 #:use-module (gnu packages photo)
995b7261 97 #:use-module (gnu packages pkg-config)
23a22af6 98 #:use-module (gnu packages pulseaudio)
995b7261 99 #:use-module (gnu packages python)
cce0da5e 100 #:use-module (gnu packages rdesktop)
75016d07 101 #:use-module (gnu packages scanner)
4a1bf090 102 #:use-module (gnu packages ssh)
85f5dc19 103 #:use-module (gnu packages xml)
200726ed 104 #:use-module (gnu packages gl)
1dd26275 105 #:use-module (gnu packages compression)
cce0da5e 106 #:use-module (gnu packages spice)
8f9ac901 107 #:use-module (gnu packages tex)
a7fd7b68 108 #:use-module (gnu packages tls)
6e1bb642 109 #:use-module (gnu packages web)
4a79e256 110 #:use-module (gnu packages webkit)
b64e217f 111 #:use-module (gnu packages xiph)
fecbf86e 112 #:use-module (gnu packages xorg)
ea57378f 113 #:use-module (gnu packages xdisorg)
ba421ab7 114 #:use-module (gnu packages freedesktop)
1e7464a9 115 #:use-module (gnu packages mail)
89e34644 116 #:use-module (gnu packages kerberos)
54021cd8 117 #:use-module (gnu packages multiprecision)
1e7464a9
DH
118 #:use-module (gnu packages backup)
119 #:use-module (gnu packages nettle)
c024ae36 120 #:use-module (gnu packages ncurses)
3dc8828f
SB
121 #:use-module (gnu packages video)
122 #:use-module (gnu packages cdrom)
123 #:use-module (gnu packages samba)
f47ba77e 124 #:use-module (gnu packages readline)
0bd3597b 125 #:use-module (gnu packages fonts)
b64e217f
MW
126 #:use-module (gnu packages qemu)
127 #:use-module (gnu packages zip)
c024ae36 128 #:use-module (srfi srfi-1))
85f5dc19
AE
129
130(define-public brasero
131 (package
132 (name "brasero")
e8627cd9 133 (version "3.12.1")
85f5dc19
AE
134 (source (origin
135 (method url-fetch)
e8627cd9
DH
136 (uri (string-append "mirror://gnome/sources/" name "/"
137 (version-major+minor version) "/"
138 name "-" version ".tar.xz"))
85f5dc19
AE
139 (sha256
140 (base32
e8627cd9 141 "09vi2hyhl0bz7imv3ky6h7x5m3d546n968wcghydwrkvwm9ylpls"))))
1c40e3b7 142 (build-system glib-or-gtk-build-system)
e8627cd9
DH
143 (arguments
144 `(#:configure-flags (list
145 (string-append "--with-girdir="
146 (assoc-ref %outputs "out")
147 "/share/gir-1.0")
148 (string-append "--with-typelibdir="
149 (assoc-ref %outputs "out")
150 "/lib/girepository-1.0"))))
85f5dc19
AE
151 (propagated-inputs
152 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
153 (native-inputs
154 `(("intltool" ,intltool)
426adbe8 155 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 156 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 157 ("pkg-config" ,pkg-config)))
85f5dc19
AE
158 (inputs
159 `(("glib" ,glib)
160 ("gnome-doc-utils" ,gnome-doc-utils)
161 ("gstreamer" ,gstreamer)
162 ("gst-plugins-base" ,gst-plugins-base)
163 ("gtk+" ,gtk+)
85f5dc19
AE
164 ("itstool" ,itstool)
165 ("libcanberra" ,libcanberra)
166 ("libice" ,libice)
167 ("libnotify" ,libnotify)
168 ("libsm" ,libsm)
e8627cd9
DH
169 ("libxml2" ,libxml2)
170 ("nettle" ,nettle)
171 ("totem-pl-parser" ,totem-pl-parser)))
85f5dc19
AE
172 (home-page "https://projects.gnome.org/brasero/")
173 (synopsis "CD/DVD burning tool for Gnome")
174 (description "Brasero is an application to burn CD/DVD for the Gnome
175Desktop. It is designed to be as simple as possible and has some unique
176features to enable users to create their discs easily and quickly.")
1dd26275 177 (license license:gpl2+)))
995b7261 178
a56be436
RJ
179(define-public dia
180 ;; This version from GNOME's repository includes fixes for compiling with
181 ;; recent versions of the build tools. The latest activity on the
182 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
183 ;; fixes in 2016.
184 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
185 (package
186 (name "dia")
187 (version (string-append "0.97.2-" (string-take commit 7)))
188 (source (origin
189 (method git-fetch)
190 (uri (git-reference
191 (url "https://git.gnome.org/browse/dia")
192 (commit commit)))
193 (file-name (string-append name "-" version "-checkout"))
194 (sha256
195 (base32
196 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
197 (build-system gnu-build-system)
198 (inputs
199 `(("glib" ,glib "bin")
200 ("pango" ,pango)
201 ("gdk-pixbuf" ,gdk-pixbuf)
202 ("gtk+" ,gtk+-2)
203 ("libxml2" ,libxml2)
204 ("freetype" ,freetype)
205 ("libart-lgpl" ,libart-lgpl)))
206 (native-inputs
207 `(("intltool" ,intltool)
208 ("pkg-config" ,pkg-config)
209 ("automake" ,automake)
210 ("autoconf" ,autoconf)
211 ("libtool" ,libtool)
212 ("perl" ,perl)
213 ("python-wrapper" ,python-wrapper)))
214 (arguments
215 `(#:phases
216 (modify-phases %standard-phases
217 (add-before 'configure 'run-autogen
218 (lambda _
219 (system* "sh" "autogen.sh"))))))
220 (home-page "https://wiki.gnome.org/Apps/Dia")
221 (synopsis "Diagram creation for GNOME")
222 (description "Dia can be used to draw different types of diagrams, and
223includes support for UML static structure diagrams (class diagrams), entity
224relationship modeling, and network diagrams. The program supports various file
225formats like PNG, SVG, PDF and EPS.")
226 (license license:gpl2+))))
227
7aab13f1
ML
228(define-public gnome-common
229 (package
230 (name "gnome-common")
af83490d 231 (version "3.18.0")
7aab13f1
ML
232 (source
233 (origin
234 (method url-fetch)
235 (uri (string-append "mirror://gnome/sources/" name "/"
236 (version-major+minor version) "/"
237 name "-" version ".tar.xz"))
238 (sha256
239 (base32
af83490d 240 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
241 (build-system gnu-build-system)
242 (home-page "https://www.gnome.org/")
243 (synopsis "Bootstrap GNOME modules built from Git")
244 (description "gnome-common contains various files needed to bootstrap
245GNOME modules built from Git. It contains a common \"autogen.sh\" script that
246can be used to configure a source directory checked out from Git and some
247commonly used macros.")
248 (license license:gpl2+)))
249
9cc98f8a
CR
250(define-public gnome-desktop
251 (package
252 (name "gnome-desktop")
c01deb86 253 (version "3.22.2")
9cc98f8a
CR
254 (source
255 (origin
256 (method url-fetch)
b38e45d8
EB
257 (uri (string-append "mirror://gnome/sources/" name "/"
258 (version-major+minor version) "/"
9cc98f8a
CR
259 name "-" version ".tar.xz"))
260 (sha256
261 (base32
c01deb86 262 "074yjz4g9gii045v2pl1ad34hcg92ci04ynxqcabwnf3lvvypmsi"))))
9cc98f8a
CR
263 (build-system gnu-build-system)
264 (native-inputs
a8340482
SB
265 `(("gobject-introspection" ,gobject-introspection)
266 ("itstool" ,itstool)
bcb354ad
SB
267 ("intltool" ,intltool)
268 ("pkg-config" ,pkg-config)
269 ("xmllint" ,libxml2)))
a8340482
SB
270 (propagated-inputs
271 ;; Required by gnome-desktop-3.0.pc.
272 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
273 ("gtk+" ,gtk+)))
9cc98f8a
CR
274 (inputs
275 `(("gdk-pixbuf" ,gdk-pixbuf)
276 ("glib" ,glib)
9cc98f8a 277 ("iso-codes" ,iso-codes)
9cc98f8a
CR
278 ("libx11" ,libx11)
279 ("libxext" ,libxext)
280 ("libxkbfile" ,libxkbfile)
281 ("libxrandr" ,libxrandr)
282 ("xkeyboard-config" ,xkeyboard-config)))
283 (home-page "https://www.gnome.org/")
284 (synopsis
35b9e423 285 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
286 (description
287 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
288on the desktop, but that cannot live in the platform for various reasons.
289There is no API or ABI guarantee, although we are doing our best to provide
290stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
291
292The gnome-about program helps find which version of GNOME is installed.")
293 ; Some bits under the LGPL.
1dd26275 294 (license license:gpl2+)))
9cc98f8a 295
995b7261
AE
296(define-public gnome-doc-utils
297 (package
298 (name "gnome-doc-utils")
299 (version "0.20.10")
300 (source
301 (origin
302 (method url-fetch)
b38e45d8
EB
303 (uri (string-append "mirror://gnome/sources/" name "/"
304 (version-major+minor version) "/"
995b7261
AE
305 name "-" version ".tar.xz"))
306 (sha256
307 (base32
308 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
309 (build-system gnu-build-system)
c4c4cc05 310 (native-inputs
995b7261 311 `(("intltool" ,intltool)
b4ce6300 312 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 313 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
314 ("libxml2" ,libxml2)
315 ("libxslt" ,libxslt)
316 ("pkg-config" ,pkg-config)
317 ("python-2" ,python-2)))
995b7261
AE
318 (home-page "https://wiki.gnome.org/GnomeDocUtils")
319 (synopsis
320 "Documentation utilities for the Gnome project")
321 (description
322 "Gnome-doc-utils is a collection of documentation utilities for the
323Gnome project. It includes xml2po tool which makes it easier to translate
324and keep up to date translations of documentation.")
1dd26275 325 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 326
8ff49011
RW
327(define-public gcr
328 (package
329 (name "gcr")
6983ba56 330 (version "3.20.0")
8ff49011
RW
331 (source (origin
332 (method url-fetch)
333 (uri (string-append "mirror://gnome/sources/" name "/"
334 (version-major+minor version) "/"
335 name "-" version ".tar.xz"))
336 (sha256
337 (base32
6983ba56 338 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))))
8ff49011
RW
339 (build-system gnu-build-system)
340 (arguments
341 '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
342 ;not exist
343 #:phases (modify-phases %standard-phases
344 (add-before
345 'check 'pre-check
346 (lambda* (#:key inputs #:allow-other-keys)
347 (substitute* "build/tap-driver"
348 (("/usr/bin/env python") (which "python"))))))))
349 (inputs
350 `(("dbus" ,dbus)
351 ("gnupg" ,gnupg) ;called as a child process during tests
352 ("libgcrypt" ,libgcrypt)))
353 (native-inputs
354 `(("python" ,python-2) ;for tests
355 ("pkg-config" ,pkg-config)
356 ("glib" ,glib "bin")
2af4f5b0
SB
357 ("gobject-introspection" ,gobject-introspection)
358 ("intltool" ,intltool)
359 ("xsltproc" ,libxslt)))
8ff49011
RW
360 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
361 (propagated-inputs
362 `(("p11-kit" ,p11-kit)
363 ("glib" ,glib)
364 ("gtk+" ,gtk+)))
365 (home-page "http://www.gnome.org")
366 (synopsis "Libraries for displaying certificates and accessing key stores")
367 (description
368 "The GCR package contains libraries used for displaying certificates and
369accessing key stores. It also provides the viewer for crypto files on the
370GNOME Desktop.")
371 (license license:lgpl2.1+)))
372
c1354b90
LC
373(define-public libgnome-keyring
374 (package
375 (name "libgnome-keyring")
5e8aec2c 376 (version "3.12.0")
c1354b90
LC
377 (source (origin
378 (method url-fetch)
b38e45d8
EB
379 (uri (string-append "mirror://gnome/sources/" name "/"
380 (version-major+minor version) "/"
381 name "-" version ".tar.xz"))
c1354b90
LC
382 (sha256
383 (base32
5e8aec2c 384 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 385 (build-system gnu-build-system)
c1354b90 386 (inputs
c4c4cc05 387 `(("libgcrypt" ,libgcrypt)
c1354b90 388 ("dbus" ,dbus)))
c4c4cc05
JD
389 (native-inputs
390 `(("pkg-config" ,pkg-config)
426adbe8 391 ("glib" ,glib "bin")
c4c4cc05 392 ("intltool" ,intltool)))
c1354b90
LC
393 (propagated-inputs
394 ;; Referred to in .h files and .pc.
395 `(("glib" ,glib)))
396 (home-page "http://www.gnome.org")
397 (synopsis "Accessing passwords from the GNOME keyring")
398 (description
399 "Client library to access passwords from the GNOME keyring.")
400
401 ;; Though a couple of files are LGPLv2.1+.
1dd26275 402 (license license:lgpl2.0+)))
c1354b90 403
e99a3d6f
RW
404(define-public gnome-keyring
405 (package
406 (name "gnome-keyring")
6983ba56 407 (version "3.20.0")
e99a3d6f
RW
408 (source (origin
409 (method url-fetch)
410 (uri (string-append "mirror://gnome/sources/" name "/"
411 (version-major+minor version) "/"
412 name "-" version ".tar.xz"))
413 (sha256
414 (base32
6983ba56 415 "16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw"))))
e99a3d6f
RW
416 (build-system gnu-build-system)
417 (arguments
418 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
419 ;not exist
420 #:configure-flags
421 (list
422 (string-append "--with-pkcs11-config="
423 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
424 (string-append "--with-pkcs11-modules="
425 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
426 #:phases
427 (modify-phases %standard-phases
428 (add-before
429 'check 'pre-check
430 (lambda* (#:key inputs #:allow-other-keys)
431 (substitute* "build/tap-driver"
432 (("/usr/bin/env python") (which "python")))))
433 (add-before
434 'configure 'fix-docbook
435 (lambda* (#:key inputs #:allow-other-keys)
436 (substitute* "docs/Makefile.am"
437 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
438 (string-append (assoc-ref inputs "docbook-xsl")
439 "/xml/xsl/docbook-xsl-"
440 ,(package-version docbook-xsl)
441 "/manpages/docbook.xsl")))
442 (setenv "XML_CATALOG_FILES"
443 (string-append (assoc-ref inputs "docbook-xml")
444 "/xml/dtd/docbook/catalog.xml")))))))
445 (inputs
446 `(("libgcrypt" ,libgcrypt)
1a0b2d82 447 ("linux-pam" ,linux-pam)
e99a3d6f
RW
448 ("dbus" ,dbus)
449 ("gcr" ,gcr)))
450 (native-inputs
451 `(("pkg-config" ,pkg-config)
452 ("glib" ,glib "bin")
453 ("python" ,python-2) ;for tests
454 ("intltool" ,intltool)
455 ("autoconf" ,autoconf)
456 ("automake" ,automake)
457 ("libxslt" ,libxslt) ;for documentation
458 ("docbook-xml" ,docbook-xml-4.2)
459 ("docbook-xsl" ,docbook-xsl)))
460 (home-page "http://www.gnome.org")
461 (synopsis "Daemon to store passwords and encryption keys")
462 (description
463 "gnome-keyring is a program that keeps passwords and other secrets for
464users. It is run as a daemon in the session, similar to ssh-agent, and other
465applications locate it via an environment variable or D-Bus.
466
467The program can manage several keyrings, each with its own master password,
468and there is also a session keyring which is never stored to disk, but
469forgotten when the session ends.")
470 (license license:lgpl2.1+)))
471
c1354b90
LC
472(define-public evince
473 (package
474 (name "evince")
0acaac9e 475 (version "3.22.1")
c1354b90
LC
476 (source (origin
477 (method url-fetch)
b38e45d8
EB
478 (uri (string-append "mirror://gnome/sources/" name "/"
479 (version-major+minor version) "/"
480 name "-" version ".tar.xz"))
c1354b90
LC
481 (sha256
482 (base32
0acaac9e 483 "0713mcrym5ykhl5smqxi6m9578gz3nkibmkmc794amss7gdkkm7k"))))
121de2e1 484 (build-system glib-or-gtk-build-system)
c1354b90
LC
485 (arguments
486 `(#:configure-flags '("--disable-nautilus")
487
488 ;; FIXME: Tests fail with:
489 ;; ImportError: No module named gi.repository
490 ;; Where should that module come from?
554b2dac
SB
491 #:tests? #f
492 #:phases
493 (modify-phases %standard-phases
494 (add-before 'install 'skip-gtk-update-icon-cache
495 ;; Don't create 'icon-theme.cache'.
496 (lambda _
497 (substitute* "data/Makefile"
498 (("gtk-update-icon-cache") "true"))
499 #t)))))
c1354b90
LC
500 (inputs
501 `(("libspectre" ,libspectre)
c769cf9f 502 ("djvulibre" ,djvulibre)
c1354b90
LC
503 ("ghostscript" ,ghostscript)
504 ("poppler" ,poppler)
c769cf9f
SB
505 ("libtiff" ,libtiff)
506 ;; TODO:
507 ;; Add libgxps for XPS support.
508 ;; Build libkpathsea as a shared library for DVI support.
509 ;; ("libkpathsea" ,texlive-bin)
510 ("gnome-desktop" ,gnome-desktop)
c1354b90
LC
511 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
512 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 513 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
514 ("gdk-pixbuf" ,gdk-pixbuf)
515 ("atk" ,atk)
516 ("pango" ,pango)
517 ("gtk+" ,gtk+)
518 ("glib" ,glib)
519 ("libxml2" ,libxml2)
c1354b90
LC
520 ("libsm" ,libsm)
521 ("libice" ,libice)
96e42467 522 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
523 ("dconf" ,dconf)
524 ("libcanberra" ,libcanberra)
c769cf9f 525 ("libsecret" ,libsecret)
c1354b90
LC
526 ;; For tests.
527 ("dogtail" ,python2-dogtail)))
96e42467 528 (native-inputs
bcb354ad
SB
529 `(("itstool" ,itstool)
530 ("intltool" ,intltool)
426adbe8 531 ("glib" ,glib "bin")
bcb354ad
SB
532 ("pkg-config" ,pkg-config)
533 ("xmllint" ,libxml2)))
c1354b90
LC
534 (home-page
535 "http://www.gnome.org/projects/evince/")
536 (synopsis "GNOME's document viewer")
537 (description
538 "Evince is a document viewer for multiple document formats. It
539currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
540of Evince is to replace the multiple document viewers that exist
96e42467 541on the GNOME Desktop with a single simple application.")
1dd26275 542 (license license:gpl2+)))
c1354b90 543
22e32e69
AE
544(define-public gsettings-desktop-schemas
545 (package
546 (name "gsettings-desktop-schemas")
707ae4e6 547 (version "3.22.0")
22e32e69
AE
548 (source
549 (origin
550 (method url-fetch)
551 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 552 (version-major+minor version) "/"
22e32e69
AE
553 name "-" version ".tar.xz"))
554 (sha256
555 (base32
707ae4e6 556 "1qgalzqwg0fl0n22vslqcsnsmj9kc54qj25ib16rxaf36jxcf1hg"))))
22e32e69
AE
557 (build-system gnu-build-system)
558 (inputs
c4c4cc05
JD
559 `(("glib" ,glib)))
560 (native-inputs
561 `(("intltool" ,intltool)
426adbe8 562 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 563 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
564 ("pkg-config" ,pkg-config)))
565 (home-page "https://launchpad.net/gsettings-desktop-schemas")
566 (synopsis
567 "GNOME settings for various desktop components")
568 (description
569 "Gsettings-desktop-schemas contains a collection of GSettings schemas
570for settings shared by various components of the GNOME desktop.")
1dd26275 571 (license license:lgpl2.1+)))
22e32e69 572
27477d2d
AE
573(define-public icon-naming-utils
574 (package
575 (name "icon-naming-utils")
576 (version "0.8.90")
577 (source
578 (origin
579 (method url-fetch)
5cc3096c 580 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
581 version ".tar.bz2"))
582 (sha256
583 (base32
584 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
585 (build-system gnu-build-system)
586 (inputs
587 `(("perl" ,perl)
588 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
589 (arguments
590 '(#:phases
591 (alist-cons-after
592 'install 'set-load-paths
593 ;; Tell 'icon-name-mapping' where XML::Simple is.
594 (lambda* (#:key outputs #:allow-other-keys)
595 (let* ((out (assoc-ref outputs "out"))
596 (prog (string-append out "/libexec/icon-name-mapping")))
597 (wrap-program
598 prog
599 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
600 %standard-phases)))
27477d2d
AE
601 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
602 (synopsis
603 "Utility to implement the Freedesktop Icon Naming Specification")
604 (description
605 "To help with the transition to the Freedesktop Icon Naming
606Specification, the icon naming utility maps the icon names used by the
607GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 608 (license license:lgpl2.1+)))
27477d2d 609
686e025d
SB
610(define-public desktop-file-utils
611 (package
612 (name "desktop-file-utils")
562a79de 613 (version "0.23")
686e025d
SB
614 (source (origin
615 (method url-fetch)
5cc3096c 616 (uri (string-append "https://www.freedesktop.org/software/" name
686e025d
SB
617 "/releases/" name "-" version ".tar.xz"))
618 (sha256
619 (base32
562a79de 620 "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc"))))
686e025d
SB
621 (build-system gnu-build-system)
622 (native-inputs
623 `(("pkg-config" ,pkg-config)))
624 (inputs
625 `(("glib" ,glib)))
626 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
627 (synopsis "Utilities for working with desktop entries")
628 (description
629 "This package contains a few command line utilities for working with
630desktop entries:
631
632desktop-file-validate: validates a desktop file and prints warnings/errors
633 about desktop entry specification violations.
634
635desktop-file-install: installs a desktop file to the applications directory,
636 optionally munging it a bit in transit.
637
638update-desktop-database: updates the database containing a cache of MIME types
639 handled by desktop files.")
640 (license license:gpl2+)))
641
7d3f3651
AE
642(define-public gnome-icon-theme
643 (package
644 (name "gnome-icon-theme")
b32f58dd 645 (version "3.12.0")
7d3f3651
AE
646 (source
647 (origin
648 (method url-fetch)
649 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 650 (version-major+minor version) "/"
7d3f3651
AE
651 name "-" version ".tar.xz"))
652 (sha256
653 (base32
b32f58dd 654 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 655 (build-system gnu-build-system)
5613c27d
SB
656 (arguments
657 '(#:configure-flags
658 ;; Don't create 'icon-theme.cache'.
659 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
660 (true (string-append coreutils "/bin/true")))
661 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 662 (native-inputs
5613c27d 663 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
664 ("intltool" ,intltool)
665 ("pkg-config" ,pkg-config)))
7d3f3651
AE
666 (home-page "http://art.gnome.org/")
667 (synopsis
668 "GNOME icon theme")
669 (description
670 "Icons for the GNOME desktop.")
1dd26275 671 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 672
14eeefa2
SB
673;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
674(define-public adwaita-icon-theme
675 (package (inherit gnome-icon-theme)
676 (name "adwaita-icon-theme")
ea2c1582 677 (version "3.22.0")
14eeefa2
SB
678 (source (origin
679 (method url-fetch)
680 (uri (string-append "mirror://gnome/sources/" name "/"
681 (version-major+minor version) "/"
682 name "-" version ".tar.xz"))
683 (sha256
684 (base32
ea2c1582 685 "1dyw8mm72wfpkn83vdqr0ifv5yhy565jhxrcjsd83nc7c3igd2y1"))))
5613c27d
SB
686 (native-inputs
687 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 688
9167f8e6
LC
689(define-public shared-mime-info
690 (package
691 (name "shared-mime-info")
b43b584f 692 (version "1.8")
9167f8e6
LC
693 (source (origin
694 (method url-fetch)
5cc3096c 695 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 696 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
697 (sha256
698 (base32
b43b584f 699 "1sc96lv9dp1lkvs8dh3ngm3hbjb274d363dl9avhb61il3qmxx9a"))))
9167f8e6
LC
700 (build-system gnu-build-system)
701 (arguments
702 ;; The build system appears not to be parallel-safe.
703 '(#:parallel-build? #f))
704 (inputs
705 `(("glib" ,glib)
c4c4cc05 706 ("libxml2" ,libxml2)))
9167f8e6 707 (native-inputs
c4c4cc05
JD
708 `(("intltool" ,intltool)
709 ("pkg-config" ,pkg-config)))
9167f8e6
LC
710 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
711 (synopsis "Database of common MIME types")
712 (description
713 "The shared-mime-info package contains the core database of common types
714and the update-mime-database command used to extend it. It requires glib2 to
715be installed for building the update command. Additionally, it uses intltool
716for translations, though this is only a dependency for the maintainers. This
717database is translated at Transifex.")
1dd26275 718 (license license:gpl2+)))
9167f8e6 719
bef4dd92
AE
720(define-public hicolor-icon-theme
721 (package
722 (name "hicolor-icon-theme")
b62a0070 723 (version "0.15")
bef4dd92
AE
724 (source
725 (origin
726 (method url-fetch)
5cc3096c 727 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 728 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
729 (sha256
730 (base32
b62a0070 731 "1k1kf2c5zbqh31nglc3nxs9j6wr083k9kjyql8p22ccc671mmi4w"))))
bef4dd92
AE
732 (build-system gnu-build-system)
733 (arguments
734 `(#:tests? #f)) ; no check target
735 (home-page "http://icon-theme.freedesktop.org/releases/")
736 (synopsis
737 "Freedesktop icon theme")
738 (description
739 "Freedesktop icon theme.")
1dd26275 740 (license license:gpl2)))
bef4dd92 741
d9c1a22b
AE
742(define-public libnotify
743 (package
744 (name "libnotify")
195bfa68 745 (version "0.7.7")
d9c1a22b
AE
746 (source
747 (origin
748 (method url-fetch)
749 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 750 (version-major+minor version) "/"
d9c1a22b
AE
751 name "-" version ".tar.xz"))
752 (sha256
753 (base32
195bfa68 754 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b
AE
755 (build-system gnu-build-system)
756 (inputs
757 `(("gdk-pixbuf" ,gdk-pixbuf)
758 ("glib" ,glib)
759 ("gtk+" ,gtk+)
c4c4cc05
JD
760 ("libpng" ,libpng)))
761 (native-inputs
426adbe8 762 `(("pkg-config" ,pkg-config)
277a7d82
JN
763 ("glib" ,glib "bin")
764 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
765 (home-page "https://developer-next.gnome.org/libnotify/")
766 (synopsis
767 "GNOME desktop notification library")
768 (description
769 "Libnotify is a library that sends desktop notifications to a
35b9e423 770notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
771notifications can be used to inform the user about an event or display
772some form of information without getting in the user's way.")
1dd26275 773 (license license:lgpl2.1+)))
7a8605ce
CR
774
775(define-public libpeas
776 (package
777 (name "libpeas")
0dd6aed9 778 (version "1.20.0")
7a8605ce
CR
779 (source
780 (origin
781 (method url-fetch)
782 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 783 (version-major+minor version) "/"
7a8605ce
CR
784 name "-" version ".tar.xz"))
785 (sha256
786 (base32
0dd6aed9 787 "0m6k6fcrx40n92nc1cy3z72vs1ja49sb58dj3fjp40605pzgz4pk"))))
7a8605ce 788 (build-system gnu-build-system)
7a8605ce 789 (inputs
2ed6522a
SB
790 `(("gtk+" ,gtk+)
791 ("glade" ,glade3)
792 ("libxml2" ,libxml2) ; XXX: required by gladeui-2.0.pc
793 ("python" ,python)
794 ("python-pygobject" ,python-pygobject)))
141aed80
LC
795 (native-inputs
796 `(("pkg-config" ,pkg-config)
93622993 797 ("glib:bin" ,glib "bin")
141aed80
LC
798 ("gobject-introspection" ,gobject-introspection)
799 ("intltool" ,intltool)))
7a8605ce
CR
800 (home-page "https://wiki.gnome.org/Libpeas")
801 (synopsis "GObject plugin system")
802 (description
35b9e423 803 "Libpeas is a gobject-based plugins engine, and is targetted at giving
7a8605ce
CR
804every application the chance to assume its own extensibility. It also has a
805set of features including, but not limited to: multiple extension points; on
806demand (lazy) programming language support for C, Python and JS; simplicity of
e881752c 807the API.")
1dd26275 808 (license license:lgpl2.0+)))
ed19903d
JD
809
810(define-public gtkglext
811 (package
812 (name "gtkglext")
813 (version "1.2.0")
814 (source (origin
815 (method url-fetch)
0f971a04 816 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
817 version "/gtkglext-" version ".tar.gz"))
818 (sha256
819 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
820 (patches (search-patches
821 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d
JD
822 (build-system gnu-build-system)
823 (inputs `(("gtk+" ,gtk+-2)
824 ("mesa" ,mesa)
cc8b02f4 825 ("glu" ,glu)
ed19903d
JD
826 ("libx11" ,libx11)
827 ("libxt" ,libxt)))
426adbe8
LC
828 (native-inputs `(("pkg-config" ,pkg-config)
829 ("glib" ,glib "bin")))
a83b6a06 830 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 831 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 832 (synopsis "OpenGL extension to GTK+")
35b9e423 833 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
834additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
835API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 836 (license license:lgpl2.1+)))
3600420e
JD
837
838(define-public glade3
839 (package
840 (name "glade")
6983ba56 841 (version "3.20.0")
b38e45d8
EB
842 (source (origin
843 (method url-fetch)
844 (uri (string-append "mirror://gnome/sources/" name "/"
845 (version-major+minor version) "/"
f5ca44b8 846 name "-" version ".tar.xz"))
3600420e 847 (sha256
f714d9fe 848 (base32
6983ba56
SB
849 "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2"))))
850 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
851 (arguments
852 `(#:tests? #f ; needs X, GL, and software rendering
853 #:phases
854 (modify-phases %standard-phases
855 (add-before 'configure 'fix-docbook
856 (lambda* (#:key inputs #:allow-other-keys)
857 (substitute* "man/Makefile.in"
858 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
859 (string-append (assoc-ref inputs "docbook-xsl")
860 "/xml/xsl/docbook-xsl-"
861 ,(package-version docbook-xsl)
862 "/manpages/docbook.xsl")))
863 #t)))))
3600420e 864 (inputs
f5ca44b8 865 `(("gtk+" ,gtk+)
3600420e
JD
866 ("libxml2" ,libxml2)))
867 (native-inputs
868 `(("intltool" ,intltool)
f5ca44b8
RW
869 ("itstool" ,itstool)
870 ("libxslt" ,libxslt) ;for xsltproc
871 ("docbook-xml" ,docbook-xml-4.2)
872 ("docbook-xsl" ,docbook-xsl)
873 ("python" ,python-2)
3600420e
JD
874 ("pkg-config" ,pkg-config)))
875 (home-page "https://glade.gnome.org")
876 (synopsis "GTK+ rapid application development tool")
877 (description "Glade is a rapid application development (RAD) tool to
878enable quick & easy development of user interfaces for the GTK+ toolkit and
879the GNOME desktop environment.")
1dd26275
LC
880 (license license:lgpl2.0+)))
881
882(define-public libcroco
883 (package
884 (name "libcroco")
6983ba56 885 (version "0.6.11")
1dd26275
LC
886 (source (origin
887 (method url-fetch)
b38e45d8
EB
888 (uri (string-append "mirror://gnome/sources/" name "/"
889 (version-major+minor version) "/"
890 name "-" version ".tar.xz"))
1dd26275
LC
891 (sha256
892 (base32
6983ba56 893 "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk"))))
1dd26275
LC
894 (build-system gnu-build-system)
895 (native-inputs
896 `(("pkg-config" ,pkg-config)))
897 (inputs
898 `(("glib" ,glib)
899 ("libxml2" ,libxml2)
900 ("zlib" ,zlib)))
901 (home-page "https://github.com/GNOME/libcroco")
902 (synopsis "CSS2 parsing and manipulation library")
903 (description
904 "Libcroco is a standalone CSS2 parsing and manipulation library.
905The parser provides a low level event driven SAC-like API and a CSS object
906model like API. Libcroco provides a CSS2 selection engine and an experimental
907XML/CSS rendering engine.")
908
909 ;; LGPLv2.1-only.
910 (license license:lgpl2.1)))
25178594
LC
911
912(define-public libgsf
913 (package
914 (name "libgsf")
ef51eb99 915 (version "1.14.41")
25178594
LC
916 (source (origin
917 (method url-fetch)
b38e45d8
EB
918 (uri (string-append "mirror://gnome/sources/" name "/"
919 (version-major+minor version) "/"
920 name "-" version ".tar.xz"))
25178594
LC
921 (sha256
922 (base32
ef51eb99 923 "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm"))))
25178594
LC
924 (build-system gnu-build-system)
925 (native-inputs
926 `(("intltool" ,intltool)
927 ("pkg-config" ,pkg-config)))
928 (inputs
929 `(("python" ,python)
930 ("zlib" ,zlib)
931 ("bzip2" ,bzip2)))
932 (propagated-inputs
933 `(("gdk-pixbuf" ,gdk-pixbuf)
934 ("glib" ,glib)
935 ("libxml2" ,libxml2)))
936 (home-page "http://www.gnome.org/projects/libgsf")
937 (synopsis "GNOME's Structured File Library")
938 (description
939 "Libgsf aims to provide an efficient extensible I/O abstraction for
940dealing with different structured file formats.")
941
942 ;; LGPLv2.1-only.
943 (license license:lgpl2.1)))
63016e7c
LC
944
945(define-public librsvg
946 (package
947 (name "librsvg")
27880b5e 948 (version "2.40.16")
63016e7c
LC
949 (source (origin
950 (method url-fetch)
b38e45d8
EB
951 (uri (string-append "mirror://gnome/sources/" name "/"
952 (version-major+minor version) "/"
953 name "-" version ".tar.xz"))
63016e7c
LC
954 (sha256
955 (base32
27880b5e 956 "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl"))))
63016e7c
LC
957 (build-system gnu-build-system)
958 (arguments
ce2df078 959 `(#:phases
63016e7c 960 (alist-cons-before
f3045a5b 961 'configure 'pre-configure
63016e7c 962 (lambda* (#:key inputs #:allow-other-keys)
63016e7c
LC
963 (substitute* "gdk-pixbuf-loader/Makefile.in"
964 ;; By default the gdk-pixbuf loader is installed under
965 ;; gdk-pixbuf's prefix. Work around that.
966 (("gdk_pixbuf_moduledir = .*$")
967 (string-append "gdk_pixbuf_moduledir = "
dc67ebd2 968 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
63016e7c 969 "loaders\n"))
f3045a5b 970 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
63016e7c 971 (("gdk_pixbuf_cache_file = .*$")
f3045a5b
SB
972 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))
973 %standard-phases)))
63016e7c
LC
974 (native-inputs
975 `(("pkg-config" ,pkg-config)
44add1ce 976 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
977 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
978 (inputs
979 `(("pango" ,pango)
980 ("libcroco" ,libcroco)
981 ("bzip2" ,bzip2)
982 ("libgsf" ,libgsf)
983 ("libxml2" ,libxml2)))
984 (propagated-inputs
985 ;; librsvg-2.0.pc refers to all of that.
986 `(("cairo" ,cairo)
987 ("gdk-pixbuf" ,gdk-pixbuf)
988 ("glib" ,glib)))
989 (home-page "https://wiki.gnome.org/LibRsvg")
990 (synopsis "Render SVG files using Cairo")
991 (description
35b9e423 992 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c
LC
993library.")
994 (license license:lgpl2.0+)))
5698b8b8
JD
995
996(define-public libidl
997 (package
998 (name "libidl")
999 (version "0.8.14")
1000 (source (origin
1001 (method url-fetch)
1002 (uri (let ((upstream-name "libIDL"))
b38e45d8
EB
1003 (string-append "mirror://gnome/sources/" upstream-name "/"
1004 (version-major+minor version) "/"
1005 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1006 (sha256
1007 (base32
1008 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
1009 (build-system gnu-build-system)
1010 (inputs `(("glib" ,glib)))
1011 (native-inputs
1012 `(("pkg-config" ,pkg-config)
b3546174 1013 ("flex" ,flex)
5698b8b8
JD
1014 ("bison" ,bison)))
1015 (home-page "http://freecode.com/projects/libidl")
1016 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 1017 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
1018Definition Language (idl) files, which is a specification for defining
1019portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 1020GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 1021functionality was designed to be as reusable and portable as possible.")
5698b8b8
JD
1022 (license license:lgpl2.0+)))
1023
1024
1025(define-public orbit2
1026 (package
1027 (name "orbit2")
1028 (version "2.14.19")
1029 (source (origin
1030 (method url-fetch)
2e6ecc5c 1031 (uri (let ((upstream-name "ORBit2"))
a124bbd2 1032 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1033 (version-major+minor version) "/"
1034 upstream-name "-" version ".tar.bz2")))
5698b8b8 1035 (sha256
a124bbd2
SB
1036 (base32
1037 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
1038 (build-system gnu-build-system)
1039 (arguments
a124bbd2
SB
1040 `(#:configure-flags
1041 ;; The programmer kindly gives us a hook to turn off deprecation
1042 ;; warnings ...
1043 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1044 ;; ... which they then completly ignore !!
1045 #:phases
1046 (alist-cons-before
1047 'configure 'ignore-deprecations
1048 (lambda _
1049 (substitute* "linc2/src/Makefile.in"
1050 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1051 %standard-phases)))
5698b8b8
JD
1052 (inputs `(("glib" ,glib)
1053 ("libidl" ,libidl)))
1054 (native-inputs
1055 `(("pkg-config" ,pkg-config)))
1056 (home-page "https://projects.gnome.org/orbit2/")
1057 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 1058 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 1059featuring mature C, C++ and Python bindings.")
a124bbd2
SB
1060 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
1061 ;; a version. SOME of the code files have licence notices for GPLv2+.
1062 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
2e6ecc5c 1063 (license license:gpl2+)))
5698b8b8
JD
1064
1065
1066(define-public libbonobo
1067 (package
1068 (name "libbonobo")
1069 (version "2.32.1")
1070 (source (origin
1071 (method url-fetch)
5becd025 1072 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 1073 (version-major+minor version)
5becd025 1074 "/" name "-" version ".tar.bz2"))
5698b8b8 1075 (sha256
f1fc45a9 1076 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
1077 (patches (search-patches
1078 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
1079 (build-system gnu-build-system)
1080 (arguments
1081 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
1082 `(#:configure-flags
1083 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1084 ;; ... which they then completly ignore !!
1085 #:phases
1086 (alist-cons-before
1087 'configure 'ignore-deprecations
1088 (lambda _
1089 (substitute* "activation-server/Makefile.in"
1090 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1091 %standard-phases)))
5698b8b8
JD
1092 (inputs `(("popt" ,popt)
1093 ("libxml2" ,libxml2)))
1094 ;; The following are Required by the .pc file
44add1ce 1095 (propagated-inputs
5698b8b8
JD
1096 `(("glib" ,glib)
1097 ("orbit2" ,orbit2)))
1098 (native-inputs
1099 `(("intltool" ,intltool)
1100 ("pkg-config" ,pkg-config)
221ed17a 1101 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1102 ("flex" ,flex)
1103 ("bison" ,bison)))
1104 (home-page "https://developer.gnome.org/libbonobo/")
1105 (synopsis "Framework for creating reusable components for use in GNOME applications")
1106 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 1107use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
1108 ;; Licence not explicitly stated. Source files contain no licence notices.
1109 ;; Tarball contains text of both GPLv2 and LGPLv2
1110 ;; GPLv2 covers both conditions
1111 (license license:gpl2+)))
1112
1113
1114(define-public gconf
1115 (package
1116 (name "gconf")
1117 (version "3.2.6")
1118 (source (origin
1119 (method url-fetch)
a124bbd2
SB
1120 (uri
1121 (let ((upstream-name "GConf"))
1122 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1123 (version-major+minor version) "/"
1124 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
1125 (sha256
1126 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1127 (build-system gnu-build-system)
2e88d113 1128 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 1129 ("libxml2" ,libxml2)))
2e6ecc5c
AE
1130 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1131 ("orbit2" ,orbit2)))
5698b8b8
JD
1132 (native-inputs
1133 `(("intltool" ,intltool)
221ed17a 1134 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1135 ("pkg-config" ,pkg-config)))
1136 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
1137 (synopsis "Store application preferences")
1138 (description "Gconf is a system for storing application preferences. It
1139is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
1140 (license license:lgpl2.0+)
1141 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
1142
1143
1144(define-public gnome-mime-data
1145 (package
1146 (name "gnome-mime-data")
1147 (version "2.18.0")
1148 (source (origin
1149 (method url-fetch)
b38e45d8
EB
1150 (uri (string-append "mirror://gnome/sources/" name "/"
1151 (version-major+minor version) "/"
1152 name "-" version ".tar.bz2"))
5698b8b8
JD
1153 (sha256
1154 (base32
1155 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1156 (build-system gnu-build-system)
1157 (native-inputs
1158 `(("perl" ,perl)
1159 ("intltool" ,intltool)))
1160 (home-page "http://www.gnome.org")
35b9e423 1161 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
1162 (description "GNOME Mime Data is a module which contains the base MIME
1163and Application database for GNOME. The data stored by this module is
1164designed to be accessed through the MIME functions in GnomeVFS.")
1165 (license license:gpl2+)))
1166
1167
1168(define-public gnome-vfs
1169 (package
1170 (name "gnome-vfs")
1171 (version "2.24.4")
1172 (source (origin
1173 (method url-fetch)
b38e45d8
EB
1174 (uri (string-append "mirror://gnome/sources/" name "/"
1175 (version-major+minor version) "/"
1176 name "-" version ".tar.bz2"))
5698b8b8 1177 (sha256
9e12bc34
MW
1178 (base32
1179 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
1180 (build-system gnu-build-system)
1181 (arguments
db5127d8 1182 `(#:phases
9e12bc34
MW
1183 (alist-cons-before
1184 'configure 'ignore-deprecations
1185 (lambda _
1186 (substitute* '("libgnomevfs/Makefile.in"
1187 "daemon/Makefile.in")
1188 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1189 #t)
db5127d8
MW
1190 (alist-cons-before
1191 'configure 'patch-test-async-cancel-to-never-fail
1192 (lambda _
1193 (substitute* "test/test-async-cancel.c"
1194 (("EXIT_FAILURE") "77")))
1195 %standard-phases))))
2e6ecc5c 1196 (inputs `(("libxml2" ,libxml2)
5698b8b8 1197 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
1198 ("gconf" ,gconf)
1199 ("gnome-mime-data" ,gnome-mime-data)
1200 ("zlib" ,zlib)))
1201 (native-inputs
221ed17a
EB
1202 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1203 ("intltool" ,intltool)
5698b8b8
JD
1204 ("pkg-config" ,pkg-config)))
1205 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 1206 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
1207 (description
1208 "GnomeVFS is the core library used to access files and folders in GNOME
1209applications. It provides a file system abstraction which allows applications
1210to access local and remote files with a single consistent API.")
5698b8b8
JD
1211 (license license:lgpl2.0+)))
1212
1213
1214
1215(define-public libgnome
1216 (package
1217 (name "libgnome")
1218 (version "2.32.1")
1219 (source (origin
1220 (method url-fetch)
b38e45d8
EB
1221 (uri (string-append "mirror://gnome/sources/" name "/"
1222 (version-major+minor version) "/"
1223 name "-" version ".tar.bz2"))
5698b8b8
JD
1224 (sha256
1225 (base32
1226 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
1227 (build-system gnu-build-system)
1228 (arguments
1229 `(#:phases
1230 (alist-cons-before
1231 'configure 'enable-deprecated
2e6ecc5c 1232 (lambda _
5698b8b8
JD
1233 (substitute* "libgnome/Makefile.in"
1234 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
1235 %standard-phases)))
25338e9f 1236 (inputs `(("libxml2" ,libxml2)))
5698b8b8 1237 (native-inputs
221ed17a
EB
1238 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1239 ("intltool" ,intltool)
5698b8b8
JD
1240 ("pkg-config" ,pkg-config)))
1241 ;; The following are listed as Required in the .pc file
1242 ;; (except for libcanberra -- which seems to be oversight on the part
1243 ;; of the upstream developers -- anything that links against libgnome,
1244 ;; must also link against libcanberra
1245 (propagated-inputs
1246 `(("libcanberra" ,libcanberra)
1247 ("libbonobo" ,libbonobo)
1248 ("gconf" ,gconf)
a640d3d5
LC
1249 ("gnome-vfs" ,gnome-vfs)
1250 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
1251 (home-page "https://developer.gnome.org/libgnome/")
1252 (synopsis "Useful routines for building applications")
1253 (description "The libgnome library provides a number of useful routines
1254for building modern applications, including session management, activation of
1255files and URIs, and displaying help.")
1256 (license license:lgpl2.0+)))
1257
1258
1259(define-public libart-lgpl
1260 (package
1261 (name "libart-lgpl")
76c9b6aa 1262 (version "2.3.21")
5698b8b8
JD
1263 (source (origin
1264 (method url-fetch)
1265 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
1266 (string-append "mirror://gnome/sources/" upstream-name "/"
1267 (version-major+minor version) "/"
1268 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1269 (sha256
1270 (base32
76c9b6aa 1271 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
1272 (build-system gnu-build-system)
1273 (native-inputs
1274 `(("pkg-config" ,pkg-config)))
1275 (home-page "https://people.gnome.org/~mathieu/libart")
1276 (synopsis "2D drawing library")
2e6ecc5c 1277 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
1278high-quality vector-based 2D library with antialiasing and alpha composition.")
1279 (license license:lgpl2.0+)))
1280
1281
1282
1283(define-public libgnomecanvas
1284 (package
1285 (name "libgnomecanvas")
1286 (version "2.30.3")
1287 (source (origin
1288 (method url-fetch)
b38e45d8
EB
1289 (uri (string-append "mirror://gnome/sources/" name "/"
1290 (version-major+minor version) "/"
1291 name "-" version ".tar.gz"))
5698b8b8
JD
1292 (sha256
1293 (base32
1294 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1295 (build-system gnu-build-system)
1296 ;; Mentioned as Required in the .pc file
1297 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1298 ("gtk+" ,gtk+-2)))
1299 (native-inputs
1300 `(("intltool" ,intltool)
221ed17a 1301 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1302 ("pkg-config" ,pkg-config)))
1303 (home-page "https://developer.gnome.org/libgnomecanvas/")
1304 (synopsis "Flexible widget for creating interactive structured graphics")
1305 (description "The GnomeCanvas widget provides a flexible widget for
1306creating interactive structured graphics.")
1307 (license license:lgpl2.0+)))
1308
eadc734e
RW
1309(define-public libgnomecanvasmm
1310 (package
1311 (name "libgnomecanvasmm")
1312 (version "2.26.0")
1313 (source (origin
1314 (method url-fetch)
1315 (uri (string-append "mirror://gnome/sources/" name "/"
1316 (version-major+minor version) "/"
1317 name "-" version ".tar.bz2"))
1318 (sha256
1319 (base32
1320 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1321 (build-system gnu-build-system)
6e4512c4
SB
1322 (arguments
1323 '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
eadc734e
RW
1324 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1325 (native-inputs
1326 `(("gtkmm-2" ,gtkmm-2)
1327 ("pkg-config" ,pkg-config)))
1328 (home-page "http://gtkmm.org")
1329 (synopsis "C++ bindings to the GNOME Canvas library")
1330 (description "C++ bindings to the GNOME Canvas library.")
1331 (license license:lgpl2.0+)))
1332
5698b8b8
JD
1333(define-public libgnomeui
1334 (package
1335 (name "libgnomeui")
1336 (version "2.24.5")
1337 (source (origin
1338 (method url-fetch)
b38e45d8
EB
1339 (uri (string-append "mirror://gnome/sources/" name "/"
1340 (version-major+minor version) "/"
1341 name "-" version ".tar.bz2"))
5698b8b8
JD
1342 (sha256
1343 (base32
1344 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1345 (build-system gnu-build-system)
1346 ;; Mentioned as Required in the .pc file
0a38a497
AE
1347 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1348 ("libgnome" ,libgnome)
1349 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 1350 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 1351 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
1352 ("popt" ,popt)
1353 ("libbonobo" ,libbonobo)
1354 ("libxml2" ,libxml2)
1355 ("libglade" ,libglade)))
1356 (native-inputs
221ed17a
EB
1357 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1358 ("intltool" ,intltool)
5698b8b8
JD
1359 ("pkg-config" ,pkg-config)))
1360 (home-page "https://developer.gnome.org/libgnomeui/")
1361 (synopsis "Additional widgets for applications")
35b9e423 1362 (description "The libgnomeui library provides additional widgets for
e881752c
AK
1363applications. Many of the widgets from libgnomeui have already been
1364ported to GTK+.")
5698b8b8
JD
1365 (license license:lgpl2.0+)))
1366
1367(define-public libglade
1368 (package
1369 (name "libglade")
1370 (version "2.6.4")
1371 (source (origin
1372 (method url-fetch)
b38e45d8
EB
1373 (uri (string-append "mirror://gnome/sources/" name "/"
1374 (version-major+minor version) "/"
1375 name "-" version ".tar.bz2"))
5698b8b8
JD
1376 (sha256
1377 (base32
1378 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1379 (build-system gnu-build-system)
1380 (inputs
92dcc23d
AE
1381 `(("python" ,python))) ;; needed for the optional libglade-convert program
1382 (propagated-inputs
5698b8b8 1383 `(("gtk+-2" ,gtk+-2)
92dcc23d 1384 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
1385 (native-inputs
1386 `(("pkg-config" ,pkg-config)))
1387 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
1388 (synopsis "Load glade interfaces and access the glade built widgets")
1389 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
1390graphical interfaces described in glade files and for accessing the
1391widgets built in the loading process.")
1392 (license license:gpl2+))) ; This is correct. GPL not LGPL
1393
1394(define-public libgnomeprint
eb497b66
LC
1395 ;; This library has been deprecated since 2006; see
1396 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
1397 (package
1398 (name "libgnomeprint")
1399 (version "2.8.2")
1400 (source (origin
1401 (method url-fetch)
b38e45d8
EB
1402 (uri (string-append "mirror://gnome/sources/" name "/"
1403 (version-major+minor version) "/"
1404 name "-" version ".tar.bz2"))
5698b8b8
JD
1405 (sha256
1406 (base32
6983ba56 1407 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
5698b8b8
JD
1408 (build-system gnu-build-system)
1409 (inputs
1410 `(("popt" ,popt)
1411 ("libart-lgpl" ,libart-lgpl)
1412 ("gtk+" ,gtk+-2)
44add1ce 1413 ("libxml2" ,libxml2)))
5698b8b8
JD
1414 (native-inputs
1415 `(("intltool" ,intltool)
221ed17a 1416 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1417 ("pkg-config" ,pkg-config)))
1418 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 1419 (synopsis "Printing framework for GNOME")
eb497b66
LC
1420 (description
1421 "GNOME-print was a printing framework for GNOME. It has been deprecated
1422since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
1423 (license license:lgpl2.0+)))
1424
1425
1426(define-public libgnomeprintui
eb497b66 1427 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
1428 (package
1429 (name "libgnomeprintui")
1430 (version "2.8.2")
1431 (source (origin
1432 (method url-fetch)
b38e45d8
EB
1433 (uri (string-append "mirror://gnome/sources/" name "/"
1434 (version-major+minor version) "/"
1435 name "-" version ".tar.bz2"))
5698b8b8
JD
1436 (sha256
1437 (base32
1438 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1439 (build-system gnu-build-system)
1440 ;; Mentioned as Required in the .pc file
1441 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1442 (inputs `(("gtk+" ,gtk+-2)
1443 ("glib" ,glib)
1444 ("gnome-icon-theme" ,gnome-icon-theme)
1445 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 1446 ("libxml2" ,libxml2)))
5698b8b8
JD
1447 (native-inputs
1448 `(("intltool" ,intltool)
1449 ("pkg-config" ,pkg-config)))
1450 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1451 (synopsis "Printing framework for GNOME")
eb497b66 1452 (description (package-description libgnomeprint))
5698b8b8
JD
1453 (license license:lgpl2.0+)))
1454
5698b8b8
JD
1455(define-public libbonoboui
1456 (package
1457 (name "libbonoboui")
1458 (version "2.24.5")
1459 (source (origin
1460 (method url-fetch)
b38e45d8
EB
1461 (uri (string-append "mirror://gnome/sources/" name "/"
1462 (version-major+minor version) "/"
1463 name "-" version ".tar.bz2"))
5698b8b8
JD
1464 (sha256
1465 (base32
1466 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1467 (build-system gnu-build-system)
1468 (arguments
1469 `(#:phases
1470 (alist-cons-before
1471 'check 'start-xserver
1472 (lambda* (#:key inputs #:allow-other-keys)
1473 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1474 (disp ":1"))
2e6ecc5c 1475
5698b8b8
JD
1476 (setenv "HOME" (getcwd))
1477 (setenv "DISPLAY" disp)
1478 ;; There must be a running X server and make check doesn't start one.
1479 ;; Therefore we must do it.
1480 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1481 %standard-phases)))
1482 ;; Mentioned as Required by the .pc file
1483 (propagated-inputs `(("libxml2" ,libxml2)))
1484 (inputs
1485 `(("popt" ,popt)
1486 ("pangox-compat" ,pangox-compat)
1487 ("libgnome" ,libgnome)
1488 ("libgnomecanvas" ,libgnomecanvas)
1489 ("libglade" ,libglade)))
1490 (native-inputs
221ed17a
EB
1491 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1492 ("intltool" ,intltool)
5698b8b8
JD
1493 ("xorg-server" ,xorg-server) ; For running the tests
1494 ("pkg-config" ,pkg-config)))
1495 (home-page "https://developer.gnome.org/libbonoboui/")
1496 (synopsis "Some user interface controls using Bonobo")
1497 (description "The Bonobo UI library provides a number of user interface
1498controls using the Bonobo component framework.")
1499 (license license:lgpl2.0+)))
1500
fecbf86e
SB
1501(define-public libwnck
1502 (package
1503 (name "libwnck")
cf047019 1504 (version "3.20.1")
fecbf86e
SB
1505 (source (origin
1506 (method url-fetch)
1507 (uri (string-append "mirror://gnome/sources/" name "/"
1508 (version-major+minor version) "/"
1509 name "-" version ".tar.xz"))
1510 (sha256
cf047019 1511 (base32 "0wms3hli6y0b9l3cszq6maqi6fyy6kss9gryvzgmhw27phb3gc0w"))))
fecbf86e
SB
1512 (build-system gnu-build-system)
1513 (native-inputs
1514 `(("pkg-config" ,pkg-config)
1515 ("intltool" ,intltool)))
1516 (propagated-inputs
427476d5
SB
1517 `(("gtk+" ,gtk+)
1518 ("libxres" ,libxres)
1519 ("startup-notification" ,startup-notification)))
fecbf86e
SB
1520 (home-page "https://developer.gnome.org/libwnck/")
1521 (synopsis "Window Navigator Construction Kit")
1522 (description
1523 "Libwnck is the Window Navigator Construction Kit, a library for use in
1524writing pagers, tasklists, and more generally applications that are dealing
1525with window management. It tries hard to respect the Extended Window Manager
1526Hints specification (EWMH).")
1527 (license license:lgpl2.0+)))
1528
1529;; stable version for gtk2, required by xfwm4.
dbb7a081 1530(define-public libwnck-2
fecbf86e
SB
1531 (package (inherit libwnck)
1532 (name "libwnck")
1533 (version "2.30.7")
1534 (source (origin
1535 (method url-fetch)
1536 (uri (string-append "mirror://gnome/sources/" name "/"
1537 (version-major+minor version) "/"
1538 name "-" version ".tar.xz"))
1539 (sha256
1540 (base32
1541 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1542 (propagated-inputs
427476d5
SB
1543 `(("gtk+" ,gtk+-2)
1544 ("libxres" ,libxres)
1545 ("startup-notification" ,startup-notification)))))
b804c61e
JD
1546
1547(define-public goffice
1548 (package
1549 (name "goffice")
1d927ccd 1550 (version "0.10.32")
b804c61e
JD
1551 (source (origin
1552 (method url-fetch)
b38e45d8
EB
1553 (uri (string-append "mirror://gnome/sources/" name "/"
1554 (version-major+minor version) "/"
1555 name "-" version ".tar.xz"))
b804c61e 1556 (sha256
1d927ccd 1557 (base32 "1hvs5558x98yzm43dc3f93v596x45lfmv1vkp4jjgfagynlpvcq2"))))
b804c61e 1558 (build-system gnu-build-system)
72a06d3e
LC
1559 (outputs '("out"
1560 "doc")) ;4.1 MiB of gtk-doc
1561 (arguments
1562 '(#:configure-flags (list (string-append "--with-html-dir="
1563 (assoc-ref %outputs "doc")
1564 "/share/gtk-doc/html"))))
b804c61e
JD
1565 (inputs
1566 `(("gtk+" ,gtk+)
1567 ("libgsf" ,libgsf)
1568 ("librsvg" ,librsvg)
1569 ("libxslt" ,libxslt)
1570 ("libxml2" ,libxml2)))
1571 (native-inputs
1572 `(("intltool" ,intltool)
f280cdb1 1573 ("glib" ,glib "bin")
b804c61e
JD
1574 ("pkg-config" ,pkg-config)))
1575 (home-page "https://developer.gnome.org/goffice/")
1576 (synopsis "Document-centric objects and utilities")
1577 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 1578 (license
b804c61e
JD
1579 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1580 ;; Note: NOT LGPL
1581 (list license:gpl2 license:gpl3))))
1582
c024ae36
RW
1583(define-public goffice-0.8
1584 (package (inherit goffice)
1585 (version "0.8.17")
1586 (source (origin
1587 (method url-fetch)
1588 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
1589 (version-major+minor version) "/"
1590 (package-name goffice) "-" version ".tar.xz"))
1591 (sha256
1592 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
1593 (arguments
1594 `(#:phases
1595 (alist-cons-after
1596 'unpack 'fix-pcre-check
1597 (lambda _
1598 ;; Only glib.h can be included directly. See
1599 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
1600 (substitute* "configure"
1601 (("glib/gregex\\.h") "glib.h")) #t)
72a06d3e
LC
1602 %standard-phases)
1603
1604 ,@(package-arguments goffice)))
c024ae36
RW
1605 (propagated-inputs
1606 ;; libgoffice-0.8.pc mentions libgsf-1
1607 `(("libgsf" ,libgsf)))
1608 (inputs
1609 `(("gtk" ,gtk+-2)
1610 ,@(alist-delete "gtk" (package-inputs goffice))))))
1611
b804c61e
JD
1612(define-public gnumeric
1613 (package
1614 (name "gnumeric")
24c91e2f 1615 (version "1.12.32")
b804c61e
JD
1616 (source (origin
1617 (method url-fetch)
b38e45d8
EB
1618 (uri (string-append "mirror://gnome/sources/" name "/"
1619 (version-major+minor version) "/"
1620 name "-" version ".tar.xz"))
b804c61e
JD
1621 (sha256
1622 (base32
24c91e2f 1623 "1s3dxvdwzmppsp2dfg90rccilf4hknhwjdy7lazr9sys58zchyx0"))))
bd1b1e05 1624 (build-system glib-or-gtk-build-system)
b804c61e
JD
1625 (arguments
1626 `(;; The gnumeric developers don't worry much about failing tests.
1627 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 1628 #:tests? #f
b804c61e 1629 #:phases
7bcbd40d
EF
1630 (modify-phases %standard-phases
1631 (add-before
1632 'configure 'pre-conf
1633 (lambda* (#:key outputs #:allow-other-keys)
1634 ;; Make install tries to write into the directory of goffice
1635 ;; I am informed that this only affects the possibility to embed a
1636 ;; spreadsheet inside an Abiword document. So presumably when we
1637 ;; package Abiword we'll have to refer it to this directory.
1638 (substitute* "configure"
1639 (("^GOFFICE_PLUGINS_DIR=.*")
1640 (string-append "GOFFICE_PLUGINS_DIR="
1641 (assoc-ref outputs "out")
1642 "/goffice/plugins"))))))))
b804c61e
JD
1643 (inputs
1644 `(("glib" ,glib)
1645 ("gtk+" ,gtk+)
1646 ("goffice" ,goffice)
1647 ("libgsf" ,libgsf)
7bcbd40d 1648 ("librsvg" ,librsvg)
b804c61e 1649 ("libxml2" ,libxml2)
7bcbd40d 1650 ("libxslt" ,libxslt)
2e4c5457 1651 ("python" ,python-2)
6983ba56 1652 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
1653 ("zlib" ,zlib)))
1654 (native-inputs
6983ba56
SB
1655 `(("bison" ,bison)
1656 ("intltool" ,intltool)
b9663471 1657 ("glib:bin" ,glib "bin")
b804c61e
JD
1658 ("pkg-config" ,pkg-config)))
1659 (home-page "http://www.gnumeric.org")
66672a45
LC
1660 (synopsis "Spreadsheet application")
1661 (description
1662 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1663interoperable with other spreadsheet applications. It has a vast array of
1664features beyond typical spreadsheet functionality, such as support for linear
1665and non-linear solvers, statistical analysis, and telecommunication
1666engineering.")
1667 (license
b804c61e
JD
1668 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1669 (list license:gpl2 license:gpl3))))
6f885c05
FB
1670
1671(define-public gnome-themes-standard
1672 (package
1673 (name "gnome-themes-standard")
41d54c15 1674 (version "3.22.2")
6f885c05
FB
1675 (source
1676 (origin
1677 (method url-fetch)
2e6ecc5c 1678 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
1679 (version-major+minor version) "/" name "-"
1680 version ".tar.xz"))
1681 (sha256
1682 (base32
41d54c15 1683 "19bxw69ms46px5xgvwbjlhq2vkmrqfx2az49q63w2wxqb76icidk"))))
6f885c05 1684 (build-system gnu-build-system)
8ac70c7f
SB
1685 (arguments
1686 '(#:configure-flags
1687 ;; Don't create 'icon-theme.cache'.
1688 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1689 (true (string-append coreutils "/bin/true")))
1690 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
1691 (inputs
1692 `(("gtk+" ,gtk+)
1693 ("gtk+-2" ,gtk+-2)
1694 ("librsvg" ,librsvg)
1695 ("libxml2" ,libxml2)
1696 ("glib" ,glib)))
1697 (native-inputs
1698 `(("intltool" ,intltool)
1699 ("glib:bin" ,glib "bin")
1700 ("pkg-config" ,pkg-config)))
6f885c05
FB
1701 (home-page "https://launchpad.net/gnome-themes-standard")
1702 (synopsis "Default GNOME 3 themes")
1703 (description
1704 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1705 (license license:lgpl2.1+)))
5a659a48 1706
df90c701
RW
1707(define-public seahorse
1708 (package
1709 (name "seahorse")
6983ba56 1710 (version "3.20.0")
df90c701
RW
1711 (source
1712 (origin
1713 (method url-fetch)
1714 (uri (string-append "mirror://gnome/sources/" name "/"
1715 (version-major+minor version) "/" name "-"
1716 version ".tar.xz"))
1717 (sha256
1718 (base32
6983ba56 1719 "1py6fj19kb8aaxvg6yrpd0876azc2zjvis98aqz37a2lxmhp9c72"))))
df90c701
RW
1720 (build-system glib-or-gtk-build-system)
1721 (inputs
1722 `(("gtk+" ,gtk+)
1723 ("gcr" ,gcr)
34b979b9 1724 ("gnupg" ,gnupg)
df90c701 1725 ("gpgme" ,gpgme)
34b979b9 1726 ("openldap" ,openldap)
4a1bf090 1727 ("openssh" ,openssh)
34b979b9
EF
1728 ("libsecret" ,libsecret)
1729 ("libsoup" ,libsoup)))
df90c701
RW
1730 (native-inputs
1731 `(("intltool" ,intltool)
1732 ("glib:bin" ,glib "bin")
1733 ("itstool" ,itstool)
bcb354ad
SB
1734 ("pkg-config" ,pkg-config)
1735 ("xmllint" ,libxml2)))
df90c701
RW
1736 (home-page "https://launchpad.net/gnome-themes-standard")
1737 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
1738 (description
1739 "Seahorse is a GNOME application for managing encryption keys and
1740passwords in the GNOME keyring.")
1741 (license license:gpl2+)))
1742
5a659a48
SB
1743(define-public vala
1744 (package
1745 (name "vala")
40a62e60 1746 (version "0.34.4")
5a659a48
SB
1747 (source (origin
1748 (method url-fetch)
1749 (uri (string-append "mirror://gnome/sources/" name "/"
1750 (version-major+minor version) "/"
1751 name "-" version ".tar.xz"))
1752 (sha256
1753 (base32
40a62e60 1754 "10vbd74jazc3vhfagzx8v197bshrg61hnjzna6y3wmhljhrvs5vb"))))
5a659a48 1755 (build-system gnu-build-system)
1ea90625
SB
1756 (arguments
1757 '(#:phases
1758 (modify-phases %standard-phases
f4925a4f 1759 (add-before 'check 'pre-check
1ea90625
SB
1760 (lambda _
1761 (setenv "CC" "gcc")
f4925a4f
SB
1762 ;; For missing '/etc/machine-id'.
1763 (setenv "DBUS_FATAL_WARNINGS" "0")
0a387b14
LF
1764 #t)))
1765 ;; Build the Vala API generator
1766 #:configure-flags '("--enable-vapigen")))
5a659a48
SB
1767 (native-inputs
1768 `(("pkg-config" ,pkg-config)
1769 ("flex" ,flex)
1770 ("bison" ,bison)
1771 ("xsltproc" ,libxslt)
1772 ("dbus" ,dbus) ; for dbus tests
1773 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1774 (propagated-inputs
1775 `(("glib" ,glib))) ; required by libvala-0.26.pc
1776 (home-page "http://live.gnome.org/Vala/")
1777 (synopsis "Compiler for the GObject type system")
1778 (description
1779 "Vala is a programming language that aims to bring modern programming
1780language features to GNOME developers without imposing any additional runtime
1781requirements and without using a different ABI compared to applications and
1782libraries written in C.")
1783 (license license:lgpl2.1+)))
ea57378f
SB
1784
1785(define-public vte
1786 (package
1787 (name "vte")
de1215e2 1788 (version "0.46.1")
ea57378f
SB
1789 (source (origin
1790 (method url-fetch)
1791 (uri (string-append "mirror://gnome/sources/" name "/"
1792 (version-major+minor version) "/"
1793 name "-" version ".tar.xz"))
1794 (sha256
1795 (base32
de1215e2 1796 "1ipmnfazvhzjp5pjw90mmxbkizivnh7gnlqqml94lw2rqa5wy048"))))
ea57378f 1797 (build-system gnu-build-system)
6983ba56
SB
1798 (arguments
1799 ;; XXX: fails to compile tests with the default flags.
1800 ;; vteconv.cc:774:40:
1801 ;; error: missing sentinel in function call [-Werror=format=]
1802 ;; g_test_init (&argc, &argv, NULL);
1803 ;;
1804 ;; cc1plus: some warnings being treated as errors
1805 '(#:configure-flags '("CXXFLAGS=-Wformat=0")))
ea57378f
SB
1806 (native-inputs
1807 `(("pkg-config" ,pkg-config)
1808 ("intltool" ,intltool)
1809 ("vala" ,vala)
1810 ("gobject-introspection" ,gobject-introspection)
1811 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1812 ("xmllint" ,libxml2)))
1813 (propagated-inputs
302393bc 1814 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
de1215e2
MW
1815 ("gnutls" ,gnutls) ;ditto
1816 ("pcre2" ,pcre2))) ;ditto
ea57378f
SB
1817 (home-page "http://www.gnome.org/")
1818 (synopsis "Virtual Terminal Emulator")
1819 (description
1820 "VTE is a library (libvte) implementing a terminal emulator widget for
1821GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1822gnome-terminal, but can also be used to embed a console/terminal in games,
1823editors, IDEs, etc.")
1824 (license license:lgpl2.1+)))
1825
c44fb4df
MO
1826(define-public vte-ng
1827 (package
1828 (inherit vte)
1829 (name "vte-ng")
890795c7 1830 (version "0.46.1.a")
c44fb4df
MO
1831 (native-inputs
1832 `(("gtk-doc" ,gtk-doc)
1833 ("gperf" ,gperf)
1834 ("autoconf" ,autoconf)
1835 ("automake" ,automake)
1836 ("libtool" ,libtool)
1837 ,@(package-native-inputs vte)))
1838 (source (origin
1839 (method url-fetch)
1840 (uri (string-append "https://github.com/thestinger/"
1841 name "/archive/" version ".tar.gz"))
1842 (file-name (string-append name "-" version ".tar.gz"))
1843 (sha256
1844 (base32
890795c7 1845 "1c0czhsn28b5h4pk3kx89jjbdc5d2qkxhl4ywqvxfivphf2nicbp"))))
c44fb4df
MO
1846 (arguments
1847 `(#:configure-flags '("CXXFLAGS=-Wformat=0")
1848 #:phases (modify-phases %standard-phases
1849 (add-after 'unpack 'bootstrap
1850 (lambda _
1851 (setenv "NOCONFIGURE" "true")
1852 (zero? (system* "sh" "autogen.sh")))))))
1853 (synopsis "Enhanced VTE terminal widget")
1854 (description
1855 "VTE is a library (libvte) implementing a terminal emulator widget for
1856GTK+, this fork provides additional functions exposed for keyboard text
1857selection and URL hints.")))
1858
2776d72c
EF
1859;; provides vte 2.90, required for some terminal emulators
1860;; tilda bug: https://github.com/lanoxx/tilda/issues/94
1861;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
1862;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
1863;; pantheon-terminal, roxterm are not currently packaged
1864(define-public vte-0.36
1865 (package (inherit vte)
1866 (name "vte")
1867 (version "0.36.5")
1868 (source (origin
1869 (method url-fetch)
1870 (uri (string-append "mirror://gnome/sources/" name "/"
1871 (version-major+minor version) "/"
1872 name "-" version ".tar.xz"))
1873 (sha256
1874 (base32
1875 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
1876 (propagated-inputs
1877 `(("gtk" ,gtk+)
1878 ("ncurses" ,ncurses)))))
1879
ea57378f
SB
1880;; stable version for gtk2, required by xfce4-terminal.
1881(define-public vte/gtk+-2
1882 (package (inherit vte)
1883 (name "vte")
1884 (version "0.28.2")
1885 (source (origin
1886 (method url-fetch)
1887 (uri (string-append "mirror://gnome/sources/" name "/"
1888 (version-major+minor version) "/"
1889 name "-" version ".tar.xz"))
1890 (sha256
1891 (base32
7d48938a
EF
1892 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
1893 (patches (search-patches
1894 "vte-CVE-2012-2738-pt1.patch"
1895 "vte-CVE-2012-2738-pt2.patch"))))
ea57378f
SB
1896 (arguments
1897 '(#:configure-flags '("--disable-python")))
1898 (native-inputs
1899 `(("pkg-config" ,pkg-config)
1900 ("intltool" ,intltool)
1901 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1902 (propagated-inputs
1903 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1904 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 1905
cce0da5e
TD
1906(define-public vinagre
1907 (package
1908 (name "vinagre")
1909 (version "3.22.0")
1910 (source (origin
1911 (method url-fetch)
1912 (uri (string-append "mirror://gnome/sources/" name "/"
1913 (version-major+minor version) "/"
1914 name "-" version ".tar.xz"))
1915 (sha256
1916 (base32
1917 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
1918 (build-system glib-or-gtk-build-system)
1919 (native-inputs
1920 `(("pkg-config" ,pkg-config)
1921 ("intltool" ,intltool)
1922 ("itstool" ,itstool)
1923 ("glib-bin" ,glib "bin") ;for glib-compile-schemas
1924 ("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
1925 (inputs
1926 `(("libxml2" ,libxml2)
1927 ("gtk-vnc" ,gtk-vnc)
1928 ("gnome-keyring" ,gnome-keyring)
1929 ("libsecret" ,libsecret)
1930 ("freerdp" ,freerdp)
1931 ("spice" ,spice)
1932 ("spice-gtk" ,spice-gtk)
1933 ("telepathy-glib" ,telepathy-glib)
1934 ("vte" ,vte)))
1935 (arguments
1936 `(#:configure-flags '("--enable-rdp")))
1937 (home-page "https://wiki.gnome.org/Apps/Vinagre")
1938 (synopsis "Remote desktop viewer for GNOME")
1939 (description "Vinagre is a remote display client supporting the VNC, SPICE
1940and RDP protocols.")
1941 (license license:gpl3+)))
1942
b47e1b20
FB
1943(define-public dconf
1944 (package
1945 (name "dconf")
6983ba56 1946 (version "0.26.0")
b47e1b20
FB
1947 (source (origin
1948 (method url-fetch)
1949 (uri (string-append
2e6ecc5c 1950 "mirror://gnome/sources/" name "/"
b47e1b20
FB
1951 (version-major+minor version) "/"
1952 name "-" version ".tar.xz"))
1953 (sha256
f05c809f 1954 (base32
6983ba56 1955 "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"))))
b47e1b20
FB
1956 (build-system glib-or-gtk-build-system)
1957 (inputs
1958 `(("gtk+" ,gtk+)
1959 ("glib" ,glib)
1960 ("dbus" ,dbus)
1961 ("libxml2" ,libxml2)))
1962 (native-inputs
1963 `(("libxslt" ,libxslt)
1964 ("docbook-xml" ,docbook-xml-4.2)
1965 ("docbook-xsl" ,docbook-xsl)
1966 ("intltool" ,intltool)
1967 ("pkg-config" ,pkg-config)))
1968 (arguments
1969 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1970 ; or /etc/machine-id.
1971 #:configure-flags
1972 ;; Set the correct RUNPATH in binaries.
2e6ecc5c 1973 (list (string-append "LDFLAGS=-Wl,-rpath="
b47e1b20
FB
1974 (assoc-ref %outputs "out") "/lib")
1975 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1976 #:phases
1977 (alist-cons-before
1978 'configure 'fix-docbook
1979 (lambda* (#:key inputs #:allow-other-keys)
1980 (substitute* "docs/Makefile.in"
1981 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2e6ecc5c 1982 (string-append (assoc-ref inputs "docbook-xsl")
b47e1b20
FB
1983 "/xml/xsl/docbook-xsl-"
1984 ,(package-version docbook-xsl)
1985 "/manpages/docbook.xsl")))
2e6ecc5c
AE
1986 (setenv "XML_CATALOG_FILES"
1987 (string-append (assoc-ref inputs "docbook-xml")
b47e1b20
FB
1988 "/xml/dtd/docbook/catalog.xml")))
1989 %standard-phases)))
1990 (home-page "https://developer.gnome.org/dconf")
1991 (synopsis "Low-level GNOME configuration system")
1992 (description "Dconf is a low-level configuration system. Its main purpose
1993is to provide a backend to GSettings on platforms that don't already have
1994configuration storage systems.")
1995 (license license:lgpl2.1)))
109da1c0
AE
1996
1997(define-public json-glib
1998 (package
1999 (name "json-glib")
eef1ad01 2000 (version "1.2.2")
109da1c0
AE
2001 (source (origin
2002 (method url-fetch)
2003 (uri (string-append "mirror://gnome/sources/" name "/"
2004 (version-major+minor version) "/"
2005 name "-" version ".tar.xz"))
2006 (sha256
2007 (base32
eef1ad01 2008 "08d6449sgnwfh92x8rhwsm03g8frv0mvp3s4wl3cskw25asql4pa"))
4955ab7d
SB
2009 (modules '((guix build utils)))
2010 (snippet
2011 ;; Don't duplicate test names.
2012 ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>.
2013 '(substitute* "json-glib/tests/builder.c"
2014 (("\"/builder/complex\", test_builder_empty")
2015 "\"/builder/empty\", test_builder_empty")))))
109da1c0
AE
2016 (build-system gnu-build-system)
2017 (native-inputs
88c6b580 2018 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
2019 ("gobject-introspection" ,gobject-introspection)
2020 ("pkg-config" ,pkg-config)))
2021 (propagated-inputs
88c6b580 2022 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
2023 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2024 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
2025 (description
2026 "JSON-GLib is a C library based on GLib providing serialization and
2027deserialization support for the JavaScript Object Notation (JSON) format
2028described by RFC 4627. It provides parser and generator GObject classes and
2029various wrappers for the complex data types employed by JSON, such as arrays
2030and objects.")
109da1c0 2031 (license license:lgpl2.1+)))
6f96a359
SB
2032
2033(define-public libxklavier
2034 (package
2035 (name "libxklavier")
2036 (version "5.3")
2037 (source (origin
2038 (method url-fetch)
2039 (uri (string-append "mirror://gnome/sources/" name "/"
2040 version "/" name "-" version ".tar.xz"))
2041 (sha256
2042 (base32
2043 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
2044 (build-system gnu-build-system)
2045 (arguments
2046 '(#:configure-flags
2047 (list (string-append "--with-xkb-base="
2048 (assoc-ref %build-inputs "xkeyboard-config")
b19d6805 2049 "/share/X11/xkb"))))
6f96a359
SB
2050 (native-inputs
2051 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2052 ("gobject-introspection" ,gobject-introspection)
2053 ("pkg-config" ,pkg-config)))
2054 (propagated-inputs
2055 ;; Required by libxklavier.pc.
2056 `(("glib" ,glib)
2057 ("libxml2" ,libxml2)))
2058 (inputs
2059 `(("iso-codes" ,iso-codes)
2060 ("libxi" ,libxi)
2061 ("libxkbfile" ,libxkbfile)
2062 ("xkbcomp" ,xkbcomp)
2063 ("xkeyboard-config" ,xkeyboard-config)))
2064 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
2065 (synopsis "High-level API for X Keyboard Extension")
2066 (description
2067 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
2068Extension known as XKB. This library is intended to support XFree86 and other
2069commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
2070indicators etc).")
2071 (license license:lgpl2.0+)))
619936a4
LC
2072
2073(define-public python2-rsvg
2074 ;; XXX: This is actually a subset of gnome-python-desktop.
2075 (package
2076 (name "python2-rsvg")
2077 (version "2.32.0")
2078 (source
2079 (origin
2080 (method url-fetch)
2081 (uri (string-append
2082 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2083 version ".tar.bz2"))
2084 (sha256
2085 (base32
2086 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2087 (build-system gnu-build-system)
2088 (native-inputs
2089 `(("pkg-config" ,pkg-config)))
2090 (inputs
2091 `(("python" ,python-2)
2092 ("python2-pygtk" ,python2-pygtk)
2093 ("librsvg" ,librsvg)))
2094 (home-page "http://www.gnome.org")
2095 (synopsis "Python bindings to librsvg")
2096 (description
2097 "This packages provides Python bindings to librsvg, the SVG rendering
2098library.")
2099
2100 ;; This is the license of the rsvg bindings. The license of each module
2101 ;; of gnome-python-desktop is given in 'COPYING'.
2102 (license license:lgpl2.1+)))
a31a6d22 2103
f2ca414a
SB
2104(define-public glib-networking
2105 (package
2106 (name "glib-networking")
532cbe22 2107 (version "2.50.0")
f2ca414a
SB
2108 (source (origin
2109 (method url-fetch)
2110 (uri (string-append "mirror://gnome/sources/glib-networking/"
2111 (version-major+minor version) "/"
2112 name "-" version ".tar.xz"))
2113 (sha256
2114 (base32
532cbe22 2115 "1vkb53jxawy38y29635izlch64j9xmcwwcimk134jwra7hpl86iz"))
907f939b 2116 (patches
fc1adab1 2117 (search-patches "glib-networking-ssl-cert-file.patch"))))
f2ca414a
SB
2118 (build-system gnu-build-system)
2119 (arguments
2120 `(#:configure-flags
907f939b 2121 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
f2ca414a
SB
2122 #:phases
2123 (modify-phases %standard-phases
3a4de6b2 2124 (add-before 'configure 'patch-giomoduledir
f2ca414a
SB
2125 ;; Install GIO modules into $out/lib/gio/modules.
2126 (lambda _
2127 (substitute* "configure"
2128 (("GIO_MODULE_DIR=.*")
2129 (string-append "GIO_MODULE_DIR=" %output
907f939b
SB
2130 "/lib/gio/modules\n")))))
2131 (add-before 'check 'use-empty-ssl-cert-file
2132 (lambda _
2133 ;; The ca-certificates.crt is not available in the build
2134 ;; environment.
2135 (setenv "SSL_CERT_FILE" "/dev/null")
2136 #t)))))
f2ca414a
SB
2137 (native-inputs
2138 `(("pkg-config" ,pkg-config)
2139 ("intltool" ,intltool)))
2140 (inputs
2141 `(("glib" ,glib)
2142 ("gnutls" ,gnutls)
2143 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2144 ("p11-kit" ,p11-kit)))
2145 (home-page "http://www.gnome.org")
2146 (synopsis "Network-related GIO modules")
2147 (description
2148 "This package contains various network related extensions for the GIO
2149library.")
2150 (license license:lgpl2.0+)))
2151
ca649680 2152(define-public rest
4510b2da 2153 (package
ca649680 2154 (name "rest")
90000d4b 2155 (version "0.8.0")
4510b2da
SB
2156 (source (origin
2157 (method url-fetch)
2158 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
2159 (version-major+minor version) "/"
2160 name "-" version ".tar.xz"))
4510b2da
SB
2161 (sha256
2162 (base32
90000d4b 2163 "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77"))))
4510b2da
SB
2164 (build-system gnu-build-system)
2165 (arguments
2166 '(#:tests? #f ; tests require internet connection
2167 #:configure-flags
2168 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2169 (native-inputs
2170 `(("glib-mkenums" ,glib "bin")
2171 ("gobject-introspection" ,gobject-introspection)
2172 ("pkg-config" ,pkg-config)))
2173 (propagated-inputs
2174 ;; rest-0.7.pc refers to all these.
2175 `(("glib" ,glib)
2176 ("libsoup" ,libsoup)
2177 ("libxml2" ,libxml2)))
2178 (home-page "http://www.gtk.org/")
2179 (synopsis "RESTful web api query library")
2180 (description
2181 "This library was designed to make it easier to access web services that
2182claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2183libxml to ease remote use of the RESTful API.")
2184 (license license:lgpl2.1+)))
2185
6e1bb642
SB
2186(define-public libsoup
2187 (package
2188 (name "libsoup")
72c0b687 2189 (version "2.56.0")
6e1bb642
SB
2190 (source (origin
2191 (method url-fetch)
2192 (uri (string-append "mirror://gnome/sources/libsoup/"
2193 (version-major+minor version) "/"
2194 name "-" version ".tar.xz"))
2195 (sha256
2196 (base32
72c0b687 2197 "1r8zz270qdg92gbsvy61d51y1cj7hp059h2f4xpvqiw2vrqnn8fq"))))
6e1bb642
SB
2198 (build-system gnu-build-system)
2199 (outputs '("out" "doc"))
2200 (arguments
b19d6805 2201 `(#:configure-flags
6e1bb642
SB
2202 (list (string-append "--with-html-dir="
2203 (assoc-ref %outputs "doc")
fd730590 2204 "/share/gtk-doc/html"))
6e1bb642
SB
2205 #:phases
2206 (modify-phases %standard-phases
3a4de6b2 2207 (add-before 'configure 'disable-unconnected-socket-test
6e1bb642
SB
2208 ;; This test fails due to missing /etc/nsswitch.conf
2209 ;; in the build environment.
2210 (lambda _
2211 (substitute* "tests/socket-test.c"
2212 ((".*/sockets/unconnected.*") ""))
2213 #t))
907f939b 2214 (add-before 'check 'pre-check
6e1bb642 2215 (lambda _
907f939b
SB
2216 ;; The 'check-local' target runs 'env LANG=C sort -u',
2217 ;; unset 'LC_ALL' to make 'LANG' working.
6e1bb642 2218 (unsetenv "LC_ALL")
907f939b
SB
2219 ;; The ca-certificates.crt is not available in the build
2220 ;; environment.
2221 (setenv "SSL_CERT_FILE" "/dev/null")
fd730590
SB
2222 #t))
2223 (replace 'install
2224 (lambda _
2225 (zero?
2226 (system* "make"
2227 ;; Install vala bindings into $out.
2228 (string-append "vapidir=" %output
2229 "/share/vala/vapi")
2230 "install")))))))
6e1bb642
SB
2231 (native-inputs
2232 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2233 ("gobject-introspection" ,gobject-introspection)
2234 ("intltool" ,intltool)
2235 ("pkg-config" ,pkg-config)
2236 ("python" ,python-wrapper)
fd730590 2237 ("vala" ,vala)
6e1bb642
SB
2238 ;; These are needed for the tests.
2239 ;; FIXME: Add PHP once available.
2240 ("curl" ,curl)
2241 ("httpd" ,httpd)))
2242 (propagated-inputs
2243 ;; libsoup-2.4.pc refers to all these.
2244 `(("glib" ,glib)
2245 ("libxml2" ,libxml2)))
2246 (inputs
2247 `(("glib-networking" ,glib-networking)
2248 ("sqlite" ,sqlite)))
2249 (home-page "https://live.gnome.org/LibSoup/")
2250 (synopsis "GLib-based HTTP Library")
2251 (description
2252 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2253and the GLib main loop, to integrate well with GNOME applications.")
2254 (license license:lgpl2.0+)))
2255
bba229a3
SB
2256(define-public libsecret
2257 (package
2258 (name "libsecret")
6983ba56 2259 (version "0.18.5")
bba229a3
SB
2260 (source (origin
2261 (method url-fetch)
2262 (uri (string-append
896dcbc7
EF
2263 "mirror://gnome/sources/libsecret/"
2264 (version-major+minor version) "/"
bba229a3
SB
2265 name "-" version ".tar.xz"))
2266 (sha256
2267 (base32
6983ba56 2268 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
bba229a3
SB
2269 (build-system gnu-build-system)
2270 (outputs '("out" "doc"))
2271 (arguments
2272 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2273 #:configure-flags
2274 (list (string-append "--with-html-dir="
2275 (assoc-ref %outputs "doc")
2276 "/share/gtk-doc/html"))))
2277 (native-inputs
2278 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2279 ("gobject-introspection" ,gobject-introspection)
2280 ("intltool" ,intltool)
2281 ("pkg-config" ,pkg-config)
2282 ("vala" ,vala)
2283 ("xsltproc" ,libxslt)))
2284 ;; These are needed for the tests.
2285 ;; FIXME: Add gjs once available.
2286 ;("dbus" ,dbus)
2287 ;("python2" ,python-2)
2288 ;("python2-dbus" ,python2-dbus)
2289 ;("python2-pygobject" ,python2-pygobject)
2290 ;("python2-pygobject-2" ,python2-pygobject-2)))
2291 (propagated-inputs
2292 `(("glib" ,glib))) ; required by libsecret-1.pc
2293 (inputs
2294 `(("docbook-xsl" ,docbook-xsl)
2295 ("libgcrypt" ,libgcrypt)
2296 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2297 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2298 (synopsis "GObject bindings for \"Secret Service\" API")
2299 (description
2300 "Libsecret is a GObject based library for storing and retrieving passwords
2301and other secrets. It communicates with the \"Secret Service\" using DBus.")
2302 (license license:lgpl2.1+)))
2303
a31a6d22
SB
2304(define-public gnome-mines
2305 (package
2306 (name "gnome-mines")
73992962 2307 (version "3.22.2")
a31a6d22
SB
2308 (source
2309 (origin
2310 (method url-fetch)
2311 (uri (string-append "mirror://gnome/sources/" name "/"
2312 (version-major+minor version) "/"
2313 name "-" version ".tar.xz"))
2314 (sha256
2315 (base32
73992962 2316 "1wia0nj5i244m6pq3lridvk3vx9yipsa9l921nsskd97115mnyza"))))
a31a6d22
SB
2317 (build-system glib-or-gtk-build-system)
2318 (arguments
2319 '(#:phases
2320 (modify-phases %standard-phases
f8503e2b 2321 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2322 (lambda _
2323 (substitute* "configure"
6983ba56 2324 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2325 (native-inputs
2326 `(("pkg-config" ,pkg-config)
2327 ("desktop-file-utils" ,desktop-file-utils)
2328 ("intltool" ,intltool)
bcb354ad
SB
2329 ("itstool" ,itstool)
2330 ("xmllint" ,libxml2)))
a31a6d22
SB
2331 (inputs
2332 `(("gtk+" ,gtk+)
73992962 2333 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2334 ("librsvg" ,librsvg)))
2335 (home-page "https://wiki.gnome.org/Apps/Mines")
2336 (synopsis "Minesweeper game")
2337 (description
2338 "Mines (previously gnomine) is a puzzle game where you locate mines
2339floating in an ocean using only your brain and a little bit of luck.")
2340 (license license:gpl2+)))
88f70665 2341
dfc407f3
KY
2342(define-public gnome-sudoku
2343 (package
2344 (name "gnome-sudoku")
d56bea89 2345 (version "3.22.2")
dfc407f3
KY
2346 (source
2347 (origin
2348 (method url-fetch)
2349 (uri (string-append "mirror://gnome/sources/" name "/"
2350 (version-major+minor version) "/"
2351 name "-" version ".tar.xz"))
2352 (sha256
2353 (base32
d56bea89 2354 "1sz2ln2nc9ff7zigghil32vbmr2qhb98dc0rbrz755rlrsh8pi08"))))
dfc407f3
KY
2355 (build-system glib-or-gtk-build-system)
2356 (native-inputs
2357 `(("pkg-config" ,pkg-config)
2358 ("desktop-file-utils" ,desktop-file-utils)
2359 ("intltool" ,intltool)
2360 ("itstool" ,itstool)
2361 ("xmllint" ,libxml2)))
2362 (inputs
2363 `(("gtk+" ,gtk+)
2364 ("json-glib" ,json-glib)
2365 ("libgee" ,libgee)
2366 ("librsvg" ,librsvg)
2367 ("qqwing" ,qqwing)))
2368 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2369 (synopsis "Japanese logic game")
2370 (description
2371 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2372GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2373possible while still providing features that make playing difficult Sudoku
2374more fun.")
2375 (license license:gpl2+)))
2376
88f70665
AW
2377(define-public gnome-terminal
2378 (package
2379 (name "gnome-terminal")
59339bb4 2380 (version "3.22.1")
88f70665
AW
2381 (source
2382 (origin
2383 (method url-fetch)
2384 (uri (string-append "mirror://gnome/sources/" name "/"
2385 (version-major+minor version) "/"
2386 name "-" version ".tar.xz"))
2387 (sha256
2388 (base32
59339bb4 2389 "1m5h3ck7wcvq1kfap05jwhnbpp3kmikc2qy822gnsbdjdqrm41xh"))))
88f70665
AW
2390 (build-system glib-or-gtk-build-system)
2391 (arguments
2392 '(#:configure-flags
2393 (list "--disable-migration" "--disable-search-provider"
2394 "--without-nautilus-extension")
2395 #:phases
2396 (modify-phases %standard-phases
3a4de6b2 2397 (add-before 'configure 'patch-/bin/true
88f70665
AW
2398 (lambda _
2399 (substitute* "configure"
2400 (("/bin/true") (which "true"))))))))
2401 (native-inputs
2402 `(("pkg-config" ,pkg-config)
2403 ("desktop-file-utils" ,desktop-file-utils)
2404 ("intltool" ,intltool)
bcb354ad
SB
2405 ("itstool" ,itstool)
2406 ("xmllint" ,libxml2)))
68702167
MW
2407 (propagated-inputs
2408 `(("dconf" ,dconf)))
88f70665
AW
2409 (inputs
2410 `(("gtk+" ,gtk+)
2411 ("vte" ,vte)
2412 ("gnutls" ,gnutls)
88f70665
AW
2413 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2414 ("util-linux" ,util-linux)
2415 ("vala" ,vala)))
2416 (home-page "https://wiki.gnome.org/Apps/Terminal")
2417 (synopsis "Terminal emulator")
2418 (description
2419 "GNOME Terminal is a terminal emulator application for accessing a
2420UNIX shell environment which can be used to run programs available on
2421your system.
2422
2423It supports several profiles, multiple tabs and implements several
2424keyboard shortcuts.")
2425 (license license:gpl3+)))
75016d07
AW
2426
2427(define-public colord
2428 (package
2429 (name "colord")
2430 (version "1.1.8")
2431 (source
2432 (origin
2433 (method url-fetch)
5cc3096c 2434 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2435 name "-" version ".tar.xz"))
2436 (sha256
2437 (base32
2438 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2439 (build-system glib-or-gtk-build-system)
2440 (arguments
2441 '(;; The tests want to run valgrind. Punt for now.
2442 #:tests? #f
2443 #:configure-flags (list "--localstatedir=/var"
2444 ;; GUSB not packaged yet.
2445 "--disable-gusb"
2446 ;; No dep on systemd.
2447 "--disable-systemd-login"
2448 ;; Wants to install to global completion dir;
2449 ;; punt.
2450 "--disable-bash-completion"
2451 ;; colord-gtk not packaged yet.
2452 "--disable-session-example"
2453 "--with-daemon-user=colord"
2454 "--enable-sane"
2455 (string-append "--with-udevrulesdir="
2456 (assoc-ref %outputs "out")
2457 "/lib/udev/rules.d"))
2458 #:phases
2459 (modify-phases %standard-phases
3a4de6b2 2460 (add-before 'configure 'patch-/bin/true
75016d07
AW
2461 (lambda _
2462 (substitute* "configure"
2463 (("/bin/true") (which "true")))
2464 (substitute* "src/Makefile.in"
2465 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2466 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2467 (native-inputs
2468 `(("pkg-config" ,pkg-config)
2469 ("gobject-introspection" ,gobject-introspection)
2470 ("libtool" ,libtool)
2471 ("intltool" ,intltool)))
65cb2d61
SB
2472 (propagated-inputs
2473 ;; colord.pc refers to all these.
2474 `(("glib" ,glib)
2475 ("udev" ,eudev)
2476 ("lcms" ,lcms)))
75016d07 2477 (inputs
65cb2d61 2478 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2479 ("libgudev" ,libgudev)
75016d07 2480 ("libusb" ,libusb)
75016d07
AW
2481 ("sqlite" ,sqlite)
2482 ("polkit" ,polkit)
4c928743 2483 ("sane-backends" ,sane-backends)))
75016d07
AW
2484 (home-page "http://www.freedesktop.org/software/colord/")
2485 (synopsis "Color management service")
2486 (description "Colord is a system service that makes it easy to manage,
2487install and generate color profiles to accurately color manage input and
2488output devices.")
2489 (license license:gpl2+)))
7b2abd00
AW
2490
2491(define-public geoclue
2492 (package
2493 (name "geoclue")
c2783e2b 2494 (version "2.4.4")
7b2abd00
AW
2495 (source
2496 (origin
2497 (method url-fetch)
5cc3096c 2498 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2499 "/releases/" (version-major+minor version) "/"
2500 name "-" version ".tar.xz"))
2501 (sha256
2502 (base32
c2783e2b 2503 "0p1ibjf5vzjsahw5xif2si3lj6a00sxhll008jk7w1hj1jfznhww"))
fc1adab1 2504 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2505 (build-system glib-or-gtk-build-system)
2506 (arguments
2507 '(;; The tests want to run the system bus.
2508 #:tests? #f
2509 #:configure-flags (list ;; Disable bits requiring ModemManager.
2510 "--disable-3g-source"
2511 "--disable-cdma-source"
2512 "--disable-modem-gps-source"
2513 "--with-dbus-service-user=geoclue")
2514 #:phases
2515 (modify-phases %standard-phases
3a4de6b2 2516 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2517 (lambda _
2518 (substitute* "configure"
2519 (("/bin/true") (which "true"))))))))
2520 (native-inputs
2521 `(("pkg-config" ,pkg-config)
2522 ("intltool" ,intltool)))
2523 (inputs
54e911bc
SB
2524 `(("avahi" ,avahi)
2525 ("glib" ,glib)
7b2abd00
AW
2526 ("json-glib" ,json-glib)
2527 ("libsoup" ,libsoup)))
2528 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2529 (synopsis "Geolocation service")
2530 (description "Geoclue is a D-Bus service that provides location
2531information. The primary goal of the Geoclue project is to make creating
2532location-aware applications as simple as possible, while the secondary goal is
2533to ensure that no application can access location information without explicit
e881752c 2534permission from user.")
7b2abd00 2535 (license license:gpl2+)))
2bfe7437
AW
2536
2537(define-public geocode-glib
2538 (package
2539 (name "geocode-glib")
3ffd46bd 2540 (version "3.20.1")
2bfe7437
AW
2541 (source (origin
2542 (method url-fetch)
2543 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2544 (version-major+minor version) "/"
2545 name "-" version ".tar.xz"))
2546 (sha256
2547 (base32
3ffd46bd 2548 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2549 (build-system gnu-build-system)
2550 (arguments
2551 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2552 ;; work for the builder. Punt.
a124bbd2 2553 #:tests? #f))
2bfe7437
AW
2554 (native-inputs
2555 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2556 ("gobject-introspection" ,gobject-introspection)
2557 ("pkg-config" ,pkg-config)
2558 ("json-glib" ,json-glib)))
2559 (propagated-inputs
2560 ;; geocode-glib-1.0.pc refers to GIO.
2561 `(("glib" ,glib)))
2562 (inputs
2563 `(("libsoup" ,libsoup)))
2564 (home-page "https://github.com/GNOME/geocode-glib/")
2565 (synopsis "Geocoding and reverse-geocoding library")
2566 (description
2567 "geocode-glib is a convenience library for geocoding (finding longitude,
2568and latitude from an address) and reverse geocoding (finding an address from
2569coordinates) using the Nominatim service. geocode-glib caches requests for
2570faster results and to avoid unnecessary server load.")
2571 (license license:lgpl2.0+)))
a1d5bb0e
AW
2572
2573(define-public upower
2574 (package
2575 (name "upower")
5e503e73 2576 (version "0.99.4")
a1d5bb0e
AW
2577 (source (origin
2578 (method url-fetch)
5cc3096c 2579 (uri (string-append "https://upower.freedesktop.org/releases/"
a1d5bb0e
AW
2580 name "-" version ".tar.xz"))
2581 (sha256
2582 (base32
5e503e73 2583 "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
fc1adab1 2584 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2585 (build-system glib-or-gtk-build-system)
2586 (arguments
2587 '( ;; The tests want to contact the system bus, which can't be done in the
2588 ;; build environment. The integration test can run, but the last of
2589 ;; the up-self-tests doesn't. Disable tests for now.
2590 #:tests? #f
2591 #:configure-flags (list "--localstatedir=/var"
2592 (string-append "--with-udevrulesdir="
2593 (assoc-ref %outputs "out")
2594 "/lib/udev/rules.d"))
2595 #:phases
2596 (modify-phases %standard-phases
2597 (add-before 'configure 'patch-/bin/true
2598 (lambda _
2599 (substitute* "configure"
2600 (("/bin/true") (which "true")))))
2601 (add-before 'configure 'patch-integration-test
2602 (lambda _
2603 (substitute* "src/linux/integration-test"
2604 (("/usr/bin/python3") (which "python3"))))))))
2605 (native-inputs
ebeabe2d
SB
2606 `(("gobject-introspection" ,gobject-introspection)
2607 ("pkg-config" ,pkg-config)
a1d5bb0e 2608 ("intltool" ,intltool)
55409295
LC
2609 ("python" ,python)
2610
2611 ;; For man pages.
2612 ("libxslt" ,libxslt) ;for 'xsltproc'
2613 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2614 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2615 (inputs
ea226291
SB
2616 `(("dbus-glib" ,dbus-glib)
2617 ("libgudev" ,libgudev)
a1d5bb0e
AW
2618 ("libusb" ,libusb)))
2619 (home-page "http://upower.freedesktop.org/")
2620 (synopsis "System daemon for managing power devices")
2621 (description
2622 "UPower is an abstraction for enumerating power devices,
2623listening to device events and querying history and statistics. Any
2624application or service on the system can access the org.freedesktop.UPower
2625service via the system message bus.")
2626 (license license:gpl2+)))
6a180f6f
AW
2627
2628(define-public libgweather
2629 (package
2630 (name "libgweather")
bd03f9db 2631 (version "3.20.4")
6a180f6f
AW
2632 (source (origin
2633 (method url-fetch)
2634 (uri (string-append "mirror://gnome/sources/" name "/"
2635 (version-major+minor version) "/"
2636 name "-" version ".tar.xz"))
2637 (sha256
2638 (base32
bd03f9db 2639 "1higj4nmn3srqjbzl4iva7c0b4fkdq74xi4b35xd0qc4qiawbkbx"))))
6a180f6f
AW
2640 (build-system gnu-build-system)
2641 (arguments
b6072e6b
SB
2642 `(#:configure-flags
2643 `(,(string-append "--with-zoneinfo-dir="
2644 (assoc-ref %build-inputs "tzdata")
2645 "/share/zoneinfo"))
2646 #:phases
2647 (modify-phases %standard-phases
8b8dfa7f
LC
2648 (add-before 'check 'pre-check
2649 (lambda* (#:key inputs #:allow-other-keys)
2650 (substitute* "data/check-timezones.sh"
2651 (("/usr/share/zoneinfo/zone.tab")
2652 (string-append (assoc-ref inputs "tzdata")
2653 "/share/zoneinfo/zone.tab")))
2654
2655 ;; 'Asia/Rangoon' was renamed in tzdata-2016:
2656 ;; <https://github.com/eggert/tz/commit/4368251ebf11310a4aadccd1910daeac9080c501>.
2657 (substitute* "data/Locations.xml"
2658 (("Asia/Rangoon")
2659 "Asia/Yangon"))
b6072e6b 2660 #t)))))
6a180f6f
AW
2661 (native-inputs
2662 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 2663 ("gobject-introspection" ,gobject-introspection)
6a180f6f
AW
2664 ("pkg-config" ,pkg-config)
2665 ("intltool" ,intltool)))
2666 (propagated-inputs
2667 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2668 ;; libsoup.
2669 `(("gtk+" ,gtk+)
2670 ("gdk-pixbuf" ,gdk-pixbuf)
2671 ("libxml2" ,libxml2)
2672 ("libsoup" ,libsoup)))
2673 (inputs
2674 `(("tzdata" ,tzdata)
2675 ("geocode-glib" ,geocode-glib)))
2676 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2677 (synopsis "Location, time zone, and weather library for GNOME")
2678 (description
2679 "libgweather is a library to access weather information from online
2680services for numerous locations.")
2681 (license license:gpl2+)))
23a22af6
AW
2682
2683(define-public gnome-settings-daemon
2684 (package
2685 (name "gnome-settings-daemon")
e1f3c790 2686 (version "3.22.1")
23a22af6
AW
2687 (source
2688 (origin
2689 (method url-fetch)
2690 (uri (string-append "mirror://gnome/sources/" name "/"
2691 (version-major+minor version) "/"
2692 name "-" version ".tar.xz"))
2693 (sha256
2694 (base32
e1f3c790 2695 "1finsr7yqvix6n3rdwclv4fpgagmz6xyrk3qzapkn9ljv76rfzdm"))))
23a22af6
AW
2696 (build-system glib-or-gtk-build-system)
2697 (arguments
eee7878f 2698 `(;; Color management test can't reach the colord system service.
23a22af6
AW
2699 #:tests? #f))
2700 (native-inputs
2701 `(("pkg-config" ,pkg-config)
2702 ("intltool" ,intltool)
2703 ("xsltproc" ,libxslt)
2704 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2705 ("docbook-xml" ,docbook-xml-4.2)
2706 ("docbook-xsl" ,docbook-xsl)))
2707 (inputs
2708 `(("colord" ,colord)
ea226291 2709 ("libgudev" ,libgudev)
23a22af6
AW
2710 ("upower" ,upower)
2711 ("polkit" ,polkit)
2712 ("pulseaudio" ,pulseaudio)
2713 ("libcanberra" ,libcanberra)
2714 ("libx11" ,libx11)
2715 ("libxtst" ,libxtst)
2716 ("lcms" ,lcms)
2717 ("libnotify" ,libnotify)
2718 ("geoclue" ,geoclue)
2719 ("geocode-glib" ,geocode-glib)
2720 ("libgweather" ,libgweather)
2721 ("gnome-desktop" ,gnome-desktop)
2722 ("nss" ,nss)
2723 ("cups" ,cups)
ec2b1921
AW
2724 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2725 ("libwacom" ,libwacom)
2726 ("librsvg" ,librsvg)
eee7878f
CM
2727 ("xf86-input-wacom" ,xf86-input-wacom)
2728 ("network-manager" ,network-manager)))
23a22af6
AW
2729 (home-page "http://www.gnome.org")
2730 (synopsis "GNOME settings daemon")
2731 (description
2732 "This package contains the daemon responsible for setting the various
2733parameters of a GNOME session and the applications that run under it. It
2734handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2735settings, themes, mouse settings, and startup of other daemons.")
2736 (license license:gpl2+)))
1e7464a9
DH
2737
2738(define-public totem-pl-parser
2739 (package
2740 (name "totem-pl-parser")
e980cbe9 2741 (version "3.10.7")
1e7464a9
DH
2742 (source (origin
2743 (method url-fetch)
e980cbe9
MW
2744 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
2745 (version-major+minor version) "/"
1e7464a9
DH
2746 "totem-pl-parser-" version ".tar.xz"))
2747 (sha256
2748 (base32
e980cbe9 2749 "17089sqyh6w6zr8ci865ihmvqshnslcsk9fbsl4s7yii66y8b0lw"))))
1e7464a9
DH
2750 (build-system gnu-build-system)
2751 (arguments
2752 ;; FIXME: Tests require gvfs.
2753 `(#:tests? #f))
2754 (native-inputs
2755 `(("intltool" ,intltool)
2756 ("glib" ,glib "bin")
4d6d8281 2757 ("gobject-introspection" ,gobject-introspection)
1e7464a9 2758 ("pkg-config" ,pkg-config)))
22a6ad6a 2759 (propagated-inputs
1e7464a9
DH
2760 `(("glib" ,glib)
2761 ("gmime" ,gmime)
22a6ad6a
MW
2762 ("libxml2" ,libxml2)))
2763 (inputs
2764 `(("libarchive" ,libarchive)
1e7464a9
DH
2765 ("libgcrypt" ,libgcrypt)
2766 ("nettle" ,nettle)
22a6ad6a 2767 ("libsoup" ,libsoup)))
1e7464a9
DH
2768 (home-page "https://projects.gnome.org/totem")
2769 (synopsis "Library to parse and save media playlists for GNOME")
2770 (description "Totem-pl-parser is a GObjects-based library to parse and save
2771playlists in a variety of formats.")
2772 (license license:lgpl2.0+)))
2773
6b888eff
SB
2774(define-public aisleriot
2775 (package
2776 (name "aisleriot")
c88e669a 2777 (version "3.22.1")
6b888eff
SB
2778 (source (origin
2779 (method url-fetch)
2780 (uri (string-append "mirror://gnome/sources/" name "/"
2781 (version-major+minor version) "/"
2782 name "-" version ".tar.xz"))
2783 (sha256
2784 (base32
c88e669a 2785 "01ydq39kk8xvv8nbqqbh458gpmvx676sms71r1iix42z40a13caj"))))
6b888eff
SB
2786 (build-system glib-or-gtk-build-system)
2787 (arguments
2788 '(#:configure-flags
2789 '("--with-platform=gtk-only"
2790 "--with-card-theme-formats=svg")))
2791 (native-inputs
2792 `(("desktop-file-utils" ,desktop-file-utils)
2793 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2794 ("intltool" ,intltool)
2795 ("itstool" ,itstool)
2796 ("pkg-config" ,pkg-config)
2797 ("xmllint" ,libxml2)))
2798 (inputs
2799 `(("gtk+" ,gtk+)
2800 ("guile" ,guile-2.0)
2801 ("libcanberra" ,libcanberra)
2802 ("librsvg" ,librsvg)))
2803 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
2804 (synopsis "Solitaire card games")
2805 (description
2806 "Aisleriot (also known as Solitaire or sol) is a collection of card games
2807which are easy to play with the aid of a mouse.")
2808 (license license:gpl3+)))
4a79e256
SB
2809
2810(define-public devhelp
2811 (package
2812 (name "devhelp")
76aea80d 2813 (version "3.22.0")
4a79e256
SB
2814 (source (origin
2815 (method url-fetch)
2816 (uri (string-append "mirror://gnome/sources/" name "/"
2817 (version-major+minor version) "/"
2818 name "-" version ".tar.xz"))
2819 (sha256
2820 (base32
76aea80d 2821 "1c7zqn8apm1lnpsp74bd880rga2vi5wxfjghqdgwqf6j28pf1jjr"))))
4a79e256
SB
2822 (build-system glib-or-gtk-build-system)
2823 (native-inputs
2824 `(("intltool" ,intltool)
2825 ("pkg-config" ,pkg-config)))
2826 (inputs
2827 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2828 ("webkitgtk" ,webkitgtk)))
2829 (home-page "https://wiki.gnome.org/Apps/Devhelp")
2830 (synopsis "API documentation browser for GNOME")
2831 (description
2832 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
2833natively with GTK-Doc (the API reference system developed for GTK+ and used
2834throughout GNOME for API documentation).")
2835 (license license:gpl2+)))
ba421ab7
MW
2836
2837(define-public cogl
2838 (package
2839 (name "cogl")
6a55accc 2840 (version "1.22.2")
ba421ab7
MW
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append "mirror://gnome/sources/" name "/"
2845 (version-major+minor version) "/"
2846 name "-" version ".tar.xz"))
2847 (sha256
2848 (base32
6a55accc 2849 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
a88d5a0c
MW
2850 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
2851 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
2852 (build-system gnu-build-system)
2853 (native-inputs
2854 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2855 ("gobject-introspection" ,gobject-introspection)
2856 ;;("xorg-server" ,xorg-server) ; for the test suite
2857 ("pkg-config" ,pkg-config)))
2858 (propagated-inputs
2859 `(("glib" ,glib)
2860 ("gdk-pixbuf" ,gdk-pixbuf)
2861 ("libx11" ,libx11)
2862 ("libxext" ,libxext)
2863 ("libxfixes" ,libxfixes)
2864 ("libxdamage" ,libxdamage)
2865 ("libxcomposite" ,libxcomposite)
2866 ("libxrandr" ,libxrandr)))
2867 (inputs
2868 `(("mesa" ,mesa)
2869 ("cairo" ,cairo)
2870 ("pango" ,pango)
2871 ("gstreamer" ,gstreamer)
2872 ("gst-plugins-base" ,gst-plugins-base)))
2873 (arguments
2874 `(#:configure-flags (list "--enable-cogl-gst"
2875 ;; Arrange to pass an absolute file name to
2876 ;; dlopen for libGL.so.
2877 (string-append "--with-gl-libname="
2878 (assoc-ref %build-inputs "mesa")
2879 "/lib/libGL.so"))
2880 ;; XXX FIXME: All tests fail, with many warnings printed like this:
2881 ;; _FontTransOpen: Unable to Parse address
2882 ;; ${prefix}/share/fonts/X11/misc/
2883 #:tests? #f
2884 #; #:phases
2885 #;
2886 (modify-phases %standard-phases
2887 (add-before 'check 'start-xorg-server
2888 (lambda* (#:key inputs #:allow-other-keys)
2889 ;; The test suite requires a running X server.
2890 (system (format #f "~a/bin/Xvfb :1 &"
2891 (assoc-ref inputs "xorg-server")))
2892 (setenv "DISPLAY" ":1")
2893 #t)))))
2894 (home-page "http://www.cogl3d.org")
2895 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
2896 (description
2897 "Cogl is a small library for using 3D graphics hardware to draw pretty
2898pictures. The API departs from the flat state machine style of OpenGL and is
2899designed to make it easy to write orthogonal components that can render
2900without stepping on each others toes.")
2901 (license (list license:expat ; most of the code
2902 license:bsd-3 ; cogl/cogl-point-in-poly.c
2903 license:sgifreeb2.0 ; cogl-path/tesselator/
2904 license:asl2.0)))) ; examples/android/
fb182b8a
MW
2905
2906(define-public clutter
2907 (package
2908 (name "clutter")
6983ba56 2909 (version "1.26.0")
fb182b8a
MW
2910 (source
2911 (origin
2912 (method url-fetch)
2913 (uri (string-append "mirror://gnome/sources/" name "/"
2914 (version-major+minor version) "/"
2915 name "-" version ".tar.xz"))
2916 (sha256
2917 (base32
6983ba56 2918 "01nfjd4k7j2n3agpx2d9ncff86nfsqv4n23465rb9zmk4iw4wlb7"))))
a88d5a0c
MW
2919 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
2920 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 2921 (build-system gnu-build-system)
600233bd
LC
2922 (outputs '("out"
2923 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
2924 (native-inputs
2925 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
2926 ("gobject-introspection" ,gobject-introspection)
2927 ("pkg-config" ,pkg-config)
2928 ("xsltproc" ,libxslt)))
2929 (propagated-inputs
2930 `(("cogl" ,cogl)
2931 ("cairo" ,cairo)
2932 ("atk" ,atk)
2933 ("gtk+" ,gtk+)
2934 ("json-glib" ,json-glib)
2935 ("glib" ,glib)
2936 ("libxcomposite" ,libxcomposite)
2937 ("libxdamage" ,libxdamage)
2938 ("libxext" ,libxext)
2939 ("xinput" ,xinput)))
2940 (inputs
2941 `(("libxkbcommon" ,libxkbcommon)
2942 ("udev" ,eudev)))
2943 (arguments
600233bd
LC
2944 `(#:configure-flags (list "--enable-x11-backend=yes"
2945
2946 ;; This produces share/doc/{clutter,cally}.
2947 (string-append "--with-html-dir="
2948 (assoc-ref %outputs "doc")
2949 "/share/doc"))
fb182b8a
MW
2950 ;; XXX FIXME: Get test suite working. It would probably fail in the
2951 ;; same way the cogl tests fail, since clutter is based on cogl.
2952 #:tests? #f))
2953 (home-page "http://www.clutter-project.org")
2954 (synopsis "Open GL based interactive canvas library")
2955 (description
2956 "Clutter is an Open GL based interactive canvas library, designed for
2957creating fast, mainly 2D single window applications such as media box UIs,
2958presentations, kiosk style applications and so on.")
2959 (license license:lgpl2.0+)))
bf7f17ba
MW
2960
2961(define-public clutter-gtk
2962 (package
2963 (name "clutter-gtk")
a6e44835 2964 (version "1.8.2")
bf7f17ba
MW
2965 (source
2966 (origin
2967 (method url-fetch)
2968 (uri (string-append "mirror://gnome/sources/" name "/"
2969 (version-major+minor version) "/"
2970 name "-" version ".tar.xz"))
2971 (sha256
2972 (base32
a6e44835 2973 "153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
bf7f17ba
MW
2974 (build-system gnu-build-system)
2975 (native-inputs
2976 `(("pkg-config" ,pkg-config)
2977 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
2978 (propagated-inputs
2979 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
2980 `(("clutter" ,clutter)
2981 ("gtk+" ,gtk+)))
2982 (home-page "http://www.clutter-project.org")
2983 (synopsis "Open GL based interactive canvas library GTK+ widget")
2984 (description
2985 "Clutter is an Open GL based interactive canvas library, designed for
2986creating fast, mainly 2D single window applications such as media box UIs,
2987presentations, kiosk style applications and so on.")
2988 (license license:lgpl2.0+)))
86d6a893
MW
2989
2990(define-public clutter-gst
2991 (package
2992 (name "clutter-gst")
70241d9d 2993 (version "3.0.22")
86d6a893
MW
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append "mirror://gnome/sources/" name "/"
2998 (version-major+minor version) "/"
2999 name "-" version ".tar.xz"))
3000 (sha256
3001 (base32
70241d9d 3002 "1m6zwc7xr7lmbwiqav961g7jhc7gp5gb73dm6j93szpa6bxmgz7i"))))
86d6a893
MW
3003 (build-system gnu-build-system)
3004 (native-inputs
3005 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3006 ("pkg-config" ,pkg-config)
3007 ("gobject-introspection" ,gobject-introspection)))
3008 (inputs
3009 `(("clutter" ,clutter)
3010 ("gstreamer" ,gstreamer)
3011 ("gst-plugins-base" ,gst-plugins-base)))
3012 (home-page "http://www.clutter-project.org")
3013 (synopsis "Integration library for using GStreamer with Clutter")
3014 (description
3015 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3016It provides a GStreamer sink to upload frames to GL and an actor that
3017implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3018GL based interactive canvas library.")
3019 (license license:lgpl2.0+)))
607a04ae 3020
30dc88d9
LC
3021(define-public libchamplain
3022 (package
3023 (name "libchamplain")
80f2d23a 3024 (version "0.12.14")
30dc88d9
LC
3025 (source (origin
3026 (method url-fetch)
3027 (uri (string-append
3028 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3029 version ".tar.xz"))
3030 (sha256
3031 (base32
80f2d23a 3032 "13snnka1jqc5qrgij8bm22xy02pncf3dn5ij3jh4rrpzq7g1sqpi"))))
30dc88d9 3033 (build-system gnu-build-system)
f7c6833f
LF
3034 (arguments '(#:configure-flags '("--enable-vala")))
3035 (native-inputs
3036 `(("gobject-introspection" ,gobject-introspection)
3037 ("pkg-config" ,pkg-config)
3038 ("vala" ,vala)))
30dc88d9
LC
3039 (propagated-inputs
3040 `(("libsoup" ,libsoup)
3041 ("sqlite" ,sqlite)
3042 ("clutter" ,clutter)
3043 ("clutter-gtk" ,clutter-gtk)
3044 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3045 ("cairo" ,cairo)
3046 ("gtk+3" ,gtk+)
3047 ("glib" ,glib)))
3048 (home-page "http://projects.gnome.org/libchamplain/")
3049 (synopsis "C library providing a ClutterActor to display maps")
3050 (description
3051 "libchamplain is a C library providing a ClutterActor to display maps.
3052It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3053and Perl bindings are also available. It supports numerous free map sources
3054such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3055 (license license:lgpl2.1+)))
3056
607a04ae
MW
3057(define-public gom
3058 (package
3059 (name "gom")
0510440b 3060 (version "0.3.2")
607a04ae
MW
3061 (source
3062 (origin
3063 (method url-fetch)
3064 (uri (string-append "mirror://gnome/sources/" name "/"
3065 (version-major+minor version) "/"
3066 name "-" version ".tar.xz"))
3067 (sha256
3068 (base32
0510440b 3069 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3070 (build-system gnu-build-system)
3071 (native-inputs
3072 `(("intltool" ,intltool)
3073 ("pkg-config" ,pkg-config)
3074 ("gobject-introspection" ,gobject-introspection)))
3075 (inputs
3076 `(("glib" ,glib)
3077 ("gdk-pixbuf" ,gdk-pixbuf)
3078 ("sqlite" ,sqlite)))
3079 ;; XXX TODO: Figure out how to run the test suite.
3080 (arguments `(#:tests? #f))
3081 (home-page "https://wiki.gnome.org/Projects/Gom")
3082 (synopsis "Object mapper from GObjects to SQLite")
3083 (description
3084 "Gom provides an object mapper from GObjects to SQLite. It helps you
3085write applications that need to store structured data as well as make complex
3086queries upon that data.")
3087 (license license:lgpl2.1+)))
b7a3cf11 3088
f09520db
SB
3089(define-public libgames-support
3090 (package
3091 (name "libgames-support")
3092 (version "1.0.2")
3093 (source (origin
3094 (method url-fetch)
3095 (uri (string-append "mirror://gnome/sources/" name "/"
3096 (version-major+minor version) "/"
3097 name "-" version ".tar.xz"))
3098 (sha256
3099 (base32
3100 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
3101 (build-system gnu-build-system)
3102 (arguments
3103 '(#:phases
3104 (modify-phases %standard-phases
3105 (add-before 'check 'pre-check
3106 (lambda _
3107 ;; tests require a writable HOME.
3108 (setenv "HOME" (getcwd))
3109 #t)))))
3110 (native-inputs
3111 `(("intltool" ,intltool)
3112 ("pkg-config" ,pkg-config)
3113 ("vala" ,vala)))
3114 (propagated-inputs
3115 ;; Required by libgames-support-1.0.pc
3116 `(("gtk+" ,gtk+)
3117 ("libgee" ,libgee)))
3118 (home-page "https://www.gnome.org/")
3119 (synopsis "Useful functionality shared among GNOME games")
3120 (description
3121 "libgames-support is a small library intended for internal use by
3122GNOME Games, but it may be used by others.")
3123 (license license:lgpl3+)))
3124
43ec2604
MW
3125(define-public libgnome-games-support
3126 (package
3127 (inherit libgames-support)
3128 (name "libgnome-games-support")
3129 (version "1.2.1")
3130 (source (origin
3131 (method url-fetch)
3132 (uri (string-append "mirror://gnome/sources/" name "/"
3133 (version-major+minor version) "/"
3134 name "-" version ".tar.xz"))
3135 (sha256
3136 (base32
3137 "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6"))))))
3138
b7a3cf11
SB
3139(define-public gnome-klotski
3140 (package
3141 (name "gnome-klotski")
f4eae76f 3142 (version "3.22.1")
b7a3cf11
SB
3143 (source (origin
3144 (method url-fetch)
3145 (uri (string-append "mirror://gnome/sources/" name "/"
3146 (version-major+minor version) "/"
3147 name "-" version ".tar.xz"))
3148 (sha256
3149 (base32
f4eae76f 3150 "04ragvrz29sydi2kf1zk2aimi3b3hn34jrndfd2lx6h8l45anq3q"))))
b7a3cf11
SB
3151 (build-system glib-or-gtk-build-system)
3152 (native-inputs
3153 `(("desktop-file-utils" ,desktop-file-utils)
3154 ("intltool" ,intltool)
3155 ("itstool" ,itstool)
bcb354ad
SB
3156 ("pkg-config" ,pkg-config)
3157 ("xmllint" ,libxml2)))
b7a3cf11
SB
3158 (inputs
3159 `(("gtk+" ,gtk+)
f4eae76f 3160 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3161 ("librsvg" ,librsvg)))
3162 (home-page "https://wiki.gnome.org/Apps/Klotski")
3163 (synopsis "Sliding block puzzles")
3164 (description
3165 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3166the patterned block to the area bordered by green markers. To do so, you will
3167need to slide other blocks out of the way. Complete each puzzle in as few moves
3168as possible!")
3169 (license license:gpl2+)))
8d4791bf
MW
3170
3171(define-public grilo
3172 (package
3173 (name "grilo")
e7305878 3174 (version "0.3.2")
8d4791bf
MW
3175 (source
3176 (origin
3177 (method url-fetch)
3178 (uri (string-append "mirror://gnome/sources/" name "/"
3179 (version-major+minor version) "/"
3180 name "-" version ".tar.xz"))
3181 (sha256
3182 (base32
e7305878 3183 "0nvzr2gfk2mpzf99442zawv0n5yjcyy50rqkrvdsibknbm56hvzj"))))
8d4791bf
MW
3184 (build-system gnu-build-system)
3185 (native-inputs
3186 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3187 ("intltool" ,intltool)
3188 ("pkg-config" ,pkg-config)
3189 ("gobject-introspection" ,gobject-introspection)))
3190 (inputs
3191 `(("glib" ,glib)
3192 ("gtk+" ,gtk+)
3193 ("libxml2" ,libxml2)
3194 ;; XXX TODO: Add oauth
3195 ("libsoup" ,libsoup)
e7305878 3196 ("nettle" ,nettle)
8d4791bf
MW
3197 ("totem-pl-parser" ,totem-pl-parser)))
3198 (arguments
3199 `(#:phases
3200 (modify-phases %standard-phases
3201 (add-after 'unpack 'fix-introspection-install-dir
3202 (lambda* (#:key outputs #:allow-other-keys)
3203 (let ((out (assoc-ref outputs "out")))
3204 (substitute* '("src/Makefile.in"
3205 "libs/pls/Makefile.in"
3206 "libs/net/Makefile.in")
3207 (("@INTROSPECTION_GIRDIR@")
3208 (string-append out "/share/gir-1.0/"))
3209 (("@INTROSPECTION_TYPELIBDIR@")
3210 (string-append out "/lib/girepository-1.0/")))))))))
3211 (native-search-paths
3212 (list (search-path-specification
3213 (variable "GRL_PLUGIN_PATH")
3214 (files (list (string-append "lib/grilo-"
3215 (version-major+minor version)))))))
3216 (home-page "http://live.gnome.org/Grilo")
3217 (synopsis "Framework for discovering and browsing media")
3218 (description
3219 "Grilo is a framework focused on making media discovery and browsing easy
3220for application developers.")
3221 (license license:lgpl2.1+)))
7b212526
MW
3222
3223(define-public grilo-plugins
3224 (package
3225 (name "grilo-plugins")
22753632 3226 (version "0.3.3")
7b212526
MW
3227 (source
3228 (origin
3229 (method url-fetch)
3230 (uri (string-append "mirror://gnome/sources/" name "/"
3231 (version-major+minor version) "/"
3232 name "-" version ".tar.xz"))
3233 (sha256
3234 (base32
22753632 3235 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3236 (build-system gnu-build-system)
3237 (native-inputs
3238 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3239 ("intltool" ,intltool)
3240 ("itstool" ,itstool)
3241 ("pkg-config" ,pkg-config)))
3242 (inputs
3243 `(("grilo" ,grilo)
924ae80f 3244 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3245 ("glib" ,glib)
3246 ("libxml2" ,libxml2)
3247 ("sqlite" ,sqlite)
3248 ("gom" ,gom)
3249 ;; XXX TODO: Add oauth
3250 ;; XXX TODO: Add goa
3251 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3252 ;; XXX TODO: Add lua (needs help finding it)
3253 ("json-glib" ,json-glib)
3254 ("avahi" ,avahi)
3255 ("gmime" ,gmime)
3256 ("libsoup" ,libsoup)
3257 ("libarchive" ,libarchive)
3258 ("totem-pl-parser" ,totem-pl-parser)))
3259 (arguments
3260 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3261 %output
3262 "/lib/grilo-"
3263 ,(version-major+minor version)))
3264 ;; XXX FIXME: Try to get the test suite working. It appears to require
3265 ;; a working system dbus. Inside the build container, all tests fail
3266 ;; with: "assertion failed: (source)". Outside of the build container,
3267 ;; most tests succeed.
3268 #:tests? #f))
3269 (home-page "http://live.gnome.org/Grilo")
3270 (synopsis "Plugins for the Grilo media discovery library")
3271 (description
3272 "Grilo is a framework focused on making media discovery and browsing easy
3273for application developers.")
3274 (license license:lgpl2.1+)))
4e3fc547
MW
3275
3276(define-public totem
3277 (package
3278 (name "totem")
7f760a84 3279 (version "3.22.0")
4e3fc547
MW
3280 (source
3281 (origin
3282 (method url-fetch)
3283 (uri (string-append "mirror://gnome/sources/" name "/"
3284 (version-major+minor version) "/"
3285 name "-" version ".tar.xz"))
3286 (sha256
3287 (base32
7f760a84 3288 "1sjgjqhpsh3kipnbc8y31xz64s61xjayxq98pi0vkgbl2rdmnsh2"))))
4e3fc547
MW
3289 (build-system glib-or-gtk-build-system)
3290 (native-inputs
3291 `(("pkg-config" ,pkg-config)
3292 ("desktop-file-utils" ,desktop-file-utils)
3293 ("gobject-introspection" ,gobject-introspection)
3294 ("intltool" ,intltool)
bcb354ad
SB
3295 ("itstool" ,itstool)
3296 ("xmllint" ,libxml2)))
4e3fc547
MW
3297 (propagated-inputs
3298 `(("dconf" ,dconf)))
3299 (inputs
3300 `(("gtk+" ,gtk+)
3301 ("gdk-pixbuf" ,gdk-pixbuf)
3302 ("atk" ,atk)
3303 ("cairo" ,cairo)
3304 ("dbus-glib" ,dbus-glib)
3305 ("clutter" ,clutter)
3306 ("clutter-gtk" ,clutter-gtk)
3307 ("clutter-gst" ,clutter-gst)
3308 ("xproto" ,xproto)
3309 ("libxxf86vm" ,libxxf86vm)
3310 ("libxtst" ,libxtst)
3311 ("libxrandr" ,libxrandr)
3312 ("libxml2" ,libxml2)
3313 ("libsoup" ,libsoup)
3314 ("libpeas" ,libpeas)
3315 ("librsvg" ,librsvg)
3316 ("lirc" ,lirc)
3317 ("gnome-desktop" ,gnome-desktop)
3318 ("gstreamer" ,gstreamer)
3319 ("gst-plugins-base" ,gst-plugins-base)
3320 ("gst-plugins-good" ,gst-plugins-good)
3321 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3322 ("adwaita-icon-theme" ,adwaita-icon-theme)
3323 ;; XXX We use python-2 because libxml2 because itstool (which needs
3324 ;; libxml) currently uses python-2.
3325 ("python" ,python-2)
3326 ("python-pygobject" ,python2-pygobject)
3327 ;; XXX TODO pylint needed for python support
3328 ("totem-pl-parser" ,totem-pl-parser)
3329 ("grilo" ,grilo)
3330 ("grilo-plugins" ,grilo-plugins)
3331 ("nettle" ,nettle)
3332 ("vala" ,vala)))
3333 (arguments
3334 `(#:phases
3335 (modify-phases %standard-phases
3336 (add-after
3337 'install 'wrap-totem
3338 (lambda* (#:key inputs outputs #:allow-other-keys)
3339 (let ((out (assoc-ref outputs "out"))
3340 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3341 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3342 (wrap-program (string-append out "/bin/totem")
3343 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3344 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3345 #t)))))
3346 (home-page "https://wiki.gnome.org/Apps/Videos")
3347 (synopsis "Simple media player for GNOME based on GStreamer")
3348 (description "Totem is a simple yet featureful media player for GNOME
3349which can read a large number of file formats.")
3350 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3351 ;; to be used and distributed together with GStreamer and Totem. See
3352 ;; file://COPYING in the source distribution for details.
3353 (license license:gpl2+)))
f0afb0c8
DH
3354
3355(define-public rhythmbox
3356 (package
3357 (name "rhythmbox")
4faa8abe 3358 (version "3.4.1")
f0afb0c8
DH
3359 (source (origin
3360 (method url-fetch)
3361 (uri (string-append "mirror://gnome/sources/" name "/"
3362 (version-major+minor version) "/"
3363 name "-" version ".tar.xz"))
3364 (sha256
3365 (base32
4faa8abe 3366 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3367 (build-system glib-or-gtk-build-system)
3368 (arguments
3369 `(#:configure-flags
3370 (list "--enable-lirc"
3371 "--enable-python"
3372 "--enable-vala"
3373 "--with-brasero"
3374 "--with-gudev"
3375 "--with-libsecret")
3376 #:phases
3377 (modify-phases %standard-phases
3378 (add-after
3379 'install 'wrap-rhythmbox
3380 (lambda* (#:key inputs outputs #:allow-other-keys)
3381 (let ((out (assoc-ref outputs "out"))
3382 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3383 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3384 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3385 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3386 (wrap-program (string-append out "/bin/rhythmbox")
3387 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3388 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3389 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3390 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3391 #t)))))
3392 (propagated-inputs
3393 `(("dconf" ,dconf)))
3394 (native-inputs
bcb354ad
SB
3395 `(("itstool" ,itstool)
3396 ("intltool" ,intltool)
f0afb0c8
DH
3397 ("glib" ,glib "bin")
3398 ("gobject-introspection" ,gobject-introspection)
3399 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3400 ("pkg-config" ,pkg-config)
3401 ("xmllint" ,libxml2)))
f0afb0c8
DH
3402 (inputs
3403 `(("json-glib" ,json-glib)
3404 ("tdb" ,tdb)
3405 ("gnome-desktop" ,gnome-desktop)
3406 ("python" ,python)
3407 ("python-pygobject" ,python2-pygobject)
3408 ("vala" ,vala)
3409 ("gmime" ,gmime)
3410 ("nettle" ,nettle)
f0afb0c8
DH
3411 ("adwaita-icon-theme" ,adwaita-icon-theme)
3412 ("grilo" ,grilo)
3413 ("grilo-plugins" ,grilo-plugins)
3414 ("gstreamer" ,gstreamer)
3415 ("gst-plugins-base" ,gst-plugins-base)
3416 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3417 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3418 ("libgudev" ,libgudev)
f0afb0c8
DH
3419 ;;("libmtp" ,libmtp) FIXME: Not detected
3420 ("libsecret" ,libsecret)
3421 ("libsoup" ,libsoup)
3422 ("libnotify" ,libnotify)
3423 ("libpeas" ,libpeas)
3424 ("lirc" ,lirc)
3425 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3426 ;;("clutter" ,clutter)
3427 ;;("clutter-gtk" ,clutter-gtk)
3428 ;;("clutter-gst" ,clutter-gst)
3429 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3430 ("atk" ,atk)
3431 ("pango" ,pango)
3432 ("gtk+" ,gtk+)
3433 ;; TODO:
3434 ;; * libgpod
3435 ;; * mx
f0afb0c8
DH
3436 ("brasero" ,brasero)))
3437 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3438 (synopsis "Music player for GNOME")
3439 (description "Rhythmbox is a music playing application for GNOME. It
3440supports playlists, song ratings, and any codecs installed through gstreamer.")
3441 (license license:gpl2+)))
f70d8383
DH
3442
3443(define-public eog
3444 (package
3445 (name "eog")
f635aa8c 3446 (version "3.20.5")
f70d8383
DH
3447 (source (origin
3448 (method url-fetch)
3449 (uri (string-append "mirror://gnome/sources/" name "/"
3450 (version-major+minor version) "/"
3451 name "-" version ".tar.xz"))
3452 (sha256
3453 (base32
f635aa8c 3454 "0fqvfc4y1lbv0awh8dbx9khfha0hdkmnj1lzw5jq0l7jmahwbrz6"))))
f70d8383
DH
3455 (build-system glib-or-gtk-build-system)
3456 (arguments
3457 `(#:phases
3458 (modify-phases %standard-phases
3459 (add-after
3460 'install 'wrap-eog
3461 (lambda* (#:key outputs #:allow-other-keys)
3462 (let ((out (assoc-ref outputs "out"))
3463 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3464 (wrap-program (string-append out "/bin/eog")
3465 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3466 #t)))))
3467 (propagated-inputs
3468 `(("dconf" ,dconf)))
3469 (native-inputs
3470 `(("intltool" ,intltool)
b3546174 3471 ("itstool" ,itstool)
f70d8383
DH
3472 ("glib" ,glib "bin")
3473 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3474 ("pkg-config" ,pkg-config)
3475 ("xmllint" ,libxml2)))
f70d8383
DH
3476 (inputs
3477 `(("gnome-desktop" ,gnome-desktop)
3478 ("shared-mime-info" ,shared-mime-info)
3479 ("adwaita-icon-theme" ,adwaita-icon-theme)
3480 ("exempi" ,exempi)
3481 ("lcms" ,lcms)
3482 ("libexif" ,libexif)
3483 ("libpeas" ,libpeas)
3484 ("libjpeg" ,libjpeg)
3485 ("librsvg" ,librsvg)
3486 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3487 ("gtk+" ,gtk+)))
3488 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3489 (synopsis "GNOME image viewer")
3490 (description "Eye of GNOME is the GNOME image viewer. It
3491supports image conversion, rotation, and slideshows.")
3492 (license license:gpl2+)))
41af5e7b
SB
3493
3494(define-public libgudev
3495 (package
3496 (name "libgudev")
3497 (version "230")
3498 (source (origin
3499 (method url-fetch)
3500 (uri (string-append "mirror://gnome/sources/" name "/"
3501 version "/" name "-" version ".tar.xz"))
3502 (sha256
3503 (base32
3504 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3505 (build-system gnu-build-system)
3506 (native-inputs
3507 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3508 ("gobject-introspection" ,gobject-introspection)
3509 ("pkg-config" ,pkg-config)))
3510 (propagated-inputs
3511 `(("glib" ,glib))) ; required by gudev-1.0.pc
3512 (inputs
3513 `(("udev" ,eudev)))
3514 (home-page "https://wiki.gnome.org/Projects/libgudev")
3515 (synopsis "GObject bindings for libudev")
3516 (description
3517 "This library provides GObject bindings for libudev. It was originally
3518part of udev-extras, then udev, then systemd. It's now a project on its own.")
3519 (license license:lgpl2.1+)))
3dc8828f
SB
3520
3521(define-public gvfs
3522 (package
3523 (name "gvfs")
8852ca24 3524 (version "1.30.3")
3dc8828f
SB
3525 (source (origin
3526 (method url-fetch)
3527 (uri (string-append "mirror://gnome/sources/" name "/"
3528 (version-major+minor version) "/"
3529 name "-" version ".tar.xz"))
3530 (sha256
3531 (base32
8852ca24 3532 "0xgis1kgglnazy1vm66xiqyz8yvvmiad3h0g3agg7ryai6aa495q"))))
3dc8828f
SB
3533 (build-system gnu-build-system)
3534 (arguments
3535 '(#:tests? #f)) ; XXX: requiring `pidof'
3536 (native-inputs
3537 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3538 ("intltool" ,intltool)
3539 ("pkg-config" ,pkg-config)
3540 ("xsltproc" ,libxslt)))
3541 (inputs
3542 `(("avahi" ,avahi)
3543 ("docbook-xml" ,docbook-xml-4.2)
3544 ("docbook-xsl" ,docbook-xsl)
3545 ("dbus" ,dbus)
3546 ("fuse" ,fuse)
24a78aa6 3547 ("gcr" ,gcr)
3dc8828f
SB
3548 ("glib" ,glib)
3549 ("libarchive" ,libarchive)
3550 ("libbluray" ,libbluray)
8852ca24 3551 ("libcap" ,libcap)
3dc8828f
SB
3552 ("libcdio-paranoia" ,libcdio-paranoia)
3553 ("libgcrypt" ,libgcrypt)
3554 ("libgphoto2" ,libgphoto2)
3555 ("libgudev" ,libgudev)
3556 ("libmtp" ,libmtp)
3557 ("libsecret" ,libsecret)
3558 ("libsmbclient" ,samba)
3559 ("libsoup" ,libsoup)
3560 ("libxml2" ,libxml2)
3561 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3562 ("polkit" ,polkit)
3dc8828f
SB
3563 ("udisks" ,udisks)))
3564 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3565 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3566 (description
8f65585b 3567 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3568abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3569to all applications using the GIO API. It also supports exposing the GVFS
3570mounts to non-GIO applications using FUSE.
3571
3572GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3573DAV, and others.")
3574 (license license:lgpl2.0+)))
7c88b6bd
AW
3575
3576(define-public gusb
3577 (package
3578 (name "gusb")
6b7d7e9b 3579 (version "0.2.9")
7c88b6bd
AW
3580 (source (origin
3581 (method url-fetch)
3582 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3583 "gusb_"
3584 (string-join (string-split version #\.)
3585 "_")
3586 ".tar.gz"))
3587 (sha256
3588 (base32
6b7d7e9b 3589 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3590 (build-system gnu-build-system)
3591 (native-inputs
3592 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3593 ("gobject-introspection" ,gobject-introspection)
3594 ("pkg-config" ,pkg-config)
3595 ("vala" ,vala)
3596 ("autoconf" ,autoconf)
3597 ("automake" ,automake)
3598 ("libtool" ,libtool)
3599 ("gtk-doc" ,gtk-doc)))
3600 (propagated-inputs
3601 ;; Both of these are required by gusb.pc.
3602 `(("glib" ,glib)
3603 ("libusb" ,libusb)))
3604 (arguments
3605 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3606 #:phases
3607 (modify-phases %standard-phases
3608 (add-after 'unpack 'autogen
3609 (lambda _
3610 (and (zero? (system* "gtkdocize"))
3611 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3612 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3613 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3614 (description
3615 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3616asynchronous control, bulk and interrupt transfers with proper cancellation
3617and integration into a mainloop. This makes it easy to integrate low level
3618USB transfers with your high-level application or system daemon.")
3619 (license license:lgpl2.1+)))
0abe1d86
AW
3620
3621(define-public simple-scan
3622 (package
3623 (name "simple-scan")
f75bb2c3 3624 (version "3.22.0.1")
0abe1d86
AW
3625 (source (origin
3626 (method url-fetch)
3627 (uri (string-append "https://launchpad.net/simple-scan/"
3628 (version-major+minor version) "/"
3629 version "/+download/simple-scan-"
3630 version ".tar.xz"))
3631 (sha256
3632 (base32
f75bb2c3 3633 "0l1b3llkdlqq0bcjx1cadba67l2zb4zfykdaprpjbjbr6gkbc1f5"))))
0abe1d86
AW
3634 (build-system glib-or-gtk-build-system)
3635 (inputs
3636 `(("gtk" ,gtk+)
3637 ("zlib" ,zlib)
3638 ("cairo" ,cairo)
3639 ("gdk-pixbuf" ,gdk-pixbuf)
3640 ("gusb" ,gusb)
4c928743 3641 ("libsane" ,sane-backends)))
0abe1d86 3642 (native-inputs
b94a6ca0 3643 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3644 ("itstool" ,itstool)
3645 ("colord" ,colord)
3646 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3647 ("pkg-config" ,pkg-config)
bcb354ad
SB
3648 ("vala" ,vala)
3649 ("xmllint" ,libxml2)))
fb9ca511
TGR
3650 (arguments
3651 '(#:configure-flags '("--disable-packagekit")
3652 #:phases
3653 (modify-phases %standard-phases
3654 (add-after 'unpack 'clean
3655 (lambda _
3656 ;; Remove a left-over reference to PackageKit.
3657
3658 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3659
3660 ;; There are some generated C files erroneously
3661 ;; included in the source distribution, and this
3662 ;; one breaks the build by referring to a
3663 ;; non-existent header (packagekit.h)
3664 (delete-file "src/ui.c"))))))
0abe1d86
AW
3665 (home-page "https://launchpad.net/simple-scan")
3666 (synopsis "Document and image scanner")
3667 (description "Simple Scan is an easy-to-use application, designed to let
3668users connect their scanner and quickly have the image/document in an
3669appropriate format. Simple Scan is basically a frontend for SANE - which is
3670the same backend as XSANE uses. This means that all existing scanners will
3671work and the interface is well tested.")
3672 (license license:gpl3+)))
7549f984
SB
3673
3674(define-public epiphany
3675 (package
3676 (name "epiphany")
6f48d9db 3677 (version "3.22.6")
7549f984
SB
3678 (source (origin
3679 (method url-fetch)
3680 (uri (string-append "mirror://gnome/sources/" name "/"
3681 (version-major+minor version) "/"
3682 name "-" version ".tar.xz"))
3683 (sha256
3684 (base32
6f48d9db 3685 "1hpwjwiviwh9dgc9cwq0gmr5jy40rvigjcq0cbg2nw2hqiyshzny"))))
7549f984
SB
3686 (build-system glib-or-gtk-build-system)
3687 (arguments
3688 ;; FIXME: tests run under Xvfb, but fail with:
3689 ;; /src/bookmarks/ephy-bookmarks/create:
3690 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
3691 ;; subsystem
3692 ;; FAIL
6f48d9db
MW
3693 '(#:tests? #f
3694 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
3695 (propagated-inputs
3696 `(("dconf" ,dconf)))
7549f984
SB
3697 (native-inputs
3698 `(("intltool" ,intltool)
3699 ("itstool" ,itstool)
bcb354ad
SB
3700 ("pkg-config" ,pkg-config)
3701 ("xmllint" ,libxml2)))
7549f984
SB
3702 (inputs
3703 `(("avahi" ,avahi)
3704 ("gcr" ,gcr)
3705 ("glib-networking" ,glib-networking)
3706 ("gnome-desktop" ,gnome-desktop)
3707 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3708 ("iso-codes" ,iso-codes)
3709 ("libnotify" ,libnotify)
3710 ("libsecret" ,libsecret)
7549f984 3711 ("libxslt" ,libxslt)
7549f984
SB
3712 ("sqlite" ,sqlite)
3713 ("webkitgtk" ,webkitgtk)))
3714 (home-page "https://wiki.gnome.org/Apps/Web")
3715 (synopsis "GNOME web browser")
3716 (description
3717 "Epiphany is a GNOME web browser targeted at non-technical users. Its
3718principles are simplicity and standards compliance.")
3719 (license license:gpl2+)))
a3856b2c
SB
3720
3721(define-public d-feet
3722 (package
3723 (name "d-feet")
7d04b13c 3724 (version "0.3.11")
a3856b2c
SB
3725 (source (origin
3726 (method url-fetch)
3727 (uri (string-append "mirror://gnome/sources/" name "/"
3728 (version-major+minor version) "/"
3729 name "-" version ".tar.xz"))
3730 (sha256
3731 (base32
7d04b13c 3732 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
3733 (build-system glib-or-gtk-build-system)
3734 (arguments
3735 '(#:out-of-source? #f ; tests need to run in the source directory.
3736 #:phases
3737 (modify-phases %standard-phases
3738 (add-before
3739 'check 'pre-check
86aff791 3740 (lambda _
a3856b2c
SB
3741 ;; The test suite requires a running X server.
3742 (system "Xvfb :1 &")
3743 (setenv "DISPLAY" ":1")
3744 ;; Don't fail on missing '/etc/machine-id'.
3745 (setenv "DBUS_FATAL_WARNINGS" "0")
3746 ;; tests.py and window.py don't meet E402:
3747 ;; E402 module level import not at top of file
3748 (substitute* "src/tests/Makefile"
86aff791
MW
3749 (("--ignore=E123") "--ignore=E123,E402"))
3750 #t))
a3856b2c
SB
3751 (add-after
3752 'install 'wrap-program
3753 (lambda* (#:key outputs #:allow-other-keys)
3754 (let ((prog (string-append (assoc-ref outputs "out")
3755 "/bin/d-feet")))
3756 (wrap-program prog
3757 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
3758 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
3759 #t))))))
a3856b2c
SB
3760 (native-inputs
3761 `(("intltool" ,intltool)
3762 ("itstool" ,itstool)
3763 ("pkg-config" ,pkg-config)
3764 ("python-pep8" ,python-pep8)
3765 ("xmllint" ,libxml2)
3766 ("xorg-server" ,xorg-server)))
3767 (inputs
3768 `(("gobject-introspection" ,gobject-introspection)
3769 ("gtk+" ,gtk+)
3770 ("python" ,python-wrapper)
3771 ("python-pygobject" ,python-pygobject)))
3772 (home-page "https://wiki.gnome.org/Apps/DFeet")
3773 (synopsis "D-Bus debugger")
3774 (description
3775 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
3776of running programs and invoke methods on those interfaces.")
3777 (license license:gpl2+)))
c3b97bd9
SB
3778
3779(define-public yelp-xsl
3780 (package
3781 (name "yelp-xsl")
27ad5743 3782 (version "3.20.1")
c3b97bd9
SB
3783 (source (origin
3784 (method url-fetch)
3785 (uri (string-append "mirror://gnome/sources/" name "/"
3786 (version-major+minor version) "/"
3787 name "-" version ".tar.xz"))
3788 (sha256
3789 (base32
27ad5743 3790 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
3791 (build-system gnu-build-system)
3792 (native-inputs
3793 `(("intltool" ,intltool)
3794 ("itstool" ,itstool)
3795 ("xmllint" ,libxml2)))
3796 (home-page "https://wiki.gnome.org/Apps/Yelp")
3797 (synopsis "XSL stylesheets for Yelp")
3798 (description
3799 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
3800to format Docbook and Mallard documents.")
3801 (license license:gpl2+)))
de3d612a
SB
3802
3803(define-public yelp
3804 (package
3805 (name "yelp")
491cc0dc 3806 (version "3.22.0")
de3d612a
SB
3807 (source (origin
3808 (method url-fetch)
3809 (uri (string-append "mirror://gnome/sources/" name "/"
3810 (version-major+minor version) "/"
3811 name "-" version ".tar.xz"))
3812 (sha256
3813 (base32
491cc0dc 3814 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
3815 (build-system glib-or-gtk-build-system)
3816 (native-inputs
3817 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3818 ("intltool" ,intltool)
3819 ("itstool" ,itstool)
3820 ("pkg-config" ,pkg-config)))
3821 (propagated-inputs
3822 `(("dconf" ,dconf)))
3823 (inputs
ad1b7d8b
SB
3824 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3825 ("libxslt" ,libxslt)
de3d612a 3826 ("sqlite" ,sqlite)
4c28ca1d
SB
3827 ("webkitgtk" ,webkitgtk)
3828 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
3829 (home-page "https://wiki.gnome.org/Apps/Yelp")
3830 (synopsis "GNOME help browser")
3831 (description
3832 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
3833man, info, and HTML documents. It can locate documents according to the
3834freedesktop.org help system specification.")
3835 (license license:gpl2+)))
122d0d10
SB
3836
3837(define-public yelp-tools
3838 (package
3839 (name "yelp-tools")
50695955 3840 (version "3.18.0")
122d0d10
SB
3841 (source (origin
3842 (method url-fetch)
3843 (uri (string-append "mirror://gnome/sources/" name "/"
3844 (version-major+minor version) "/"
3845 name "-" version ".tar.xz"))
3846 (sha256
3847 (base32
50695955 3848 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
3849 (build-system gnu-build-system)
3850 (native-inputs
3851 `(("pkg-config" ,pkg-config)))
3852 (propagated-inputs
3853 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
3854 `(("itstool" ,itstool)
3855 ("xmllint" ,libxml2)
3856 ("xsltproc" ,libxslt)))
3857 (inputs
3858 `(("yelp-xsl" ,yelp-xsl)))
3859 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
3860 (synopsis "Yelp documentation tools")
3861 (description
3862 "Yelp-tools is a collection of scripts and build utilities to help create,
3863manage, and publish documentation for Yelp and the web. Most of the heavy
3864lifting is done by packages like yelp-xsl and itstool. This package just
3865wraps things up in a developer-friendly way.")
3866 (license license:gpl2+)))
af8f9f23
RW
3867
3868(define-public libgee
3869 (package
3870 (name "libgee")
e3167771 3871 (version "0.18.1")
af8f9f23
RW
3872 (source (origin
3873 (method url-fetch)
3874 (uri (string-append "mirror://gnome/sources/" name "/"
3875 (version-major+minor version) "/"
3876 name "-" version ".tar.xz"))
3877 (sha256
3878 (base32
e3167771 3879 "18ir5264bhdg76kcjn8i5bfs1vz89qqn2py20aavm2cwbaz6ns4r"))))
af8f9f23
RW
3880 (build-system gnu-build-system)
3881 (arguments
3882 `(#:phases
3883 (modify-phases %standard-phases
3884 (add-after 'unpack 'fix-introspection-install-dir
3885 (lambda* (#:key outputs #:allow-other-keys)
3886 (let ((out (assoc-ref outputs "out")))
3887 (substitute* "gee/Makefile.in"
3888 (("@INTROSPECTION_GIRDIR@")
3889 (string-append out "/share/gir-1.0/"))
3890 (("@INTROSPECTION_TYPELIBDIR@")
3891 (string-append out "/lib/girepository-1.0/")))))))))
3892 (native-inputs
3893 `(("glib" ,glib "bin")
3894 ("pkg-config" ,pkg-config)))
3895 (inputs
3896 `(("glib" ,glib)
3897 ("gobject-introspection" ,gobject-introspection)))
3898 (home-page "https://wiki.gnome.org/Projects/Libgee")
3899 (synopsis "GObject collection library")
3900 (description
3901 "Libgee is a utility library providing GObject-based interfaces and
3902classes for commonly used data structures.")
3903 (license license:lgpl2.1+)))
b0f9c4b8
RW
3904
3905(define-public gexiv2
3906 (package
3907 (name "gexiv2")
2456d97b 3908 (version "0.10.4")
b0f9c4b8
RW
3909 (source (origin
3910 (method url-fetch)
3911 (uri (string-append "mirror://gnome/sources/" name "/"
3912 (version-major+minor version) "/"
3913 name "-" version ".tar.xz"))
3914 (sha256
3915 (base32
2456d97b 3916 "190www3b61spfgwx42jw8h5hsz2996jcxky48k63468avjpk33dd"))))
b0f9c4b8
RW
3917 (build-system gnu-build-system)
3918 (native-inputs
3919 `(("glib" ,glib "bin")
3920 ("pkg-config" ,pkg-config)))
3921 (propagated-inputs
3922 ;; Listed in "Requires" section of gexiv2.pc
3923 `(("exiv2" ,exiv2)))
3924 (inputs
3925 `(("glib" ,glib)
3926 ("gobject-introspection" ,gobject-introspection)))
3927 (home-page "https://wiki.gnome.org/Projects/gexiv2")
3928 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
3929 (description
3930 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
3931allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
3932metadata in photo and video files of various formats.")
3933 (license license:gpl2+)))
fed5a689
RW
3934
3935(define-public shotwell
3936 (package
3937 (name "shotwell")
8bf4a6ae 3938 (version "0.25.2")
fed5a689
RW
3939 (source (origin
3940 (method url-fetch)
3941 (uri (string-append "mirror://gnome/sources/" name "/"
3942 (version-major+minor version) "/"
3943 name "-" version ".tar.xz"))
3944 (sha256
3945 (base32
8bf4a6ae 3946 "1bih5hr3pvpkx3fck55bnhngn4fl92ryjizc34wb8pwigbkxnaj1"))))
fed5a689 3947 (build-system glib-or-gtk-build-system)
735b8db6
TGR
3948 (propagated-inputs
3949 `(("dconf" ,dconf)))
fed5a689
RW
3950 (native-inputs
3951 `(("pkg-config" ,pkg-config)
f819c21d 3952 ("itstool" ,itstool)
b94a6ca0 3953 ("gettext" ,gettext-minimal)
77e9c993 3954 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
3955 ("itstool" ,itstool)
3956 ("vala" ,vala)))
fed5a689 3957 (inputs
735b8db6
TGR
3958 `(("glib:bin" ,glib "bin")
3959 ("gstreamer" ,gstreamer)
fed5a689 3960 ("gst-plugins-base" ,gst-plugins-base)
fed5a689
RW
3961 ("libgee" ,libgee)
3962 ("gexiv2" ,gexiv2)
3963 ("libraw" ,libraw)
3964 ("json-glib" ,json-glib)
7108425c 3965 ("webkitgtk" ,webkitgtk)
fed5a689
RW
3966 ("sqlite" ,sqlite)
3967 ("libsoup" ,libsoup)
3968 ("libxml2" ,libxml2)
fed5a689 3969 ("libgudev" ,libgudev)
522fc32e
LF
3970 ("libgphoto2" ,libgphoto2)
3971 ("gcr" ,gcr)))
fed5a689
RW
3972 (home-page "https://wiki.gnome.org/Apps/Shotwell")
3973 (synopsis "Photo manager for GNOME 3")
3974 (description
3975 "Shotwell is a digital photo manager designed for the GNOME desktop
3976environment. It allows you to import photos from disk or camera, organize
3977them by keywords and events, view them in full-window or fullscreen mode, and
3978share them with others via social networking and more.")
3979 (license license:lgpl2.1+)))
293ff8b2
DT
3980
3981(define-public file-roller
3982 (package
3983 (name "file-roller")
e6f5e6b6 3984 (version "3.22.2")
293ff8b2
DT
3985 (source (origin
3986 (method url-fetch)
3987 (uri (string-append "mirror://gnome/sources/" name "/"
3988 (version-major+minor version) "/"
3989 name "-" version ".tar.xz"))
3990 (sha256
3991 (base32
e6f5e6b6 3992 "1yaxd0lqhajszilblkidqfkaffhzml10l7ib64023y36qgf8q597"))))
293ff8b2 3993 (build-system glib-or-gtk-build-system)
c282c55d
SB
3994 (arguments
3995 '(#:phases
3996 (modify-phases %standard-phases
3997 (add-before 'install 'skip-gtk-update-icon-cache
3998 (lambda _
3999 ;; Don't create 'icon-theme.cache'
4000 (substitute* (find-files "data" "^Makefile$")
4001 (("gtk-update-icon-cache") (which "true")))
4002 #t)))))
293ff8b2
DT
4003 (native-inputs
4004 `(("intltool" ,intltool)
4005 ("pkg-config" ,pkg-config)))
4006 ;; TODO: Add libnautilus.
4007 (inputs
4008 `(("gtk+" ,gtk+)
4009 ("gdk-pixbuf" ,gdk-pixbuf)
4010 ("json-glib" ,json-glib)
4011 ("libarchive" ,libarchive)
4012 ("libnotify" ,libnotify)
4013 ("nettle" ,nettle)
4014 ("itstool" ,itstool)
4015 ("libxml2" ,libxml2)))
4016 (synopsis "Graphical archive manager for GNOME")
4017 (description "File Roller is an archive manager for the GNOME desktop
4018environment that allows users to view, unpack, and create compressed archives
4019such as gzip tarballs.")
4020 (home-page "http://fileroller.sourceforge.net/")
4021 (license license:gpl2+)))
7ce49365
SB
4022
4023(define-public gnome-session
4024 (package
4025 (name "gnome-session")
57203ebb 4026 (version "3.22.2")
7ce49365
SB
4027 (source (origin
4028 (method url-fetch)
4029 (uri (string-append "mirror://gnome/sources/" name "/"
4030 (version-major+minor version) "/"
4031 name "-" version ".tar.xz"))
4032 (sha256
4033 (base32
57203ebb 4034 "1xahljysbpnc1zafm1y2lqnmmqi2jh4fx7h2y48d9ipqnknk26in"))))
2914af3c
AW
4035 (arguments
4036 '(#:phases
4037 (modify-phases %standard-phases
4038 (add-before 'configure 'pre-configure
4039 (lambda* (#:key outputs #:allow-other-keys)
4040 ;; Use elogind instead of systemd.
4041 (substitute* "configure"
4042 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4043 "libelogind")
4044 (("systemd") "elogind"))
4045 (substitute* "gnome-session/gsm-systemd.c"
4046 (("#include <systemd/sd-login.h>")
4047 "#include <elogind/sd-login.h>"))
4048 ;; Remove uses of the systemd journal.
4049 (substitute* "gnome-session/main.c"
4050 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4051 (substitute* "gnome-session/gsm-manager.c"
4052 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4053 (substitute* "gnome-session/gsm-autostart-app.c"
4054 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4055 #t))
4056 (add-after 'install 'wrap-gnome-session
4057 (lambda* (#:key inputs outputs #:allow-other-keys)
4058 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4059 (let ((glib (assoc-ref inputs "glib:bin"))
4060 (out (assoc-ref outputs "out")))
4061 (wrap-program (string-append out "/bin/gnome-session")
4062 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4063 #t)))
4064 (add-after 'install 'disable-hardware-acceleration-check
4065 (lambda* (#:key outputs #:allow-other-keys)
4066 ;; Do not abort if hardware acceleration is missing. This allows
4067 ;; GNOME to run in QEMU and on low-end devices.
4068 (let ((out (assoc-ref outputs "out")))
4069 (substitute* (string-append out
4070 "/share/xsessions/gnome.desktop")
4071 (("gnome-session")
4072 "gnome-session --disable-acceleration-check"))
a0d7baaf 4073 #t))))
6cbc8d57 4074
2914af3c
AW
4075 #:configure-flags
4076 '("--enable-elogind")))
ba3cb5ab 4077 (build-system glib-or-gtk-build-system)
7ce49365
SB
4078 (native-inputs
4079 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4080 ("pkg-config" ,pkg-config)
4081 ("intltool" ,intltool)
4082 ("xsltproc" ,libxslt)))
4083 (inputs
2914af3c
AW
4084 `(("elogind" ,elogind)
4085 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4086 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4087 ("gtk+" ,gtk+)
4088 ("json-glib" ,json-glib)
4089 ("libsm" ,libsm)
4090 ("libxcomposite" ,libxcomposite)
4091 ("libxtst" ,libxtst)
4092 ("mesa" ,mesa)
4093 ("upower" ,upower)
4094 ("xtrans" ,xtrans)))
4095 (synopsis "Session manager for GNOME")
4096 (description
4097 "This package contains the GNOME session manager, as well as a
4098configuration program to choose applications starting on login.")
4099 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4100 (license license:gpl2+)))
f47ba77e
SB
4101
4102(define-public gjs
4103 (package
4104 (name "gjs")
fc119619 4105 (version "1.46.0")
f47ba77e
SB
4106 (source (origin
4107 (method url-fetch)
4108 (uri (string-append "mirror://gnome/sources/" name "/"
4109 (version-major+minor version) "/"
4110 name "-" version ".tar.xz"))
4111 (sha256
4112 (base32
fc119619 4113 "1m2ssa6qsipbp8lz4xbhf0nhadhv0xkdpmz1jcvl9187lwgmk0r2"))
f47ba77e
SB
4114 (modules '((guix build utils)))
4115 (snippet '(substitute* "test/run-with-dbus"
4116 (("/bin/rm") "rm")))))
4117 (build-system gnu-build-system)
4118 (arguments
4119 '(#:phases
4120 (modify-phases %standard-phases
4121 (add-before
4122 'check 'pre-check
4123 (lambda _
fc119619
MW
4124 ;; The test suite requires a running X server.
4125 (system "Xvfb :1 &")
4126 (setenv "DISPLAY" ":1")
4127
f47ba77e
SB
4128 ;; For the missing /etc/machine-id.
4129 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07
SB
4130
4131 ;; XXX: fails with:
4132 ;; Failed to convert UTF-8 string to JS string: ...
4133 ;; TODO: actually fix it.
4134 (substitute* "installed-tests/js/testEverythingBasic.js"
4135 ((".*test_utf8_inout.*") ""))
f47ba77e
SB
4136 #t)))))
4137 (native-inputs
4138 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4139 ("pkg-config" ,pkg-config)
4140 ("xmllint" ,libxml2)
4141 ;; For testing
4142 ("dbus-launch" ,dbus)
4143 ("uuidgen" ,util-linux)
4144 ("xvfb" ,xorg-server)))
4145 (propagated-inputs
4146 ;; These are all in the Requires.private field of gjs-1.0.pc.
4147 `(("gobject-introspection" ,gobject-introspection)
4148 ("mozjs" ,mozjs-24)))
4149 (inputs
4150 `(("gtk+" ,gtk+)
4151 ("readline" ,readline)))
4152 (synopsis "Javascript bindings for GNOME")
4153 (home-page "http://live.gnome.org/Gjs")
4154 (description
4155 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4156javascript engine and the GObject introspection framework.")
4157 (license license:gpl2+)))
329d731b
DH
4158
4159(define-public gedit
4160 (package
4161 (name "gedit")
9beae2a2 4162 (version "3.22.0")
329d731b
DH
4163 (source (origin
4164 (method url-fetch)
4165 (uri (string-append "mirror://gnome/sources/" name "/"
4166 (version-major+minor version) "/"
4167 name "-" version ".tar.xz"))
4168 (sha256
4169 (base32
9beae2a2 4170 "0i9z5d31vibb3dd329gwvyga38zq5k1a2glcdq7m93ycbl5mlfq6"))))
329d731b
DH
4171 (build-system glib-or-gtk-build-system)
4172 (arguments
33cd9bef
SB
4173 `(#:configure-flags '("--disable-spell") ; XXX: gspell not packaged yet
4174 #:phases
329d731b
DH
4175 (modify-phases %standard-phases
4176 (add-after
4177 'install 'wrap-gedit
4178 (lambda* (#:key inputs outputs #:allow-other-keys)
4179 (let ((out (assoc-ref outputs "out"))
4180 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4181 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4182 (python-path (getenv "PYTHONPATH")))
329d731b 4183 (wrap-program (string-append out "/bin/gedit")
afc25242 4184 ;; For plugins.
329d731b 4185 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4186 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4187 ;; For language-specs.
4188 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4189 "/share")))))
4190 #t)))))
4191 (propagated-inputs
4192 `(("dconf" ,dconf)))
4193 (native-inputs
4194 `(("intltool" ,intltool)
b3546174 4195 ("itstool" ,itstool)
329d731b
DH
4196 ("gobject-introspection" ,gobject-introspection)
4197 ("pkg-config" ,pkg-config)))
4198 (inputs
4199 `(("glib" ,glib)
4200 ("gtk+" ,gtk+)
4201 ("gtksourceview" ,gtksourceview)
4202 ("libpeas" ,libpeas)
4203 ("libxml2" ,libxml2)
329d731b
DH
4204 ("iso-codes" ,iso-codes)
4205 ("python-pygobject" ,python-pygobject)
4206 ("python" ,python)
4207 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4208 ("libx11" ,libx11)
4209 ("vala" ,vala)
4210 ("adwaita-icon-theme" ,adwaita-icon-theme)
4211 ("libsoup" ,libsoup)
4212 ("gnome-desktop" ,gnome-desktop)))
4213 (home-page "https://wiki.gnome.org/Apps/Gedit")
4214 (synopsis "GNOME text editor")
4215 (description "While aiming at simplicity and ease of use, gedit is a
4216powerful general purpose text editor.")
4217 (license license:gpl2+)))
b7179363
SB
4218
4219(define-public zenity
4220 (package
4221 (name "zenity")
ee0f4e78 4222 (version "3.22.0")
b7179363
SB
4223 (source (origin
4224 (method url-fetch)
4225 (uri (string-append "mirror://gnome/sources/" name "/"
4226 (version-major+minor version) "/"
4227 name "-" version ".tar.xz"))
4228 (sha256
4229 (base32
ee0f4e78 4230 "0rp4l0vgyjhlkpk2imfwf7b05m1qxjrm8n8kp1rv70ykf48gmk8y"))))
b7179363
SB
4231 (build-system gnu-build-system)
4232 (native-inputs
b94a6ca0 4233 `(("gettext" ,gettext-minimal)
b7179363
SB
4234 ("itstool" ,itstool)
4235 ("pkg-config" ,pkg-config)))
4236 (inputs
4237 `(("libnotify" ,libnotify)
4238 ("webkitgtk" ,webkitgtk)))
4239 (synopsis "Display graphical dialog boxes from shell scripts")
4240 (home-page "http://www.gnome.org")
4241 (description
4242 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4243to display dialog boxes from the commandline and shell scripts.")
4244 (license license:lgpl2.0+)))
60c3627c
SB
4245
4246(define-public mutter
f23052a6
DC
4247 ;; Uses the gnome 3.22 branch that only contains bug fixes.
4248 (let ((commit "23c315ea7121e9bd108e2837d0b4beeba53c5e18"))
60c3627c
SB
4249 (package
4250 (name "mutter")
f23052a6 4251 (version (git-version "3.22.2" "1" commit))
60c3627c 4252 (source (origin
f23052a6
DC
4253 (method git-fetch)
4254 (uri (git-reference
4255 (url "git://git.gnome.org/mutter")
4256 (commit commit)))
4257 (file-name (git-file-name name version))
60c3627c
SB
4258 (sha256
4259 (base32
f23052a6 4260 "1v1f9xyzjr1ihmfwpq9kzlv2lyr9qn63ck8zny699mbp5hsi11mb"))))
a88d5a0c
MW
4261 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4262 ;; versions of cogl and clutter. As a result, many of the inputs,
4263 ;; propagated-inputs, and configure flags used in cogl and clutter are
4264 ;; needed here as well.
60c3627c
SB
4265 (build-system gnu-build-system)
4266 (arguments
4267 '(#:configure-flags
4268 ;; XXX: build fails with [-Werror]:
4269 ;; backends/meta-cursor-renderer.c:112:5: error:
4270 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4271 (list "--enable-compile-warnings=minimum"
4272
4273 "--disable-wayland" ; TODO enable wayland
4274 ;; "--enable-native-backend" ; TODO enable the native backend
4275
4276 ;; The following flags are needed for the bundled clutter
4277 "--enable-x11-backend=yes"
4278
4279 ;; the remaining flags are needed for the bundled cogl
4280 "--enable-cogl-gst"
4281 (string-append "--with-gl-libname="
4282 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4283 "/lib/libGL.so"))
4284 #:phases
4285 (modify-phases %standard-phases
4286 (add-after 'unpack 'autoreconf
4287 (lambda _
4288 (zero? (system* "autoreconf" "-vfi")))))))
60c3627c
SB
4289 (native-inputs
4290 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4291 ("gobject-introspection" ,gobject-introspection)
4292 ("intltool" ,intltool)
f23052a6
DC
4293 ("pkg-config" ,pkg-config)
4294 ;; For git build
4295 ("autoconf" ,autoconf)
4296 ("automake" ,automake)
4297 ("libtool" ,libtool)))
60c3627c 4298 (propagated-inputs
a88d5a0c
MW
4299 `(;; libmutter.pc refers to these:
4300 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4301 ("gtk+" ,gtk+)
4302 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4303 ("atk" ,atk)
4304 ("cairo" ,cairo)
4305 ("gdk-pixbuf" ,gdk-pixbuf)
4306 ("glib" ,glib)
4307 ("glib" ,glib)
60c3627c 4308 ("gtk+" ,gtk+)
a88d5a0c
MW
4309 ("json-glib" ,json-glib)
4310 ("libinput" ,libinput)
4311 ("libx11" ,libx11)
4312 ("libxcomposite" ,libxcomposite)
4313 ("libxdamage" ,libxdamage)
4314 ("libxext" ,libxext)
4315 ("libxfixes" ,libxfixes)
4316 ("libxkbcommon" ,libxkbcommon)
4317 ("libxrandr" ,libxrandr)
4318 ("mesa" ,mesa)
4319 ("pango" ,pango)
4320 ("udev" ,eudev)
4321 ("wayland" ,wayland)
4322 ("wayland-protocols" ,wayland-protocols)
4323 ("xinput" ,xinput)))
60c3627c
SB
4324 (inputs
4325 `(("gnome-desktop" ,gnome-desktop)
4326 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4327 ("libgudev" ,libgudev)
60c3627c
SB
4328 ("libice" ,libice)
4329 ("libsm" ,libsm)
60c3627c 4330 ("libxkbfile" ,libxkbfile)
a88d5a0c 4331 ("libxrandr" ,libxrandr)
60c3627c
SB
4332 ("startup-notification" ,startup-notification)
4333 ("upower-glib" ,upower)
4334 ("xkeyboard-config" ,xkeyboard-config)
4335 ("zenity" ,zenity)))
4336 (synopsis "Window and compositing manager")
4337 (home-page "http://www.gnome.org")
4338 (description
4339 "Mutter is a window and compositing manager that displays and manages your
4340desktop via OpenGL. Mutter combines a sophisticated display engine using the
4341Clutter toolkit with solid window-management logic inherited from the Metacity
4342window manager.")
f23052a6 4343 (license license:gpl2+))))
685cee87
SB
4344
4345(define-public gnome-online-accounts
4346 (package
4347 (name "gnome-online-accounts")
b1cd747b 4348 (version "3.22.3")
685cee87
SB
4349 (source (origin
4350 (method url-fetch)
4351 (uri (string-append "mirror://gnome/sources/" name "/"
4352 (version-major+minor version) "/"
4353 name "-" version ".tar.xz"))
4354 (sha256
4355 (base32
b1cd747b 4356 "13wvnfh3hnasdnb6fhjssybj2327qihd32kpdjjb3r1qiyc8dvqb"))))
685cee87
SB
4357 (build-system glib-or-gtk-build-system)
4358 (native-inputs
4359 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4360 ("gobject-introspection" ,gobject-introspection)
4361 ("intltool" ,intltool)
4362 ("pkg-config" ,pkg-config)
4363 ("xsltproc" ,libxslt)))
4364 (propagated-inputs
4365 `(("glib" ,glib) ; required by goa-1.0.pc
4366 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4367 (inputs
4368 `(("docbook-xsl" ,docbook-xsl)
4369 ("json-glib" ,json-glib)
4370 ("libsecret" ,libsecret)
4371 ("rest" ,rest)
4372 ("telepathy-glib" ,telepathy-glib)
4373 ("webkitgtk" ,webkitgtk)))
4374 (synopsis "Single sign-on framework for GNOME")
4375 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4376 (description
4377 "GNOME Online Accounts provides interfaces so that applications and
4378libraries in GNOME can access the user's online accounts. It has providers for
4379Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4380Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4381 (license license:lgpl2.0+)))
df217748
SB
4382
4383(define-public evolution-data-server
4384 (package
4385 (name "evolution-data-server")
aab951cd 4386 (version "3.22.3")
df217748
SB
4387 (source (origin
4388 (method url-fetch)
4389 (uri (string-append "mirror://gnome/sources/" name "/"
4390 (version-major+minor version) "/"
4391 name "-" version ".tar.xz"))
4392 (sha256
4393 (base32
aab951cd 4394 "0kygd46s0is6i451bqykagrfx34wjvrgjbjyyszaabnppp1dyn0c"))))
df217748
SB
4395 (build-system gnu-build-system)
4396 (arguments
4397 '(;; XXX: fails with:
4398 ;; /Fixture/Calendar0: cleaning up pid xxxx
4399 ;; t status: 139)
4400 #:tests? #f
4401 #:configure-flags
4402 (let ((nss (assoc-ref %build-inputs "nss"))
4403 (nspr (assoc-ref %build-inputs "nspr")))
4404 (list "--disable-uoa" ; disable Ubuntu Online Accounts support
4405 "--disable-google" ; disable Google Contacts support
c1387d36 4406 "--disable-google-auth" ; disable Google authentication
a73c1cf8 4407 "--enable-vala-bindings"
df217748
SB
4408 (string-append "--with-nspr-includes=" nspr "/include/nspr")
4409 (string-append "--with-nss-includes=" nss "/include/nss")
4410 (string-append "--with-nss-libs=" nss "/lib/nss")))
4411 #:phases
4412 (modify-phases %standard-phases
4413 (add-before 'check 'pre-check
4414 (lambda _
4415 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4416 (("/bin/rm") (which "rm")))
4417 #t)))))
4418 (native-inputs
4419 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4420 ("gobject-introspection" ,gobject-introspection)
4421 ("gperf" ,gperf)
4422 ("intltool" ,intltool)
4423 ("pkg-config" ,pkg-config)
a73c1cf8 4424 ("vala" ,vala)
df217748
SB
4425 ("python" ,python)))
4426 (propagated-inputs
4427 ;; These are all in the Requires field of .pc files.
4428 `(("gtk+" ,gtk+)
4429 ("libical" ,libical)
4430 ("libsecret" ,libsecret)
4431 ("libsoup" ,libsoup)
4432 ("nss" ,nss)
4433 ("sqlite" ,sqlite)))
4434 (inputs
4435 `(("bdb" ,bdb)
4436 ("gcr" ,gcr)
4437 ("gnome-online-accounts" ,gnome-online-accounts)
4438 ("libgweather" ,libgweather)))
4439 (synopsis "Store address books and calendars")
4440 (home-page "https://wiki.gnome.org/Apps/Evolution")
4441 (description
4442 "This package provides a unified backend for programs that work with
4443contacts, tasks, and calendar information. It was originally developed for
4444Evolution (hence the name), but is now used by other packages as well.")
4445 (license license:lgpl2.0)))
bd7dfafa
SB
4446
4447(define-public caribou
4448 (package
4449 (name "caribou")
fe964bb5 4450 (version "0.4.21")
bd7dfafa
SB
4451 (source (origin
4452 (method url-fetch)
4453 (uri (string-append "mirror://gnome/sources/" name "/"
4454 (version-major+minor version) "/"
4455 name "-" version ".tar.xz"))
4456 (sha256
4457 (base32
fe964bb5 4458 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4459 (build-system glib-or-gtk-build-system)
4460 (arguments
4461 '(#:phases
4462 (modify-phases %standard-phases
4463 (add-before
4464 'build 'pre-build
4465 (lambda* (#:key outputs #:allow-other-keys)
4466 (let ((out (assoc-ref outputs "out")))
4467 ;; Use absolute shared library path in Caribou-1.0.typelib.
4468 (substitute* "libcaribou/Makefile"
4469 (("--shared-library=libcaribou.so")
4470 (string-append "--shared-library="
4471 out "/lib/libcaribou.so")))
4472 #t)))
4473 (add-after 'install 'wrap-programs
4474 (lambda* (#:key outputs #:allow-other-keys)
4475 (let* ((out (assoc-ref outputs "out"))
4476 (python-path (getenv "PYTHONPATH"))
4477 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4478 (for-each
4479 (lambda (prog)
4480 (wrap-program prog
4481 `("PYTHONPATH" ":" prefix (,python-path))
4482 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4483 (list (string-append out "/bin/caribou-preferences")
4484 (string-append out "/libexec/antler-keyboard"))))
4485 #t)))))
4486 (native-inputs
4487 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4488 ("gobject-introspection" ,gobject-introspection)
4489 ("intltool" ,intltool)
4490 ("pkg-config" ,pkg-config)
4491 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4492 ("vala" ,vala)
4493 ("xsltproc" ,libxslt)))
4494 (propagated-inputs
4495 ;; caribou-1.0.pc refers to all these.
4496 `(("libgee" ,libgee)
4497 ("libxklavier" ,libxklavier)
4498 ("libxtst" ,libxtst)
4499 ("gtk+" ,gtk+)))
4500 (inputs
4501 `(("clutter" ,clutter)
4502 ("dconf" ,dconf)
4503 ("gtk+-2" ,gtk+-2)
4504 ("python-pygobject" ,python2-pygobject)))
4505 (synopsis "Text entry and UI navigation application")
4506 (home-page "https://wiki.gnome.org/Projects/Caribou")
4507 (description
4508 "Caribou is an input assistive technology intended for switch and pointer
4509users.")
4510 (license license:lgpl2.1)))
ba5dd105 4511
ba5dd105
SB
4512(define-public network-manager
4513 (package
4514 (name "network-manager")
11bffbfa 4515 (version "1.4.4")
ba5dd105
SB
4516 (source (origin
4517 (method url-fetch)
4518 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4519 (version-major+minor version) "/"
4520 "NetworkManager-" version ".tar.xz"))
4521 (sha256
4522 (base32
11bffbfa 4523 "029k2f1arx1m5hppmr778i9yg34jj68nmji3i89qs06c33rpi4w2"))
fd070f35
CM
4524 (snippet
4525 '(begin
4526 (use-modules (guix build utils))
4527 (substitute* "configure"
4528 ;; Replace libsystemd-login with libelogind.
4529 (("libsystemd-login") "libelogind"))
4530 (substitute* "src/devices/wwan/nm-modem-manager.c"
4531 (("systemd") "elogind"))
4532 (substitute* "src/nm-session-monitor.c"
4533 (("systemd") "elogind"))
4534 (substitute* "./src/nm-logging.c"
4535 (("systemd") "elogind"))))))
ba5dd105
SB
4536 (build-system gnu-build-system)
4537 (outputs '("out"
4538 "doc")) ; 8 MiB of gtk-doc HTML
4539 (arguments
4540 '(#:configure-flags
4541 (let ((out (assoc-ref %outputs "out"))
4542 (doc (assoc-ref %outputs "doc"))
4543 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4544 "/sbin/dhclient")))
fd070f35
CM
4545 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4546 "--with-consolekit=no"
4547 "--with-crypto=gnutls"
ba5dd105
SB
4548 "--disable-config-plugin-ibft"
4549 "--sysconfdir=/etc"
4550 "--localstatedir=/var"
4551 (string-append "--with-udev-dir="
4552 out "/lib/udev")
4553 (string-append "--with-dbus-sys-dir="
4554 out "/etc/dbus-1/system.d")
4555 (string-append "--with-html-dir="
4556 doc "/share/gtk-doc/html")
4557 (string-append "--with-dhclient=" dhclient)))
4558 #:phases
4559 (modify-phases %standard-phases
b4f59d87
AW
4560 (add-before 'configure 'pre-configure
4561 (lambda _
4562 ;; These tests try to test aspects of network-manager's
4563 ;; functionality within restricted containers, but they don't
4564 ;; cope with being already in the Guix build jail as that jail
4565 ;; lacks some features that they would like to proxy over (like
4566 ;; a /sys mount).
142bdcbc
SB
4567 (substitute* '("src/platform/Makefile.in"
4568 "src/devices/Makefile.in")
b4f59d87
AW
4569 (("SUBDIRS = tests") ""))
4570 (substitute* '("src/tests/Makefile.in")
4571 (("\ttest-route-manager-linux") "\t")
4572 (("\ttest-route-manager-fake") "\t"))
4573 #t))
ba5dd105
SB
4574 (add-before 'check 'pre-check
4575 (lambda _
4576 ;; For the missing /etc/machine-id.
4577 (setenv "DBUS_FATAL_WARNINGS" "0")
4578 #t))
4579 (replace 'install
4580 (lambda _
4581 (zero? (system* "make"
4582 "sysconfdir=/tmp"
142bdcbc
SB
4583 "rundir=/tmp"
4584 "statedir=/tmp"
ba5dd105 4585 "install")))))))
b93502d6
DC
4586 (propagated-inputs
4587 `(("glib" ,glib)))
ba5dd105
SB
4588 (native-inputs
4589 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4590 ("gobject-introspection" ,gobject-introspection)
4591 ("intltool" ,intltool)
4592 ("pkg-config" ,pkg-config)
4593 ;; For testing.
4594 ("python" ,python-wrapper)
4595 ("python-dbus" ,python-dbus)
4596 ("python-pygobject" ,python-pygobject)))
4597 (inputs
4598 `(("dbus-glib" ,dbus-glib)
4599 ("dnsmasq" ,dnsmasq)
4600 ("gnutls" ,gnutls)
4601 ("iptables" ,iptables)
4602 ("isc-dhcp" ,isc-dhcp)
4603 ("libgcrypt" ,libgcrypt)
4604 ("libgudev" ,libgudev)
4605 ("libndp" ,libndp)
4606 ("libnl" ,libnl)
4607 ("libsoup" ,libsoup)
142bdcbc 4608 ("modem-manager" ,modem-manager)
ba5dd105
SB
4609 ("polkit" ,polkit)
4610 ("ppp" ,ppp)
4611 ("readline" ,readline)
fd070f35
CM
4612 ("util-linux" ,util-linux)
4613 ("elogind" ,elogind)))
ba5dd105
SB
4614 (synopsis "Network connection manager")
4615 (home-page "http://www.gnome.org/projects/NetworkManager/")
4616 (description
4617 "NetworkManager is a system network service that manages your network
4618devices and connections, attempting to keep active network connectivity when
4619available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4620devices, and provides VPN integration with a variety of different VPN
4621services.")
29d2f451
LC
4622 (license license:gpl2+)
4623 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4624
e5e1df4d
DC
4625(define-public mobile-broadband-provider-info
4626 (package
4627 (name "mobile-broadband-provider-info")
4628 (version "20151214")
4629 (source (origin
4630 (method url-fetch)
4631 (uri (string-append
4632 "mirror://gnome/sources/"
4633 "mobile-broadband-provider-info/" version "/"
4634 "mobile-broadband-provider-info-" version ".tar.xz"))
4635 (sha256
4636 (base32
4637 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
4638 (build-system gnu-build-system)
4639 (arguments
4640 `(#:tests? #f)) ; No tests
4641 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4642 (synopsis "Database of broadband connection configuration")
4643 (description "Database of broadband connection configuration.")
4644 (license license:public-domain)))
4645
4d62a9d3
SB
4646(define-public network-manager-applet
4647 (package
4648 (name "network-manager-applet")
2116bfb3 4649 (version "1.4.2")
4d62a9d3
SB
4650 (source (origin
4651 (method url-fetch)
4652 (uri (string-append "mirror://gnome/sources/" name "/"
4653 (version-major+minor version) "/"
4654 name "-" version ".tar.xz"))
4655 (sha256
4656 (base32
2116bfb3 4657 "16a43sl9aijmvxbb08hbjqyjnlshj8dckycbgi9nm333fr47n6s3"))))
4d62a9d3 4658 (build-system glib-or-gtk-build-system)
2116bfb3 4659 ;; TODO: WWAN support supposedly requires an update of glibmm which in turn
4660 ;; requires an update of the its dependencies (glib and others).
4661 (arguments '(#:configure-flags '("--disable-migration"
4662 "--without-wwan")))
4d62a9d3
SB
4663 (native-inputs
4664 `(("intltool" ,intltool)
4665 ("gobject-introspection" ,gobject-introspection)
4666 ("pkg-config" ,pkg-config)))
4667 (propagated-inputs
4668 ;; libnm-gtk.pc refers to all these.
4669 `(("dbus-glib" ,dbus-glib)
4670 ("gtk+" ,gtk+)
4671 ("network-manager" ,network-manager)))
4672 (inputs
4673 `(("iso-codes" ,iso-codes)
4674 ("libgudev" ,libgudev)
4675 ("libnotify" ,libnotify)
2116bfb3 4676 ("libsecret" ,libsecret)
4677 ("jansson" ,jansson))) ;for team support
4d62a9d3
SB
4678 (synopsis "Applet for managing network connections")
4679 (home-page "http://www.gnome.org/projects/NetworkManager/")
4680 (description
4681 "This package contains a systray applet for NetworkManager. It displays
4682the available networks and allows users to easily switch between them.")
4683 (license license:gpl2+)))
56196594
RW
4684
4685(define-public libxml++
4686 (package
4687 (name "libxml++")
8344a85e 4688 (version "3.0.1")
56196594
RW
4689 (source (origin
4690 (method url-fetch)
4691 (uri (string-append "mirror://gnome/sources/" name "/"
4692 (version-major+minor version) "/"
4693 name "-" version ".tar.xz"))
4694 (sha256
4695 (base32
8344a85e 4696 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
4697 (build-system gnu-build-system)
4698 ;; libxml++-3.0.pc refers to all these.
4699 (propagated-inputs
4700 `(("libxml2" ,libxml2)
4701 ("glibmm" ,glibmm)))
4702 (native-inputs
4703 `(("perl" ,perl)
4704 ("pkg-config" ,pkg-config)))
4705 (home-page "http://libxmlplusplus.sourceforge.net/")
4706 (synopsis "C++ wrapper for XML parser library libxml2")
4707 (description
4708 "This package provides a C++ wrapper for the XML parser library
4709libxml2.")
4710 (license license:lgpl2.1+)))
df12f04a 4711
b61d9627
AW
4712(define-public libxml++-2
4713 (package
4714 (inherit libxml++)
4715 (name "libxml++")
4716 (version "2.40.1")
4717 (source (origin
4718 (method url-fetch)
4719 (uri (string-append "mirror://gnome/sources/" name "/"
4720 (version-major+minor version) "/"
4721 name "-" version ".tar.xz"))
4722 (sha256
4723 (base32
4724 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
4725
df12f04a
SB
4726(define-public gdm
4727 (package
4728 (name "gdm")
4edc6a9c 4729 (version "3.22.1")
df12f04a
SB
4730 (source (origin
4731 (method url-fetch)
4732 (uri (string-append "mirror://gnome/sources/" name "/"
4733 (version-major+minor version) "/"
4734 name "-" version ".tar.xz"))
4735 (sha256
4736 (base32
4edc6a9c 4737 "17wnsrv91mx14xp96wrc21g2hsjjc38yhbkw55kf7hk3yliychva"))))
df12f04a
SB
4738 (build-system gnu-build-system)
4739 (arguments
4740 '(#:configure-flags
4741 '("--without-plymouth")
4742 #:phases
4743 (modify-phases %standard-phases
4744 (add-before
4745 'configure 'pre-configure
4746 (lambda _
4747 ;; We don't have <systemd/sd-daemon.h>.
4748 (substitute* '("common/gdm-log.c"
4749 "daemon/gdm-server.c"
4750 "daemon/gdm-session-worker.c"
4751 "daemon/gdm-session-worker-job.c")
4752 (("#include <systemd/sd-daemon\\.h>") ""))
4753 ;; Use elogind for sd-login.
4754 (substitute* '("common/gdm-common.c"
4755 "daemon/gdm-manager.c"
4756 "libgdm/gdm-user-switching.c")
4757 (("#include <systemd/sd-login\\.h>")
4758 "#include <elogind/sd-login.h>"))
4759 ;; Avoid checking SYSTEMD using pkg-config.
4760 (setenv "SYSTEMD_CFLAGS" " ")
4761 (setenv "SYSTEMD_LIBS" "-lelogind")
4762 #t)))))
4763 (native-inputs
4764 `(("dconf" ,dconf)
4765 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4766 ("gobject-introspection" ,gobject-introspection)
4767 ("intltool" ,intltool)
4768 ("itstool" ,itstool)
4769 ("pkg-config" ,pkg-config)
4770 ("xmllint" ,libxml2)))
4771 (inputs
4772 `(("accountsservice" ,accountsservice)
4773 ("check" ,check) ; for testing
4774 ("elogind" ,elogind)
4775 ("gtk+" ,gtk+)
4776 ("iso-codes" ,iso-codes)
4777 ("libcanberra" ,libcanberra)
4778 ("linux-pam" ,linux-pam)))
4779 (synopsis "Display manager for GNOME")
4780 (home-page "http://wiki.gnome.org/Projects/GDM/")
4781 (description
4782 "GNOME Display Manager is a system service that is responsible for
4783providing graphical log-ins and managing local and remote displays.")
4784 (license license:gpl2+)))
8e1dd04f
SB
4785
4786(define-public libgtop
4787 (package
4788 (name "libgtop")
8785e484 4789 (version "2.34.1")
8e1dd04f
SB
4790 (source (origin
4791 (method url-fetch)
4792 (uri (string-append "mirror://gnome/sources/" name "/"
4793 (version-major+minor version) "/"
4794 name "-" version ".tar.xz"))
4795 (sha256
4796 (base32
8785e484 4797 "1qh9srg8pqmrsl12mwnclncs7agmjjvx3q6v5qwqvcb2cskpi6f8"))))
8e1dd04f
SB
4798 (build-system gnu-build-system)
4799 (native-inputs
4800 `(("gobject-introspection" ,gobject-introspection)
4801 ("intltool" ,intltool)
4802 ("perl" ,perl)
4803 ("pkg-config" ,pkg-config)))
4804 (propagated-inputs
4805 `(("glib" ,glib))) ; required by libgtop-2.0.pc
4806 (synopsis "Portable system access library")
4807 (home-page "https://www.gnome.org/")
4808 (description
4809 "LibGTop is a library to get system specific data such as CPU and memory
4810usage and information about running processes.")
4811 (license license:gpl2+)))
b96c4260
SB
4812
4813(define-public gnome-bluetooth
4814 (package
4815 (name "gnome-bluetooth")
3e93ddcc 4816 (version "3.20.0")
b96c4260
SB
4817 (source (origin
4818 (method url-fetch)
4819 (uri (string-append "mirror://gnome/sources/" name "/"
4820 (version-major+minor version) "/"
4821 name "-" version ".tar.xz"))
4822 (sha256
4823 (base32
3e93ddcc 4824 "0lzbwk2kn7kp39sv5bf4ja92mfkxkc27gxxk8k86i8a8ncbcmcwk"))))
b96c4260
SB
4825 (build-system glib-or-gtk-build-system)
4826 (native-inputs
4827 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
4828 ("gobject-introspection" ,gobject-introspection)
4829 ("intltool" ,intltool)
4830 ("pkg-config" ,pkg-config)
4831 ("xmllint" ,libxml2)))
4832 (propagated-inputs
4833 ;; gnome-bluetooth-1.0.pc refers to all these.
4834 `(("gtk+" ,gtk+)
4835 ("udev" ,eudev)))
4836 (inputs
4837 `(("libcanberra" ,libcanberra)
4838 ("libnotify" ,libnotify)))
4839 (synopsis "GNOME Bluetooth subsystem")
4840 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
4841 (description
4842 "This package contains tools for managing and manipulating Bluetooth
4843devices using the GNOME desktop.")
4844 (license license:lgpl2.1+)))
b645146f
SB
4845
4846(define-public gnome-control-center
4847 (package
4848 (name "gnome-control-center")
7a6cd578 4849 (version "3.22.1")
b645146f
SB
4850 (source (origin
4851 (method url-fetch)
4852 (uri (string-append "mirror://gnome/sources/" name "/"
4853 (version-major+minor version) "/"
4854 name "-" version ".tar.xz"))
4855 (sha256
4856 (base32
7a6cd578 4857 "06h9937sjfrzjf36pxqybg4wmkc5xdhbxgdkclnkjxiiqidjjsax"))))
b645146f
SB
4858 (build-system glib-or-gtk-build-system)
4859 (arguments
4860 '(#:phases
4861 (modify-phases %standard-phases
4862 (add-before 'configure 'patch-paths
4863 (lambda* (#:key inputs #:allow-other-keys)
4864 (let ((libc (assoc-ref inputs "libc"))
4865 (tzdata (assoc-ref inputs "tzdata")))
4866 (substitute* "panels/datetime/tz.h"
4867 (("/usr/share/zoneinfo/zone.tab")
4868 (string-append tzdata "/share/zoneinfo/zone.tab")))
4869 (substitute* "panels/datetime/test-endianess.c"
4870 (("/usr/share/locale")
4871 (string-append libc "/share/locale")))
4872 #t))))))
4873 (native-inputs
4874 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4875 ("intltool" ,intltool)
4876 ("pkg-config" ,pkg-config)
4877 ("xsltproc" ,libxslt)))
4878 (inputs
4879 `(("accountsservice" ,accountsservice)
4880 ("clutter-gtk" ,clutter-gtk)
4881 ("colord-gtk" ,colord-gtk)
4882 ("cups" ,cups)
4883 ("dconf" ,dconf)
4884 ("docbook-xsl" ,docbook-xsl)
3446ffb5 4885 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
4886 ("gnome-bluetooth" ,gnome-bluetooth)
4887 ("gnome-desktop" ,gnome-desktop)
4888 ("gnome-online-accounts" ,gnome-online-accounts)
4889 ("gnome-settings-daemon" ,gnome-settings-daemon)
4890 ("grilo" ,grilo)
4891 ("ibus" ,ibus)
4892 ("libcanberra" ,libcanberra)
4893 ("libgudev" ,libgudev)
4894 ("libgtop" ,libgtop)
4895 ("libpwquality" ,libpwquality)
4896 ("libsoup" ,libsoup)
4897 ("libxml2" ,libxml2)
4898 ("libwacom" ,libwacom)
4899 ("mesa" ,mesa)
4900 ("mit-krb5" ,mit-krb5)
4901 ("modem-manager" ,modem-manager)
4902 ("network-manager-applet" ,network-manager-applet)
4903 ("polkit" ,polkit)
4904 ("pulseaudio" ,pulseaudio)
4905 ("smbclient" ,samba)
4906 ("tzdata" ,tzdata)
4907 ("upower" ,upower)))
4908 (synopsis "Utilities to configure the GNOME desktop")
4909 (home-page "https://www.gnome.org/")
4910 (description
4911 "This package contains configuration applets for the GNOME desktop,
4912allowing to set accessibility configuration, desktop fonts, keyboard and mouse
4913properties, sound setup, desktop theme and background, user interface
4914properties, screen resolution, and other GNOME parameters.")
4915 (license license:gpl2+)))
a4df5756
SB
4916
4917(define-public gnome-shell
4918 (package
4919 (name "gnome-shell")
759a077c 4920 (version "3.22.2")
a4df5756
SB
4921 (source (origin
4922 (method url-fetch)
4923 (uri (string-append "mirror://gnome/sources/" name "/"
4924 (version-major+minor version) "/"
4925 name "-" version ".tar.xz"))
4926 (sha256
4927 (base32
759a077c 4928 "16smvjfrpyfphv479hjky5261hgl4kli4q86bcb2b8xdcav4w3yq"))))
a4df5756
SB
4929 (build-system glib-or-gtk-build-system)
4930 (arguments
4931 '(#:phases
4932 (modify-phases %standard-phases
4933 (replace 'install
4934 (lambda* (#:key outputs #:allow-other-keys)
4935 (let* ((out (assoc-ref outputs "out"))
4936 (keysdir (string-append
4937 out "/share/gnome-control-center/keybindings")))
4938 (zero? (system* "make"
4939 (string-append "keysdir=" keysdir)
4940 "install")))))
4941 (add-after
4942 'install 'wrap-programs
4943 (lambda* (#:key outputs #:allow-other-keys)
4944 (let ((out (assoc-ref outputs "out"))
4945 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4946 (python-path (getenv "PYTHONPATH")))
4947 (wrap-program (string-append out "/bin/gnome-shell")
4948 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
4949 (for-each
4950 (lambda (prog)
4951 (wrap-program (string-append out "/bin/" prog)
4952 `("PYTHONPATH" ":" prefix (,python-path))
4953 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4954 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
4955 #t))))))
4956 (native-inputs
4957 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4958 ("gobject-introspection" ,gobject-introspection)
4959 ("intltool" ,intltool)
4960 ("pkg-config" ,pkg-config)
4961 ("python" ,python)
4962 ("xsltproc" ,libxslt)))
4963 (inputs
4964 `(("accountsservice" ,accountsservice)
4965 ("caribou" ,caribou)
4966 ("docbook-xsl" ,docbook-xsl)
4967 ("evolution-data-server" ,evolution-data-server)
4968 ("gcr" ,gcr)
4969 ("gdm" ,gdm)
4970 ("gjs" ,gjs)
4971 ("gnome-bluetooth" ,gnome-bluetooth)
4972 ("gnome-control-center" ,gnome-control-center)
4973 ("gnome-desktop" ,gnome-desktop)
4974 ("gnome-settings-daemon" ,gnome-settings-daemon)
4975 ("gst-plugins-base" ,gst-plugins-base)
4976 ("ibus" ,ibus)
4977 ("libcanberra" ,libcanberra)
4978 ("libcroco" ,libcroco)
4979 ("libgweather" ,libgweather)
4980 ("libsoup" ,libsoup)
4981 ("mesa-headers" ,mesa-headers)
4982 ("mutter" ,mutter)
4983 ("network-manager-applet" ,network-manager-applet)
4984 ("polkit" ,polkit)
4985 ("pulseaudio" ,pulseaudio)
4986 ("python-pygobject" ,python-pygobject)
4987 ("startup-notification" ,startup-notification)
4988 ("telepathy-logger" ,telepathy-logger)
4989 ("upower" ,upower)
4990 ;; XXX: required by libgjs.la.
4991 ("readline" ,readline)))
4992 (synopsis "Desktop shell for GNOME")
4993 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
4994 (description
4995 "GNOME Shell provides core user interface functions for the GNOME desktop,
4996like switching to windows and launching applications.")
4997 (license license:gpl2+)))
c3f29bc9
RS
4998
4999(define-public gtk-vnc
5000 (package
5001 (name "gtk-vnc")
6c7c24b1 5002 (version "0.6.0")
c3f29bc9
RS
5003 (source
5004 (origin
5005 (method url-fetch)
5006 (uri (string-append "mirror://gnome/sources/" name "/"
5007 (version-major+minor version) "/"
5008 name "-" version ".tar.xz"))
5009 (sha256
5010 (base32
6c7c24b1 5011 "0cq42dghjp4bhsxlj9hd2nz5s5rhd53fx7snmq6i6kg60n438ncm"))))
c3f29bc9
RS
5012 (build-system gnu-build-system)
5013 (arguments
5014 '(#:configure-flags '("--with-gtk=3.0")))
5015 (propagated-inputs
5016 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5017 (inputs
5018 `(("cyrus-sasl" ,cyrus-sasl)
5019 ("gnutls" ,gnutls)
5020 ("libgcrypt" ,libgcrypt)
5021 ("pulseaudio" ,pulseaudio)))
5022 (native-inputs
5023 `(("glib:bin" ,glib "bin")
5024 ("gobject-introspection" ,gobject-introspection)
5025 ("intltool" ,intltool)
5026 ("pkg-config" ,pkg-config)
5027 ("vala" ,vala)))
5028 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5029 (synopsis "VNC viewer widget for GTK+")
5030 (description
5031 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5032applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5033GTK-VNC implements client side RFB protocol and authentication extensions such
5034as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5035 (license license:lgpl2.1+)))
8b877545 5036
dc69fe18
MW
5037(define-public gnome-autoar
5038 (package
5039 (name "gnome-autoar")
5040 (version "0.1.1")
5041 (source (origin
5042 (method url-fetch)
5043 (uri (string-append "mirror://gnome/sources/" name "/"
5044 (version-major+minor version) "/"
5045 name "-" version ".tar.xz"))
5046 (sha256
5047 (base32
5048 "1jcs6jgysg9n3zi3d1l4iqddzmczfdcvz7vkxn607p32nl8bhp7n"))))
5049 (build-system glib-or-gtk-build-system)
5050 (native-inputs
5051 `(("gnome-common" ,gnome-common)
5052 ("gobject-introspection" ,gobject-introspection)
5053 ("pkg-config" ,pkg-config)))
5054 (propagated-inputs
5055 `(("libarchive" ,libarchive))) ; XXX document why
5056 (inputs
5057 `(("gtk+" ,gtk+)
5058 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5059 (synopsis "Archives integration support for GNOME")
5060 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5061 (description
5062 "GNOME Autoar is a library which makes creating and extracting archives
5063easy, safe, and automatic.")
5064 (license license:lgpl2.1+)))
5065
b64e217f
MW
5066(define-public tracker
5067 (package
5068 (name "tracker")
5069 (version "1.10.3")
5070 (source (origin
5071 (method url-fetch)
5072 (uri (string-append "mirror://gnome/sources/" name "/"
5073 (version-major+minor version) "/"
5074 name "-" version ".tar.xz"))
5075 (sha256
5076 (base32
5077 "03ch3ndmxghfr9wnw9hfmpkjfa7k5v5cwwf3y1ja6ihk3c5avgbb"))))
5078 (build-system glib-or-gtk-build-system)
5079 (native-inputs
5080 `(("gnome-common" ,gnome-common)
5081 ("gobject-introspection" ,gobject-introspection)
5082 ("intltool" ,intltool)
5083 ("pkg-config" ,pkg-config)
5084 ("vala" ,vala)))
5085 (inputs
5086 `(("gtk+" ,gtk+)
5087 ("dbus" ,dbus)
5088 ("gstreamer" ,gstreamer)
5089 ("gst-plugins-base" ,gst-plugins-base)
5090 ("sqlite" ,sqlite)
5091 ("nettle" ,nettle) ; XXX why is this needed?
5092 ("poppler" ,poppler)
5093 ("libgsf" ,libgsf)
5094 ("libexif" ,libexif)
5095 ("libpng" ,libpng)
5096 ("libtiff" ,libtiff)
5097 ("libvorbis" ,libvorbis)
5098 ("flac" ,flac)
5099 ("totem-pl-parser" ,totem-pl-parser)
5100 ("zlib" ,zlib)
5101 ("exempi" ,exempi)
5102 ("libxml2" ,libxml2)
5103 ("upower" ,upower)
5104 ("libgee" ,libgee)
5105 ("libunistring" ,libunistring)
5106 ("giflib" ,giflib)
5107 ("openjpeg" ,openjpeg-1)
5108 ("libosinfo" ,libosinfo)
5109 ("libcue" ,libcue)
5110 ("libseccomp" ,libseccomp)
5111 ("libuuid" ,util-linux)))
5112 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5113 (synopsis "Metadata database, indexer and search tool")
5114 (home-page "https://wiki.gnome.org/Projects/Tracker")
5115 (description
5116 "Tracker is an advanced framework for first class objects with associated
5117metadata and tags. It provides a one stop solution for all metadata, tags,
5118shared object databases, search tools and indexing.")
5119 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5120 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5121 (license (list license:gpl2+
5122 license:lgpl2.1+
5123 license:lgpl2.0+))))
5124
8b877545
RS
5125(define-public nautilus
5126 (package
5127 (name "nautilus")
09d88905 5128 (version "3.22.2")
8b877545
RS
5129 (source (origin
5130 (method url-fetch)
5131 (uri (string-append "mirror://gnome/sources/" name "/"
5132 (version-major+minor version) "/"
5133 name "-" version ".tar.xz"))
5134 (sha256
5135 (base32
09d88905 5136 "1cv5xsah04svxx0b6di7iah9gcwk6na2c6lp442pal9v2ybrw76f"))))
8b877545
RS
5137 (build-system glib-or-gtk-build-system)
5138 (arguments
6983ba56 5139 '(#:configure-flags
09d88905 5140 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5141 ;; XXX: FAIL: check-nautilus
5142 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5143 #:tests? #f))
5144 (native-inputs
5145 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5146 ("gobject-introspection" ,gobject-introspection)
5147 ("intltool" ,intltool)
5148 ("pkg-config" ,pkg-config)))
8b877545 5149 (inputs
8b877545 5150 `(("dconf" ,dconf)
dd05e731 5151 ("gvfs" ,gvfs)
8b877545
RS
5152 ("exempi" ,exempi)
5153 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5154 ("gnome-autoar" ,gnome-autoar)
5155 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5156 ("tracker" ,tracker)
ce6027bf
SB
5157 ;; XXX: gtk+ is required by libnautilus-extension.pc
5158 ;;
5159 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5160 ;; package. See:
5161 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5162 ("gtk+" ,gtk+)
8b877545
RS
5163 ("libexif" ,libexif)
5164 ("libxml2" ,libxml2)))
5165 (synopsis "File manager for GNOME")
5166 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5167 (description
5168 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5169design and behaviour, giving the user a simple way to navigate and manage its
5170files.")
5171 (license license:gpl2+)))
3c697ffd
JR
5172
5173(define-public baobab
5174 (package
5175 (name "baobab")
3edeaeb2 5176 (version "3.22.1")
3c697ffd
JR
5177 (source (origin
5178 (method url-fetch)
5179 (uri (string-append
5180 "mirror://gnome/sources/" name "/"
5181 (version-major+minor version) "/"
5182 name "-" version ".tar.xz"))
5183 (sha256
5184 (base32
3edeaeb2 5185 "1zwpzj6hbvcyw1ymqzn3zw8w4h29ad7411crbkbh71c8jwbwpssv"))))
3c697ffd
JR
5186 (build-system glib-or-gtk-build-system)
5187 (native-inputs
5188 `(("intltool" ,intltool)
5189 ("pkg-config" ,pkg-config)
5190 ("itstool" ,itstool)
5191 ("xmllint" ,libxml2)
5192 ("glib" ,glib "bin")
5193 ("vala" ,vala)))
5194 (inputs
5195 `(("gtk+" ,gtk+)))
5196 (synopsis "Disk usage analyzer for GNOME")
5197 (description
5198 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5199usage in the GNOME desktop environment. It can easily scan device volumes or
5200a specific user-requested directory branch (local or remote). Once the scan
5201is complete it provides a graphical representation of each selected folder.")
5202 (home-page "https://wiki.gnome.org/Apps/Baobab")
5203 (license license:gpl2+)))
dc050251 5204
fdba447c
RS
5205(define-public gnome-backgrounds
5206 (package
5207 (name "gnome-backgrounds")
b9e63fc9 5208 (version "3.22.1")
fdba447c
RS
5209 (source
5210 (origin
5211 (method url-fetch)
5212 (uri (string-append "mirror://gnome/sources/" name "/"
5213 (version-major+minor version) "/"
5214 name "-" version ".tar.xz"))
5215 (sha256
5216 (base32
b9e63fc9 5217 "09gfdrm1kaz2knyghhjb0ka1kklgbcbnqgy4c90bg0v3n899ij5z"))))
fdba447c
RS
5218 (build-system glib-or-gtk-build-system)
5219 (native-inputs
5220 `(("intltool" ,intltool)))
5221 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5222 (synopsis "Background images for the GNOME desktop")
5223 (description
5224 "GNOME backgrounds package contains a collection of graphics files which
5225can be used as backgrounds in the GNOME Desktop environment. Additionally,
5226the package creates the proper framework and directory structure so that you
5227can add your own files to the collection.")
5228 (license (list license:gpl2+
5229 license:cc-by2.0
5230 license:cc-by-sa2.0
5231 license:cc-by-sa3.0))))
5232
b784b1a9
RS
5233(define-public gnome-screenshot
5234 (package
5235 (name "gnome-screenshot")
efa355bc 5236 (version "3.22.0")
b784b1a9
RS
5237 (source
5238 (origin
5239 (method url-fetch)
5240 (uri (string-append "mirror://gnome/sources/" name "/"
5241 (version-major+minor version) "/"
5242 name "-" version ".tar.xz"))
5243 (sha256
5244 (base32
efa355bc 5245 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5246 (build-system glib-or-gtk-build-system)
5247 (native-inputs
5248 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5249 ("intltool" ,intltool)
5250 ("pkg-config" ,pkg-config)))
5251 (inputs
5252 `(("gtk+" ,gtk+)
5253 ("libcanberra" ,libcanberra)
5254 ("libx11" ,libx11)
5255 ("libxext" ,libxext)))
5256 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5257 (synopsis "Take pictures of your screen")
5258 (description
5259 "GNOME Screenshot is a utility used for taking screenshots of the entire
5260screen, a window or a user defined area of the screen, with optional
5261beautifying border effects.")
5262 (license license:gpl2+)))
5263
66d59111
RS
5264(define-public dconf-editor
5265 (package
5266 (name "dconf-editor")
fd408e29 5267 (version "3.22.1")
66d59111
RS
5268 (source
5269 (origin
5270 (method url-fetch)
5271 (uri (string-append "mirror://gnome/sources/" name "/"
5272 (version-major+minor version) "/"
5273 name "-" version ".tar.xz"))
5274 (sha256
5275 (base32
fd408e29 5276 "09n1ljryjgkmxwly542zb2dh9j7h76chc0br2bbhrhkwvjjmc3ha"))))
66d59111 5277 (build-system glib-or-gtk-build-system)
d25c1836
SB
5278 (arguments
5279 '(#:phases
5280 (modify-phases %standard-phases
5281 (add-before 'install 'skip-gtk-update-icon-cache
5282 (lambda _
5283 ;; Don't create 'icon-theme.cache'.
5284 (substitute* "editor/Makefile"
5285 (("gtk-update-icon-cache") "true"))
5286 #t)))))
66d59111
RS
5287 (native-inputs
5288 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5289 ("intltool" ,intltool)
5290 ("pkg-config" ,pkg-config)))
5291 (inputs
5292 `(("dconf" ,dconf)
5293 ("gtk+" ,gtk+)
5294 ("libxml2" ,libxml2)))
5295 (home-page "https://git.gnome.org/browse/dconf-editor")
5296 (synopsis "Graphical editor for GNOME's dconf configuration system")
5297 (description
5298 "Dconf-editor is a graphical tool for browsing and editing the dconf
5299configuration system for GNOME. It allows users to configure desktop
5300software that do not provide their own configuration interface.")
5301 (license license:lgpl2.1+)))
5302
dc050251
SB
5303(define-public gnome
5304 (package
5305 (name "gnome")
5306 (version (package-version gnome-shell))
5307 (source #f)
5308 (build-system trivial-build-system)
5309 (arguments '(#:builder (mkdir %output)))
5310 (propagated-inputs
5311 ;; TODO: Add more packages according to:
5312 ;; <https://packages.debian.org/jessie/gnome-core>.
5313 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5314 ("baobab" ,baobab)
0bd3597b 5315 ("font-cantarell" ,font-cantarell)
dc050251
SB
5316 ("at-spi2-core" ,at-spi2-core)
5317 ("dbus" ,dbus)
5318 ("dconf" ,dconf)
72360453 5319 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5320 ("eog" ,eog)
5321 ("epiphany" ,epiphany)
5322 ("evince" ,evince)
71d9b980 5323 ("file-roller" ,file-roller)
dc050251
SB
5324 ("gedit" ,gedit)
5325 ("glib-networking" ,glib-networking)
05f651c4 5326 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
5327 ("gnome-control-center" ,gnome-control-center)
5328 ("gnome-keyring" ,gnome-keyring)
5329 ("gnome-session" ,gnome-session)
5330 ("gnome-settings-daemon" ,gnome-settings-daemon)
5331 ("gnome-shell" ,gnome-shell)
5332 ("gnome-terminal" ,gnome-terminal)
5333 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 5334 ("gvfs" ,gvfs)
dc050251
SB
5335 ("hicolor-icon-theme" ,hicolor-icon-theme)
5336 ("nautilus" ,nautilus)
69308043 5337 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5338 ("pulseaudio" ,pulseaudio)
5339 ("shared-mime-info" ,shared-mime-info)
5340 ("totem" ,totem)
5341 ("yelp" ,yelp)
5342 ("zenity" ,zenity)))
fe4e698d 5343 (synopsis "The GNU desktop environment")
dc050251
SB
5344 (home-page "https://www.gnome.org/")
5345 (description
fe4e698d
LC
5346 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5347applications for browsing the web, editing text and images, creating
5348documents and diagrams, playing media, scanning, and much more.")
dc050251 5349 (license license:gpl2+)))
4a526711
DT
5350
5351(define-public byzanz
5352 ;; The last stable release of Byzanz was in 2011, but there have been many
5353 ;; useful commits made to the Byzanz repository since then that it would be
5354 ;; silly to use such an old release.
5355 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5356 (package
5357 (name "byzanz")
5358 (version (string-append "0.2-1." (string-take commit 7)))
5359 (source (origin
5360 (method git-fetch)
5361 (uri (git-reference
5362 (url "git://git.gnome.org/byzanz")
5363 (commit commit)))
5364 (sha256
5365 (base32
5366 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5367 (build-system glib-or-gtk-build-system)
5368 (arguments
5369 '(#:phases
5370 (modify-phases %standard-phases
5371 (add-after 'unpack 'bootstrap
5372 (lambda _
5373 ;; The build system cleverly detects that we're not building from
5374 ;; a release tarball and turns on -Werror for GCC.
5375 ;; Unsurprisingly, there is a warning during compilation that
5376 ;; causes the build to fail unnecessarily, so we remove the flag.
5377 (substitute* '("configure.ac")
5378 (("-Werror") ""))
5379 ;; The autogen.sh script in gnome-common will run ./configure
5380 ;; by default, which is problematic because source shebangs
5381 ;; have not yet been patched.
5382 (setenv "NOCONFIGURE" "t")
5383 (zero? (system* "sh" "autogen.sh")))))))
5384 (native-inputs
5385 `(("autoconf" ,autoconf)
5386 ("automake" ,automake)
5387 ("gnome-common" ,gnome-common)
5388 ("intltool" ,intltool)
5389 ("libtool" ,libtool)
5390 ("pkg-config" ,pkg-config)
5391 ("which" ,which)))
5392 (inputs
5393 `(("glib" ,glib)
5394 ("gstreamer" ,gstreamer)
5395 ("gst-plugins-base" ,gst-plugins-base)
5396 ("gtk+" ,gtk+)))
5397 (synopsis "Desktop recording program")
5398 (description "Byzanz is a simple desktop recording program with a
5399command-line interface. It can record part or all of an X display for a
5400specified duration and save it as a GIF encoded animated image file.")
5401 (home-page "https://git.gnome.org/browse/byzanz")
5402 (license license:gpl2+))))
3a9a4c51
RS
5403
5404(define-public libzapojit
5405 (package
5406 (name "libzapojit")
5407 (version "0.0.3")
5408 (source (origin
5409 (method url-fetch)
5410 (uri (string-append "mirror://gnome/sources/" name "/"
5411 (version-major+minor version) "/"
5412 name "-" version ".tar.xz"))
5413 (sha256
5414 (base32
5415 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5416 (build-system gnu-build-system)
5417 (native-inputs
5418 `(("gobject-introspection" ,gobject-introspection)
5419 ("intltool" ,intltool)
5420 ("pkg-config" ,pkg-config)))
5421 (inputs
5422 `(("gnome-online-accounts" ,gnome-online-accounts)
5423 ("json-glib" ,json-glib)
5424 ("rest" ,rest)))
5425 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5426 (synopsis "Library for accessing SkyDrive and Hotmail")
5427 (description
5428 "Libzapojit is a GLib-based library for accessing online service APIs of
5429Microsoft SkyDrive and Hotmail, using their REST protocols.")
5430 (license license:lgpl2.1+)))
9365ee1c 5431
3c474897
KY
5432(define-public gnome-calendar
5433 (package
5434 (name "gnome-calendar")
4b8aae41 5435 (version "3.22.2")
3c474897
KY
5436 (source (origin
5437 (method url-fetch)
5438 (uri (string-append "mirror://gnome/sources/" name "/"
5439 (version-major+minor version) "/"
5440 name "-" version ".tar.xz"))
5441 (sha256
5442 (base32
4b8aae41 5443 "03wivk7hbyqrqcrd7jg0m2xj6q13248la2184qkf7zncnj72g5ih"))))
3c474897
KY
5444 (build-system glib-or-gtk-build-system)
5445 (native-inputs
5446 `(("intltool" ,intltool)
5447 ("pkg-config" ,pkg-config)))
5448 (inputs
5449 `(("bdb" ,bdb)
5450 ("desktop-file-utils" ,desktop-file-utils)
5451 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5452 ("gnome-online-accounts" ,gnome-online-accounts)
5453 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5454 (home-page "https://wiki.gnome.org/Apps/Calendar")
5455 (synopsis "GNOME's calendar application")
5456 (description
5457 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5458desktop. It supports multiple calendars, monthly view and yearly view.")
5459 (license license:gpl3+)))
5460
ab179eaf
SB
5461(define-public gnome-dictionary
5462 (package
5463 (name "gnome-dictionary")
5464 (version "3.20.0")
5465 (source (origin
5466 (method url-fetch)
5467 (uri (string-append "mirror://gnome/sources/" name "/"
5468 (version-major+minor version) "/"
5469 name "-" version ".tar.xz"))
5470 (sha256
5471 (base32
5472 "08b1f5s5aqka3dwxnzmwr2fmyddjm9xw7zmqsf8r5zvfsivn7czg"))))
5473 (build-system glib-or-gtk-build-system)
5474 (native-inputs
5475 `(("glib:bin" ,glib "bin")
5476 ("gobject-introspection" ,gobject-introspection)
5477 ("intltool" ,intltool)
5478 ("itstool" ,itstool)
5479 ("pkg-config" ,pkg-config)
5480 ("xmllint" ,libxml2)))
5481 (inputs
5482 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5483 ("gtk+" ,gtk+)))
5484 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5485 (synopsis "Look up words in dictionary sources")
5486 (description
5487 "GNOME Dictionary can look for the definition or translation of a word in
5488existing databases over the internet.")
5489 (license license:gpl3+)))
5490
9365ee1c
JN
5491(define-public gnome-tweak-tool
5492 (package
5493 (name "gnome-tweak-tool")
f169ad10 5494 (version "3.22.0")
9365ee1c
JN
5495 (source (origin
5496 (method url-fetch)
5497 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5498 (version-major+minor version) "/"
5499 "gnome-tweak-tool-" version ".tar.xz"))
5500 (patches (list
5501 (search-patch "gnome-tweak-tool-search-paths.patch")))
5502 (sha256
5503 (base32
f169ad10 5504 "1frs16p2284mdw65g1ldmf9cz5sn3rg16wz58gjrw5pn2cgf2six"))))
7ef335b0 5505 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5506 (arguments
5507 `(#:configure-flags '("--localstatedir=/tmp"
5508 "--sysconfdir=/tmp")
5509 #:imported-modules ((guix build python-build-system)
7ef335b0 5510 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5511 #:phases (modify-phases %standard-phases
9af6bce1
CB
5512 (add-after 'install 'wrap-program
5513 (lambda* (#:key outputs #:allow-other-keys)
5514 (let ((out (assoc-ref outputs "out"))
5515 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5516 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5517 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5518 #t))
9365ee1c
JN
5519 (add-after 'install 'wrap
5520 (@@ (guix build python-build-system) wrap)))))
5521 (native-inputs
5522 `(("intltool" ,intltool)
5523 ("pkg-config" ,pkg-config)))
5524 (inputs
5525 `(("python" ,python-2)
adb41527 5526 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5527 ("gnome-desktop" ,gnome-desktop)
5528 ("libsoup" ,libsoup)
adb41527 5529 ("libnotify" ,libnotify)
9365ee1c
JN
5530 ("gobject-introspection" ,gobject-introspection)
5531 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5532 ("gtk+" ,gtk+)))
5533 (synopsis "Customize advanced GNOME 3 options")
5534 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5535 (description
5536 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5537GNOME 3. This includes things like the fonts used in user interface elements,
5538alternative user interface themes, changes in window management behavior,
5539GNOME Shell appearance and extension, etc.")
5540 (license license:gpl3+)))
813f814a 5541
32ac717c
DT
5542(define-public gnome-shell-extensions
5543 (package
5544 (name "gnome-shell-extensions")
2e45916c 5545 (version "3.22.2")
32ac717c
DT
5546 (source (origin
5547 (method url-fetch)
5548 (uri (string-append "mirror://gnome/sources/" name "/"
5549 (version-major+minor version) "/"
5550 name "-" version ".tar.xz"))
5551 (sha256
5552 (base32
2e45916c 5553 "11wa4f9arr89a4y8nsvla5j58dzwlawjb2q1lz0jn5i9kv324z6z"))))
32ac717c
DT
5554 (build-system gnu-build-system)
5555 (arguments
5556 '(#:configure-flags '("--enable-extensions=all")))
5557 (native-inputs
5558 `(("intltool" ,intltool)
5559 ("pkg-config" ,pkg-config)))
5560 (propagated-inputs
5561 `(("glib" ,glib)
5562 ("glib" ,glib "bin")))
5563 (synopsis "Extensions for GNOME Shell")
5564 (description "GNOME Shell extensions modify and extend GNOME Shell
5565functionality and behavior.")
5566 (home-page "https://extensions.gnome.org/")
5567 (license license:gpl3+)))
5568
813f814a
DT
5569(define-public arc-theme
5570 (package
5571 (name "arc-theme")
b1251a2f 5572 (version "20161119")
813f814a
DT
5573 (source (origin
5574 (method url-fetch)
5575 (uri (string-append "https://github.com/horst3180/arc-theme"
5576 "/archive/" version ".tar.gz"))
5577 (file-name (string-append name "-" version ".tar.gz"))
5578 (sha256
5579 (base32
b1251a2f 5580 "1kbhaxmydyip3vdw4kf8rk776jcd9wf0w7z6h2i4naxdn4rsnw54"))))
813f814a
DT
5581 (build-system gnu-build-system)
5582 (arguments
5583 '(#:phases
5584 (modify-phases %standard-phases
5585 (add-after 'unpack 'bootstrap
5586 (lambda _
5587 (zero? (system* "autoreconf" "-vif")))))))
5588 (native-inputs
5589 `(("autoconf" ,autoconf)
5590 ("automake" ,automake)
5591 ("pkg-config" ,pkg-config)))
5592 (inputs
5593 `(("gtk+" ,gtk+)))
5594 (synopsis "A flat GTK+ theme with transparent elements")
5595 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
55962, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
5597like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5598 (home-page "https://github.com/horst3180/arc-theme")
5599 ;; No "or later" language found.
5600 (license license:gpl3)))
9987c57c
DT
5601
5602(define-public moka-icon-theme
5603 (package
5604 (name "moka-icon-theme")
5605 (version "5.3.1")
5606 (source (origin
5607 (method url-fetch)
5608 (uri (string-append "https://github.com/moka-project"
5609 "/moka-icon-theme/archive/v"
5610 version ".tar.gz"))
5611 (file-name (string-append name "-" version ".tar.gz"))
5612 (sha256
5613 (base32
5614 "1lnk7p8dsd9xh6cgz5krvlcr457w8yl4m6p6s5c2g5narsjswzrm"))))
5615 (build-system gnu-build-system)
5616 (arguments
5617 '(#:phases
5618 (modify-phases %standard-phases
5619 (add-after 'unpack 'patch-makefile.am
5620 (lambda _
5621 (substitute* '("Makefile.am")
5622 (("\\$\\(DESTDIR\\)/usr/share")
5623 "$(datadir)"))
5624 #t))
5625 (add-after 'patch-makefile.am 'bootstrap
5626 (lambda _
5627 (zero? (system* "autoreconf" "-vif")))))))
5628 (native-inputs
5629 `(("autoconf" ,autoconf)
5630 ("automake" ,automake)))
5631 (synopsis "Moka icon theme")
5632 (description "Moka is a stylized desktop icon set, designed to be clear,
5633simple and consistent.")
5634 (home-page "http://snwh.org/moka")
5635 (license license:gpl3+)))
6fd8f8d6
DT
5636
5637(define-public arc-icon-theme
5638 (package
5639 (name "arc-icon-theme")
5640 (version "20160605")
5641 (source (origin
5642 (method url-fetch)
5643 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
5644 "/archive/" version ".tar.gz"))
5645 (file-name (string-append name "-" version ".tar.gz"))
5646 (sha256
5647 (base32
5648 "1npf0ki0j0llrw9wbffhxxa1cdms0q7b8xlg9m943dd9g7pgdm2p"))))
5649 (build-system gnu-build-system)
5650 (arguments
5651 '(#:phases
5652 (modify-phases %standard-phases
5653 (add-after 'unpack 'bootstrap
5654 (lambda _
5655 (zero? (system* "autoreconf" "-vif")))))))
5656 (native-inputs
5657 `(("autoconf" ,autoconf)
5658 ("automake" ,automake)))
5659 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
5660 (propagated-inputs
5661 `(("moka-icon-theme" ,moka-icon-theme)))
5662 (synopsis "Arc icon theme")
5663 (description "The Arc icon theme provides a set of icons matching the
5664style of the Arc GTK theme. Icons missing from the Arc theme are provided by
5665the Moka icon theme.")
5666 (home-page "https://github.com/horst3180/arc-icon-theme")
5667 (license license:gpl3+)))
6064a4e8
LF
5668
5669(define-public folks
5670 (package
5671 (name "folks")
5672 (version "0.11.2")
5673 (source (origin
5674 (method url-fetch)
5675 (uri (string-append
5676 "mirror://gnome/sources/" name "/"
5677 (version-major+minor version) "/"
5678 name "-" version ".tar.xz"))
5679 (sha256
5680 (base32
5681 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
5682 (build-system glib-or-gtk-build-system)
5683 (inputs
5684 `(("bdb" ,bdb)
5685 ("dbus-glib" ,dbus-glib)
5686 ("evolution-data-server" ,evolution-data-server)
5687 ("glib" ,glib)
5688 ("libgee" ,libgee)
5689 ("telepathy-glib" ,telepathy-glib)))
5690 (native-inputs
5691 `(("gobject-introspection" ,gobject-introspection)
5692 ("intltool" ,intltool)
5693 ("pkg-config" ,pkg-config)
5694 ("vala" ,vala)))
5695 (synopsis "Library to aggregate data about people")
5696 (description "Libfolks is a library that aggregates information about people
5697from multiple sources (e.g., Telepathy connection managers for IM contacts,
5698Evolution Data Server for local contacts, libsocialweb for web service contacts,
5699etc.) to create metacontacts. It's written in Vala, which generates C code when
5700compiled.")
5701 (home-page "https://wiki.gnome.org/Projects/Folks")
5702 (license license:lgpl2.1+)))
01ea778f
LF
5703
5704(define-public gfbgraph
5705 (package
5706 (name "gfbgraph")
5707 (version "0.2.3")
5708 (source (origin
5709 (method url-fetch)
5710 (uri (string-append
5711 "mirror://gnome/sources/" name "/"
5712 (version-major+minor version) "/"
5713 name "-" version ".tar.xz"))
5714 (sha256
5715 (base32
5716 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
5717 (build-system glib-or-gtk-build-system)
5718 (arguments
5719 `(#:tests? #f ; Tests appear to require the network.
5720 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
5721 #:configure-flags '("--disable-gtk-doc"
5722 "--disable-static"
5723 "--enable-introspection")))
5724 (native-inputs
5725 `(("pkg-config" ,pkg-config)
5726 ("gobject-introspection" ,gobject-introspection)))
5727 (inputs
5728 `(("json-glib" ,json-glib)
5729 ("gnome-online-accounts" ,gnome-online-accounts)
5730 ("rest" ,rest)))
5731 (synopsis "GLib/GObject wrapper for the Facebook API")
5732 (description "This library allows you to use the Facebook API from
5733GLib/GObject code.")
5734 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
5735 (license license:lgpl2.1+)))
3920868c 5736
5737(define-public libgnomekbd
5738 (package
5739 (name "libgnomekbd")
0abc6634 5740 (version "3.22.0")
3920868c 5741 (source (origin
5742 (method url-fetch)
5743 (uri (string-append "mirror://gnome/sources/" name "/"
5744 (version-major+minor version) "/"
5745 name "-" version ".tar.xz"))
5746 (sha256
5747 (base32
0abc6634 5748 "1pvpbljvxc0riamraiflnm05dpb6i4vlmqqgdh74xggbpzd302rl"))))
3920868c 5749 (build-system gnu-build-system)
5750 (native-inputs
5751 `(("pkg-config" ,pkg-config)
5752 ("glib" ,glib "bin")
5753 ("intltool" ,intltool)))
5754 (propagated-inputs
5755 ;; Referred to in .h files and .pc.
5756 `(("glib" ,glib)
5757 ("gtk+" ,gtk+)
5758 ("libxklavier" ,libxklavier)))
5759 (home-page "https://www.gnome.org")
5760 (synopsis "GNOME keyboard configuration library")
5761 (description
5762 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
5763environment, which can notably display keyboard layouts.")
5764 (license license:lgpl2.0+)))
85327d0d 5765
5766;;; This package is no longer maintained:
5767;;; https://wiki.gnome.org/Attic/LibUnique
5768;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
5769;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
5770(define-public libunique
5771 (package
5772 (name "libunique")
5773 (version "3.0.2")
5774 (source (origin
5775 (method url-fetch)
5776 (uri (string-append "mirror://gnome/sources/" name "/"
5777 (version-major+minor version) "/"
5778 name "-" version ".tar.xz"))
5779 (sha256
5780 (base32
5781 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
5782 (build-system glib-or-gtk-build-system)
5783 (arguments
5784 `(#:configure-flags '("--disable-static"
5785 "--disable-dbus" ; use gdbus
5786 "--enable-introspection")))
5787 (native-inputs
5788 `(("pkg-config" ,pkg-config)
5789 ("gobject-introspection" ,gobject-introspection)
5790 ("glib:bin" ,glib "bin")
5791 ("gtk-doc" ,gtk-doc)))
5792 (propagated-inputs
5793 ;; Referred to in .h files and .pc.
5794 `(("gtk+" ,gtk+)))
5795 (home-page "https://wiki.gnome.org/Attic/LibUnique")
5796 (synopsis "Library for writing single instance applications")
5797 (description
5798 "Libunique is a library for writing single instance applications. If you
5799launch a single instance application twice, the second instance will either just
5800quit or will send a message to the running instance. Libunique makes it easy to
5801write this kind of application, by providing a base class, taking care of all
5802the IPC machinery needed to send messages to a running instance, and also
5803handling the startup notification side.")
5804 (license license:lgpl2.1+)))
54021cd8
RS
5805
5806(define-public gnome-calculator
5807 (package
5808 (name "gnome-calculator")
de7da4e5 5809 (version "3.22.2")
54021cd8
RS
5810 (source
5811 (origin
5812 (method url-fetch)
5813 (uri (string-append "mirror://gnome/sources/" name "/"
5814 (version-major+minor version) "/"
5815 name "-" version ".tar.xz"))
5816 (sha256
5817 (base32
de7da4e5 5818 "03il7xl4yr6xbzj6x1lbl16yzlb166c9h9wny1w7mj9dccnz99wr"))))
54021cd8
RS
5819 (build-system glib-or-gtk-build-system)
5820 (native-inputs
5821 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5822 ("intltool" ,intltool)
5823 ("itstool" ,itstool)
5824 ("pkg-config" ,pkg-config)))
5825 (inputs
5826 `(("gtksourceview" ,gtksourceview)
5827 ("libsoup" ,libsoup)
5828 ("mpfr" ,mpfr)))
5829 (home-page "https://wiki.gnome.org/Apps/Calculator")
5830 (synopsis "Desktop calculator")
5831 (description
5832 "Calculator is an application that solves mathematical equations and
5833is suitable as a default application in a Desktop environment.")
5834 (license license:gpl3)))
0bd69759
RS
5835
5836(define-public xpad
5837 (package
5838 (name "xpad")
5839 (version "4.8.0")
5840 (source
5841 (origin
5842 (method url-fetch)
5843 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
5844 name "-" version ".tar.bz2"))
5845 (sha256
5846 (base32
5847 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
5848 (build-system gnu-build-system)
5849 (native-inputs
5850 `(("intltool" ,intltool)
5851 ("pkg-config" ,pkg-config)))
5852 (inputs
5853 `(("gtk+" ,gtk+)
5854 ("gtksourceview" ,gtksourceview)
5855 ("libsm" ,libsm)))
5856 (home-page "https://wiki.gnome.org/Apps/Xpad")
5857 (synopsis "Virtual sticky note")
5858 (description
5859 "Xpad is a sticky note that strives to be simple, fault tolerant,
5860and customizable. Xpad consists of independent pad windows, each is
5861basically a text box in which notes can be written.")
5862 (license license:gpl3+)))
3ad7dce1
RS
5863
5864(define-public gucharmap
5865 (package
5866 (name "gucharmap")
5867 (version "3.18.0")
5868 (source
5869 (origin
5870 (method url-fetch)
5871 (uri (string-append "mirror://gnome/sources/" name "/"
5872 (version-major+minor version) "/"
5873 name "-" version ".tar.xz"))
5874 (sha256
5875 (base32
5876 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
5877 (build-system gnu-build-system)
5878 (native-inputs
5879 `(("desktop-file-utils" ,desktop-file-utils)
5880 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
5881 ("gobject-introspection" ,gobject-introspection)
5882 ("intltool" ,intltool)
5883 ("itstool" ,itstool)
5884 ("pkg-config" ,pkg-config)))
5885 (inputs
5886 `(("gtk+" ,gtk+)
5887 ("xmllint" ,libxml2)))
5888 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
5889 (synopsis "Unicode character picker and font browser")
5890 (description
5891 "This program allows you to browse through all the available Unicode
5892characters and categories for the installed fonts, and to examine their
5893detailed properties. It is an easy way to find the character you might
5894only know by its Unicode name or code point.")
5895 (license license:gpl3+)))
04ce840a
RS
5896
5897(define-public bluefish
5898 (package
5899 (name "bluefish")
5900 (version "2.2.9")
5901 (source
5902 (origin
5903 (method url-fetch)
5904 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
5905 name "-" version ".tar.gz"))
5906 (sha256
5907 (base32
5908 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
5909 (build-system gnu-build-system)
5910 (native-inputs
5911 `(("desktop-file-utils" ,desktop-file-utils)
5912 ("intltool" ,intltool)
5913 ("pkg-config" ,pkg-config)))
5914 (inputs
5915 `(("enchant" ,enchant)
5916 ("gtk+" ,gtk+)
5917 ("python" ,python-2)
5918 ("xmllint" ,libxml2)
5919 ("gucharmap" ,gucharmap)))
5920 (home-page "http://bluefish.openoffice.nl")
5921 (synopsis "Web development studio")
5922 (description
5923 "Bluefish is an editor targeted towards programmers and web developers,
5924with many options to write web sites, scripts and other code.
5925Bluefish supports many programming and markup languages.")
5926 (license license:gpl3+)))
1f6a73ee
RS
5927
5928(define-public gnome-system-monitor
5929 (package
5930 (name "gnome-system-monitor")
acc5b65e 5931 (version "3.22.2")
1f6a73ee
RS
5932 (source
5933 (origin
5934 (method url-fetch)
5935 (uri (string-append "mirror://gnome/sources/" name "/"
5936 (version-major+minor version) "/"
5937 name "-" version ".tar.xz"))
5938 (sha256
5939 (base32
acc5b65e 5940 "10n9bl2q9xxnd6mfi4scfw5x0xyyzvnblz26q9gl8vks2nbv19b8"))))
1f6a73ee
RS
5941 (build-system glib-or-gtk-build-system)
5942 (native-inputs
5943 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
5944 ("intltool" ,intltool)
5945 ("itstool" ,itstool)
5946 ("libgtop" ,libgtop)
5947 ("pkg-config" ,pkg-config)))
5948 (inputs
5949 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
5950 ("gtk+" ,gtk+)
5951 ("gtkmm" ,gtkmm)
5952 ("librsvg" ,librsvg)
5953 ("libxml2" ,libxml2)))
5954 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
5955 (synopsis "Process viewer and system resource monitor for GNOME")
5956 (description
5957 "GNOME System Monitor is a GNOME process viewer and system monitor with
5958an attractive, easy-to-use interface. It has features, such as a tree view
5959for process dependencies, icons for processes, the ability to hide processes,
5960graphical time histories of CPU/memory/swap usage and the ability to
5961kill/reinice processes.")
5962 (license license:gpl2+)))