gnu: Add python-elib.intl.
[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>
141aed80 3;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
c3f16c55 4;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
b38e45d8 5;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
3a08a411
AE
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages gtk)
b5b73a82 23 #:use-module ((guix licenses) #:prefix license:)
b38e45d8 24 #:use-module (guix utils)
3a08a411
AE
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix build-system gnu)
6131c43d
AE
28 #:use-module (gnu packages compression)
29 #:use-module (gnu packages fontutils)
30 #:use-module (gnu packages ghostscript)
3a08a411 31 #:use-module (gnu packages glib)
95d439b2 32 #:use-module (gnu packages gnome)
a2609b41 33 #:use-module (gnu packages icu4c)
e55354b8 34 #:use-module (gnu packages image)
6131c43d 35 #:use-module (gnu packages pdf)
8b79a547 36 #:use-module (gnu packages perl)
6131c43d
AE
37 #:use-module (gnu packages pkg-config)
38 #:use-module (gnu packages python)
8e70e6d2
LC
39 #:use-module (gnu packages guile)
40 #:use-module (gnu packages xml)
6131c43d 41 #:use-module (gnu packages xorg))
3a08a411
AE
42
43(define-public atk
44 (package
45 (name "atk")
3b8e4347 46 (version "2.10.0")
3a08a411
AE
47 (source (origin
48 (method url-fetch)
3b8e4347 49 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
50 (version-major+minor version) "/"
51 name "-" version ".tar.xz"))
3a08a411
AE
52 (sha256
53 (base32
3b8e4347 54 "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"))))
3a08a411 55 (build-system gnu-build-system)
141aed80
LC
56 (inputs `(("glib" ,glib)))
57 (native-inputs
58 `(("pkg-config" ,pkg-config)
426adbe8 59 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 60 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
c5cc5006 61 (synopsis "GNOME accessibility toolkit")
3a08a411
AE
62 (description
63 "ATK provides the set of accessibility interfaces that are implemented
35b9e423 64by other toolkits and applications. Using the ATK interfaces, accessibility
3a08a411
AE
65tools have full access to view and control running applications.")
66 (license license:lgpl2.0+)
67 (home-page "https://developer.gnome.org/atk/")))
6131c43d
AE
68
69(define-public cairo
70 (package
71 (name "cairo")
c3f3e150 72 (version "1.12.16")
6131c43d
AE
73 (source (origin
74 (method url-fetch)
75 (uri (string-append "http://cairographics.org/releases/cairo-"
76 version ".tar.xz"))
77 (sha256
78 (base32
c3f3e150 79 "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"))))
6131c43d
AE
80 (build-system gnu-build-system)
81 (propagated-inputs
82 `(("fontconfig" ,fontconfig)
83 ("freetype" ,freetype)
84 ("glib" ,glib)
85 ("libpng" ,libpng)
86 ("libx11" ,libx11)
87 ("libxext" ,libxext)
88 ("libxrender" ,libxrender)
89 ("pixman" ,pixman)))
90 (inputs
91 `(("ghostscript" ,ghostscript)
92 ("libspectre" ,libspectre)
6131c43d 93 ("poppler" ,poppler)
6131c43d
AE
94 ("xextproto" ,xextproto)
95 ("zlib" ,zlib)))
c4c4cc05
JD
96 (native-inputs
97 `(("pkg-config" ,pkg-config)
98 ("python" ,python-wrapper)))
6131c43d
AE
99 (arguments
100 `(#:tests? #f)) ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
101 (synopsis "2D graphics library")
102 (description
103 "Cairo is a 2D graphics library with support for multiple output devices.
104Currently supported output targets include the X Window System (via both
105Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
35b9e423 106output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
6131c43d
AE
107
108Cairo is designed to produce consistent output on all output media while
109taking advantage of display hardware acceleration when available
110eg. through the X Render Extension).
111
112The cairo API provides operations similar to the drawing operators of
35b9e423 113PostScript and PDF. Operations in cairo including stroking and filling cubic
6131c43d 114Bézier splines, transforming and compositing translucent images, and
35b9e423 115antialiased text rendering. All drawing operations can be transformed by any
6131c43d
AE
116affine transformation (scale, rotation, shear, etc.)")
117 (license license:lgpl2.1) ; or Mozilla Public License 1.1
118 (home-page "http://cairographics.org/")))
a2609b41
AE
119
120(define-public harfbuzz
121 (package
122 (name "harfbuzz")
418e82b5 123 (version "0.9.22")
a2609b41
AE
124 (source (origin
125 (method url-fetch)
126 (uri (string-append "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-"
127 version ".tar.bz2"))
128 (sha256
129 (base32
418e82b5 130 "1nkimwadri6v2kzrmz8y0crmy59gw0kg4i4f6cc786bngs0815lq"))))
a2609b41
AE
131 (build-system gnu-build-system)
132 (inputs
133 `(("cairo" ,cairo)
27383915 134 ("graphite2" ,graphite2)
c4c4cc05
JD
135 ("icu4c" ,icu4c)))
136 (native-inputs
27383915 137 `(("pkg-config" ,pkg-config)
ee3e314b 138 ("python" ,python-wrapper)))
27383915
AE
139 (arguments
140 `(#:configure-flags `("--with-graphite2=yes")))
35b9e423 141 (synopsis "OpenType text shaping engine")
a2609b41
AE
142 (description
143 "HarfBuzz is an OpenType text shaping engine.")
144 (license (license:x11-style "file://COPYING"
145 "See 'COPYING' in the distribution."))
146 (home-page "http://www.freedesktop.org/wiki/Software/HarfBuzz/")))
4b9adff9
AE
147
148(define-public pango
149 (package
150 (name "pango")
151 (version "1.34.1")
152 (source (origin
153 (method url-fetch)
154 (uri (string-append "mirror://gnome/sources/pango/1.34/pango-"
155 version ".tar.xz"))
156 (sha256
157 (base32
158 "0k7662qix7zzh7mf6ikdj594n8jpbfm25z8swz64zbm86kgk1shs"))))
159 (build-system gnu-build-system)
cf2135ff 160 (propagated-inputs
4b9adff9 161 `(("cairo" ,cairo)
4169a4bc
AE
162 ("harfbuzz" ,harfbuzz)))
163 (inputs
9a5acb54
JL
164 `(("zlib" ,zlib)
165
166 ;; Some packages, such as Openbox, expect Pango to be built with the
167 ;; optional libxft support.
168 ("libxft" ,libxft)))
c4c4cc05 169 (native-inputs
141aed80 170 `(("pkg-config" ,pkg-config)
426adbe8 171 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 172 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
4b9adff9
AE
173 (synopsis "GNOME text and font handling library")
174 (description
175 "Pango is the core text and font handling library used in GNOME
35b9e423 176applications. It has extensive support for the different writing systems
4b9adff9
AE
177used throughout the world.")
178 (license license:lgpl2.0+)
179 (home-page "https://developer.gnome.org/pango/")))
527e7961 180
5698b8b8
JD
181(define-public pangox-compat
182 (package
183 (name "pangox-compat")
184 (version "0.0.2")
185 (source (origin
186 (method url-fetch)
b38e45d8
EB
187 (uri (string-append "mirror://gnome/sources/" name "/"
188 (version-major+minor version) "/"
189 name "-" version ".tar.xz"))
5698b8b8
JD
190 (sha256
191 (base32
192 "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m"))))
193 (build-system gnu-build-system)
194 (inputs
195 `(("glib" ,glib)
196 ("pango" ,pango)))
197 (native-inputs
198 `(("intltool" ,intltool)
199 ("pkg-config" ,pkg-config)))
200 (home-page "https://developer.gnome.org/pango")
35b9e423 201 (synopsis "Obsolete pango functions")
5698b8b8
JD
202 (description "Pangox was a X backend to pango. It is now obsolete and no
203longer provided by recent pango releases. pangox-compat provides the
204functions which were removed.")
205 (license license:lgpl2.0+)))
206
95d439b2
JD
207
208(define-public gtksourceview
209 (package
210 (name "gtksourceview")
211 (version "2.10.5") ; This is the last version which builds against gtk+2
212 (source (origin
213 (method url-fetch)
b38e45d8
EB
214 (uri (string-append "mirror://gnome/sources/" name "/"
215 (version-major+minor version) "/"
216 name "-" version ".tar.bz2"))
95d439b2
JD
217 (sha256
218 (base32
219 "07hrabhpl6n8ajz10s0d960jdwndxs87szxyn428mpxi8cvpg1f5"))))
220 (build-system gnu-build-system)
221 (inputs
c4c4cc05 222 `(("gtk" ,gtk+-2)
95d439b2 223 ("libxml2" ,libxml2)
95d439b2
JD
224 ;; These two are needed only to allow the tests to run successfully.
225 ("xorg-server" ,xorg-server)
226 ("shared-mime-info" ,shared-mime-info)))
c4c4cc05 227 (native-inputs
44add1ce 228 `(("intltool" ,intltool)
221ed17a 229 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
c4c4cc05 230 ("pkg-config" ,pkg-config)))
95d439b2
JD
231 (arguments
232 `(#:phases
233 ;; Unfortunately, some of the tests in "make check" are highly dependent
234 ;; on the environment therefore, some black magic is required.
235 (alist-cons-before
236 'check 'start-xserver
237 (lambda* (#:key inputs #:allow-other-keys)
238 (let ((xorg-server (assoc-ref inputs "xorg-server"))
239 (mime (assoc-ref inputs "shared-mime-info")))
240
241 ;; There must be a running X server and make check doesn't start one.
242 ;; Therefore we must do it.
243 (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
244 (setenv "DISPLAY" ":1")
245
246 ;; The .lang files must be found in $XDG_DATA_HOME/gtksourceview-2.0
247 (system "ln -s gtksourceview gtksourceview-2.0")
248 (setenv "XDG_DATA_HOME" (getcwd))
249
250 ;; Finally, the mimetypes must be available.
251 (setenv "XDG_DATA_DIRS" (string-append mime "/share/")) ))
252 %standard-phases)))
253 (synopsis "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget")
254 (description
255 "GtkSourceView is a portable C library that extends the standard GTK+
256framework for multiline text editing with support for configurable syntax
257highlighting, unlimited undo/redo, search and replace, a completion framework,
258printing and other features typical of a source code editor.")
259 (license license:lgpl2.0+)
260 (home-page "https://developer.gnome.org/gtksourceview/")))
261
527e7961
AE
262(define-public gdk-pixbuf
263 (package
264 (name "gdk-pixbuf")
265 (version "2.28.2")
266 (source (origin
267 (method url-fetch)
b38e45d8
EB
268 (uri (string-append "mirror://gnome/sources/" name "/"
269 (version-major+minor version) "/"
270 name "-" version ".tar.xz"))
527e7961
AE
271 (sha256
272 (base32
273 "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"))))
274 (build-system gnu-build-system)
275 (inputs
276 `(("glib" ,glib)
277 ("libjpeg" ,libjpeg)
278 ("libpng" ,libpng)
c4c4cc05
JD
279 ("libtiff" ,libtiff)))
280 (native-inputs
141aed80 281 `(("pkg-config" ,pkg-config)
426adbe8 282 ("glib" ,glib "bin") ; glib-mkenums, etc.
141aed80 283 ("gobject-introspection", gobject-introspection))) ; g-ir-compiler, etc.
527e7961
AE
284 (synopsis "GNOME image loading and manipulation library")
285 (description
286 "GdkPixbuf is a library for image loading and manipulation developed
287in the GNOME project.")
288 (license license:lgpl2.0+)
289 (home-page "https://developer.gnome.org/gdk-pixbuf/")))
cf2135ff 290
f3fb92e5
AE
291(define-public at-spi2-core
292 (package
293 (name "at-spi2-core")
294 (version "2.10.0")
295 (source (origin
296 (method url-fetch)
297 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
298 (version-major+minor version) "/"
299 name "-" version ".tar.xz"))
f3fb92e5
AE
300 (sha256
301 (base32
302 "1ns44yibdgcwzwri7sr075hfs5rh5lgxkh71247a0822az3mahcn"))))
303 (build-system gnu-build-system)
304 (inputs `(("dbus" ,dbus)
305 ("glib" ,glib)
f3fb92e5 306 ("libxi" ,libxi)
c4c4cc05
JD
307 ("libxtst" ,libxtst)))
308 (native-inputs
309 `(("intltool" ,intltool)
310 ("pkg-config" ,pkg-config)))
f3fb92e5
AE
311 (arguments
312 `(#:tests? #f)) ; FIXME: dbind/dbtest fails; one should disable tests in
313 ; a more fine-grained way.
314 (synopsis "Assistive Technology Service Provider Interface, core components")
315 (description
316 "The Assistive Technology Service Provider Interface, core components,
317is part of the GNOME accessibility project.")
318 (license license:lgpl2.0+)
319 (home-page "https://projects.gnome.org/accessibility/")))
320
5fda4784
AE
321(define-public at-spi2-atk
322 (package
323 (name "at-spi2-atk")
324 (version "2.10.0")
325 (source (origin
326 (method url-fetch)
327 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
328 (version-major+minor version) "/"
329 name "-" version ".tar.xz"))
5fda4784
AE
330 (sha256
331 (base32
332 "150sqc21difazqd53llwfdaqnwfy73bic9hia41xpfy9kcpzz9yy"))))
333 (build-system gnu-build-system)
334 (inputs `(("atk" ,atk)
335 ("at-spi2-core" ,at-spi2-core)
336 ("dbus" ,dbus)
c4c4cc05
JD
337 ("glib" ,glib)))
338 (native-inputs
339 `(("pkg-config" ,pkg-config)))
5fda4784
AE
340 (arguments
341 `(#:tests? #f)) ; FIXME: droute/droute-test fails; one should disable
342 ; tests in a more fine-grained way.
343 (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
344 (description
345 "The Assistive Technology Service Provider Interface
346is part of the GNOME accessibility project.")
347 (license license:lgpl2.0+)
348 (home-page "https://projects.gnome.org/accessibility/")))
349
8b79a547 350(define-public gtk+-2
cf2135ff
AE
351 (package
352 (name "gtk+")
1c8362a8 353 (version "2.24.21")
cf2135ff
AE
354 (source (origin
355 (method url-fetch)
1c8362a8 356 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8
EB
357 (version-major+minor version) "/"
358 name "-" version ".tar.xz"))
cf2135ff
AE
359 (sha256
360 (base32
1c8362a8 361 "1qyw73pr9ryqhir2h1kbx3vm70km4dg2fxrgkrdlpv0rvlb94bih"))))
cf2135ff 362 (build-system gnu-build-system)
4169a4bc 363 (propagated-inputs
cf2135ff 364 `(("atk" ,atk)
cf2135ff 365 ("gdk-pixbuf" ,gdk-pixbuf)
4169a4bc 366 ("pango" ,pango)))
c4c4cc05 367 (native-inputs
1c8362a8 368 `(("perl" ,perl)
426adbe8 369 ("glib" ,glib "bin")
1c8362a8
AE
370 ("pkg-config" ,pkg-config)
371 ("python-wrapper" ,python-wrapper)))
cf2135ff
AE
372 (arguments
373 `(#:phases
d4bf49b1
EB
374 (alist-cons-before
375 'configure 'disable-tests
376 (lambda _
377 ;; FIXME: re-enable tests requiring an X server
378 (substitute* "gtk/Makefile.in"
379 (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")))
cf2135ff 380 %standard-phases)))
0327ced2 381 (synopsis "Cross-platform toolkit for creating graphical user interfaces")
cf2135ff
AE
382 (description
383 "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
35b9e423 384graphical user interfaces. Offering a complete set of widgets, GTK+ is
cf2135ff
AE
385suitable for projects ranging from small one-off tools to complete
386application suites.")
387 (license license:lgpl2.0+)
388 (home-page "http://www.gtk.org/")))
8e70e6d2 389
8b79a547
AE
390(define-public gtk+
391 (package (inherit gtk+-2)
b38e45d8 392 (name "gtk+")
a58a7c92 393 (version "3.10.1")
8b79a547
AE
394 (source (origin
395 (method url-fetch)
b38e45d8
EB
396 (uri (string-append "mirror://gnome/sources/" name "/"
397 (version-major+minor version) "/"
398 name "-" version ".tar.xz"))
8b79a547
AE
399 (sha256
400 (base32
a58a7c92 401 "1f3a7r3z7i9xh5imlfpfcgyydzkj2fnd0v6ylvqxij0yzfbnhbn1"))))
0e112540 402 (propagated-inputs
8b79a547 403 `(("at-spi2-atk" ,at-spi2-atk)
0e112540
AE
404 ("atk" ,atk)
405 ("gdk-pixbuf" ,gdk-pixbuf)
8b79a547
AE
406 ("libxi" ,libxi)
407 ("libxinerama" ,libxinerama)
0e112540
AE
408 ("pango" ,pango)))
409 (inputs
141aed80 410 `(("libxml2" ,libxml2)))
c4c4cc05 411 (native-inputs
141aed80 412 `(("perl" ,perl)
426adbe8 413 ("glib" ,glib "bin")
8b79a547 414 ("pkg-config" ,pkg-config)
141aed80 415 ("gobject-introspection" ,gobject-introspection)
8b79a547 416 ("python-wrapper" ,python-wrapper)
99462fac
LC
417
418 ;; FIXME: The Xorg server is needed to run the tests, but it currently
419 ;; fails to build on mips64el, so remove it in the meantime.
420 ,@(if (string=? (or (%current-target-system) (%current-system))
421 "mips64el-linux")
422 '()
423 `(("xorg-server" ,xorg-server)))))
8b79a547 424 (arguments
c3f16c55
MW
425 `(;; FIXME: See above.
426 #:tests? ,(not (string=? (or (%current-target-system) (%current-system))
427 "mips64el-linux"))
428 #:phases
8b79a547
AE
429 (alist-replace
430 'configure
af949e8e 431 (lambda* (#:key inputs #:allow-other-keys #:rest args)
8b79a547
AE
432 (let ((configure (assoc-ref %standard-phases 'configure)))
433 ;; Disable most tests, failing in the chroot with the message:
434 ;; D-Bus library appears to be incorrectly set up; failed to read
435 ;; machine uuid: Failed to open "/etc/machine-id": No such file or
436 ;; directory.
437 ;; See the manual page for dbus-uuidgen to correct this issue.
438 (substitute* "testsuite/Makefile.in"
ce2df078
LC
439 (("SUBDIRS = gdk gtk a11y css reftests")
440 "SUBDIRS = gdk"))
8b79a547
AE
441 (apply configure args)))
442 %standard-phases)))))
5fda4784 443
8e70e6d2
LC
444;;;
445;;; Guile bindings.
446;;;
447
448(define-public guile-cairo
449 (package
450 (name "guile-cairo")
451 (version "1.4.1")
452 (source (origin
453 (method url-fetch)
454 (uri (string-append
455 "http://download.gna.org/guile-cairo/guile-cairo-"
456 version
457 ".tar.gz"))
458 (sha256
459 (base32
460 "1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
461 (build-system gnu-build-system)
462 (arguments
463 '(#:phases (alist-cons-before
464 'configure 'set-module-directory
465 (lambda* (#:key outputs #:allow-other-keys)
466 ;; Install modules under $out/share/guile/site/2.0.
467 (let ((out (assoc-ref outputs "out")))
468 (substitute* "Makefile.in"
469 (("scmdir = ([[:graph:]]+).*" _ value)
470 (string-append "scmdir = " value "/2.0\n")))
471 (substitute* "cairo/Makefile.in"
472 (("moduledir = ([[:graph:]]+).*" _ value)
473 (string-append "moduledir = "
474 "$(prefix)/share/guile/site/2.0/cairo\n'")))))
475 (alist-cons-after
476 'install 'install-missing-file
477 (lambda* (#:key outputs #:allow-other-keys)
478 ;; By default 'vector-types.scm' is not installed, so do
479 ;; it here.
480 (let ((out (assoc-ref outputs "out")))
481 (copy-file "cairo/vector-types.scm"
482 (string-append out "/share/guile/site/2.0"
483 "/cairo/vector-types.scm"))))
484 %standard-phases))))
485 (inputs
486 `(("guile-lib" ,guile-lib)
487 ("expat" ,expat)
8e70e6d2 488 ("guile" ,guile-2.0)))
49710cea
LC
489 (propagated-inputs
490 ;; The .pc file refers to 'cairo'.
491 `(("cairo" ,cairo)))
c4c4cc05
JD
492 (native-inputs
493 `(("pkg-config" ,pkg-config)))
8e70e6d2
LC
494 (home-page "http://www.nongnu.org/guile-cairo/")
495 (synopsis "Cairo bindings for GNU Guile")
496 (description
497 "Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
498Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API
499stable, providing a firm base on which to do graphics work. Finally, and
500importantly, it is pleasant to use. You get a powerful and well-maintained
501graphics library with all of the benefits of Scheme: memory management,
502exceptions, macros, and a dynamic programming environment.")
503 (license license:lgpl3+)))
66663503
LC
504
505\f
506;;;
507;;; C++ bindings.
508;;;
509
510(define-public cairomm
511 (package
512 (name "cairomm")
513 (version "1.10.0")
514 (source (origin
515 (method url-fetch)
516 (uri (string-append "http://cairographics.org/releases/cairomm-"
517 version ".tar.gz"))
518 (sha256
519 (base32
520 "13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386"))))
521 (build-system gnu-build-system)
522 (arguments
523 ;; The examples lack -lcairo.
524 '(#:make-flags '("LDFLAGS=-lcairo")))
c4c4cc05 525 (native-inputs `(("pkg-config" ,pkg-config)))
66663503
LC
526 (propagated-inputs
527 `(("libsigc++" ,libsigc++)
528 ("freetype" ,freetype)
529 ("fontconfig" ,fontconfig)
530 ("cairo" ,cairo)))
531 (home-page "http://cairographics.org/")
532 (synopsis "C++ bindings to the Cairo 2D graphics library")
533 (description
534 "Cairomm provides a C++ programming interface to the Cairo 2D graphics
535library.")
536 (license license:lgpl2.0+)))
c5cc5006
LC
537
538(define-public pangomm
539 (package
540 (name "pangomm")
541 (version "2.34.0")
542 (source (origin
543 (method url-fetch)
b38e45d8
EB
544 (uri (string-append "mirror://gnome/sources/" name "/"
545 (version-major+minor version) "/"
546 name "-" version ".tar.xz"))
c5cc5006
LC
547 (sha256
548 (base32
549 "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf"))))
550 (build-system gnu-build-system)
c4c4cc05 551 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
552 (propagated-inputs
553 `(("cairo" ,cairo)
554 ("cairomm" ,cairomm)
555 ("glibmm" ,glibmm)
556 ("pango" ,pango)))
557 (home-page "http://www.pango.org/")
558 (synopsis "C++ interface to the Pango text rendering library")
559 (description
560 "Pangomm provides a C++ programming interface to the Pango text rendering
561library.")
562 (license license:lgpl2.1+)))
563
564(define-public atkmm
565 (package
566 (name "atkmm")
567 (version "2.22.7")
568 (source (origin
569 (method url-fetch)
b38e45d8
EB
570 (uri (string-append "mirror://gnome/sources/" name "/"
571 (version-major+minor version) "/"
572 name "-" version ".tar.xz"))
c5cc5006
LC
573 (sha256
574 (base32
575 "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz"))))
576 (build-system gnu-build-system)
c4c4cc05 577 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
578 (propagated-inputs
579 `(("glibmm" ,glibmm) ("atk" ,atk)))
580 (home-page "http://www.gtkmm.org")
581 (synopsis "C++ interface to the ATK accessibility library")
582 (description
583 "ATKmm provides a C++ programming interface to the ATK accessibility
584toolkit.")
585 (license license:lgpl2.1+)))
586
587(define-public gtkmm
588 (package
589 (name "gtkmm")
590 (version "3.9.16")
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"))
c5cc5006
LC
596 (sha256
597 (base32
598 "0yf8wwv4w02p70nrxsbs0nhm0w4gkn2wggdjygd8vif062anf1rs"))))
599 (build-system gnu-build-system)
c4c4cc05 600 (native-inputs `(("pkg-config" ,pkg-config)))
c5cc5006
LC
601 (propagated-inputs
602 `(("pangomm" ,pangomm)
603 ("cairomm" ,cairomm)
604 ("atkmm" ,atkmm)
605 ("gtk+" ,gtk+)
606 ("glibmm" ,glibmm)))
607 (home-page "http://gtkmm.org/")
608 (synopsis
609 "C++ interface to the GTK+ graphical user interface library")
610 (description
611 "gtkmm is the official C++ interface for the popular GUI library GTK+.
612Highlights include typesafe callbacks, and a comprehensive set of widgets that
613are easily extensible via inheritance. You can create user interfaces either
614in code or with the Glade User Interface designer, using libglademm. There's
615extensive documentation, including API reference and a tutorial.")
616 (license license:lgpl2.1+)))
9c086443
JD
617
618
619(define-public gtkmm-2
620 (package (inherit gtkmm)
b38e45d8 621 (name "gtkmm")
9c086443
JD
622 (version "2.24.2")
623 (source (origin
624 (method url-fetch)
b38e45d8
EB
625 (uri (string-append "mirror://gnome/sources/" name "/"
626 (version-major+minor version) "/"
627 name "-" version ".tar.xz"))
9c086443
JD
628 (sha256
629 (base32
630 "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369"))))
631 (propagated-inputs
632 `(("pangomm" ,pangomm)
633 ("cairomm" ,cairomm)
634 ("atkmm" ,atkmm)
635 ("gtk+" ,gtk+-2)
636 ("glibmm" ,glibmm)))))