Commit | Line | Data |
---|---|---|
3a08a411 AE |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | |
3 | ;;; | |
4 | ;;; This file is part of GNU Guix. | |
5 | ;;; | |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
7 | ;;; under the terms of the GNU General Public License as published by | |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | (define-module (gnu packages gtk) | |
20 | #:use-module ((guix licenses) | |
21 | #:renamer (symbol-prefix-proc 'license:)) | |
22 | #:use-module (guix packages) | |
23 | #:use-module (guix download) | |
24 | #:use-module (guix build-system gnu) | |
6131c43d AE |
25 | #:use-module (gnu packages compression) |
26 | #:use-module (gnu packages fontutils) | |
27 | #:use-module (gnu packages ghostscript) | |
3a08a411 | 28 | #:use-module (gnu packages glib) |
a2609b41 | 29 | #:use-module (gnu packages icu4c) |
527e7961 | 30 | #:use-module (gnu packages libjpeg) |
6131c43d | 31 | #:use-module (gnu packages libpng) |
527e7961 | 32 | #:use-module (gnu packages libtiff) |
6131c43d AE |
33 | #:use-module (gnu packages pdf) |
34 | #:use-module (gnu packages pkg-config) | |
35 | #:use-module (gnu packages python) | |
36 | #:use-module (gnu packages xorg)) | |
3a08a411 AE |
37 | |
38 | (define-public atk | |
39 | (package | |
40 | (name "atk") | |
41 | (version "2.8.0") | |
42 | (source (origin | |
43 | (method url-fetch) | |
44 | (uri (string-append "mirror://gnome/sources/atk/2.8/atk-" | |
45 | version ".tar.xz")) | |
46 | (sha256 | |
47 | (base32 | |
48 | "1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj")))) | |
49 | (build-system gnu-build-system) | |
50 | (inputs `(("glib" ,glib) | |
51 | ("pkg-config" ,pkg-config))) | |
52 | (synopsis "GNOME accessability toolkit") | |
53 | (description | |
54 | "ATK provides the set of accessibility interfaces that are implemented | |
55 | by other toolkits and applications. Using the ATK interfaces, accessibility | |
56 | tools have full access to view and control running applications.") | |
57 | (license license:lgpl2.0+) | |
58 | (home-page "https://developer.gnome.org/atk/"))) | |
6131c43d AE |
59 | |
60 | (define-public cairo | |
61 | (package | |
62 | (name "cairo") | |
63 | (version "1.12.14") | |
64 | (source (origin | |
65 | (method url-fetch) | |
66 | (uri (string-append "http://cairographics.org/releases/cairo-" | |
67 | version ".tar.xz")) | |
68 | (sha256 | |
69 | (base32 | |
70 | "04xcykglff58ygs0dkrmmnqljmpjwp2qgwcz8sijqkdpz7ix3l4n")))) | |
71 | (build-system gnu-build-system) | |
72 | (propagated-inputs | |
73 | `(("fontconfig" ,fontconfig) | |
74 | ("freetype" ,freetype) | |
75 | ("glib" ,glib) | |
76 | ("libpng" ,libpng) | |
77 | ("libx11" ,libx11) | |
78 | ("libxext" ,libxext) | |
79 | ("libxrender" ,libxrender) | |
80 | ("pixman" ,pixman))) | |
81 | (inputs | |
82 | `(("ghostscript" ,ghostscript) | |
83 | ("libspectre" ,libspectre) | |
84 | ("pkg-config" ,pkg-config) | |
85 | ("poppler" ,poppler) | |
86 | ("python" ,python) | |
87 | ("xextproto" ,xextproto) | |
88 | ("zlib" ,zlib))) | |
89 | (arguments | |
90 | `(#:tests? #f)) ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html | |
91 | (synopsis "2D graphics library") | |
92 | (description | |
93 | "Cairo is a 2D graphics library with support for multiple output devices. | |
94 | Currently supported output targets include the X Window System (via both | |
95 | Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file | |
96 | output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. | |
97 | ||
98 | Cairo is designed to produce consistent output on all output media while | |
99 | taking advantage of display hardware acceleration when available | |
100 | eg. through the X Render Extension). | |
101 | ||
102 | The cairo API provides operations similar to the drawing operators of | |
103 | PostScript and PDF. Operations in cairo including stroking and filling cubic | |
104 | Bézier splines, transforming and compositing translucent images, and | |
105 | antialiased text rendering. All drawing operations can be transformed by any | |
106 | affine transformation (scale, rotation, shear, etc.)") | |
107 | (license license:lgpl2.1) ; or Mozilla Public License 1.1 | |
108 | (home-page "http://cairographics.org/"))) | |
a2609b41 AE |
109 | |
110 | (define-public harfbuzz | |
111 | (package | |
112 | (name "harfbuzz") | |
113 | (version "0.9.18") | |
114 | (source (origin | |
115 | (method url-fetch) | |
116 | (uri (string-append "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-" | |
117 | version ".tar.bz2")) | |
118 | (sha256 | |
119 | (base32 | |
120 | "026rlwspf1zn5akds9fwibpqpn47kmlnmqm5fi0cp4k4dnygpw7y")))) | |
121 | (build-system gnu-build-system) | |
122 | (inputs | |
123 | `(("cairo" ,cairo) | |
124 | ("icu4c" ,icu4c) | |
125 | ("pkg-config" ,pkg-config) | |
126 | ("python" ,python))) | |
127 | (synopsis "opentype text shaping engine") | |
128 | (description | |
129 | "HarfBuzz is an OpenType text shaping engine.") | |
130 | (license (license:x11-style "file://COPYING" | |
131 | "See 'COPYING' in the distribution.")) | |
132 | (home-page "http://www.freedesktop.org/wiki/Software/HarfBuzz/"))) | |
4b9adff9 AE |
133 | |
134 | (define-public pango | |
135 | (package | |
136 | (name "pango") | |
137 | (version "1.34.1") | |
138 | (source (origin | |
139 | (method url-fetch) | |
140 | (uri (string-append "mirror://gnome/sources/pango/1.34/pango-" | |
141 | version ".tar.xz")) | |
142 | (sha256 | |
143 | (base32 | |
144 | "0k7662qix7zzh7mf6ikdj594n8jpbfm25z8swz64zbm86kgk1shs")))) | |
145 | (build-system gnu-build-system) | |
cf2135ff | 146 | (propagated-inputs |
4b9adff9 | 147 | `(("cairo" ,cairo) |
4169a4bc AE |
148 | ("harfbuzz" ,harfbuzz))) |
149 | (inputs | |
150 | `(("pkg-config" ,pkg-config) | |
4b9adff9 AE |
151 | ("zlib" ,zlib))) |
152 | (synopsis "GNOME text and font handling library") | |
153 | (description | |
154 | "Pango is the core text and font handling library used in GNOME | |
155 | applications. It has extensive support for the different writing systems | |
156 | used throughout the world.") | |
157 | (license license:lgpl2.0+) | |
158 | (home-page "https://developer.gnome.org/pango/"))) | |
527e7961 AE |
159 | |
160 | (define-public gdk-pixbuf | |
161 | (package | |
162 | (name "gdk-pixbuf") | |
163 | (version "2.28.2") | |
164 | (source (origin | |
165 | (method url-fetch) | |
166 | (uri (string-append "mirror://gnome/sources/gdk-pixbuf/2.28/gdk-pixbuf-" | |
167 | version ".tar.xz")) | |
168 | (sha256 | |
169 | (base32 | |
170 | "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q")))) | |
171 | (build-system gnu-build-system) | |
172 | (inputs | |
173 | `(("glib" ,glib) | |
174 | ("libjpeg" ,libjpeg) | |
175 | ("libpng" ,libpng) | |
176 | ("libtiff" ,libtiff) | |
177 | ("pkg-config" ,pkg-config))) | |
178 | (synopsis "GNOME image loading and manipulation library") | |
179 | (description | |
180 | "GdkPixbuf is a library for image loading and manipulation developed | |
181 | in the GNOME project.") | |
182 | (license license:lgpl2.0+) | |
183 | (home-page "https://developer.gnome.org/gdk-pixbuf/"))) | |
cf2135ff AE |
184 | |
185 | (define-public gtk+ | |
186 | (package | |
187 | (name "gtk+") | |
188 | (version "2.24.20") | |
189 | (source (origin | |
190 | (method url-fetch) | |
191 | (uri (string-append "mirror://gnome/sources/gtk+/2.24/gtk+-" | |
192 | version ".tar.xz")) | |
193 | (sha256 | |
194 | (base32 | |
195 | "18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc")))) | |
196 | (build-system gnu-build-system) | |
4169a4bc | 197 | (propagated-inputs |
cf2135ff | 198 | `(("atk" ,atk) |
cf2135ff | 199 | ("gdk-pixbuf" ,gdk-pixbuf) |
4169a4bc AE |
200 | ("pango" ,pango))) |
201 | (inputs | |
202 | `(("pkg-config" ,pkg-config))) | |
cf2135ff AE |
203 | (arguments |
204 | `(#:phases | |
205 | (alist-replace | |
206 | 'configure | |
207 | (lambda* (#:key #:allow-other-keys #:rest args) | |
208 | (let ((configure (assoc-ref %standard-phases 'configure))) | |
209 | ;; FIXME: re-enable tests requiring an X server | |
210 | (substitute* "gtk/Makefile.in" | |
211 | (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")) | |
212 | (apply configure args))) | |
213 | %standard-phases))) | |
214 | (synopsis "multi-platform toolkit for creating graphical user interfaces") | |
215 | (description | |
216 | "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating | |
217 | graphical user interfaces. Offering a complete set of widgets, GTK+ is | |
218 | suitable for projects ranging from small one-off tools to complete | |
219 | application suites.") | |
220 | (license license:lgpl2.0+) | |
221 | (home-page "http://www.gtk.org/"))) |