Commit | Line | Data |
---|---|---|
a37b8077 | 1 | ;;; GNU Guix --- Functional package management for GNU |
30347040 | 2 | ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
a37b8077 LC |
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 gimp) | |
20 | #:use-module (guix packages) | |
21 | #:use-module (guix download) | |
b5b73a82 | 22 | #:use-module ((guix licenses) #:prefix license:) |
a37b8077 | 23 | #:use-module (guix build-system gnu) |
30347040 | 24 | #:use-module (guix build-system glib-or-gtk) |
a37b8077 LC |
25 | #:use-module (gnu packages pkg-config) |
26 | #:use-module (gnu packages glib) | |
27 | #:use-module (gnu packages gtk) | |
28 | #:use-module (gnu packages gnome) | |
e55354b8 | 29 | #:use-module (gnu packages image) |
793bcc19 | 30 | #:use-module (gnu packages ghostscript) |
a37b8077 LC |
31 | #:use-module (gnu packages compression) |
32 | #:use-module (gnu packages xml) | |
33 | #:use-module (gnu packages photo) | |
9c8bd626 | 34 | #:use-module (gnu packages python) |
a37b8077 LC |
35 | #:use-module (gnu packages xorg) |
36 | #:use-module (gnu packages imagemagick)) | |
37 | ||
38 | (define-public babl | |
39 | (package | |
40 | (name "babl") | |
41 | (version "0.1.10") | |
42 | (source (origin | |
43 | (method url-fetch) | |
44 | (uri (list (string-append "http://ftp.gtk.org/pub/babl/0.1/babl-" | |
45 | version ".tar.bz2") | |
46 | (string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-" | |
47 | version ".tar.bz2"))) | |
48 | (sha256 | |
49 | (base32 | |
50 | "1x2mb7zfbvk9d0a7h5cpdff9hhjsadxvqml2jay2bpf7x9nc6gwl")))) | |
51 | (build-system gnu-build-system) | |
52 | (home-page "http://gegl.org/babl/") | |
53 | (synopsis "Image pixel format conversion library") | |
54 | (description | |
35b9e423 | 55 | "Babl is a dynamic, any to any, pixel format translation library. |
a37b8077 LC |
56 | It allows converting between different methods of storing pixels known as |
57 | pixel formats that have with different bitdepths and other data | |
58 | representations, color models and component permutations. | |
59 | ||
60 | A vocabulary to formulate new pixel formats from existing primitives is | |
61 | provided as well as the framework to add new color models and data types.") | |
62 | (license license:lgpl3+))) | |
12c0f32a JD |
63 | |
64 | (define-public gegl | |
65 | (package | |
66 | (name "gegl") | |
67 | (version "0.2.0") | |
68 | (source (origin | |
69 | (method url-fetch) | |
a124bbd2 | 70 | (uri (list (string-append "http://download.gimp.org/pub/gegl/" |
12c0f32a JD |
71 | (string-take version 3) |
72 | "/" name "-" version ".tar.bz2"))) | |
73 | (sha256 | |
74 | (base32 | |
75 | "09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz")))) | |
76 | (build-system gnu-build-system) | |
77 | (arguments | |
bc9812f1 AE |
78 | `(;; More than just the one test disabled below now fails; disable them |
79 | ;; all according to the rationale given below. | |
80 | #:tests? #f | |
81 | #:phases | |
12c0f32a JD |
82 | (alist-cons-before |
83 | 'build 'pre-build | |
84 | (lambda _ | |
85 | ;; This test program seems to crash on exit. Specifically, whilst | |
86 | ;; g_object_unreffing bufferA and bufferB - This seems to be a bug | |
87 | ;; in the destructor. This is just a test program so will not have | |
88 | ;; any wider effect, although might be hiding another problem. | |
89 | ;; According to advice received on irc.gimp.org#gegl although 0.2.0 | |
90 | ;; is the latest released version, any bug reports against it will | |
91 | ;; be ignored. So we are on our own. | |
92 | (substitute* "tools/img_cmp.c" | |
93 | (("g_object_unref \\(buffer.\\);") "")) | |
94 | ||
95 | (substitute* "tests/compositions/Makefile" | |
96 | (("/bin/sh") (which "bash")))) | |
97 | %standard-phases))) | |
98 | (inputs | |
99 | `(("babl" ,babl) | |
100 | ("glib" ,glib) | |
101 | ("cairo" ,cairo) | |
102 | ("pango" ,pango) | |
103 | ("libpng" ,libpng) | |
104 | ("libjpeg" ,libjpeg-8))) | |
105 | (native-inputs | |
106 | `(("pkg-config" ,pkg-config) | |
9fd571a2 | 107 | ("glib" ,glib "bin") ; for gtester |
12c0f32a JD |
108 | ("intltool" ,intltool))) |
109 | (home-page "http://gegl.org") | |
110 | (synopsis "Graph based image processing framework") | |
111 | (description "GEGL (Generic Graphics Library) provides infrastructure to | |
112 | do demand based cached non destructive image editing on larger than RAM | |
113 | buffers.") | |
114 | ;; The library itself is licensed under LGPL while the sample commandline | |
115 | ;; application and GUI binary gegl is licensed under GPL. | |
116 | (license (list license:lgpl3+ license:gpl3+)))) | |
117 | ||
118 | (define-public gimp | |
119 | (package | |
120 | (name "gimp") | |
30347040 | 121 | (version "2.8.14") |
12c0f32a JD |
122 | (source (origin |
123 | (method url-fetch) | |
124 | (uri (string-append "http://download.gimp.org/pub/gimp/v2.8/gimp-" | |
30347040 | 125 | version ".tar.bz2")) |
12c0f32a JD |
126 | (sha256 |
127 | (base32 | |
30347040 | 128 | "0bdj0l7a94jqhjnj40m9rqaf622wj905iximivb55iy98639aanq")))) |
12c0f32a | 129 | (build-system gnu-build-system) |
be4fbbe0 LC |
130 | (outputs '("out" |
131 | "doc")) ;8 MiB of gtk-doc HTML | |
132 | (arguments | |
133 | '(#:configure-flags (list (string-append "--with-html-dir=" | |
134 | (assoc-ref %outputs "doc") | |
135 | "/share/gtk-doc/html")))) | |
12c0f32a JD |
136 | (inputs |
137 | `(("babl" ,babl) | |
138 | ("glib" ,glib) | |
139 | ("libtiff" ,libtiff) | |
140 | ("libjpeg" ,libjpeg-8) | |
141 | ("atk" ,atk) | |
142 | ("gtk+" ,gtk+-2) | |
4320c094 LC |
143 | ("exif" ,libexif) ;optional, EXIF + XMP support |
144 | ("lcms" ,lcms) ;optional, color management | |
145 | ("librsvg" ,librsvg) ;optional, SVG support | |
9c8bd626 RW |
146 | ("python" ,python-2) ;optional, Python support |
147 | ("python2-pygtk" ,python2-pygtk) ;optional, Python support | |
12c0f32a JD |
148 | ("gegl" ,gegl))) |
149 | (native-inputs | |
150 | `(("pkg-config" ,pkg-config) | |
151 | ("intltool" ,intltool))) | |
152 | (home-page "http://gimp.org") | |
66672a45 LC |
153 | (synopsis "GNU Image Manipulation Program") |
154 | (description | |
155 | "GIMP is an application for image manipulation tasks such as photo | |
156 | retouching, composition and authoring. It supports all common image formats | |
157 | as well as specialized ones. It features a highly customizable interface | |
158 | that is extensible via a plugin system.") | |
12c0f32a | 159 | (license license:gpl3+))) ; some files are lgplv3 |