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