guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
1dd26275 3;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
b38e45d8 5;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
995b7261
AE
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages gnome)
b5b73a82 23 #:use-module ((guix licenses) #:prefix license:)
995b7261
AE
24 #:use-module (guix packages)
25 #:use-module (guix download)
29a7c98a 26 #:use-module (guix utils)
995b7261 27 #:use-module (guix build-system gnu)
121de2e1 28 #:use-module (guix build-system glib-or-gtk)
ed19903d 29 #:use-module (gnu packages)
5698b8b8 30 #:use-module (gnu packages bison)
121de2e1 31 #:use-module (gnu packages flex)
b4ce6300 32 #:use-module (gnu packages docbook)
995b7261 33 #:use-module (gnu packages glib)
c1354b90 34 #:use-module (gnu packages gnupg)
85f5dc19 35 #:use-module (gnu packages gstreamer)
d9c1a22b 36 #:use-module (gnu packages gtk)
c1354b90 37 #:use-module (gnu packages pdf)
5698b8b8 38 #:use-module (gnu packages popt)
c1354b90 39 #:use-module (gnu packages ghostscript)
9cc98f8a 40 #:use-module (gnu packages iso-codes)
85f5dc19 41 #:use-module (gnu packages libcanberra)
e55354b8 42 #:use-module (gnu packages image)
27477d2d 43 #:use-module (gnu packages perl)
995b7261
AE
44 #:use-module (gnu packages pkg-config)
45 #:use-module (gnu packages python)
85f5dc19 46 #:use-module (gnu packages xml)
200726ed 47 #:use-module (gnu packages gl)
1dd26275 48 #:use-module (gnu packages compression)
fecbf86e 49 #:use-module (gnu packages xorg)
ea57378f
SB
50 #:use-module (gnu packages xdisorg)
51 #:use-module (gnu packages ncurses))
85f5dc19
AE
52
53(define-public brasero
54 (package
55 (name "brasero")
56 (version "3.8.0")
57 (source (origin
58 (method url-fetch)
59 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
60 version ".tar.xz"))
61 (sha256
62 (base32
63 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
64 (build-system gnu-build-system)
65 (propagated-inputs
66 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
67 (native-inputs
68 `(("intltool" ,intltool)
426adbe8 69 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
9cc98f8a 70 ("pkg-config" ,pkg-config)))
85f5dc19
AE
71 (inputs
72 `(("glib" ,glib)
73 ("gnome-doc-utils" ,gnome-doc-utils)
74 ("gstreamer" ,gstreamer)
75 ("gst-plugins-base" ,gst-plugins-base)
76 ("gtk+" ,gtk+)
85f5dc19
AE
77 ("itstool" ,itstool)
78 ("libcanberra" ,libcanberra)
79 ("libice" ,libice)
80 ("libnotify" ,libnotify)
81 ("libsm" ,libsm)
c4c4cc05 82 ("libxml2" ,libxml2)))
85f5dc19
AE
83 (home-page "https://projects.gnome.org/brasero/")
84 (synopsis "CD/DVD burning tool for Gnome")
85 (description "Brasero is an application to burn CD/DVD for the Gnome
86Desktop. It is designed to be as simple as possible and has some unique
87features to enable users to create their discs easily and quickly.")
1dd26275 88 (license license:gpl2+)))
995b7261 89
9cc98f8a
CR
90(define-public gnome-desktop
91 (package
92 (name "gnome-desktop")
93 (version "3.10.0")
94 (source
95 (origin
96 (method url-fetch)
b38e45d8
EB
97 (uri (string-append "mirror://gnome/sources/" name "/"
98 (version-major+minor version) "/"
9cc98f8a
CR
99 name "-" version ".tar.xz"))
100 (sha256
101 (base32
102 "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
103 (build-system gnu-build-system)
104 (native-inputs
105 `(("intltool" ,intltool)
106 ("pkg-config" ,pkg-config)))
107 (inputs
108 `(("gdk-pixbuf" ,gdk-pixbuf)
109 ("glib" ,glib)
110 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
111 ("gtk+" ,gtk+)
112 ("iso-codes" ,iso-codes)
113 ("itstool" ,itstool)
114 ("libx11" ,libx11)
115 ("libxext" ,libxext)
116 ("libxkbfile" ,libxkbfile)
117 ("libxrandr" ,libxrandr)
118 ("xkeyboard-config" ,xkeyboard-config)))
119 (home-page "https://www.gnome.org/")
120 (synopsis
35b9e423 121 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
122 (description
123 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
124on the desktop, but that cannot live in the platform for various reasons.
125There is no API or ABI guarantee, although we are doing our best to provide
126stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
127
128The gnome-about program helps find which version of GNOME is installed.")
129 ; Some bits under the LGPL.
1dd26275 130 (license license:gpl2+)))
9cc98f8a 131
995b7261
AE
132(define-public gnome-doc-utils
133 (package
134 (name "gnome-doc-utils")
135 (version "0.20.10")
136 (source
137 (origin
138 (method url-fetch)
b38e45d8
EB
139 (uri (string-append "mirror://gnome/sources/" name "/"
140 (version-major+minor version) "/"
995b7261
AE
141 name "-" version ".tar.xz"))
142 (sha256
143 (base32
144 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
145 (build-system gnu-build-system)
b4ce6300
JD
146 (arguments
147 `(#:phases
148 (alist-cons-before
149 'check 'pre-check
150 (lambda* (#:key inputs #:allow-other-keys #:rest args)
151 ;; This is needed, because without it, xmlint etc tries
152 ;; to download docbookx.dtd from the net
153 (setenv "XML_CATALOG_FILES"
154 (string-append (assoc-ref inputs "docbook-xml")
155 "/xml/dtd/docbook/catalog.xml")))
156 %standard-phases)))
c4c4cc05 157 (native-inputs
995b7261 158 `(("intltool" ,intltool)
b4ce6300 159 ("docbook-xml" ,docbook-xml-4.4)
995b7261
AE
160 ("libxml2" ,libxml2)
161 ("libxslt" ,libxslt)
162 ("pkg-config" ,pkg-config)
163 ("python-2" ,python-2)))
995b7261
AE
164 (home-page "https://wiki.gnome.org/GnomeDocUtils")
165 (synopsis
166 "Documentation utilities for the Gnome project")
167 (description
168 "Gnome-doc-utils is a collection of documentation utilities for the
169Gnome project. It includes xml2po tool which makes it easier to translate
170and keep up to date translations of documentation.")
1dd26275 171 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 172
c1354b90
LC
173(define-public libgnome-keyring
174 (package
175 (name "libgnome-keyring")
176 (version "3.6.0")
177 (source (origin
178 (method url-fetch)
b38e45d8
EB
179 (uri (string-append "mirror://gnome/sources/" name "/"
180 (version-major+minor version) "/"
181 name "-" version ".tar.xz"))
c1354b90
LC
182 (sha256
183 (base32
184 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
185 (build-system gnu-build-system)
c1354b90 186 (inputs
c4c4cc05 187 `(("libgcrypt" ,libgcrypt)
c1354b90 188 ("dbus" ,dbus)))
c4c4cc05
JD
189 (native-inputs
190 `(("pkg-config" ,pkg-config)
426adbe8 191 ("glib" ,glib "bin")
c4c4cc05 192 ("intltool" ,intltool)))
c1354b90
LC
193 (propagated-inputs
194 ;; Referred to in .h files and .pc.
195 `(("glib" ,glib)))
196 (home-page "http://www.gnome.org")
197 (synopsis "Accessing passwords from the GNOME keyring")
198 (description
199 "Client library to access passwords from the GNOME keyring.")
200
201 ;; Though a couple of files are LGPLv2.1+.
1dd26275 202 (license license:lgpl2.0+)))
c1354b90
LC
203
204(define-public evince
205 (package
206 (name "evince")
207 (version "3.6.1")
208 (source (origin
209 (method url-fetch)
b38e45d8
EB
210 (uri (string-append "mirror://gnome/sources/" name "/"
211 (version-major+minor version) "/"
212 name "-" version ".tar.xz"))
c1354b90
LC
213 (sha256
214 (base32
215 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
121de2e1 216 (build-system glib-or-gtk-build-system)
c1354b90
LC
217 (arguments
218 `(#:configure-flags '("--disable-nautilus")
219
220 ;; FIXME: Tests fail with:
221 ;; ImportError: No module named gi.repository
222 ;; Where should that module come from?
96e42467
LC
223 #:tests? #f
224
225 #:phases (alist-cons-after
226 'install 'set-mime-search-path
227 (lambda* (#:key inputs outputs #:allow-other-keys)
228 ;; Wrap 'evince' so that it knows where MIME info is.
229 (let ((out (assoc-ref outputs "out"))
230 (mime (assoc-ref inputs "shared-mime-info")))
231 (wrap-program (string-append out "/bin/evince")
232 `("XDG_DATA_DIRS" ":" prefix
233 ,(list (string-append mime "/share")
234 (string-append out "/share"))))))
235 %standard-phases)))
c1354b90
LC
236 (inputs
237 `(("libspectre" ,libspectre)
238 ;; ("djvulibre" ,djvulibre)
239 ("ghostscript" ,ghostscript)
240 ("poppler" ,poppler)
241 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
242 ("libgnome-keyring" ,libgnome-keyring)
243 ("gnome-icon-theme" ,gnome-icon-theme)
244 ("itstool" ,itstool)
245 ("gdk-pixbuf" ,gdk-pixbuf)
246 ("atk" ,atk)
247 ("pango" ,pango)
248 ("gtk+" ,gtk+)
249 ("glib" ,glib)
250 ("libxml2" ,libxml2)
c1354b90
LC
251 ("libsm" ,libsm)
252 ("libice" ,libice)
96e42467 253 ("shared-mime-info" ,shared-mime-info)
c1354b90
LC
254
255 ;; For tests.
256 ("dogtail" ,python2-dogtail)))
96e42467 257 (native-inputs
c4c4cc05 258 `(("intltool" ,intltool)
426adbe8 259 ("glib" ,glib "bin")
c4c4cc05 260 ("pkg-config" ,pkg-config)))
c1354b90
LC
261 (home-page
262 "http://www.gnome.org/projects/evince/")
263 (synopsis "GNOME's document viewer")
264 (description
265 "Evince is a document viewer for multiple document formats. It
266currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
267of Evince is to replace the multiple document viewers that exist
96e42467 268on the GNOME Desktop with a single simple application.")
1dd26275 269 (license license:gpl2+)))
c1354b90 270
22e32e69
AE
271(define-public gsettings-desktop-schemas
272 (package
273 (name "gsettings-desktop-schemas")
274 (version "3.10.0")
275 (source
276 (origin
277 (method url-fetch)
278 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 279 (version-major+minor version) "/"
22e32e69
AE
280 name "-" version ".tar.xz"))
281 (sha256
282 (base32
283 "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
284 (build-system gnu-build-system)
285 (inputs
c4c4cc05
JD
286 `(("glib" ,glib)))
287 (native-inputs
288 `(("intltool" ,intltool)
426adbe8 289 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
22e32e69
AE
290 ("pkg-config" ,pkg-config)))
291 (home-page "https://launchpad.net/gsettings-desktop-schemas")
292 (synopsis
293 "GNOME settings for various desktop components")
294 (description
295 "Gsettings-desktop-schemas contains a collection of GSettings schemas
296for settings shared by various components of the GNOME desktop.")
1dd26275 297 (license license:lgpl2.1+)))
22e32e69 298
27477d2d
AE
299(define-public icon-naming-utils
300 (package
301 (name "icon-naming-utils")
302 (version "0.8.90")
303 (source
304 (origin
305 (method url-fetch)
306 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
307 version ".tar.bz2"))
308 (sha256
309 (base32
310 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
311 (build-system gnu-build-system)
312 (inputs
313 `(("perl" ,perl)
314 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
315 (arguments
316 '(#:phases
317 (alist-cons-after
318 'install 'set-load-paths
319 ;; Tell 'icon-name-mapping' where XML::Simple is.
320 (lambda* (#:key outputs #:allow-other-keys)
321 (let* ((out (assoc-ref outputs "out"))
322 (prog (string-append out "/libexec/icon-name-mapping")))
323 (wrap-program
324 prog
325 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
326 %standard-phases)))
27477d2d
AE
327 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
328 (synopsis
329 "Utility to implement the Freedesktop Icon Naming Specification")
330 (description
331 "To help with the transition to the Freedesktop Icon Naming
332Specification, the icon naming utility maps the icon names used by the
333GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 334 (license license:lgpl2.1+)))
27477d2d 335
7d3f3651
AE
336(define-public gnome-icon-theme
337 (package
338 (name "gnome-icon-theme")
339 (version "3.10.0")
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 344 (version-major+minor version) "/"
7d3f3651
AE
345 name "-" version ".tar.xz"))
346 (sha256
347 (base32
348 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
349 (build-system gnu-build-system)
350 (inputs
351 `(("gtk+" ,gtk+)
c4c4cc05
JD
352 ("icon-naming-utils" ,icon-naming-utils)))
353 (native-inputs
354 `(("intltool" ,intltool)
355 ("pkg-config" ,pkg-config)))
7d3f3651
AE
356 (home-page "http://art.gnome.org/")
357 (synopsis
358 "GNOME icon theme")
359 (description
360 "Icons for the GNOME desktop.")
1dd26275 361 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 362
9167f8e6
LC
363(define-public shared-mime-info
364 (package
365 (name "shared-mime-info")
366 (version "1.2")
367 (source (origin
368 (method url-fetch)
b38e45d8
EB
369 (uri (string-append "http://freedesktop.org/~hadess/"
370 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
371 (sha256
372 (base32
373 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
374 (build-system gnu-build-system)
375 (arguments
376 ;; The build system appears not to be parallel-safe.
377 '(#:parallel-build? #f))
378 (inputs
379 `(("glib" ,glib)
c4c4cc05 380 ("libxml2" ,libxml2)))
9167f8e6 381 (native-inputs
c4c4cc05
JD
382 `(("intltool" ,intltool)
383 ("pkg-config" ,pkg-config)))
9167f8e6
LC
384 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
385 (synopsis "Database of common MIME types")
386 (description
387 "The shared-mime-info package contains the core database of common types
388and the update-mime-database command used to extend it. It requires glib2 to
389be installed for building the update command. Additionally, it uses intltool
390for translations, though this is only a dependency for the maintainers. This
391database is translated at Transifex.")
1dd26275 392 (license license:gpl2+)))
9167f8e6 393
bef4dd92
AE
394(define-public hicolor-icon-theme
395 (package
396 (name "hicolor-icon-theme")
397 (version "0.12")
398 (source
399 (origin
400 (method url-fetch)
b38e45d8
EB
401 (uri (string-append "http://icon-theme.freedesktop.org/releases/"
402 "hicolor-icon-theme-" version ".tar.gz"))
bef4dd92
AE
403 (sha256
404 (base32
405 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
406 (build-system gnu-build-system)
407 (arguments
408 `(#:tests? #f)) ; no check target
409 (home-page "http://icon-theme.freedesktop.org/releases/")
410 (synopsis
411 "Freedesktop icon theme")
412 (description
413 "Freedesktop icon theme.")
1dd26275 414 (license license:gpl2)))
bef4dd92 415
d9c1a22b
AE
416(define-public libnotify
417 (package
418 (name "libnotify")
419 (version "0.7.6")
420 (source
421 (origin
422 (method url-fetch)
423 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 424 (version-major+minor version) "/"
d9c1a22b
AE
425 name "-" version ".tar.xz"))
426 (sha256
427 (base32
428 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
429 (build-system gnu-build-system)
430 (inputs
431 `(("gdk-pixbuf" ,gdk-pixbuf)
432 ("glib" ,glib)
433 ("gtk+" ,gtk+)
c4c4cc05
JD
434 ("libpng" ,libpng)))
435 (native-inputs
426adbe8
LC
436 `(("pkg-config" ,pkg-config)
437 ("glib" ,glib "bin")))
d9c1a22b
AE
438 (home-page "https://developer-next.gnome.org/libnotify/")
439 (synopsis
440 "GNOME desktop notification library")
441 (description
442 "Libnotify is a library that sends desktop notifications to a
35b9e423 443notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
444notifications can be used to inform the user about an event or display
445some form of information without getting in the user's way.")
1dd26275 446 (license license:lgpl2.1+)))
7a8605ce
CR
447
448(define-public libpeas
449 (package
450 (name "libpeas")
451 (version "1.9.0")
452 (source
453 (origin
454 (method url-fetch)
455 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 456 (version-major+minor version) "/"
7a8605ce
CR
457 name "-" version ".tar.xz"))
458 (sha256
459 (base32
460 "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
461 (build-system gnu-build-system)
7a8605ce
CR
462 (inputs
463 `(("atk" ,atk)
464 ("gdk-pixbuf" ,gdk-pixbuf)
465 ("glib" ,glib)
7a8605ce 466 ("gtk+" ,gtk+)
141aed80
LC
467 ("pango" ,pango)))
468 (native-inputs
469 `(("pkg-config" ,pkg-config)
93622993 470 ("glib:bin" ,glib "bin")
141aed80
LC
471 ("gobject-introspection" ,gobject-introspection)
472 ("intltool" ,intltool)))
7a8605ce
CR
473 (home-page "https://wiki.gnome.org/Libpeas")
474 (synopsis "GObject plugin system")
475 (description
35b9e423 476 "Libpeas is a gobject-based plugins engine, and is targetted at giving
7a8605ce
CR
477every application the chance to assume its own extensibility. It also has a
478set of features including, but not limited to: multiple extension points; on
479demand (lazy) programming language support for C, Python and JS; simplicity of
480the API")
481
1dd26275 482 (license license:lgpl2.0+)))
ed19903d
JD
483
484(define-public gtkglext
485 (package
486 (name "gtkglext")
487 (version "1.2.0")
488 (source (origin
489 (method url-fetch)
490 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
491 version "/gtkglext-" version ".tar.gz"))
492 (sha256
493 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
494 (patches (list
ed19903d
JD
495 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
496 (build-system gnu-build-system)
497 (inputs `(("gtk+" ,gtk+-2)
498 ("mesa" ,mesa)
cc8b02f4 499 ("glu" ,glu)
ed19903d
JD
500 ("libx11" ,libx11)
501 ("libxt" ,libxt)))
426adbe8
LC
502 (native-inputs `(("pkg-config" ,pkg-config)
503 ("glib" ,glib "bin")))
a83b6a06 504 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 505 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 506 (synopsis "OpenGL extension to GTK+")
35b9e423 507 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
508additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
509API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 510 (license license:lgpl2.1+)))
3600420e
JD
511
512(define-public glade3
513 (package
514 (name "glade")
515 (version "3.8.4")
b38e45d8
EB
516 (source (origin
517 (method url-fetch)
518 (uri (string-append "mirror://gnome/sources/" name "/"
519 (version-major+minor version) "/"
520 name "3-" version ".tar.xz"))
3600420e
JD
521 (sha256
522 (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
523 (build-system gnu-build-system)
524 (inputs
525 `(("gtk+" ,gtk+-2)
526 ("libxml2" ,libxml2)))
527 (native-inputs
528 `(("intltool" ,intltool)
529 ("python" ,python)
530 ("pkg-config" ,pkg-config)))
531 (home-page "https://glade.gnome.org")
532 (synopsis "GTK+ rapid application development tool")
533 (description "Glade is a rapid application development (RAD) tool to
534enable quick & easy development of user interfaces for the GTK+ toolkit and
535the GNOME desktop environment.")
1dd26275
LC
536 (license license:lgpl2.0+)))
537
538(define-public libcroco
539 (package
540 (name "libcroco")
541 (version "0.6.8")
542 (source (origin
543 (method url-fetch)
b38e45d8
EB
544 (uri (string-append "mirror://gnome/sources/" name "/"
545 (version-major+minor version) "/"
546 name "-" version ".tar.xz"))
1dd26275
LC
547 (sha256
548 (base32
549 "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
550 (build-system gnu-build-system)
551 (native-inputs
552 `(("pkg-config" ,pkg-config)))
553 (inputs
554 `(("glib" ,glib)
555 ("libxml2" ,libxml2)
556 ("zlib" ,zlib)))
557 (home-page "https://github.com/GNOME/libcroco")
558 (synopsis "CSS2 parsing and manipulation library")
559 (description
560 "Libcroco is a standalone CSS2 parsing and manipulation library.
561The parser provides a low level event driven SAC-like API and a CSS object
562model like API. Libcroco provides a CSS2 selection engine and an experimental
563XML/CSS rendering engine.")
564
565 ;; LGPLv2.1-only.
566 (license license:lgpl2.1)))
25178594
LC
567
568(define-public libgsf
569 (package
570 (name "libgsf")
571 (version "1.14.30")
572 (source (origin
573 (method url-fetch)
b38e45d8
EB
574 (uri (string-append "mirror://gnome/sources/" name "/"
575 (version-major+minor version) "/"
576 name "-" version ".tar.xz"))
25178594
LC
577 (sha256
578 (base32
579 "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
580 (build-system gnu-build-system)
581 (native-inputs
582 `(("intltool" ,intltool)
583 ("pkg-config" ,pkg-config)))
584 (inputs
585 `(("python" ,python)
586 ("zlib" ,zlib)
587 ("bzip2" ,bzip2)))
588 (propagated-inputs
589 `(("gdk-pixbuf" ,gdk-pixbuf)
590 ("glib" ,glib)
591 ("libxml2" ,libxml2)))
592 (home-page "http://www.gnome.org/projects/libgsf")
593 (synopsis "GNOME's Structured File Library")
594 (description
595 "Libgsf aims to provide an efficient extensible I/O abstraction for
596dealing with different structured file formats.")
597
598 ;; LGPLv2.1-only.
599 (license license:lgpl2.1)))
63016e7c
LC
600
601(define-public librsvg
602 (package
603 (name "librsvg")
604 (version "2.40.2")
605 (source (origin
606 (method url-fetch)
b38e45d8
EB
607 (uri (string-append "mirror://gnome/sources/" name "/"
608 (version-major+minor version) "/"
609 name "-" version ".tar.xz"))
63016e7c
LC
610 (sha256
611 (base32
612 "071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128"))))
613 (build-system gnu-build-system)
614 (arguments
ce2df078 615 `(#:phases
63016e7c
LC
616 (alist-cons-before
617 'configure 'augment-gir-search-path
618 (lambda* (#:key inputs #:allow-other-keys)
63016e7c
LC
619 (substitute* "gdk-pixbuf-loader/Makefile.in"
620 ;; By default the gdk-pixbuf loader is installed under
621 ;; gdk-pixbuf's prefix. Work around that.
622 (("gdk_pixbuf_moduledir = .*$")
623 (string-append "gdk_pixbuf_moduledir = "
624 "$(prefix)/lib/gdk-pixbuf-2.0/2.0.10/"
625 "loaders\n"))
626 ;; Likewise, create a separate 'loaders.cache' file.
627 (("gdk_pixbuf_cache_file = .*$")
628 "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
cd14b5e3
FB
629 (alist-cons-after
630 'install 'generate-full-cache
631 (lambda* (#:key inputs outputs #:allow-other-keys)
632 (let ((loaders-directory
633 (string-append (assoc-ref outputs "out")
634 "/lib/gdk-pixbuf-2.0/2.0.10/loaders")))
635 (zero?
636 (system
637 (string-append
638 "gdk-pixbuf-query-loaders "
639 loaders-directory "/libpixbufloader-svg.so "
640 (string-join (find-files (assoc-ref inputs "gdk-pixbuf")
641 "libpixbufloader-.*\\.so") " ")
642 "> " loaders-directory ".cache")))))
643 %standard-phases))))
63016e7c
LC
644 (native-inputs
645 `(("pkg-config" ,pkg-config)
44add1ce 646 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
647 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
648 (inputs
649 `(("pango" ,pango)
650 ("libcroco" ,libcroco)
651 ("bzip2" ,bzip2)
652 ("libgsf" ,libgsf)
653 ("libxml2" ,libxml2)))
654 (propagated-inputs
655 ;; librsvg-2.0.pc refers to all of that.
656 `(("cairo" ,cairo)
657 ("gdk-pixbuf" ,gdk-pixbuf)
658 ("glib" ,glib)))
659 (home-page "https://wiki.gnome.org/LibRsvg")
660 (synopsis "Render SVG files using Cairo")
661 (description
35b9e423 662 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c
LC
663library.")
664 (license license:lgpl2.0+)))
5698b8b8
JD
665
666(define-public libidl
667 (package
668 (name "libidl")
669 (version "0.8.14")
670 (source (origin
671 (method url-fetch)
672 (uri (let ((upstream-name "libIDL"))
b38e45d8
EB
673 (string-append "mirror://gnome/sources/" upstream-name "/"
674 (version-major+minor version) "/"
675 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
676 (sha256
677 (base32
678 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
679 (build-system gnu-build-system)
680 (inputs `(("glib" ,glib)))
681 (native-inputs
682 `(("pkg-config" ,pkg-config)
683 ("flex", flex)
684 ("bison" ,bison)))
685 (home-page "http://freecode.com/projects/libidl")
686 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 687 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
688Definition Language (idl) files, which is a specification for defining
689portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 690GNOME project, and the primary means of libidl distribution). However, the
5698b8b8
JD
691functionality was designed to be as reusable and portable as possible.")
692 (license license:lgpl2.0+)))
693
694
695(define-public orbit2
696 (package
697 (name "orbit2")
698 (version "2.14.19")
699 (source (origin
700 (method url-fetch)
701 (uri (let ((upstream-name "ORBit2"))
b38e45d8
EB
702 (string-append "mirror://gnome/sources/" upstream-name "/"
703 (version-major+minor version) "/"
704 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
705 (sha256
706 (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
707 (build-system gnu-build-system)
708 (arguments
709 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
710 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
711 ;; ... which they then completly ignore !!
712 #:phases
713 (alist-cons-before
714 'configure 'ignore-deprecations
715 (lambda _
716 (substitute* "linc2/src/Makefile.in"
717 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
718 %standard-phases)))
719 (inputs `(("glib" ,glib)
720 ("libidl" ,libidl)))
721 (native-inputs
722 `(("pkg-config" ,pkg-config)))
723 (home-page "https://projects.gnome.org/orbit2/")
724 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 725 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
5698b8b8
JD
726featuring mature C, C++ and Python bindings.")
727 ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
728 ;; SOME of the code files have licence notices for GPLv2+
729 ;; The tarball contains files of the text of GPLv2 and LGPLv2
730 (license license:gpl2+)))
731
732
733(define-public libbonobo
734 (package
735 (name "libbonobo")
736 (version "2.32.1")
737 (source (origin
738 (method url-fetch)
5becd025 739 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 740 (version-major+minor version)
5becd025 741 "/" name "-" version ".tar.bz2"))
5698b8b8 742 (sha256
f1fc45a9
EB
743 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
744 (patches (list (search-patch "libbonobo-activation-test-race.patch")))))
5698b8b8
JD
745 (build-system gnu-build-system)
746 (arguments
747 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
748 `(#:configure-flags
749 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
750 ;; ... which they then completly ignore !!
751 #:phases
752 (alist-cons-before
753 'configure 'ignore-deprecations
754 (lambda _
755 (substitute* "activation-server/Makefile.in"
756 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
757 %standard-phases)))
5698b8b8
JD
758 (inputs `(("popt" ,popt)
759 ("libxml2" ,libxml2)))
760 ;; The following are Required by the .pc file
44add1ce 761 (propagated-inputs
5698b8b8
JD
762 `(("glib" ,glib)
763 ("orbit2" ,orbit2)))
764 (native-inputs
765 `(("intltool" ,intltool)
766 ("pkg-config" ,pkg-config)
221ed17a 767 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
768 ("flex" ,flex)
769 ("bison" ,bison)))
770 (home-page "https://developer.gnome.org/libbonobo/")
771 (synopsis "Framework for creating reusable components for use in GNOME applications")
772 (description "Bonobo is a framework for creating reusable components for
773use in GNOME applications, built on top of CORBA.")
774 ;; Licence not explicitly stated. Source files contain no licence notices.
775 ;; Tarball contains text of both GPLv2 and LGPLv2
776 ;; GPLv2 covers both conditions
777 (license license:gpl2+)))
778
779
780(define-public gconf
781 (package
782 (name "gconf")
783 (version "3.2.6")
784 (source (origin
785 (method url-fetch)
786 (uri
787 (let ((upstream-name "GConf"))
b38e45d8
EB
788 (string-append "mirror://gnome/sources/" upstream-name "/"
789 (version-major+minor version) "/"
790 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
791 (sha256
792 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
793 (build-system gnu-build-system)
794 (inputs `(("glib" ,glib)
795 ("dbus" ,dbus)
796 ("dbus-glib" ,dbus-glib)
797 ("libxml2" ,libxml2)))
798 (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file
799 (native-inputs
800 `(("intltool" ,intltool)
221ed17a 801 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
802 ("pkg-config" ,pkg-config)))
803 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
804 (synopsis "Store application preferences")
805 (description "Gconf is a system for storing application preferences. It
806is intended for user preferences; not arbitrary data storage.")
5698b8b8
JD
807 (license license:lgpl2.0+)))
808
809
810(define-public gnome-mime-data
811 (package
812 (name "gnome-mime-data")
813 (version "2.18.0")
814 (source (origin
815 (method url-fetch)
b38e45d8
EB
816 (uri (string-append "mirror://gnome/sources/" name "/"
817 (version-major+minor version) "/"
818 name "-" version ".tar.bz2"))
5698b8b8
JD
819 (sha256
820 (base32
821 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
822 (build-system gnu-build-system)
823 (native-inputs
824 `(("perl" ,perl)
825 ("intltool" ,intltool)))
826 (home-page "http://www.gnome.org")
35b9e423 827 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
828 (description "GNOME Mime Data is a module which contains the base MIME
829and Application database for GNOME. The data stored by this module is
830designed to be accessed through the MIME functions in GnomeVFS.")
831 (license license:gpl2+)))
832
833
834(define-public gnome-vfs
835 (package
836 (name "gnome-vfs")
837 (version "2.24.4")
838 (source (origin
839 (method url-fetch)
b38e45d8
EB
840 (uri (string-append "mirror://gnome/sources/" name "/"
841 (version-major+minor version) "/"
842 name "-" version ".tar.bz2"))
5698b8b8
JD
843 (sha256
844 (base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
845 (build-system gnu-build-system)
846 (arguments
847 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
848 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
849 ;; ... which they then completly ignore !!
850 #:phases
851 (alist-cons-before
852 'configure 'ignore-deprecations
853 (lambda _
854 (begin
855 (substitute* "libgnomevfs/Makefile.in"
856 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
857 (substitute* "daemon/Makefile.in"
858 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))
859 %standard-phases)))
860 (inputs `(("glib" ,glib)
861 ("libxml2" ,libxml2)
862 ("dbus-glib" ,dbus-glib)
863 ("dbus" ,dbus)
864 ("gconf" ,gconf)
865 ("gnome-mime-data" ,gnome-mime-data)
866 ("zlib" ,zlib)))
867 (native-inputs
221ed17a
EB
868 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
869 ("intltool" ,intltool)
5698b8b8
JD
870 ("pkg-config" ,pkg-config)))
871 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 872 (synopsis "Access files and folders in GNOME applications")
5698b8b8 873 (description "GnomeVFS is the core library used to access files and
35b9e423 874folders in GNOME applications. It provides a file system abstraction which
5698b8b8
JD
875allows applications to access local and remote files with a single consistent API.")
876 (license license:lgpl2.0+)))
877
878
879
880(define-public libgnome
881 (package
882 (name "libgnome")
883 (version "2.32.1")
884 (source (origin
885 (method url-fetch)
b38e45d8
EB
886 (uri (string-append "mirror://gnome/sources/" name "/"
887 (version-major+minor version) "/"
888 name "-" version ".tar.bz2"))
5698b8b8
JD
889 (sha256
890 (base32
891 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
892 (build-system gnu-build-system)
893 (arguments
894 `(#:phases
895 (alist-cons-before
896 'configure 'enable-deprecated
897 (lambda _
898 (substitute* "libgnome/Makefile.in"
899 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
900 %standard-phases)))
901 (inputs `(("popt" ,popt)
902 ("libxml2" ,libxml2)))
903 (native-inputs
221ed17a
EB
904 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
905 ("intltool" ,intltool)
5698b8b8
JD
906 ("pkg-config" ,pkg-config)))
907 ;; The following are listed as Required in the .pc file
908 ;; (except for libcanberra -- which seems to be oversight on the part
909 ;; of the upstream developers -- anything that links against libgnome,
910 ;; must also link against libcanberra
911 (propagated-inputs
912 `(("libcanberra" ,libcanberra)
913 ("libbonobo" ,libbonobo)
914 ("gconf" ,gconf)
915 ("gnome-vfs" ,gnome-vfs)
916 ("glib" ,glib)))
917 (home-page "https://developer.gnome.org/libgnome/")
918 (synopsis "Useful routines for building applications")
919 (description "The libgnome library provides a number of useful routines
920for building modern applications, including session management, activation of
921files and URIs, and displaying help.")
922 (license license:lgpl2.0+)))
923
924
925(define-public libart-lgpl
926 (package
927 (name "libart-lgpl")
76c9b6aa 928 (version "2.3.21")
5698b8b8
JD
929 (source (origin
930 (method url-fetch)
931 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
932 (string-append "mirror://gnome/sources/" upstream-name "/"
933 (version-major+minor version) "/"
934 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
935 (sha256
936 (base32
76c9b6aa 937 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
938 (build-system gnu-build-system)
939 (native-inputs
940 `(("pkg-config" ,pkg-config)))
941 (home-page "https://people.gnome.org/~mathieu/libart")
942 (synopsis "2D drawing library")
943 (description "Libart is a 2D drawing library intended as a
944high-quality vector-based 2D library with antialiasing and alpha composition.")
945 (license license:lgpl2.0+)))
946
947
948
949(define-public libgnomecanvas
950 (package
951 (name "libgnomecanvas")
952 (version "2.30.3")
953 (source (origin
954 (method url-fetch)
b38e45d8
EB
955 (uri (string-append "mirror://gnome/sources/" name "/"
956 (version-major+minor version) "/"
957 name "-" version ".tar.gz"))
5698b8b8
JD
958 (sha256
959 (base32
960 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
961 (build-system gnu-build-system)
962 ;; Mentioned as Required in the .pc file
963 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
964 ("gtk+" ,gtk+-2)))
965 (native-inputs
966 `(("intltool" ,intltool)
221ed17a 967 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
968 ("pkg-config" ,pkg-config)))
969 (home-page "https://developer.gnome.org/libgnomecanvas/")
970 (synopsis "Flexible widget for creating interactive structured graphics")
971 (description "The GnomeCanvas widget provides a flexible widget for
972creating interactive structured graphics.")
973 (license license:lgpl2.0+)))
974
975(define-public libgnomeui
976 (package
977 (name "libgnomeui")
978 (version "2.24.5")
979 (source (origin
980 (method url-fetch)
b38e45d8
EB
981 (uri (string-append "mirror://gnome/sources/" name "/"
982 (version-major+minor version) "/"
983 name "-" version ".tar.bz2"))
5698b8b8
JD
984 (sha256
985 (base32
986 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
987 (build-system gnu-build-system)
988 ;; Mentioned as Required in the .pc file
989 (propagated-inputs `(("libgnome" ,libgnome)
990 ("libgnome-keyring" ,libgnome-keyring)))
991 (inputs `(("libgnomecanvas" ,libgnomecanvas)
992 ("libbonoboui" ,libbonoboui)
993 ("libjpeg" ,libjpeg)
994 ("popt" ,popt)
995 ("libbonobo" ,libbonobo)
996 ("libxml2" ,libxml2)
997 ("libglade" ,libglade)))
998 (native-inputs
221ed17a
EB
999 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1000 ("intltool" ,intltool)
5698b8b8
JD
1001 ("pkg-config" ,pkg-config)))
1002 (home-page "https://developer.gnome.org/libgnomeui/")
1003 (synopsis "Additional widgets for applications")
35b9e423
EB
1004 (description "The libgnomeui library provides additional widgets for
1005applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
5698b8b8
JD
1006 (license license:lgpl2.0+)))
1007
1008(define-public libglade
1009 (package
1010 (name "libglade")
1011 (version "2.6.4")
1012 (source (origin
1013 (method url-fetch)
b38e45d8
EB
1014 (uri (string-append "mirror://gnome/sources/" name "/"
1015 (version-major+minor version) "/"
1016 name "-" version ".tar.bz2"))
5698b8b8
JD
1017 (sha256
1018 (base32
1019 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1020 (build-system gnu-build-system)
1021 (inputs
1022 `(("gtk+-2" ,gtk+-2)
1023 ("libxml2" ,libxml2)
1024 ("python" ,python))) ;; needed for the optional libglade-convert program
1025 (native-inputs
1026 `(("pkg-config" ,pkg-config)))
1027 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
1028 (synopsis "Load glade interfaces and access the glade built widgets")
1029 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
1030graphical interfaces described in glade files and for accessing the
1031widgets built in the loading process.")
1032 (license license:gpl2+))) ; This is correct. GPL not LGPL
1033
1034(define-public libgnomeprint
1035 (package
1036 (name "libgnomeprint")
1037 (version "2.8.2")
1038 (source (origin
1039 (method url-fetch)
b38e45d8
EB
1040 (uri (string-append "mirror://gnome/sources/" name "/"
1041 (version-major+minor version) "/"
1042 name "-" version ".tar.bz2"))
5698b8b8
JD
1043 (sha256
1044 (base32
1045 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
1046 (build-system gnu-build-system)
1047 (inputs
1048 `(("popt" ,popt)
1049 ("libart-lgpl" ,libart-lgpl)
1050 ("gtk+" ,gtk+-2)
44add1ce 1051 ("libxml2" ,libxml2)))
5698b8b8
JD
1052 (native-inputs
1053 `(("intltool" ,intltool)
221ed17a 1054 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1055 ("pkg-config" ,pkg-config)))
1056 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423
EB
1057 (synopsis "Printing framework for GNOME")
1058 (description "Gnome-print is a high-quality printing framework for GNOME.")
5698b8b8
JD
1059 (license license:lgpl2.0+)))
1060
1061
1062(define-public libgnomeprintui
1063 (package
1064 (name "libgnomeprintui")
1065 (version "2.8.2")
1066 (source (origin
1067 (method url-fetch)
b38e45d8
EB
1068 (uri (string-append "mirror://gnome/sources/" name "/"
1069 (version-major+minor version) "/"
1070 name "-" version ".tar.bz2"))
5698b8b8
JD
1071 (sha256
1072 (base32
1073 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1074 (build-system gnu-build-system)
1075 ;; Mentioned as Required in the .pc file
1076 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1077 (inputs `(("gtk+" ,gtk+-2)
1078 ("glib" ,glib)
1079 ("gnome-icon-theme" ,gnome-icon-theme)
1080 ("libgnomecanvas" ,libgnomecanvas)
1081 ("libxml2" ,libxml2)))
1082 (native-inputs
1083 `(("intltool" ,intltool)
1084 ("pkg-config" ,pkg-config)))
1085 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1086 (synopsis "Printing framework for GNOME")
1087 (description "Gnome-print is a high-quality printing framework for GNOME.")
1088 (license license:lgpl2.0+)))
1089
1090
1091(define-public libbonoboui
1092 (package
1093 (name "libbonoboui")
1094 (version "2.24.5")
1095 (source (origin
1096 (method url-fetch)
b38e45d8
EB
1097 (uri (string-append "mirror://gnome/sources/" name "/"
1098 (version-major+minor version) "/"
1099 name "-" version ".tar.bz2"))
5698b8b8
JD
1100 (sha256
1101 (base32
1102 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1103 (build-system gnu-build-system)
1104 (arguments
1105 `(#:phases
1106 (alist-cons-before
1107 'check 'start-xserver
1108 (lambda* (#:key inputs #:allow-other-keys)
1109 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1110 (disp ":1"))
1111
1112 (setenv "HOME" (getcwd))
1113 (setenv "DISPLAY" disp)
1114 ;; There must be a running X server and make check doesn't start one.
1115 ;; Therefore we must do it.
1116 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1117 %standard-phases)))
1118 ;; Mentioned as Required by the .pc file
1119 (propagated-inputs `(("libxml2" ,libxml2)))
1120 (inputs
1121 `(("popt" ,popt)
1122 ("pangox-compat" ,pangox-compat)
1123 ("libgnome" ,libgnome)
1124 ("libgnomecanvas" ,libgnomecanvas)
1125 ("libglade" ,libglade)))
1126 (native-inputs
221ed17a
EB
1127 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1128 ("intltool" ,intltool)
5698b8b8
JD
1129 ("xorg-server" ,xorg-server) ; For running the tests
1130 ("pkg-config" ,pkg-config)))
1131 (home-page "https://developer.gnome.org/libbonoboui/")
1132 (synopsis "Some user interface controls using Bonobo")
1133 (description "The Bonobo UI library provides a number of user interface
1134controls using the Bonobo component framework.")
1135 (license license:lgpl2.0+)))
1136
fecbf86e
SB
1137(define-public libwnck
1138 (package
1139 (name "libwnck")
1140 (version "3.14.0")
1141 (source (origin
1142 (method url-fetch)
1143 (uri (string-append "mirror://gnome/sources/" name "/"
1144 (version-major+minor version) "/"
1145 name "-" version ".tar.xz"))
1146 (sha256
1147 (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m"))))
1148 (build-system gnu-build-system)
1149 (native-inputs
1150 `(("pkg-config" ,pkg-config)
1151 ("intltool" ,intltool)))
1152 (propagated-inputs
427476d5
SB
1153 `(("gtk+" ,gtk+)
1154 ("libxres" ,libxres)
1155 ("startup-notification" ,startup-notification)))
fecbf86e
SB
1156 (home-page "https://developer.gnome.org/libwnck/")
1157 (synopsis "Window Navigator Construction Kit")
1158 (description
1159 "Libwnck is the Window Navigator Construction Kit, a library for use in
1160writing pagers, tasklists, and more generally applications that are dealing
1161with window management. It tries hard to respect the Extended Window Manager
1162Hints specification (EWMH).")
1163 (license license:lgpl2.0+)))
1164
1165;; stable version for gtk2, required by xfwm4.
1166(define-public libwnck-1
1167 (package (inherit libwnck)
1168 (name "libwnck")
1169 (version "2.30.7")
1170 (source (origin
1171 (method url-fetch)
1172 (uri (string-append "mirror://gnome/sources/" name "/"
1173 (version-major+minor version) "/"
1174 name "-" version ".tar.xz"))
1175 (sha256
1176 (base32
1177 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1178 (propagated-inputs
427476d5
SB
1179 `(("gtk+" ,gtk+-2)
1180 ("libxres" ,libxres)
1181 ("startup-notification" ,startup-notification)))))
b804c61e
JD
1182
1183(define-public goffice
1184 (package
1185 (name "goffice")
1186 (version "0.10.14")
1187 (source (origin
1188 (method url-fetch)
b38e45d8
EB
1189 (uri (string-append "mirror://gnome/sources/" name "/"
1190 (version-major+minor version) "/"
1191 name "-" version ".tar.xz"))
b804c61e
JD
1192 (sha256
1193 (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
1194 (build-system gnu-build-system)
1195 (inputs
1196 `(("gtk+" ,gtk+)
1197 ("libgsf" ,libgsf)
1198 ("librsvg" ,librsvg)
1199 ("libxslt" ,libxslt)
1200 ("libxml2" ,libxml2)))
1201 (native-inputs
1202 `(("intltool" ,intltool)
f280cdb1 1203 ("glib" ,glib "bin")
b804c61e
JD
1204 ("pkg-config" ,pkg-config)))
1205 (home-page "https://developer.gnome.org/goffice/")
1206 (synopsis "Document-centric objects and utilities")
1207 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1208 (license
1209 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1210 ;; Note: NOT LGPL
1211 (list license:gpl2 license:gpl3))))
1212
1213(define-public gnumeric
1214 (package
1215 (name "gnumeric")
1216 (version "1.12.17")
1217 (source (origin
1218 (method url-fetch)
b38e45d8
EB
1219 (uri (string-append "mirror://gnome/sources/" name "/"
1220 (version-major+minor version) "/"
1221 name "-" version ".tar.xz"))
b804c61e
JD
1222 (sha256
1223 (base32
1224 "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
1225 (build-system gnu-build-system)
1226 (arguments
1227 `(;; The gnumeric developers don't worry much about failing tests.
1228 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1229 #:tests? #f
1230 #:phases
1231 (alist-cons-before
1232 'configure 'pre-conf
1233 (lambda* (#:key outputs #:allow-other-keys)
1234 ;; Make install tries to write into the directory of goffice
1235 ;; I am informed that this only affects the possibility to embed a
1236 ;; spreadsheet inside an Abiword document. So presumably when we
1237 ;; package Abiword we'll have to refer it to this directory.
1238 (substitute* "configure"
1239 (("^GOFFICE_PLUGINS_DIR=.*")
1240 (string-append "GOFFICE_PLUGINS_DIR="
1241 (assoc-ref outputs "out") "/goffice/plugins"))))
1242 %standard-phases)))
1243 (inputs
1244 `(("glib" ,glib)
1245 ("gtk+" ,gtk+)
1246 ("goffice" ,goffice)
1247 ("libgsf" ,libgsf)
1248 ("libxml2" ,libxml2)
1249 ("zlib" ,zlib)))
1250 (native-inputs
1251 `(("intltool" ,intltool)
b9663471 1252 ("glib:bin" ,glib "bin")
b804c61e
JD
1253 ("pkg-config" ,pkg-config)))
1254 (home-page "http://www.gnumeric.org")
66672a45
LC
1255 (synopsis "Spreadsheet application")
1256 (description
1257 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1258interoperable with other spreadsheet applications. It has a vast array of
1259features beyond typical spreadsheet functionality, such as support for linear
1260and non-linear solvers, statistical analysis, and telecommunication
1261engineering.")
1262 (license
b804c61e
JD
1263 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1264 (list license:gpl2 license:gpl3))))
6f885c05
FB
1265
1266(define-public gnome-themes-standard
1267 (package
1268 (name "gnome-themes-standard")
1269 ;; The version of this package should be the same as the version of
1270 ;; gnome-desktop.
1271 (version (package-version gnome-desktop))
1272 (source
1273 (origin
1274 (method url-fetch)
1275 (uri (string-append "mirror://gnome/sources/" name "/"
1276 (version-major+minor version) "/" name "-"
1277 version ".tar.xz"))
1278 (sha256
1279 (base32
1280 "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41"))))
1281 (build-system gnu-build-system)
1282 (inputs
1283 `(("gtk+" ,gtk+)
1284 ("gtk+-2" ,gtk+-2)
1285 ("librsvg" ,librsvg)
1286 ("libxml2" ,libxml2)
1287 ("glib" ,glib)))
1288 (native-inputs
1289 `(("intltool" ,intltool)
1290 ("glib:bin" ,glib "bin")
1291 ("pkg-config" ,pkg-config)))
1292 (arguments
1293 `(#:phases
1294 (alist-cons-before
1295 'build 'use-full-cache
1296 ;; Use librsvg's loaders.cache instead of the one provided by
1297 ;; gdk-pixbuf because the latter does not include support for SVG
1298 ;; files.
1299 (lambda* (#:key inputs #:allow-other-keys)
1300 (setenv "GDK_PIXBUF_MODULE_FILE"
1301 (car (find-files (assoc-ref inputs "librsvg")
1302 "loaders\\.cache"))))
1303 %standard-phases)))
1304 (home-page "https://launchpad.net/gnome-themes-standard")
1305 (synopsis "Default GNOME 3 themes")
1306 (description
1307 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1308 (license license:lgpl2.1+)))
5a659a48
SB
1309
1310(define-public vala
1311 (package
1312 (name "vala")
1313 (version "0.26.1")
1314 (source (origin
1315 (method url-fetch)
1316 (uri (string-append "mirror://gnome/sources/" name "/"
1317 (version-major+minor version) "/"
1318 name "-" version ".tar.xz"))
1319 (sha256
1320 (base32
1321 "0swyym2papln0f62ah05dpvq3vv6fssap26jq2zqp9dkkaqsn1w4"))))
1322 (build-system gnu-build-system)
1323 (arguments '(#:make-flags '("CC=gcc")))
1324 (native-inputs
1325 `(("pkg-config" ,pkg-config)
1326 ("flex" ,flex)
1327 ("bison" ,bison)
1328 ("xsltproc" ,libxslt)
1329 ("dbus" ,dbus) ; for dbus tests
1330 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1331 (propagated-inputs
1332 `(("glib" ,glib))) ; required by libvala-0.26.pc
1333 (home-page "http://live.gnome.org/Vala/")
1334 (synopsis "Compiler for the GObject type system")
1335 (description
1336 "Vala is a programming language that aims to bring modern programming
1337language features to GNOME developers without imposing any additional runtime
1338requirements and without using a different ABI compared to applications and
1339libraries written in C.")
1340 (license license:lgpl2.1+)))
ea57378f
SB
1341
1342(define-public vte
1343 (package
1344 (name "vte")
1345 (version "0.38.2")
1346 (source (origin
1347 (method url-fetch)
1348 (uri (string-append "mirror://gnome/sources/" name "/"
1349 (version-major+minor version) "/"
1350 name "-" version ".tar.xz"))
1351 (sha256
1352 (base32
1353 "1rbxrigff9yszbgdw0gw4c2saz4d1hbbpz21phzxx14w49wvmnmj"))))
1354 (build-system gnu-build-system)
1355 (native-inputs
1356 `(("pkg-config" ,pkg-config)
1357 ("intltool" ,intltool)
1358 ("vala" ,vala)
1359 ("gobject-introspection" ,gobject-introspection)
1360 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1361 ("xmllint" ,libxml2)))
1362 (propagated-inputs
1363 `(("gtk+" ,gtk+))) ; required by libvte-2.91.pc
1364 (home-page "http://www.gnome.org/")
1365 (synopsis "Virtual Terminal Emulator")
1366 (description
1367 "VTE is a library (libvte) implementing a terminal emulator widget for
1368GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1369gnome-terminal, but can also be used to embed a console/terminal in games,
1370editors, IDEs, etc.")
1371 (license license:lgpl2.1+)))
1372
1373;; stable version for gtk2, required by xfce4-terminal.
1374(define-public vte/gtk+-2
1375 (package (inherit vte)
1376 (name "vte")
1377 (version "0.28.2")
1378 (source (origin
1379 (method url-fetch)
1380 (uri (string-append "mirror://gnome/sources/" name "/"
1381 (version-major+minor version) "/"
1382 name "-" version ".tar.xz"))
1383 (sha256
1384 (base32
1385 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1386 (arguments
1387 '(#:configure-flags '("--disable-python")))
1388 (native-inputs
1389 `(("pkg-config" ,pkg-config)
1390 ("intltool" ,intltool)
1391 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1392 (propagated-inputs
1393 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1394 ("ncurses" ,ncurses))))) ; required by libvte.la