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