services: dbus: Build '/etc/dbus-1/system-local.conf'.
[jackhill/guix/guix.git] / gnu / packages / gtk.scm
CommitLineData
3a08a411
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
37cb3a69 3;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
97f94f5e 4;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
b38e45d8 5;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
a6035fc1 6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
136770c9 7;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
dfbce50c 8;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
3bc45449 9;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
3a08a411
AE
10;;;
11;;; This file is part of GNU Guix.
12;;;
13;;; GNU Guix is free software; you can redistribute it and/or modify it
14;;; under the terms of the GNU General Public License as published by
15;;; the Free Software Foundation; either version 3 of the License, or (at
16;;; your option) any later version.
17;;;
18;;; GNU Guix is distributed in the hope that it will be useful, but
19;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21;;; GNU General Public License for more details.
22;;;
23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
26(define-module (gnu packages gtk)
b5b73a82 27 #:use-module ((guix licenses) #:prefix license:)
b38e45d8 28 #:use-module (guix utils)
3a08a411
AE
29 #:use-module (guix packages)
30 #:use-module (guix download)
31 #:use-module (guix build-system gnu)
0b96fb2a 32 #:use-module (guix build-system python)
e926ba71 33 #:use-module (guix build-system waf)
b837e658 34 #:use-module (gnu packages)
3bc45449 35 #:use-module (gnu packages algebra)
1a51fe27
LC
36 #:use-module (gnu packages autotools)
37 #:use-module (gnu packages texinfo)
136770c9 38 #:use-module (gnu packages check)
6131c43d 39 #:use-module (gnu packages compression)
3bc45449 40 #:use-module (gnu packages docbook)
6131c43d 41 #:use-module (gnu packages fontutils)
3bc45449 42 #:use-module (gnu packages gettext)
6131c43d 43 #:use-module (gnu packages ghostscript)
31b254a3 44 #:use-module (gnu packages gl)
3a08a411 45 #:use-module (gnu packages glib)
95d439b2 46 #:use-module (gnu packages gnome)
a2609b41 47 #:use-module (gnu packages icu4c)
e55354b8 48 #:use-module (gnu packages image)
6131c43d 49 #:use-module (gnu packages pdf)
8b79a547 50 #:use-module (gnu packages perl)
6131c43d 51 #:use-module (gnu packages pkg-config)
3bc45449 52 #:use-module (gnu packages pretty-print)
6131c43d 53 #:use-module (gnu packages python)
8e70e6d2 54 #:use-module (gnu packages guile)
37cb3a69 55 #:use-module (gnu packages cups)
8e70e6d2 56 #:use-module (gnu packages xml)
6c0e878e
LC
57 #:use-module (gnu packages xorg)
58 #:use-module (gnu packages xdisorg))
3a08a411
AE
59
60(define-public atk
61 (package
62 (name "atk")
492b0e38 63 (version "2.18.0")
3a08a411
AE
64 (source (origin
65 (method url-fetch)
3b8e4347 66 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
67 (version-major+minor version) "/"
68 name "-" version ".tar.xz"))
3a08a411
AE
69 (sha256
70 (base32
492b0e38 71 "0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f"))))
3a08a411 72 (build-system gnu-build-system)
cd0466eb
SB
73 (outputs '("out" "doc"))
74 (arguments
75 `(#:configure-flags
76 (list (string-append "--with-html-dir="
77 (assoc-ref %outputs "doc")
78 "/share/gtk-doc/html"))))
13a9e291 79 (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
141aed80
LC
80 (native-inputs
81 `(("pkg-config" ,pkg-config)
426adbe8 82 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 83 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
c5cc5006 84 (synopsis "GNOME accessibility toolkit")
3a08a411
AE
85 (description
86 "ATK provides the set of accessibility interfaces that are implemented
35b9e423 87by other toolkits and applications. Using the ATK interfaces, accessibility
3a08a411
AE
88tools have full access to view and control running applications.")
89 (license license:lgpl2.0+)
90 (home-page "https://developer.gnome.org/atk/")))
6131c43d
AE
91
92(define-public cairo
93 (package
94 (name "cairo")
d8720c50 95 (version "1.14.2")
6131c43d
AE
96 (source (origin
97 (method url-fetch)
98 (uri (string-append "http://cairographics.org/releases/cairo-"
99 version ".tar.xz"))
100 (sha256
101 (base32
d8720c50 102 "1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9"))))
6131c43d
AE
103 (build-system gnu-build-system)
104 (propagated-inputs
105 `(("fontconfig" ,fontconfig)
106 ("freetype" ,freetype)
107 ("glib" ,glib)
108 ("libpng" ,libpng)
109 ("libx11" ,libx11)
110 ("libxext" ,libxext)
111 ("libxrender" ,libxrender)
112 ("pixman" ,pixman)))
113 (inputs
114 `(("ghostscript" ,ghostscript)
115 ("libspectre" ,libspectre)
6131c43d 116 ("poppler" ,poppler)
6131c43d
AE
117 ("xextproto" ,xextproto)
118 ("zlib" ,zlib)))
c4c4cc05
JD
119 (native-inputs
120 `(("pkg-config" ,pkg-config)
121 ("python" ,python-wrapper)))
6131c43d 122 (arguments
77888fae
MW
123 `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
124 #:configure-flags '("--enable-tee"))) ; needed for GNU Icecat
6131c43d
AE
125 (synopsis "2D graphics library")
126 (description
127 "Cairo is a 2D graphics library with support for multiple output devices.
128Currently supported output targets include the X Window System (via both
129Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
35b9e423 130output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
6131c43d
AE
131
132Cairo is designed to produce consistent output on all output media while
133taking advantage of display hardware acceleration when available
134eg. through the X Render Extension).
135
136The cairo API provides operations similar to the drawing operators of
35b9e423 137PostScript and PDF. Operations in cairo including stroking and filling cubic
6131c43d 138Bézier splines, transforming and compositing translucent images, and
35b9e423 139antialiased text rendering. All drawing operations can be transformed by any
e881752c 140affine transformation (scale, rotation, shear, etc.).")
6131c43d
AE
141 (license license:lgpl2.1) ; or Mozilla Public License 1.1
142 (home-page "http://cairographics.org/")))
a2609b41
AE
143
144(define-public harfbuzz
145 (package
146 (name "harfbuzz")
7a2c7808 147 (version "1.0.5")
a2609b41 148 (source (origin
fd9b3b43
SB
149 (method url-fetch)
150 (uri (string-append "http://www.freedesktop.org/software/"
151 "harfbuzz/release/harfbuzz-"
152 version ".tar.bz2"))
153 (sha256
154 (base32
7a2c7808 155 "0h2l362qzkck5dnnj7zlz593hf1ni3k25dfaii9mbjwflp3d56ad"))))
a2609b41 156 (build-system gnu-build-system)
0a129f39
SB
157 (outputs '("out"
158 "bin")) ; 160K, only hb-view depend on cairo
a2609b41 159 (inputs
fd9b3b43
SB
160 `(("cairo" ,cairo)))
161 (propagated-inputs
162 ;; There are all in the Requires or Requires.private field of '.pc'.
163 `(("glib" ,glib)
27383915 164 ("graphite2" ,graphite2)
c4c4cc05
JD
165 ("icu4c" ,icu4c)))
166 (native-inputs
a30a0455
SB
167 `(("gobject-introspection" ,gobject-introspection)
168 ("pkg-config" ,pkg-config)
ac462e52 169 ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
27383915 170 (arguments
a30a0455 171 `(#:configure-flags `("--with-graphite2"
eb6afbcd
SB
172 "--with-gobject"
173 ,(string-append
174 "--bindir=" (assoc-ref %outputs "bin") "/bin"))))
35b9e423 175 (synopsis "OpenType text shaping engine")
a2609b41
AE
176 (description
177 "HarfBuzz is an OpenType text shaping engine.")
178 (license (license:x11-style "file://COPYING"
179 "See 'COPYING' in the distribution."))
180 (home-page "http://www.freedesktop.org/wiki/Software/HarfBuzz/")))
4b9adff9
AE
181
182(define-public pango
183 (package
184 (name "pango")
e9457878 185 (version "1.38.1")
4b9adff9
AE
186 (source (origin
187 (method url-fetch)
dca1b58d
FB
188 (uri (string-append "mirror://gnome/sources/pango/"
189 (version-major+minor version) "/"
190 name "-" version ".tar.xz"))
4b9adff9
AE
191 (sha256
192 (base32
e9457878 193 "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"))))
4b9adff9 194 (build-system gnu-build-system)
cf2135ff 195 (propagated-inputs
4b9adff9 196 `(("cairo" ,cairo)
4169a4bc
AE
197 ("harfbuzz" ,harfbuzz)))
198 (inputs
9a5acb54
JL
199 `(("zlib" ,zlib)
200
201 ;; Some packages, such as Openbox, expect Pango to be built with the
202 ;; optional libxft support.
203 ("libxft" ,libxft)))
c4c4cc05 204 (native-inputs
141aed80 205 `(("pkg-config" ,pkg-config)
426adbe8 206 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 207 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
4b9adff9
AE
208 (synopsis "GNOME text and font handling library")
209 (description
210 "Pango is the core text and font handling library used in GNOME
35b9e423 211applications. It has extensive support for the different writing systems
4b9adff9
AE
212used throughout the world.")
213 (license license:lgpl2.0+)
214 (home-page "https://developer.gnome.org/pango/")))
527e7961 215
5698b8b8
JD
216(define-public pangox-compat
217 (package
218 (name "pangox-compat")
219 (version "0.0.2")
220 (source (origin
221 (method url-fetch)
b38e45d8
EB
222 (uri (string-append "mirror://gnome/sources/" name "/"
223 (version-major+minor version) "/"
224 name "-" version ".tar.xz"))
5698b8b8
JD
225 (sha256
226 (base32
227 "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m"))))
228 (build-system gnu-build-system)
229 (inputs
230 `(("glib" ,glib)
231 ("pango" ,pango)))
232 (native-inputs
233 `(("intltool" ,intltool)
234 ("pkg-config" ,pkg-config)))
235 (home-page "https://developer.gnome.org/pango")
35b9e423 236 (synopsis "Obsolete pango functions")
5698b8b8
JD
237 (description "Pangox was a X backend to pango. It is now obsolete and no
238longer provided by recent pango releases. pangox-compat provides the
239functions which were removed.")
240 (license license:lgpl2.0+)))
241
e926ba71
RW
242(define-public ganv
243 (package
244 (name "ganv")
245 (version "1.4.2")
246 (source (origin
247 (method url-fetch)
248 (uri (string-append "http://download.drobilla.net/ganv-"
ea7f3349 249 version ".tar.bz2"))
e926ba71
RW
250 (sha256
251 (base32
252 "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l"))))
253 (build-system waf-build-system)
ea7f3349
LC
254 (arguments
255 `(#:phases (alist-cons-before
256 'configure 'set-ldflags
257 (lambda* (#:key outputs #:allow-other-keys)
258 ;; Allow 'bin/ganv_bench' to find libganv-1.so.
259 (setenv "LDFLAGS"
260 (string-append "-Wl,-rpath="
261 (assoc-ref outputs "out") "/lib")))
262 %standard-phases)
263 #:tests? #f)) ; no check target
e926ba71
RW
264 (inputs
265 `(("gtk" ,gtk+-2)
266 ("gtkmm" ,gtkmm-2)))
267 (native-inputs
268 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
269 ("pkg-config" ,pkg-config)))
270 (home-page "http://drobilla.net/software/ganv/")
271 (synopsis "GTK+ widget for interactive graph-like environments")
272 (description
273 "Ganv is an interactive GTK+ widget for interactive “boxes and lines” or
274graph-like environments, e.g. modular synths or finite state machine
275diagrams.")
276 (license license:gpl3+)))
95d439b2
JD
277
278(define-public gtksourceview
279 (package
280 (name "gtksourceview")
281 (version "2.10.5") ; This is the last version which builds against gtk+2
282 (source (origin
283 (method url-fetch)
b38e45d8
EB
284 (uri (string-append "mirror://gnome/sources/" name "/"
285 (version-major+minor version) "/"
286 name "-" version ".tar.bz2"))
95d439b2
JD
287 (sha256
288 (base32
289 "07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5"))))
290 (build-system gnu-build-system)
291 (inputs
c4c4cc05 292 `(("gtk" ,gtk+-2)
95d439b2 293 ("libxml2" ,libxml2)
95d439b2
JD
294 ;; These two are needed only to allow the tests to run successfully.
295 ("xorg-server" ,xorg-server)
296 ("shared-mime-info" ,shared-mime-info)))
c4c4cc05 297 (native-inputs
44add1ce 298 `(("intltool" ,intltool)
221ed17a 299 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
c4c4cc05 300 ("pkg-config" ,pkg-config)))
95d439b2
JD
301 (arguments
302 `(#:phases
303 ;; Unfortunately, some of the tests in "make check" are highly dependent
304 ;; on the environment therefore, some black magic is required.
305 (alist-cons-before
306 'check 'start-xserver
307 (lambda* (#:key inputs #:allow-other-keys)
308 (let ((xorg-server (assoc-ref inputs "xorg-server"))
309 (mime (assoc-ref inputs "shared-mime-info")))
310
311 ;; There must be a running X server and make check doesn't start one.
312 ;; Therefore we must do it.
313 (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
314 (setenv "DISPLAY" ":1")
315
316 ;; The .lang files must be found in $XDG_DATA_HOME/gtksourceview-2.0
317 (system "ln -s gtksourceview gtksourceview-2.0")
318 (setenv "XDG_DATA_HOME" (getcwd))
319
320 ;; Finally, the mimetypes must be available.
321 (setenv "XDG_DATA_DIRS" (string-append mime "/share/")) ))
322 %standard-phases)))
323 (synopsis "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget")
324 (description
325 "GtkSourceView is a portable C library that extends the standard GTK+
326framework for multiline text editing with support for configurable syntax
327highlighting, unlimited undo/redo, search and replace, a completion framework,
328printing and other features typical of a source code editor.")
329 (license license:lgpl2.0+)
330 (home-page "https://developer.gnome.org/gtksourceview/")))
331
527e7961
AE
332(define-public gdk-pixbuf
333 (package
334 (name "gdk-pixbuf")
9511de1e 335 (version "2.32.1")
527e7961
AE
336 (source (origin
337 (method url-fetch)
b38e45d8
EB
338 (uri (string-append "mirror://gnome/sources/" name "/"
339 (version-major+minor version) "/"
340 name "-" version ".tar.xz"))
527e7961
AE
341 (sha256
342 (base32
9511de1e 343 "1g7kjxv67jcdasi14n7jan4icrnnppd1m99wrdmpv32k4m7vfcj4"))))
527e7961 344 (build-system gnu-build-system)
48f46dc3 345 (arguments
a63a73dc
SB
346 '(#:configure-flags '("--with-x11")
347 #:phases
348 (modify-phases %standard-phases
349 (add-after
350 'unpack 'disable-failing-tests
351 (lambda _
352 (substitute* "tests/Makefile.in"
353 ;; XXX FIXME: This test fails on some machines with:
354 ;; GLib-FATAL-ERROR: gmem.c:103: failed to allocate
355 ;; 6039798016 bytes
356 (("cve-2015-4491\\$\\(EXEEXT\\) ") "")
357 ;; XXX FIXME: This test fails with:
358 ;; ERROR:pixbuf-jpeg.c:74:test_type9_rotation_exif_tag:
359 ;; assertion failed (error == NULL): Data differ
360 ;; (gdk-pixbuf-error-quark, 0)
361 (("pixbuf-jpeg\\$\\(EXEEXT\\) ") ""))
362 #t)))))
1b5758a6 363 (propagated-inputs ; required by gdk-pixbuf-2.0.pc
527e7961 364 `(("glib" ,glib)
1b5758a6
SB
365 ("libpng" ,libpng)))
366 (inputs
367 `(("libjpeg" ,libjpeg)
48f46dc3
SB
368 ("libtiff" ,libtiff)
369 ("libx11" ,libx11)))
c4c4cc05 370 (native-inputs
141aed80 371 `(("pkg-config" ,pkg-config)
426adbe8 372 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 373 ("gobject-introspection", gobject-introspection))) ; g-ir-compiler, etc.
527e7961
AE
374 (synopsis "GNOME image loading and manipulation library")
375 (description
376 "GdkPixbuf is a library for image loading and manipulation developed
377in the GNOME project.")
378 (license license:lgpl2.0+)
379 (home-page "https://developer.gnome.org/gdk-pixbuf/")))
cf2135ff 380
f3fb92e5
AE
381(define-public at-spi2-core
382 (package
383 (name "at-spi2-core")
f14c0a49 384 (version "2.18.1")
f3fb92e5
AE
385 (source (origin
386 (method url-fetch)
387 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
388 (version-major+minor version) "/"
389 name "-" version ".tar.xz"))
f3fb92e5
AE
390 (sha256
391 (base32
f14c0a49 392 "1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap"))))
f3fb92e5 393 (build-system gnu-build-system)
068a53c3 394 (outputs '("out" "doc"))
f3fb92e5 395 (arguments
b19d6805 396 '(#:configure-flags
068a53c3
SB
397 (list (string-append "--with-html-dir="
398 (assoc-ref %outputs "doc")
399 "/share/gtk-doc/html"))
50cc7f41 400 #:phases
af108677 401 (modify-phases %standard-phases
3a4de6b2 402 (replace 'check
af108677
SB
403 ;; Run test-suite under a dbus session.
404 (lambda _
37fe56cf
SB
405 ;; Don't fail on missing '/etc/machine-id'.
406 (setenv "DBUS_FATAL_WARNINGS" "0")
af108677 407 (zero? (system* "dbus-launch" "make" "check")))))))
c6a552da
SB
408 (propagated-inputs
409 ;; atspi-2.pc refers to all these.
410 `(("dbus" ,dbus)
411 ("glib" ,glib)))
412 (inputs
413 `(("libxi" ,libxi)
414 ("libxtst" ,libxtst)))
c4c4cc05 415 (native-inputs
50cc7f41
SB
416 `(("gobject-introspection" ,gobject-introspection)
417 ("intltool" ,intltool)
418 ("pkg-config" ,pkg-config)))
f3fb92e5
AE
419 (synopsis "Assistive Technology Service Provider Interface, core components")
420 (description
421 "The Assistive Technology Service Provider Interface, core components,
422is part of the GNOME accessibility project.")
423 (license license:lgpl2.0+)
424 (home-page "https://projects.gnome.org/accessibility/")))
425
5fda4784
AE
426(define-public at-spi2-atk
427 (package
428 (name "at-spi2-atk")
9fbfb4ec 429 (version "2.18.1")
5fda4784
AE
430 (source (origin
431 (method url-fetch)
432 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
433 (version-major+minor version) "/"
434 name "-" version ".tar.xz"))
5fda4784
AE
435 (sha256
436 (base32
9fbfb4ec 437 "0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4"))))
5fda4784 438 (build-system gnu-build-system)
5fda4784 439 (arguments
57fcd224
SB
440 '(#:phases
441 (modify-phases %standard-phases
3a4de6b2 442 (replace 'check
57fcd224
SB
443 ;; Run test-suite under a dbus session.
444 (lambda _
5fba12ec 445 (setenv "DBUS_FATAL_WARNINGS" "0")
57fcd224 446 (zero? (system* "dbus-launch" "make" "check")))))))
6967cc3f
SB
447 (propagated-inputs
448 `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
449 (inputs
450 `(("atk" ,atk)))
c4c4cc05 451 (native-inputs
6967cc3f
SB
452 `(("dbus" ,dbus) ; for testing
453 ("pkg-config" ,pkg-config)))
5fda4784
AE
454 (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
455 (description
456 "The Assistive Technology Service Provider Interface
457is part of the GNOME accessibility project.")
458 (license license:lgpl2.0+)
459 (home-page "https://projects.gnome.org/accessibility/")))
460
8b79a547 461(define-public gtk+-2
cf2135ff
AE
462 (package
463 (name "gtk+")
62b7015b 464 (version "2.24.28")
cf2135ff
AE
465 (source (origin
466 (method url-fetch)
1c8362a8 467 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
468 (version-major+minor version) "/"
469 name "-" version ".tar.xz"))
cf2135ff
AE
470 (sha256
471 (base32
62b7015b 472 "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))))
cf2135ff 473 (build-system gnu-build-system)
6b1f2388 474 (outputs '("out" "doc"))
4169a4bc 475 (propagated-inputs
cf2135ff 476 `(("atk" ,atk)
cf2135ff 477 ("gdk-pixbuf" ,gdk-pixbuf)
4169a4bc 478 ("pango" ,pango)))
dfbce50c
SB
479 (inputs
480 `(("cups" ,cups)
481 ("libxcomposite" ,libxcomposite)
482 ("libxcursor" ,libxcursor)
483 ("libxdamage" ,libxdamage)
484 ("libxi" ,libxi)
485 ("libxinerama" ,libxinerama)
486 ("libxrandr" ,libxrandr)))
c4c4cc05 487 (native-inputs
1c8362a8 488 `(("perl" ,perl)
dfbce50c 489 ("gettext" ,gnu-gettext)
426adbe8 490 ("glib" ,glib "bin")
9d297fae 491 ("gobject-introspection" ,gobject-introspection)
1c8362a8
AE
492 ("pkg-config" ,pkg-config)
493 ("python-wrapper" ,python-wrapper)))
cf2135ff 494 (arguments
b19d6805 495 `(#:configure-flags
6b1f2388
SB
496 (list "--with-xinput=yes"
497 (string-append "--with-html-dir="
498 (assoc-ref %outputs "doc")
499 "/share/gtk-doc/html"))
9d297fae 500 #:phases
d4bf49b1
EB
501 (alist-cons-before
502 'configure 'disable-tests
503 (lambda _
504 ;; FIXME: re-enable tests requiring an X server
505 (substitute* "gtk/Makefile.in"
506 (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")))
cf2135ff 507 %standard-phases)))
0327ced2 508 (synopsis "Cross-platform toolkit for creating graphical user interfaces")
cf2135ff
AE
509 (description
510 "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
35b9e423 511graphical user interfaces. Offering a complete set of widgets, GTK+ is
cf2135ff
AE
512suitable for projects ranging from small one-off tools to complete
513application suites.")
514 (license license:lgpl2.0+)
515 (home-page "http://www.gtk.org/")))
8e70e6d2 516
8b79a547
AE
517(define-public gtk+
518 (package (inherit gtk+-2)
b38e45d8 519 (name "gtk+")
9fe2e17d 520 (version "3.18.2")
8b79a547
AE
521 (source (origin
522 (method url-fetch)
b38e45d8
EB
523 (uri (string-append "mirror://gnome/sources/" name "/"
524 (version-major+minor version) "/"
525 name "-" version ".tar.xz"))
8b79a547
AE
526 (sha256
527 (base32
9fe2e17d 528 "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))))
0e112540 529 (propagated-inputs
8b79a547 530 `(("at-spi2-atk" ,at-spi2-atk)
0e112540
AE
531 ("atk" ,atk)
532 ("gdk-pixbuf" ,gdk-pixbuf)
31b254a3 533 ("libepoxy" ,libepoxy)
a572dca8 534 ("libxcursor" ,libxcursor)
8b79a547
AE
535 ("libxi" ,libxi)
536 ("libxinerama" ,libxinerama)
9e5c0927 537 ("libxdamage" ,libxdamage)
0e112540
AE
538 ("pango" ,pango)))
539 (inputs
52b8beb1
SB
540 `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
541 ("libxml2" ,libxml2)
a572dca8
SB
542 ("colord" ,colord)
543 ("cups" ,cups) ;for printing support
544 ("rest" ,rest)
545 ("json-glib" ,json-glib)))
c4c4cc05 546 (native-inputs
141aed80 547 `(("perl" ,perl)
426adbe8 548 ("glib" ,glib "bin")
31b254a3 549 ("gettext" ,gnu-gettext)
8b79a547 550 ("pkg-config" ,pkg-config)
141aed80 551 ("gobject-introspection" ,gobject-introspection)
8b79a547 552 ("python-wrapper" ,python-wrapper)
97f94f5e 553 ("xorg-server" ,xorg-server)))
8b79a547 554 (arguments
260b07a7
LC
555 `(;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
556 ;; to "doc".
557 #:configure-flags (list (string-append "--with-html-dir="
558 (assoc-ref %outputs "doc")
559 "/share/gtk-doc/html"))
560 #:phases
31b254a3
AW
561 (alist-cons-before
562 'configure 'pre-configure
563 (lambda _
564 ;; Disable most tests, failing in the chroot with the message:
565 ;; D-Bus library appears to be incorrectly set up; failed to read
566 ;; machine uuid: Failed to open "/etc/machine-id": No such file or
567 ;; directory.
568 ;; See the manual page for dbus-uuidgen to correct this issue.
569 (substitute* "testsuite/Makefile.in"
570 (("SUBDIRS = gdk gtk a11y css reftests")
571 "SUBDIRS = gdk"))
31b254a3 572 #t)
52b8beb1
SB
573 (alist-cons-after
574 'install 'wrap-gtk-encode-symbolic-svg
575 ;; By using GdkPixbuf, gtk-encode-symbolic-svg needs to know
576 ;; librsvg's loaders.cache to handle SVG files.
577 (lambda* (#:key inputs outputs #:allow-other-keys)
578 (let* ((out (assoc-ref outputs "out"))
579 (prog (string-append out "/bin/gtk-encode-symbolic-svg"))
580 (librsvg (assoc-ref inputs "librsvg"))
581 (loaders.cache (find-files librsvg "^loaders\\.cache$")))
582 (wrap-program prog
583 `("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
584 %standard-phases))))))
5fda4784 585
8e70e6d2
LC
586;;;
587;;; Guile bindings.
588;;;
589
590(define-public guile-cairo
591 (package
592 (name "guile-cairo")
593 (version "1.4.1")
594 (source (origin
595 (method url-fetch)
596 (uri (string-append
597 "http://download.gna.org/guile-cairo/guile-cairo-"
598 version
599 ".tar.gz"))
600 (sha256
601 (base32
602 "1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
603 (build-system gnu-build-system)
604 (arguments
605 '(#:phases (alist-cons-before
606 'configure 'set-module-directory
607 (lambda* (#:key outputs #:allow-other-keys)
608 ;; Install modules under $out/share/guile/site/2.0.
609 (let ((out (assoc-ref outputs "out")))
610 (substitute* "Makefile.in"
611 (("scmdir = ([[:graph:]]+).*" _ value)
612 (string-append "scmdir = " value "/2.0\n")))
613 (substitute* "cairo/Makefile.in"
614 (("moduledir = ([[:graph:]]+).*" _ value)
615 (string-append "moduledir = "
616 "$(prefix)/share/guile/site/2.0/cairo\n'")))))
617 (alist-cons-after
618 'install 'install-missing-file
619 (lambda* (#:key outputs #:allow-other-keys)
620 ;; By default 'vector-types.scm' is not installed, so do
621 ;; it here.
622 (let ((out (assoc-ref outputs "out")))
623 (copy-file "cairo/vector-types.scm"
624 (string-append out "/share/guile/site/2.0"
625 "/cairo/vector-types.scm"))))
626 %standard-phases))))
627 (inputs
628 `(("guile-lib" ,guile-lib)
629 ("expat" ,expat)
8e70e6d2 630 ("guile" ,guile-2.0)))
49710cea
LC
631 (propagated-inputs
632 ;; The .pc file refers to 'cairo'.
633 `(("cairo" ,cairo)))
c4c4cc05
JD
634 (native-inputs
635 `(("pkg-config" ,pkg-config)))
8e70e6d2
LC
636 (home-page "http://www.nongnu.org/guile-cairo/")
637 (synopsis "Cairo bindings for GNU Guile")
638 (description
639 "Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
640Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API
641stable, providing a firm base on which to do graphics work. Finally, and
642importantly, it is pleasant to use. You get a powerful and well-maintained
643graphics library with all of the benefits of Scheme: memory management,
644exceptions, macros, and a dynamic programming environment.")
645 (license license:lgpl3+)))
66663503 646
1a51fe27
LC
647(define-public guile-rsvg
648 (package
649 (name "guile-rsvg")
650 (version "2.18.1")
651 (source (origin
652 (method url-fetch)
653 (uri (string-append "http://wingolog.org/pub/guile-rsvg/"
654 name "-" version ".tar.gz"))
655 (sha256
656 (base32
657 "136f236iw3yrrz6pkkp1ma9c5mrs5icqha6pnawinqpk892r3jh7"))
658 (patches (list (search-patch "guile-rsvg-pkgconfig.patch")))
659 (modules '((guix build utils)))
660 (snippet
661 '(substitute* (find-files "." "Makefile\\.am")
662 (("/share/guile/site")
663 "/share/guile/site/2.0")))))
664 (build-system gnu-build-system)
665 (arguments
666 `(#:phases (modify-phases %standard-phases
667 (add-before 'configure 'bootstrap
668 (lambda _
669 (zero? (system* "autoreconf" "-vfi")))))))
670 (native-inputs `(("pkg-config" ,pkg-config)
671 ("autoconf" ,autoconf)
672 ("automake" ,automake)
673 ("libtool" ,libtool)
674 ("texinfo" ,texinfo)))
675 (inputs `(("guile" ,guile-2.0)
676 ("librsvg" ,librsvg)
677 ("guile-lib" ,guile-lib))) ;for (unit-test)
678 (propagated-inputs `(("guile-cairo" ,guile-cairo)))
679 (synopsis "Render SVG images using Cairo from Guile")
680 (description
681 "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG
682images onto Cairo surfaces.")
683 (home-page "http://wingolog.org/projects/guile-rsvg/")
684 (license license:lgpl2.1+)))
7ca0dbc3 685
cdd383e9
LC
686(define-public guile-present
687 (package
688 (name "guile-present")
689 (version "0.3.0")
690 (source (origin
691 (method url-fetch)
692 (uri (string-append "http://wingolog.org/pub/guile-present/"
693 "guile-present-" version ".tar.gz"))
694 (sha256
695 (base32
696 "1qam447m05sxxv6x8dlzg7qnyfc4dh8apjw1idpfhpns671gfr6m"))
697 (patches (list (search-patch "guile-present-coding.patch")))
698 (modules '((guix build utils)))
699 (snippet
700 '(substitute* "Makefile.in"
701 (("godir = .*$")
702 "godir = $(moddir)\n")))))
703 (build-system gnu-build-system)
704 (arguments
705 '(#:phases (alist-cons-after
706 'install 'post-install
707 (lambda* (#:key inputs outputs #:allow-other-keys)
708 (let* ((out (assoc-ref outputs "out"))
709 (bin (string-append out "/bin"))
710 (guile (assoc-ref inputs "guile")))
711 (substitute* (find-files bin ".*")
712 (("guile")
713 (string-append guile "/bin/guile -L "
714 out "/share/guile/site/2.0 -C "
715 out "/share/guile/site/2.0 ")))))
716 %standard-phases)))
717 (native-inputs `(("pkg-config" ,pkg-config)))
718 (inputs `(("guile" ,guile-2.0)))
719 (propagated-inputs
720 ;; These are used by the (present …) modules.
721 `(("guile-lib" ,guile-lib)
722 ("guile-cairo" ,guile-cairo)
723 ("guile-rsvg" ,guile-rsvg)))
724 (home-page "http://wingolog.org/software/guile-present/")
725 (synopsis "Create SVG or PDF presentations in Guile")
726 (description
727 "Guile-Present defines a declarative vocabulary for presentations,
728together with tools to render presentation documents as SVG or PDF.
729Guile-Present can be used to make presentations programmatically, but also
730includes a tools to generate PDF presentations out of Org mode and Texinfo
731documents.")
732 (license license:lgpl3+)))
7ca0dbc3 733
66663503
LC
734;;;
735;;; C++ bindings.
736;;;
737
738(define-public cairomm
739 (package
740 (name "cairomm")
2079087c 741 (version "1.12.0")
66663503 742 (source (origin
2079087c
SB
743 (method url-fetch)
744 (uri (string-append "mirror://gnome/sources/cairomm/"
745 (version-major+minor version) "/"
746 name "-" version ".tar.xz"))
747 (sha256
748 (base32
749 "1rmgs6zjj2vaxh9hsa0944m23fdn1psycqh7bi984qd8jj1xljm5"))))
66663503
LC
750 (build-system gnu-build-system)
751 (arguments
752 ;; The examples lack -lcairo.
753 '(#:make-flags '("LDFLAGS=-lcairo")))
c4c4cc05 754 (native-inputs `(("pkg-config" ,pkg-config)))
66663503
LC
755 (propagated-inputs
756 `(("libsigc++" ,libsigc++)
757 ("freetype" ,freetype)
758 ("fontconfig" ,fontconfig)
759 ("cairo" ,cairo)))
760 (home-page "http://cairographics.org/")
761 (synopsis "C++ bindings to the Cairo 2D graphics library")
762 (description
763 "Cairomm provides a C++ programming interface to the Cairo 2D graphics
764library.")
765 (license license:lgpl2.0+)))
c5cc5006
LC
766
767(define-public pangomm
768 (package
769 (name "pangomm")
256da71f 770 (version "2.38.1")
c5cc5006
LC
771 (source (origin
772 (method url-fetch)
b38e45d8
EB
773 (uri (string-append "mirror://gnome/sources/" name "/"
774 (version-major+minor version) "/"
775 name "-" version ".tar.xz"))
c5cc5006
LC
776 (sha256
777 (base32
256da71f 778 "12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg"))))
c5cc5006 779 (build-system gnu-build-system)
c4c4cc05 780 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
781 (propagated-inputs
782 `(("cairo" ,cairo)
783 ("cairomm" ,cairomm)
784 ("glibmm" ,glibmm)
785 ("pango" ,pango)))
786 (home-page "http://www.pango.org/")
787 (synopsis "C++ interface to the Pango text rendering library")
788 (description
789 "Pangomm provides a C++ programming interface to the Pango text rendering
790library.")
791 (license license:lgpl2.1+)))
792
793(define-public atkmm
794 (package
795 (name "atkmm")
b172ea00 796 (version "2.24.1")
c5cc5006
LC
797 (source (origin
798 (method url-fetch)
b38e45d8
EB
799 (uri (string-append "mirror://gnome/sources/" name "/"
800 (version-major+minor version) "/"
801 name "-" version ".tar.xz"))
c5cc5006
LC
802 (sha256
803 (base32
b172ea00 804 "08zd6s5c1q90wm8310mdrb5f2lj8v63wxihrybwyw13xlf6ivi16"))))
c5cc5006 805 (build-system gnu-build-system)
c4c4cc05 806 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
807 (propagated-inputs
808 `(("glibmm" ,glibmm) ("atk" ,atk)))
809 (home-page "http://www.gtkmm.org")
810 (synopsis "C++ interface to the ATK accessibility library")
811 (description
812 "ATKmm provides a C++ programming interface to the ATK accessibility
813toolkit.")
814 (license license:lgpl2.1+)))
815
816(define-public gtkmm
817 (package
818 (name "gtkmm")
aa382d7e 819 (version "3.18.0")
c5cc5006
LC
820 (source (origin
821 (method url-fetch)
b38e45d8
EB
822 (uri (string-append "mirror://gnome/sources/" name "/"
823 (version-major+minor version) "/"
824 name "-" version ".tar.xz"))
c5cc5006
LC
825 (sha256
826 (base32
aa382d7e 827 "0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2"))))
c5cc5006 828 (build-system gnu-build-system)
c4c4cc05 829 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
830 (propagated-inputs
831 `(("pangomm" ,pangomm)
832 ("cairomm" ,cairomm)
833 ("atkmm" ,atkmm)
834 ("gtk+" ,gtk+)
835 ("glibmm" ,glibmm)))
836 (home-page "http://gtkmm.org/")
837 (synopsis
838 "C++ interface to the GTK+ graphical user interface library")
839 (description
840 "gtkmm is the official C++ interface for the popular GUI library GTK+.
841Highlights include typesafe callbacks, and a comprehensive set of widgets that
842are easily extensible via inheritance. You can create user interfaces either
843in code or with the Glade User Interface designer, using libglademm. There's
844extensive documentation, including API reference and a tutorial.")
845 (license license:lgpl2.1+)))
9c086443
JD
846
847
848(define-public gtkmm-2
849 (package (inherit gtkmm)
b38e45d8 850 (name "gtkmm")
f8f63893 851 (version "2.24.4")
9c086443
JD
852 (source (origin
853 (method url-fetch)
b38e45d8
EB
854 (uri (string-append "mirror://gnome/sources/" name "/"
855 (version-major+minor version) "/"
856 name "-" version ".tar.xz"))
9c086443
JD
857 (sha256
858 (base32
f8f63893 859 "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"))))
3ad29c9e
SB
860 (arguments
861 '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++
9c086443
JD
862 (propagated-inputs
863 `(("pangomm" ,pangomm)
864 ("cairomm" ,cairomm)
865 ("atkmm" ,atkmm)
866 ("gtk+" ,gtk+-2)
867 ("glibmm" ,glibmm)))))
fbcfa730
EB
868
869(define-public python-pycairo
870 (package
871 (name "python-pycairo")
872 (version "1.10.0")
873 (source
874 (origin
875 (method url-fetch)
876 (uri (string-append "http://cairographics.org/releases/pycairo-"
877 version ".tar.bz2"))
878 (sha256
879 (base32
b837e658
SB
880 "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))
881 (patches (list (search-patch "pycairo-wscript.patch")))))
882 (build-system waf-build-system)
fbcfa730 883 (native-inputs
b837e658
SB
884 `(("pkg-config" ,pkg-config)
885 ("python-waf" ,python-waf)))
fbcfa730
EB
886 (propagated-inputs ;pycairo.pc references cairo
887 `(("cairo" ,cairo)))
888 (arguments
889 `(#:tests? #f
b837e658
SB
890 #:phases
891 (modify-phases %standard-phases
892 (add-before
893 'configure 'patch-waf
894 (lambda* (#:key inputs #:allow-other-keys)
895 ;; The bundled `waf' doesn't work with python-3.4.x.
896 (copy-file (assoc-ref %build-inputs "python-waf") "./waf"))))))
fbcfa730
EB
897 (home-page "http://cairographics.org/pycairo/")
898 (synopsis "Python bindings for cairo")
899 (description
900 "Pycairo is a set of Python bindings for the Cairo graphics library.")
901 (license license:lgpl3+)))
902
7ca0dbc3 903(define-public python2-pycairo
fbcfa730 904 (package (inherit python-pycairo)
7ca0dbc3 905 (name "python2-pycairo")
fbcfa730
EB
906 (version "1.10.0")
907 (source
908 (origin
909 (method url-fetch)
910 (uri (string-append "http://cairographics.org/releases/py2cairo-"
911 version ".tar.bz2"))
912 (sha256
913 (base32
914 "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
915 (arguments
916 `(#:python ,python-2
b837e658
SB
917 ,@(substitute-keyword-arguments (package-arguments python-pycairo)
918 ((#:phases phases)
919 `(alist-delete 'patch-waf ,phases))
920 ((#:native-inputs native-inputs)
921 `(alist-delete "python-waf" ,native-inputs)))))
fbcfa730 922 ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
0d6a8339 923 (license (list license:lgpl2.1 license:mpl1.1))))
fbcfa730
EB
924
925(define-public python2-pygtk
926 (package
927 (name "python2-pygtk")
928 (version "2.24.0")
929 (source
930 (origin
931 (method url-fetch)
932 (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources"
933 "/pygtk/" (version-major+minor version)
934 "/pygtk-" version ".tar.bz2"))
935 (sha256
936 (base32
937 "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"))))
938 (build-system gnu-build-system)
939 (native-inputs
940 `(("pkg-config" ,pkg-config)))
941 (inputs
942 `(("python" ,python-2)
943 ("glib" ,glib)))
944 (propagated-inputs
7ca0dbc3 945 `(("python-pycairo" ,python2-pycairo) ;loaded at runtime
fbcfa730
EB
946 ("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
947 ("gtk+" ,gtk+-2)))
948 (arguments
949 `(#:tests? #f
950 #:phases (alist-cons-after
cb4d3d86
RW
951 'configure 'fix-codegen
952 (lambda* (#:key inputs #:allow-other-keys)
953 (substitute* "pygtk-codegen-2.0"
954 (("^prefix=.*$")
955 (string-append
956 "prefix="
957 (assoc-ref inputs "python-pygobject") "\n"))))
958 (alist-cons-after
959 'install 'install-pth
960 (lambda* (#:key inputs outputs #:allow-other-keys)
961 ;; pygtk's modules are stored in a subdirectory of python's
962 ;; site-packages directory. Add a .pth file so that python
963 ;; will add that subdirectory to its module search path.
964 (let* ((out (assoc-ref outputs "out"))
965 (site (string-append out "/lib/python"
966 ,(version-major+minor
967 (package-version python-2))
968 "/site-packages")))
969 (call-with-output-file (string-append site "/pygtk.pth")
970 (lambda (port)
971 (format port "gtk-2.0~%")))))
972 %standard-phases))))
fbcfa730
EB
973 (home-page "http://www.pygtk.org/")
974 (synopsis "Python bindings for GTK+")
975 (description
976 "PyGTK allows you to write full featured GTK programs in Python. It is
977targetted at GTK 2.x, and can be used in conjunction with gnome-python to
978write GNOME applications.")
979 (license license:lgpl2.1+)))
136770c9
PW
980
981(define-public girara
982 (package
983 (name "girara")
90ab5dd2 984 (version "0.2.4")
136770c9
PW
985 (source (origin
986 (method url-fetch)
987 (uri
988 (string-append "https://pwmt.org/projects/girara/download/girara-"
989 version ".tar.gz"))
990 (sha256
991 (base32
90ab5dd2 992 "0pnfdsg435b5vc4x8l9pgm77aj7ram1q0bzrp9g4a3bh1r64xq1f"))))
136770c9
PW
993 (native-inputs `(("pkg-config" ,pkg-config)
994 ("gettext" ,gnu-gettext)))
995 (inputs `(("gtk+" ,gtk+)
996 ("check" ,check)))
997 (arguments
998 `(#:make-flags
999 `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
1000 "COLOR=0" "CC=gcc")
1001 #:test-target "test"
1002 #:tests? #f ; Tests fail with "Gtk cannot open display:"
1003 #:phases
1004 (alist-delete 'configure %standard-phases)))
1005 (build-system gnu-build-system)
1006 (home-page "https://pwmt.org/projects/girara/")
1007 (synopsis "Library for minimalistic gtk+3 user interfaces")
1008 (description "Girara is a library that implements a user interface that
1009focuses on simplicity and minimalism. Currently based on GTK+, a
1010cross-platform widget toolkit, it provides an interface that focuses on three
1011main components: a so-called view widget that represents the actual
1012application, an input bar that is used to execute commands of the
1013application and the status bar which provides the user with current
1014information.")
1015 (license license:zlib)))
3bc45449
AW
1016
1017(define-public gtk-doc
1018 (package
1019 (name "gtk-doc")
1020 (version "1.24")
1021 (source (origin
1022 (method url-fetch)
1023 (uri (string-append "mirror://gnome/sources/" name "/"
1024 (version-major+minor version) "/"
1025 name "-" version ".tar.xz"))
1026 (sha256
1027 (base32
1028 "12xmmcnq4138dlbhmqa45wqza8dky4lf856sp80h6xjwl2g7a85l"))))
1029 (build-system gnu-build-system)
1030 (arguments
1031 `(#:configure-flags
1032 (list (string-append "--with-xml-catalog="
1033 (assoc-ref %build-inputs "docbook-xml")
1034 "/xml/dtd/docbook/catalog.xml"))))
1035 (native-inputs
1036 `(("pkg-config" ,pkg-config)
1037 ("itstool" ,itstool)
1038 ("libxml" ,libxml2)
1039 ("gettext" ,gnu-gettext)
1040 ("bc" ,bc)))
1041 (inputs
1042 `(("perl" ,perl)
1043 ("python" ,python)
1044 ("xsltproc" ,libxslt)
1045 ("dblatex" ,dblatex)
1046 ("docbook-xml" ,docbook-xml-4.3)
1047 ("docbook-xsl" ,docbook-xsl)
1048 ("source-highlight" ,source-highlight)
1049 ("glib" ,glib)))
1050 (home-page "http://www.gtk.org/gtk-doc/")
1051 (synopsis "Documentation generator from C source code")
1052 (description
1053 "GTK-Doc generates API documentation from comments added to C code. It is
1054typically used to document the public API of GTK+ and GNOME libraries, but it
1055can also be used to document application code.")
1056 (license license:gpl2+)))