Commit | Line | Data |
---|---|---|
a37b8077 | 1 | ;;; GNU Guix --- Functional package management for GNU |
30347040 | 2 | ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
b2086776 | 3 | ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> |
ec37ff19 | 4 | ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> |
e60969d5 | 5 | ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> |
9eecf9bc | 6 | ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> |
65b8d610 | 7 | ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> |
ef4c5a41 | 8 | ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> |
a37b8077 LC |
9 | ;;; |
10 | ;;; This file is part of GNU Guix. | |
11 | ;;; | |
12 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
13 | ;;; under the terms of the GNU General Public License as published by | |
14 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
15 | ;;; your option) any later version. | |
16 | ;;; | |
17 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
18 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | ;;; GNU General Public License for more details. | |
21 | ;;; | |
22 | ;;; You should have received a copy of the GNU General Public License | |
23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
24 | ||
25 | (define-module (gnu packages gimp) | |
26 | #:use-module (guix packages) | |
27 | #:use-module (guix download) | |
e5bbfc7d | 28 | #:use-module (guix git-download) |
1d6c6af0 | 29 | #:use-module (guix utils) |
b5b73a82 | 30 | #:use-module ((guix licenses) #:prefix license:) |
a37b8077 | 31 | #:use-module (guix build-system gnu) |
30347040 | 32 | #:use-module (guix build-system glib-or-gtk) |
54a114db | 33 | #:use-module (guix build-system meson) |
5f1ba089 | 34 | #:use-module (gnu packages) |
1d6c6af0 | 35 | #:use-module (gnu packages algebra) |
4b5c056a | 36 | #:use-module (gnu packages autotools) |
64976b9b RG |
37 | #:use-module (gnu packages base) |
38 | #:use-module (gnu packages documentation) | |
a37b8077 LC |
39 | #:use-module (gnu packages pkg-config) |
40 | #:use-module (gnu packages glib) | |
41 | #:use-module (gnu packages gtk) | |
42 | #:use-module (gnu packages gnome) | |
e55354b8 | 43 | #:use-module (gnu packages image) |
793bcc19 | 44 | #:use-module (gnu packages ghostscript) |
a37b8077 LC |
45 | #:use-module (gnu packages compression) |
46 | #:use-module (gnu packages xml) | |
61551868 | 47 | #:use-module (gnu packages pdf) |
a37b8077 | 48 | #:use-module (gnu packages photo) |
9c8bd626 | 49 | #:use-module (gnu packages python) |
657687d3 | 50 | #:use-module (gnu packages web) |
7988af99 | 51 | #:use-module (gnu packages xorg)) |
a37b8077 | 52 | |
64976b9b RG |
53 | (define-public poly2tri-c |
54 | (package | |
55 | (name "poly2tri-c") | |
56 | (version "0.1.0") | |
57 | (source | |
58 | (origin | |
59 | (method url-fetch) | |
60 | (uri | |
61 | (string-append "https://storage.googleapis.com/" | |
62 | "google-code-archive-source/v2/code.google.com/" | |
63 | "poly2tri-c/source-archive.zip")) | |
64 | (file-name | |
65 | (string-append name "-" version ".zip")) | |
66 | (sha256 | |
67 | (base32 "17cw0zhbnf2gb59jm26z0wcarqgdwir9jr1fpi3v9lcvyb2s3mqj")))) | |
68 | (build-system glib-or-gtk-build-system) | |
69 | (outputs '("out" "doc")) | |
70 | (arguments | |
71 | `(#:configure-flags | |
72 | (list | |
73 | "--disable-static") | |
74 | #:phases | |
75 | (modify-phases %standard-phases | |
76 | (add-after 'unpack 'disable-strict-rules | |
77 | (lambda _ | |
78 | (substitute* "configure.ac" | |
79 | (("\\$CFLAGS -Wall -ansi -pedantic") | |
80 | "$CFLAGS") | |
81 | (("\\$CFLAGS -Werror") | |
82 | "$CFLAGS")) | |
83 | #t)) | |
84 | (add-after 'disable-strict-rules 'fix-build-errors | |
85 | (lambda _ | |
86 | (substitute* "poly2tri-c/refine/Makefile.am" | |
87 | (("cdt.c") | |
88 | "rcdt.c") | |
89 | (("cdt.h") | |
90 | "rcdt.h") | |
91 | (("utils.c") | |
92 | "rutils.c") | |
93 | (("utils.h") | |
94 | "rutils.h")) | |
95 | #t)) | |
96 | (add-before 'bootstrap 'configure-later | |
97 | (lambda _ | |
98 | (setenv "NOCONFIGURE" "set") | |
99 | #t)) | |
100 | (add-after 'build 'generate-doc | |
101 | (lambda _ | |
102 | (invoke "doxygen") | |
103 | #t)) | |
104 | (add-after 'install 'install-doc | |
105 | (lambda* (#:key outputs #:allow-other-keys) | |
106 | (let* ((out (assoc-ref outputs "out")) | |
107 | (doc (assoc-ref outputs "doc"))) | |
108 | (copy-recursively | |
109 | "doc" | |
110 | (string-append doc "/share/doc/poly2tri-c")) | |
111 | #t)))))) | |
112 | (native-inputs | |
113 | `(("autoconf" ,autoconf) | |
114 | ("automake" ,automake) | |
115 | ("doxygen" ,doxygen) | |
116 | ("libtool" ,libtool) | |
117 | ("pkg-config" ,pkg-config) | |
118 | ("unzip" ,unzip) | |
119 | ("which" ,which))) | |
120 | (propagated-inputs | |
121 | `(("glib" ,glib))) | |
122 | (synopsis "2D constrained Delaunay triangulation library") | |
123 | (description "Poly2Tri-C is a library for generating, refining and rendering | |
124 | 2-Dimensional Constrained Delaunay Triangulations.") | |
125 | (home-page "https://code.google.com/archive/p/poly2tri-c/") | |
126 | (license license:bsd-3))) | |
127 | ||
a37b8077 LC |
128 | (define-public babl |
129 | (package | |
130 | (name "babl") | |
ee385c58 | 131 | (version "0.1.78") |
a37b8077 LC |
132 | (source (origin |
133 | (method url-fetch) | |
e70dc63a | 134 | (uri (list (string-append "https://download.gimp.org/pub/babl/" |
9d2e56d0 | 135 | (version-major+minor version) |
54a114db | 136 | "/babl-" version ".tar.xz") |
24d6cc1d | 137 | (string-append "https://ftp.gtk.org/pub/babl/" |
9d2e56d0 | 138 | (version-major+minor version) |
54a114db | 139 | "/babl-" version ".tar.xz") |
9d2e56d0 TGR |
140 | (string-append "ftp://ftp.gtk.org/pub/babl/" |
141 | (version-major+minor version) | |
54a114db | 142 | "/babl-" version ".tar.xz"))) |
a37b8077 LC |
143 | (sha256 |
144 | (base32 | |
ee385c58 | 145 | "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p")))) |
54a114db TGR |
146 | (build-system meson-build-system) |
147 | (arguments | |
148 | `(#:configure-flags | |
149 | (list "-Denable-gir=false"))) | |
150 | (native-inputs | |
151 | `(("pkg-config" ,pkg-config))) | |
152 | (propagated-inputs | |
153 | ;; Propagated to satisfy ‘babl.pc’. | |
154 | `(("lcms" ,lcms))) | |
a37b8077 LC |
155 | (home-page "http://gegl.org/babl/") |
156 | (synopsis "Image pixel format conversion library") | |
157 | (description | |
0c8ac76c TGR |
158 | "Babl is a dynamic, any-to-any pixel format translation library. |
159 | It allows converting between different methods of storing pixels, known as | |
160 | @dfn{pixel formats}, that have different bit depths and other data | |
161 | representations, color models, and component permutations. | |
a37b8077 LC |
162 | |
163 | A vocabulary to formulate new pixel formats from existing primitives is | |
0c8ac76c | 164 | provided, as well as a framework to add new color models and data types.") |
a37b8077 | 165 | (license license:lgpl3+))) |
12c0f32a JD |
166 | |
167 | (define-public gegl | |
168 | (package | |
169 | (name "gegl") | |
e76d1907 | 170 | (version "0.4.24") |
12c0f32a JD |
171 | (source (origin |
172 | (method url-fetch) | |
f62633ca | 173 | (uri (list (string-append "https://download.gimp.org/pub/gegl/" |
12c0f32a | 174 | (string-take version 3) |
bd70db6e TGR |
175 | "/gegl-" version ".tar.xz") |
176 | (string-append "https://ftp.gtk.org/pub/gegl/" | |
177 | (version-major+minor version) | |
178 | "/gegl-" version ".tar.xz") | |
179 | (string-append "ftp://ftp.gtk.org/pub/gegl/" | |
180 | (version-major+minor version) | |
181 | "/gegl-" version ".tar.xz"))) | |
12c0f32a JD |
182 | (sha256 |
183 | (base32 | |
e76d1907 | 184 | "0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp")))) |
51282524 | 185 | (build-system meson-build-system) |
12c0f32a | 186 | (arguments |
51282524 TGR |
187 | `(#:configure-flags |
188 | (list "-Dintrospection=false"))) | |
f62633ca LF |
189 | ;; These are propagated to satisfy 'gegl-0.4.pc'. |
190 | (propagated-inputs | |
12c0f32a JD |
191 | `(("babl" ,babl) |
192 | ("glib" ,glib) | |
f62633ca LF |
193 | ("json-glib" ,json-glib))) |
194 | (inputs | |
195 | `(("cairo" ,cairo) | |
12c0f32a JD |
196 | ("pango" ,pango) |
197 | ("libpng" ,libpng) | |
4bd428a7 | 198 | ("libjpeg" ,libjpeg-turbo))) |
12c0f32a JD |
199 | (native-inputs |
200 | `(("pkg-config" ,pkg-config) | |
9fd571a2 | 201 | ("glib" ,glib "bin") ; for gtester |
12c0f32a JD |
202 | ("intltool" ,intltool))) |
203 | (home-page "http://gegl.org") | |
204 | (synopsis "Graph based image processing framework") | |
205 | (description "GEGL (Generic Graphics Library) provides infrastructure to | |
206 | do demand based cached non destructive image editing on larger than RAM | |
207 | buffers.") | |
208 | ;; The library itself is licensed under LGPL while the sample commandline | |
209 | ;; application and GUI binary gegl is licensed under GPL. | |
210 | (license (list license:lgpl3+ license:gpl3+)))) | |
211 | ||
212 | (define-public gimp | |
213 | (package | |
214 | (name "gimp") | |
483ce0d3 | 215 | (version "2.10.20") |
12c0f32a JD |
216 | (source (origin |
217 | (method url-fetch) | |
9eecf9bc | 218 | (uri (string-append "https://download.gimp.org/pub/gimp/v" |
a5dd8db4 EF |
219 | (version-major+minor version) |
220 | "/gimp-" version ".tar.bz2")) | |
12c0f32a JD |
221 | (sha256 |
222 | (base32 | |
483ce0d3 | 223 | "0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1")))) |
12c0f32a | 224 | (build-system gnu-build-system) |
be4fbbe0 | 225 | (outputs '("out" |
b3450251 | 226 | "doc")) ; 9 MiB of gtk-doc HTML |
be4fbbe0 | 227 | (arguments |
cb4baa4d TGR |
228 | '(#:configure-flags |
229 | (list (string-append "--with-html-dir=" | |
230 | (assoc-ref %outputs "doc") | |
231 | "/share/gtk-doc/html") | |
27783023 | 232 | |
ef4c5a41 MB |
233 | ;; Prevent the build system from running 'gtk-update-icon-cache' |
234 | ;; which is not needed during the build because Guix runs it at | |
235 | ;; profile creation time. | |
236 | "ac_cv_path_GTK_UPDATE_ICON_CACHE=true" | |
27783023 | 237 | |
a7cc13ed JH |
238 | ;; Disable automatic network request on startup to check for |
239 | ;; version updates. | |
240 | "--disable-check-update" | |
27783023 | 241 | |
cb4baa4d TGR |
242 | ;; ./configure requests not to annoy upstream with packaging bugs. |
243 | "--with-bug-report-url=https://bugs.gnu.org/guix") | |
580dfc33 SB |
244 | #:phases |
245 | (modify-phases %standard-phases | |
246 | (add-after 'install 'install-sitecustomize.py | |
247 | ;; Install 'sitecustomize.py' into gimp's python directory to | |
248 | ;; add pygobject and pygtk to pygimp's search path. | |
249 | (lambda* (#:key outputs #:allow-other-keys) | |
250 | (let* ((pythonpath (getenv "PYTHONPATH")) | |
251 | (out (assoc-ref outputs "out")) | |
252 | (sitecustomize.py | |
253 | (string-append | |
254 | out "/lib/gimp/2.0/python/sitecustomize.py"))) | |
255 | (call-with-output-file sitecustomize.py | |
256 | (lambda (port) | |
257 | (format port "import site~%") | |
258 | (format port "for dir in '~a'.split(':'):~%" pythonpath) | |
259 | (format port " site.addsitedir(dir)~%"))))))))) | |
12c0f32a JD |
260 | (inputs |
261 | `(("babl" ,babl) | |
262 | ("glib" ,glib) | |
9eecf9bc | 263 | ("glib-networking" ,glib-networking) |
12c0f32a | 264 | ("libtiff" ,libtiff) |
5a8adc6d | 265 | ("libwebp" ,libwebp) |
4bd428a7 | 266 | ("libjpeg" ,libjpeg-turbo) |
12c0f32a | 267 | ("atk" ,atk) |
9eecf9bc | 268 | ("gexiv2" ,gexiv2) |
12c0f32a | 269 | ("gtk+" ,gtk+-2) |
9eecf9bc | 270 | ("libmypaint" ,libmypaint) |
db79c150 | 271 | ("mypaint-brushes" ,mypaint-brushes-1.3) |
c695fb76 TGR |
272 | ("exif" ,libexif) ; optional, EXIF + XMP support |
273 | ("lcms" ,lcms) ; optional, color management | |
274 | ("librsvg" ,librsvg) ; optional, SVG support | |
275 | ("poppler" ,poppler) ; optional, PDF support | |
9eecf9bc | 276 | ("poppler-data" ,poppler-data) |
c695fb76 TGR |
277 | ("python" ,python-2) ; optional, Python support |
278 | ("python2-pygtk" ,python2-pygtk) ; optional, Python support | |
12c0f32a JD |
279 | ("gegl" ,gegl))) |
280 | (native-inputs | |
9eecf9bc LF |
281 | `(("glib:bin" ,glib "bin") ; for glib-compile-resources and gdbus-codegen |
282 | ("pkg-config" ,pkg-config) | |
12c0f32a | 283 | ("intltool" ,intltool))) |
9eecf9bc | 284 | (home-page "https://www.gimp.org") |
66672a45 LC |
285 | (synopsis "GNU Image Manipulation Program") |
286 | (description | |
287 | "GIMP is an application for image manipulation tasks such as photo | |
288 | retouching, composition and authoring. It supports all common image formats | |
289 | as well as specialized ones. It features a highly customizable interface | |
290 | that is extensible via a plugin system.") | |
12c0f32a | 291 | (license license:gpl3+))) ; some files are lgplv3 |
1d6c6af0 RW |
292 | |
293 | (define-public gimp-fourier | |
294 | (package | |
295 | (name "gimp-fourier") | |
296 | (version "0.4.3-2") | |
297 | (source (origin | |
298 | (method url-fetch) | |
299 | (uri (string-append "http://registry.gimp.org/files/fourier-" | |
300 | version ".tar.gz")) | |
301 | (sha256 | |
302 | (base32 | |
303 | "1rpacyad678lqgxa3hh2n0zpg4azs8dpa8q079bqsl12812k9184")))) | |
304 | (build-system gnu-build-system) | |
305 | (arguments | |
306 | `(#:tests? #f ;no tests | |
307 | #:phases | |
308 | (modify-phases %standard-phases | |
b2086776 RW |
309 | ;; FIXME: The gegl package only installs "gegl-0.4.pc", but |
310 | ;; "gimp-2.0.pc" requires "gegl-0.3.pc", so we just copy it. | |
311 | (replace 'configure | |
312 | (lambda* (#:key inputs #:allow-other-keys) | |
313 | (mkdir-p "tmppkgconfig") | |
314 | (copy-file (string-append (assoc-ref inputs "gegl") | |
315 | "/lib/pkgconfig/gegl-0.4.pc") | |
316 | "tmppkgconfig/gegl-0.3.pc") | |
317 | (setenv "PKG_CONFIG_PATH" | |
318 | (string-append "tmppkgconfig:" | |
319 | (or (getenv "PKG_CONFIG_PATH") ""))) | |
320 | #t)) | |
1d6c6af0 RW |
321 | (add-after 'unpack 'set-prefix |
322 | (lambda* (#:key outputs #:allow-other-keys) | |
323 | ;; gimptool-2.0 does not allow us to install to any target | |
324 | ;; directory. | |
325 | (let ((target (string-append (assoc-ref outputs "out") | |
326 | "/lib/gimp/" | |
327 | (car (string-split ,(package-version gimp) #\.)) | |
328 | ".0/plug-ins"))) | |
329 | (substitute* "Makefile" | |
330 | (("\\$\\(PLUGIN_INSTALL\\) fourier") | |
331 | (string-append "cp fourier " target))) | |
332 | (mkdir-p target)) | |
333 | #t))))) | |
334 | (inputs | |
335 | `(("fftw" ,fftw) | |
336 | ("gimp" ,gimp) | |
337 | ;; needed by gimp-2.0.pc | |
338 | ("gdk-pixbuf" ,gdk-pixbuf) | |
b2086776 | 339 | ("gegl" ,gegl) |
1d6c6af0 RW |
340 | ("cairo" ,cairo) |
341 | ("glib" ,glib) | |
342 | ;; needed by gimpui-2.0.pc | |
343 | ("gtk+" ,gtk+-2))) | |
344 | (native-inputs | |
345 | `(("pkg-config" ,pkg-config))) | |
84877c8a | 346 | (home-page "https://www.lprp.fr/gimp_plugin_en/#fourier") |
1d6c6af0 RW |
347 | (synopsis "GIMP plug-in to edit image in fourier space") |
348 | (description | |
349 | "This package provides a simple plug-in to apply the fourier transform on | |
350 | an image, allowing you to work with the transformed image inside GIMP. You | |
351 | can draw or apply filters in fourier space and get the modified image with an | |
352 | inverse fourier transform.") | |
353 | (license license:gpl3+))) | |
657687d3 LF |
354 | |
355 | (define-public libmypaint | |
356 | (package | |
357 | (name "libmypaint") | |
ec37ff19 | 358 | (version "1.5.1") |
657687d3 LF |
359 | (source (origin |
360 | (method url-fetch) | |
361 | (uri (string-append "https://github.com/mypaint/libmypaint/" | |
362 | "releases/download/v" version "/libmypaint-" | |
363 | version ".tar.xz")) | |
364 | (sha256 | |
365 | (base32 | |
ec37ff19 | 366 | "0aqcv4fyscpfhknxgfpq0v84aj2nzigqvpi4zgv2zkl41h51by5f")))) |
657687d3 LF |
367 | (build-system gnu-build-system) |
368 | (native-inputs | |
369 | `(("intltool" ,intltool) | |
370 | ("pkg-config" ,pkg-config))) | |
371 | ;; As needed by 'libmypaint.pc'. | |
372 | (propagated-inputs | |
373 | `(("json-c" ,json-c) | |
374 | ("gobject-introspection" ,gobject-introspection))) | |
375 | (inputs | |
376 | `(("glib" ,glib))) | |
377 | (synopsis "Artistic brushes library") | |
378 | (description "Libmypaint, also called \"brushlib\", is a library for making | |
379 | brushstrokes which is used by MyPaint and GIMP.") | |
380 | (home-page "http://mypaint.org") | |
381 | (license license:isc))) | |
4b5c056a LF |
382 | |
383 | (define-public mypaint-brushes | |
384 | (package | |
385 | (name "mypaint-brushes") | |
db79c150 NG |
386 | (version "2.0.2") |
387 | (source | |
388 | (origin | |
389 | (method git-fetch) | |
390 | (uri (git-reference | |
b0e7b699 | 391 | (url "https://github.com/mypaint/mypaint-brushes") |
db79c150 NG |
392 | (commit (string-append "v" version)))) |
393 | (file-name (git-file-name name version)) | |
394 | (sha256 | |
395 | (base32 "0kcqz13vzpy24dhmrx9hbs6s7hqb8y305vciznm15h277sabpmw9")))) | |
4b5c056a | 396 | (build-system gnu-build-system) |
4b5c056a LF |
397 | (native-inputs |
398 | `(("autoconf" ,autoconf) | |
399 | ("automake" ,automake))) | |
400 | (synopsis "Default brushes for MyPaint") | |
401 | (description "This package provides the default set of brushes for | |
402 | MyPaint.") | |
db79c150 NG |
403 | (home-page "https://github.com/mypaint/mypaint-brushes/") |
404 | ;; Scripts are distributed under GPL2+ terms, brushes are provided as | |
405 | ;; public domain or under CC0 terms. | |
406 | (license (list license:gpl2+ license:cc0 license:public-domain)))) | |
407 | ||
408 | (define-public mypaint-brushes-1.3 | |
409 | (package | |
410 | (inherit mypaint-brushes) | |
411 | (name "mypaint-brushes") | |
412 | (version "1.3.1") | |
413 | (source | |
414 | (origin | |
415 | (method git-fetch) | |
416 | (uri (git-reference | |
b0e7b699 | 417 | (url "https://github.com/mypaint/mypaint-brushes") |
db79c150 NG |
418 | (commit (string-append "v" version)))) |
419 | (file-name (git-file-name name version)) | |
420 | (sha256 | |
421 | (base32 "1c95l1vfz7sbrdlzrbz7h1p6s1k113kyjfd9wfnxlm0p6562cz3j")))))) | |
65b8d610 TW |
422 | |
423 | (define-public gimp-resynthesizer | |
424 | ;; GIMP does not respect any plugin search path environment variable, so after | |
425 | ;; installation users have to edit their GIMP settings to include | |
426 | ;; "$HOME/.guix-profile/lib/gimp/2.0/plug-ins/" in | |
427 | ;; “Edit->Preferences->Folders->Plug Ins”. | |
428 | (package | |
429 | (name "gimp-resynthesizer") | |
430 | (version "2.0.3") | |
431 | (source | |
432 | (origin | |
48e961a5 EF |
433 | (method git-fetch) |
434 | (uri (git-reference | |
435 | (url "https://github.com/bootchk/resynthesizer") | |
436 | (commit (string-append "v" version)))) | |
65b8d610 TW |
437 | (sha256 |
438 | (base32 | |
48e961a5 EF |
439 | "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j")) |
440 | (file-name (git-file-name name version)))) | |
65b8d610 TW |
441 | (build-system gnu-build-system) |
442 | (arguments | |
443 | `( ;; Turn off tests to avoid: | |
444 | ;; make[1]: *** No rule to make target '../src/resynth-gui.c', needed by 'resynthesizer.pot'. Stop. | |
445 | #:tests? #f | |
446 | #:phases | |
447 | (modify-phases %standard-phases | |
48e961a5 EF |
448 | (add-after 'unpack 'set-env |
449 | (lambda _ | |
450 | (setenv "CONFIG_SHELL" (which "sh")) | |
451 | #t)) | |
452 | (add-after 'configure 'set-prefix | |
65b8d610 TW |
453 | ;; Install plugin under $prefix, not under GIMP's libdir. |
454 | (lambda* (#:key outputs #:allow-other-keys) | |
455 | (let ((target (string-append (assoc-ref outputs "out") | |
456 | "/lib/gimp/" | |
457 | ,(version-major | |
458 | (package-version gimp)) | |
459 | ".0"))) | |
460 | (substitute* (list "src/resynthesizer/Makefile" | |
48e961a5 EF |
461 | "src/resynthesizer-gui/Makefile") |
462 | (("GIMP_LIBDIR = .*") | |
65b8d610 TW |
463 | (string-append "GIMP_LIBDIR = " target "\n"))) |
464 | (mkdir-p target) | |
465 | #t)))))) | |
466 | (native-inputs | |
467 | `(("autoconf" ,autoconf-wrapper) | |
468 | ("automake" ,automake) | |
469 | ("glib" ,glib "bin") ; glib-gettextize | |
470 | ("intltool" ,intltool) | |
471 | ("pkg-config" ,pkg-config))) | |
472 | (inputs | |
473 | `(("gimp" ,gimp) | |
474 | ("gdk-pixbuf" ,gdk-pixbuf) ; needed by gimp-2.0.pc | |
475 | ("cairo" ,cairo) | |
476 | ("gegl" ,gegl) | |
477 | ("gtk+" ,gtk+-2) ; needed by gimpui-2.0.pc | |
478 | ("glib" ,glib))) | |
479 | (home-page "https://github.com/bootchk/resynthesizer") | |
480 | (synopsis "GIMP plugins for texture synthesis") | |
481 | (description | |
482 | "This package provides resynthesizer plugins for GIMP, which encompasses | |
483 | tools for healing selections (content-aware fill), enlarging the canvas and | |
484 | healing the border, increasing the resolution while adding detail, and | |
f714bb3d | 485 | transferring the style of an image.") |
65b8d610 | 486 | (license license:gpl3+))) |