gnu: Fix descriptions to not use quotes.
[jackhill/guix/guix.git] / gnu / packages / image.scm
CommitLineData
e55354b8 1;;; GNU Guix --- Functional package management for GNU
0b8e89f6 2;;; Copyright © 2013, 2017 Ludovic Courtès <ludo@gnu.org>
451b5c5d 3;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
86fa2ea9 4;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
85a02905 5;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
e32db0fa 6;;; Copyright © 2014, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
0731a47c 7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
fcc43c1f 8;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
21122bd7 9;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
bc806b0c 10;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
cd5e0843 11;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
10db6778 12;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
1fa3e336 13;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
2235abb2 14;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
3c8ba11a 15;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
47956fa0 16;;; Copyright © 2017 ng0 <ng0@n0.is>
2f8b9c46 17;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
f2079849 18;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
da4dde61 19;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
62813c10 20;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
4715f92e 21;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
910a20e2 22;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
3239dcd3 23;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
6e35bad0 24;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
0290f533 25;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
e55354b8
DT
26;;;
27;;; This file is part of GNU Guix.
28;;;
29;;; GNU Guix is free software; you can redistribute it and/or modify it
30;;; under the terms of the GNU General Public License as published by
31;;; the Free Software Foundation; either version 3 of the License, or (at
32;;; your option) any later version.
33;;;
34;;; GNU Guix is distributed in the hope that it will be useful, but
35;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37;;; GNU General Public License for more details.
38;;;
39;;; You should have received a copy of the GNU General Public License
40;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42(define-module (gnu packages image)
43 #:use-module (gnu packages)
97039f6e 44 #:use-module (gnu packages algebra)
37e05d64 45 #:use-module (gnu packages assembly)
894e2cba 46 #:use-module (gnu packages autotools)
97039f6e 47 #:use-module (gnu packages boost)
ac257f12 48 #:use-module (gnu packages check)
3239dcd3 49 #:use-module (gnu packages curl)
e55354b8 50 #:use-module (gnu packages compression)
99828fa7 51 #:use-module (gnu packages documentation)
efa77baf 52 #:use-module (gnu packages fontutils)
0290f533 53 #:use-module (gnu packages freedesktop)
0bd1097c
LF
54 ;; To provide gcc@5 and gcc@6, to work around <http://bugs.gnu.org/24703>.
55 #:use-module (gnu packages gcc)
1fa3e336 56 #:use-module (gnu packages gettext)
97039f6e 57 #:use-module (gnu packages ghostscript)
060ad3de 58 #:use-module (gnu packages gl)
023f0fb0 59 #:use-module (gnu packages glib)
ced7cc92 60 #:use-module (gnu packages graphics)
f2079849
JL
61 #:use-module (gnu packages gtk)
62 #:use-module (gnu packages lua)
0290f533 63 #:use-module (gnu packages man)
97039f6e 64 #:use-module (gnu packages maths)
1fa3e336 65 #:use-module (gnu packages mcrypt)
97039f6e 66 #:use-module (gnu packages perl)
a5d4c96b 67 #:use-module (gnu packages photo)
efa77baf 68 #:use-module (gnu packages pkg-config)
97039f6e 69 #:use-module (gnu packages python)
44d10b1f 70 #:use-module (gnu packages python-xyz)
efa77baf 71 #:use-module (gnu packages xml)
76d88cfa 72 #:use-module (gnu packages xorg)
84567657 73 #:use-module (gnu packages qt)
b5b73a82 74 #:use-module ((guix licenses) #:prefix license:)
e55354b8
DT
75 #:use-module (guix packages)
76 #:use-module (guix download)
ac2a38a5 77 #:use-module (guix git-download)
38c55e5c 78 #:use-module (guix build-system gnu)
e596ab0f 79 #:use-module (guix build-system cmake)
0290f533 80 #:use-module (guix build-system meson)
f2079849 81 #:use-module (guix build-system python)
eb60149e 82 #:use-module (guix build-system r)
2235abb2 83 #:use-module (guix build-system scons)
e596ab0f 84 #:use-module (srfi srfi-1))
e55354b8
DT
85
86(define-public libpng
87 (package
88 (name "libpng")
f19d9db5 89 (version "1.6.34")
e55354b8
DT
90 (source (origin
91 (method url-fetch)
a2f3c614 92 (uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
21ef9843
MW
93 version "/libpng-" version ".tar.xz")
94 (string-append
95 "ftp://ftp.simplesystems.org/pub/libpng/png/src"
913059a1
EF
96 "/libpng16/libpng-" version ".tar.xz")
97 (string-append
98 "ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
99 "/libpng16/libpng-" version ".tar.xz")))
e55354b8 100 (sha256
8fda37bc 101 (base32
f19d9db5 102 "1xjr0v34fyjgnhvaa1zixcpx5yvxcg4zwvfh0fyklfyfj86rc7ig"))))
e55354b8
DT
103 (build-system gnu-build-system)
104
105 ;; libpng.la says "-lz", so propagate it.
106 (propagated-inputs `(("zlib" ,zlib)))
107
108 (synopsis "Library for handling PNG files")
109 (description
110 "Libpng is the official PNG (Portable Network Graphics) reference
35b9e423 111library. It supports almost all PNG features and is extensible.")
e55354b8
DT
112 (license license:zlib)
113 (home-page "http://www.libpng.org/pub/png/libpng.html")))
114
e0958c2d 115;; libpng-apng should be updated when the APNG patch is released:
116;; <https://bugs.gnu.org/27556>
114a325e 117(define-public libpng-apng
118 (package
114a325e 119 (name "libpng-apng")
e0958c2d 120 (version "1.6.28")
121 (source
122 (origin
123 (method url-fetch)
124 (uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
125 version "/libpng-" version ".tar.xz")
126 (string-append
127 "ftp://ftp.simplesystems.org/pub/libpng/png/src"
128 "/libpng16/libpng-" version ".tar.xz")
129 (string-append
130 "ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
131 "/libpng16/libpng-" version ".tar.xz")))
132 (sha256
133 (base32
134 "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nxmwsfyrlyq"))))
135 (build-system gnu-build-system)
114a325e 136 (arguments
696f1d0f
LF
137 `(#:modules ((guix build gnu-build-system)
138 (guix build utils)
139 (srfi srfi-1))
140 #:phases
114a325e 141 (modify-phases %standard-phases
142 (add-after 'unpack 'patch-apng
143 (lambda* (#:key inputs #:allow-other-keys)
144 (define (apply-patch file)
fccacffb
MW
145 (invoke "patch" "-p1" "--force"
146 "--input" file))
114a325e 147 (let ((apng.gz (assoc-ref inputs "apng")))
148 (format #t "Applying APNG patch '~a'...~%"
149 apng.gz)
fccacffb
MW
150 (invoke "sh" "-c"
151 (string-append "gunzip < " apng.gz " > the-patch"))
152 (apply-patch "the-patch")
153 #t)))
114a325e 154 (add-before 'configure 'no-checks
155 (lambda _
156 (substitute* "Makefile.in"
157 (("^scripts/symbols.chk") "")
158 (("check: scripts/symbols.chk") ""))
114a325e 159 #t)))))
160 (inputs
161 `(("apng" ,(origin
162 (method url-fetch)
163 (uri
164 (string-append "mirror://sourceforge/libpng-apng/libpng16/"
165 version "/libpng-" version "-apng.patch.gz"))
166 (sha256
167 (base32
e0958c2d 168 "0m5nv70n9903x3xzxw9qqc6sgf2rp106ha0x6gix0xf8wcrljaab"))))))
114a325e 169 (native-inputs
170 `(("libtool" ,libtool)))
e0958c2d 171 ;; libpng.la says "-lz", so propagate it.
172 (propagated-inputs
173 `(("zlib" ,zlib)))
114a325e 174 (synopsis "APNG patch for libpng")
175 (description
176 "APNG (Animated Portable Network Graphics) is an unofficial
177extension of the APNG (Portable Network Graphics) format.
178APNG patch provides APNG support to libpng.")
e0958c2d 179 (home-page "https://sourceforge.net/projects/libpng-apng/")
180 (license license:zlib)))
114a325e 181
2df831a7
RW
182(define-public libpng-1.2
183 (package
184 (inherit libpng)
6cdd8c97 185 (version "1.2.59")
2df831a7
RW
186 (source
187 (origin
188 (method url-fetch)
2df831a7
RW
189 (uri (list (string-append "mirror://sourceforge/libpng/libpng12/"
190 version "/libpng-" version ".tar.xz")
191 (string-append
192 "ftp://ftp.simplesystems.org/pub/libpng/png/src"
913059a1
EF
193 "/libpng12/libpng-" version ".tar.xz")
194 (string-append
195 "ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
2df831a7
RW
196 "/libpng12/libpng-" version ".tar.xz")))
197 (sha256
6cdd8c97
LF
198 (base32
199 "1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl"))))))
2df831a7 200
1ee13e01 201(define-public pngcrush
2f8b9c46 202 (package
1ee13e01 203 (name "pngcrush")
204 (version "1.8.13")
2f8b9c46
HG
205 (source (origin
206 (method url-fetch)
207 (uri (string-append "mirror://sourceforge/pmt/pngcrush/"
1ee13e01 208 version "/pngcrush-" version "-nolib.tar.xz"))
2f8b9c46 209 (sha256 (base32
1ee13e01 210 "0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv"))))
2f8b9c46
HG
211 (build-system gnu-build-system)
212 (arguments
1ee13e01 213 '(#:tests? #f ; no check target
2f8b9c46
HG
214 #:phases
215 (modify-phases %standard-phases
216 (replace 'configure
217 (lambda* (#:key inputs outputs #:allow-other-keys)
1ee13e01 218 (substitute* "Makefile"
2f8b9c46
HG
219 (("^(PNG(INC|LIB) = )/usr/local/" line vardef)
220 (string-append vardef (assoc-ref inputs "libpng") "/"))
221 (("^(Z(INC|LIB) = )/usr/local/" line vardef)
222 (string-append vardef (assoc-ref inputs "zlib") "/"))
223 ;; The Makefile is written by hand and not using $PREFIX
224 (("\\$\\(DESTDIR\\)/usr/")
fccacffb
MW
225 (string-append (assoc-ref outputs "out") "/")))
226 #t)))))
2f8b9c46
HG
227 (inputs
228 `(("libpng" ,libpng)
229 ("zlib" , zlib)))
1ee13e01 230 (home-page "https://pmt.sourceforge.io/pngcrush")
2f8b9c46
HG
231 (synopsis "Utility to compress PNG files")
232 (description "pngcrusqh is an optimizer for PNG (Portable Network Graphics)
233files. It can compress them as much as 40% losslessly.")
234 (license license:zlib)))
235
1ee13e01 236(define-public pngcrunch
237 ;; This package used to be wrongfully name "pngcrunch".
238 (deprecated-package "pngcrunch" pngcrush))
239
6e35bad0
AV
240(define-public pnglite
241 (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38")
242 (revision "1"))
243 (package
244 (name "pnglite")
245 ;; The project was moved from sourceforge to github.
246 ;; The latest version in sourceforge was 0.1.17:
247 ;; https://sourceforge.net/projects/pnglite/files/pnglite/
248 ;; No releases are made in github.
249 (version (git-version "0.1.17" revision commit))
250 (source (origin
251 (method git-fetch)
252 (uri (git-reference
253 (url "https://github.com/dankar/pnglite")
254 (commit commit)))
255 (sha256
256 (base32
257 "1lmmkdxby5b8z9kx3zrpgpk33njpcf2xx8z9bgqag855sjsqbbby"))
258 (file-name (git-file-name name version))))
259 (build-system gnu-build-system)
260 (arguments
261 `(#:tests? #f ; no tests
262 #:phases
263 (modify-phases %standard-phases
264 (delete 'configure)
265 (replace 'build
266 (lambda _
267 ;; common build flags for building shared libraries
268 (let ((cflags '("-O2" "-g" "-fPIC"))
269 (ldflags '("-shared")))
270 (apply invoke
271 `("gcc"
272 "-o" "libpnglite.so"
273 ,@cflags
274 ,@ldflags
275 "pnglite.c"))
276 #t)))
277 (replace 'install
278 (lambda* (#:key outputs #:allow-other-keys)
279 (let* ((out (assoc-ref outputs "out"))
280 (lib (string-append out "/lib/"))
281 (include (string-append out "/include/"))
282 (doc (string-append out "/share/doc/"
283 ,name "-" ,version "/")))
284 (install-file "libpnglite.so" lib)
285 (install-file "pnglite.h" include)
286 (install-file "README.md" doc)
287 #t))))))
288 (inputs `(("zlib" ,zlib)))
289 (home-page "https://github.com/dankar/pnglite")
290 (synopsis "Pretty small png library")
291 (description "A pretty small png library.
292Currently all documentation resides in @file{pnglite.h}.")
293 (license license:zlib))))
294
e55354b8
DT
295(define-public libjpeg
296 (package
297 (name "libjpeg")
38e4d595 298 (version "9c")
e55354b8
DT
299 (source (origin
300 (method url-fetch)
60562ec2 301 (uri (string-append "https://www.ijg.org/files/jpegsrc.v"
e55354b8
DT
302 version ".tar.gz"))
303 (sha256 (base32
38e4d595 304 "08kixcf3a7s9x91174abjnk1xbvj4v8crdc73zi4k9h3jfbm00k5"))))
e55354b8 305 (build-system gnu-build-system)
35b9e423 306 (synopsis "Library for handling JPEG files")
e55354b8
DT
307 (description
308 "Libjpeg implements JPEG image encoding, decoding, and transcoding.
309JPEG is a standardized compression method for full-color and gray-scale
310images.
61853b74
MC
311It also includes programs that provide conversion between the JPEG format and
312image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats, as well as
313lossless JPEG manipulations such as rotation, scaling or cropping:
314@enumerate
315@item cjpeg
316@item djpeg
317@item jpegtran
318@item rdjpgcom
319@item wrjpgcom
320@end enumerate")
e55354b8 321 (license license:ijg)
60562ec2 322 (home-page "https://www.ijg.org/")))
e55354b8
DT
323
324(define-public libjpeg-8
325 (package (inherit libjpeg)
326 (version "8d")
327 (source (origin
328 (method url-fetch)
60562ec2 329 (uri (string-append "https://www.ijg.org/files/jpegsrc.v"
e55354b8
DT
330 version ".tar.gz"))
331 (sha256 (base32
332 "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
fcc43c1f 333
b81245cc
KK
334(define-public libjxr
335 (package
336 (name "libjxr")
337 (version "1.1")
338 (source (origin
339 ;; We are using the Debian source because CodePlex does not
340 ;; deliver an easily downloadable tarball.
341 (method url-fetch)
342 (uri (string-append "mirror://debian/pool/main/j/jxrlib/jxrlib_"
343 version ".orig.tar.gz"))
344 (sha256
345 (base32
346 "00w3f3cmjsm3fiaxq5mxskmp5rl3mki8psrf9y8s1vqbg237na67"))
347 (patch-flags '("-p1" "--binary"))
348 (patches (search-patches "libjxr-fix-function-signature.patch"
349 "libjxr-fix-typos.patch"))))
350 (build-system gnu-build-system)
351 (arguments '(#:make-flags '("CC=gcc")
352 #:tests? #f ; no check target
353 #:phases
354 (modify-phases %standard-phases
355 (delete 'configure) ; no configure script
356 ;; The upstream makefile does not include an install phase.
357 (replace 'install
358 (lambda* (#:key outputs #:allow-other-keys)
359 (let* ((out (assoc-ref outputs "out"))
360 (bin (string-append out "/bin"))
361 (lib (string-append out "/lib"))
362 (include (string-append out "/include/jxrlib")))
363 (for-each (lambda (file)
364 (install-file file include)
365 (delete-file file))
366 (append
367 '("jxrgluelib/JXRGlue.h"
368 "jxrgluelib/JXRMeta.h"
369 "jxrtestlib/JXRTest.h"
370 "image/sys/windowsmediaphoto.h")
371 (find-files "common/include" "\\.h$")))
372 (for-each (lambda (file)
373 (install-file file lib)
374 (delete-file file))
375 (find-files "." "\\.a$"))
376 (for-each (lambda (file)
377 (install-file file bin)
378 (delete-file file))
379 '("JxrDecApp" "JxrEncApp")))
380 #t)))))
381 (synopsis "Implementation of the JPEG XR standard")
382 (description "JPEG XR is an approved ISO/IEC International standard (its
383official designation is ISO/IEC 29199-2). This library is an implementation of that standard.")
384 (license
385 (license:non-copyleft
386 "file://Makefile"
387 "See the header of the Makefile in the distribution."))
388 (home-page "https://jxrlib.codeplex.com/")))
389
fcc43c1f
AB
390(define-public jpegoptim
391 (package
392 (name "jpegoptim")
b01a8790 393 (version "1.4.6")
fcc43c1f
AB
394 (source (origin
395 (method url-fetch)
396 (uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-"
397 version ".tar.gz"))
398 (sha256 (base32
b01a8790 399 "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8"))))
fcc43c1f
AB
400 (build-system gnu-build-system)
401 (inputs `(("libjpeg" ,libjpeg)))
402 (arguments
b01a8790 403 '(#:tests? #f)) ; no tests
fcc43c1f
AB
404 (synopsis "Optimize JPEG images")
405 (description
406 "jpegoptim provides lossless optimization (based on optimizing
407the Huffman tables) and \"lossy\" optimization based on setting
408maximum quality factor.")
409 (license license:gpl2+)
ada3b94f 410 (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
e55354b8 411
f5e4229a
BT
412(define-public libicns
413 (package
414 (name "libicns")
415 (version "0.8.1")
416 (source (origin
417 (method url-fetch)
418 (uri (string-append
419 "mirror://sourceforge/icns/"
420 "libicns-" version ".tar.gz"))
421 (sha256
422 (base32
423 "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"))))
424 (build-system gnu-build-system)
425 (inputs
426 `(("libpng" ,libpng)
427 ("jasper" ,jasper)))
428 (arguments
429 `(#:tests? #t)) ; No tests.
430 (home-page "http://icns.sourceforge.net/")
431 (synopsis "Library for handling Mac OS icns resource files")
432 (description
433 "Libicns is a library for the manipulation of Mac OS IconFamily resource
434type files (ICNS). @command{icns2png} and @command{png2icns} are provided to
435convert between PNG and ICNS. @command{icns2png} will extract image files from
436ICNS files under names like \"Foo_48x48x32.png\" useful for installing for use
437with .desktop files. Additionally, @command{icontainer2png} is provided for
438extracting icontainer icon files.")
439 (license (list license:lgpl2.1+ ; libicns
440 license:lgpl2.0+ ; src/apidocs.*
441 license:gpl2+)))) ; icns2png, png2icns, icontainer2png
442
e55354b8
DT
443(define-public libtiff
444 (package
445 (name "libtiff")
3f2848a5 446 (version "4.0.10")
c8eb2b8c
LF
447 (source
448 (origin
449 (method url-fetch)
9d7d8e71 450 (uri (string-append "http://download.osgeo.org/libtiff/tiff-"
c8eb2b8c 451 version ".tar.gz"))
c8eb2b8c
LF
452 (sha256
453 (base32
3f2848a5 454 "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic"))))
e55354b8 455 (build-system gnu-build-system)
6f6eb857
LC
456 (outputs '("out"
457 "doc")) ;1.3 MiB of HTML documentation
458 (arguments
459 ;; Instead of using --docdir, this package has its own --with-docdir.
460 `(#:configure-flags (list (string-append "--with-docdir="
461 (assoc-ref %outputs "doc")
462 "/share/doc/"
463 ,name "-" ,version))))
e55354b8 464 (inputs `(("zlib" ,zlib)
1de0afd5 465 ("libjpeg" ,libjpeg)))
35b9e423 466 (synopsis "Library for handling TIFF files")
e55354b8
DT
467 (description
468 "Libtiff provides support for the Tag Image File Format (TIFF), a format
469used for storing image data.
470Included are a library, libtiff, for reading and writing TIFF and a small
471collection of tools for doing simple manipulations of TIFF images.")
166191b3
LC
472 (license (license:non-copyleft "file://COPYRIGHT"
473 "See COPYRIGHT in the distribution."))
0bd1097c 474 (home-page "http://www.simplesystems.org/libtiff/")))
ed5940b6 475
894e2cba
TUBK
476(define-public leptonica
477 (package
478 (name "leptonica")
340502ba 479 (version "1.74.4")
894e2cba
TUBK
480 (source
481 (origin
69f7d3f4
RW
482 (method git-fetch)
483 (uri (git-reference
484 (url "https://github.com/DanBloomberg/leptonica.git")
485 (commit version)))
486 (file-name (git-file-name name version))
894e2cba 487 (sha256
69f7d3f4 488 (base32 "0sfg1ky0lghlq7xx0qii5167bim0wwfnnr83dl4skbj9awyvjiwi"))))
894e2cba
TUBK
489 (build-system gnu-build-system)
490 (native-inputs
d02fb7ce
TUBK
491 `(("gnuplot" ,gnuplot) ;needed for test suite
492 ("autoconf" ,autoconf)
493 ("automake" ,automake)
494 ("libtool" ,libtool)
495 ("pkg-config" ,pkg-config)))
894e2cba
TUBK
496 (inputs
497 `(("giflib" ,giflib)
498 ("libjpeg" ,libjpeg)
499 ("libpng" ,libpng)
500 ("libtiff" ,libtiff)
501 ("libwebp" ,libwebp)))
502 (propagated-inputs
d02fb7ce 503 ;; Linking a program with leptonica also requires these.
894e2cba
TUBK
504 `(("openjpeg" ,openjpeg)
505 ("zlib" ,zlib)))
506 (arguments
d02fb7ce 507 '(#:phases
894e2cba 508 (modify-phases %standard-phases
d02fb7ce
TUBK
509 (add-after 'unpack 'autogen
510 (lambda _
fccacffb 511 (invoke "sh" "autobuild")))
d02fb7ce
TUBK
512 (add-after 'unpack 'patch-reg-wrapper
513 (lambda _
514 (substitute* "prog/reg_wrapper.sh"
515 ((" /bin/sh ")
516 (string-append " " (which "sh") " "))
517 (("which gnuplot")
fccacffb
MW
518 "true"))
519 #t)))))
894e2cba
TUBK
520 (home-page "http://www.leptonica.com/")
521 (synopsis "Library and tools for image processing and analysis")
522 (description
523 "Leptonica is a C library and set of command-line tools for efficient
524image processing and image analysis operations. It supports rasterop, affine
525transformations, binary and grayscale morphology, rank order, and convolution,
526seedfill and connected components, image transformations combining changes in
527scale and pixel depth, and pixelwise masking, blending, enhancement, and
528arithmetic ops.")
529 (license license:bsd-2)))
530
8d9872b5
MB
531(define-public jbig2dec
532 (package
533 (name "jbig2dec")
fb94354a
MB
534 (version "0.15")
535 (source (origin
536 (method url-fetch)
537 (uri (string-append "https://github.com/ArtifexSoftware"
538 "/ghostpdl-downloads/releases/download"
539 "/gs924/" name "-" version ".tar.gz"))
540 (sha256
541 (base32
542 "0m1qwpbjbirgw2fqznbajdhdhh35d6xa2csr64lpjz735pvimykb"))
543 (patches (search-patches "jbig2dec-ignore-testtest.patch"))))
8d9872b5 544 (build-system gnu-build-system)
5e537222 545 (arguments '(#:configure-flags '("--disable-static")))
8d9872b5
MB
546 (synopsis "Decoder of the JBIG2 image compression format")
547 (description
36a4366d 548 "JBIG2 is designed for lossy or lossless encoding of @code{bilevel} (1-bit
7c125ce0
AK
549monochrome) images at moderately high resolution, and in particular scanned
550paper documents. In this domain it is very efficient, offering compression
551ratios on the order of 100:1.
8d9872b5
MB
552
553This is a decoder only implementation, and currently is in the alpha
554stage, meaning it doesn't completely work yet. However, it is
555maintaining parity with available encoders, so it is useful for real
556work.")
6acc671b 557 (home-page "https://jbig2dec.com")
8d9872b5 558 (license license:gpl2+)))
38c55e5c
MB
559
560(define-public openjpeg
561 (package
562 (name "openjpeg")
3f697ff2 563 (version "2.3.0")
38c55e5c
MB
564 (source
565 (origin
566 (method url-fetch)
567 (uri
876d80d4
LF
568 (string-append "https://github.com/uclouvain/openjpeg/archive/v"
569 version ".tar.gz"))
570 (file-name (string-append name "-" version ".tar.gz"))
38c55e5c 571 (sha256
876d80d4 572 (base32
3f697ff2 573 "06npqzkg20avnygdwaqpap91r7qpdqgrn39adj2bl8v0pg0qgirx"))))
38c55e5c
MB
574 (build-system cmake-build-system)
575 (arguments
576 ;; Trying to run `$ make check' results in a no rule fault.
577 '(#:tests? #f))
578 (inputs
579 `(("lcms" ,lcms)
580 ("libpng" ,libpng)
581 ("libtiff" ,libtiff)
582 ("zlib" ,zlib)))
583 (synopsis "JPEG 2000 codec")
584 (description
585 "The OpenJPEG library is a JPEG 2000 codec written in C. It has
586been developed in order to promote the use of JPEG 2000, the new
587still-image compression standard from the Joint Photographic Experts
588Group (JPEG).
589
590In addition to the basic codec, various other features are under
591development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,
592an indexing tool useful for the JPIP protocol, JPWL-tools for
593error-resilience, a Java-viewer for j2k-images, ...")
b9270582 594 (home-page "https://github.com/uclouvain/openjpeg")
38c55e5c 595 (license license:bsd-2)))
76d88cfa 596
6140b9d8
RW
597(define-public openjpeg-1
598 (package (inherit openjpeg)
599 (name "openjpeg")
600 (version "1.5.2")
601 (source
602 (origin
603 (method url-fetch)
604 (uri
de67e922
LF
605 (string-append "mirror://sourceforge/openjpeg.mirror/" version "/"
606 name "-" version ".tar.gz"))
6140b9d8
RW
607 (sha256
608 (base32 "11waq9w215zvzxrpv40afyd18qf79mxc28fda80bm3ax98cpppqm"))))))
609
e596ab0f
AK
610(define-public giflib
611 (package
612 (name "giflib")
3fdb2a84 613 (version "5.1.4")
e596ab0f
AK
614 (source (origin
615 (method url-fetch)
616 (uri (string-append "mirror://sourceforge/giflib/giflib-"
de67e922 617 version ".tar.bz2"))
e596ab0f 618 (sha256
44c5f025 619 (base32
7ac43c44
HG
620 "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))
621 (patches (search-patches
622 "giflib-make-reallocarray-private.patch"))))
e596ab0f
AK
623 (build-system gnu-build-system)
624 (outputs '("bin" ; utility programs
625 "out")) ; library
626 (inputs `(("libx11" ,libx11)
627 ("libice" ,libice)
628 ("libsm" ,libsm)
629 ("perl" ,perl)))
630 (arguments
44c5f025
EF
631 `(#:phases
632 (modify-phases %standard-phases
633 (add-after 'unpack 'disable-html-doc-gen
634 (lambda _
635 (substitute* "doc/Makefile.in"
4a3ee3fb
MW
636 (("^all: allhtml manpages") ""))
637 #t))
44c5f025
EF
638 (add-after 'install 'install-manpages
639 (lambda* (#:key outputs #:allow-other-keys)
640 (let* ((bin (assoc-ref outputs "bin"))
641 (man1dir (string-append bin "/share/man/man1")))
642 (mkdir-p man1dir)
643 (for-each (lambda (file)
644 (let ((base (basename file)))
645 (format #t "installing `~a' to `~a'~%"
646 base man1dir)
647 (copy-file file
648 (string-append
649 man1dir "/" base))))
4a3ee3fb
MW
650 (find-files "doc" "\\.1"))
651 #t))))))
e596ab0f
AK
652 (synopsis "Tools and library for working with GIF images")
653 (description
35b9e423 654 "GIFLIB is a library for reading and writing GIF images. It is API and
e596ab0f
AK
655ABI compatible with libungif which was in wide use while the LZW compression
656algorithm was patented. Tools are also included to convert, manipulate,
657compose, and analyze GIF images.")
658 (home-page "http://giflib.sourceforge.net/")
659 (license license:x11)))
660
0731a47c
TUBK
661(define-public libungif
662 (package
663 (name "libungif")
664 (version "4.1.4")
665 (source (origin
666 (method url-fetch)
de67e922
LF
667 (uri (string-append "mirror://sourceforge/giflib/libungif-4.x/"
668 "libungif-" version "/libungif-"
0731a47c
TUBK
669 version ".tar.bz2"))
670 (sha256
671 (base32
672 "0cnksimmmjngdrys302ik1385sg1sj4i0gxivzldhgwd46n7x2kh"))))
673 (build-system gnu-build-system)
674 (inputs `(("perl" ,perl))) ;package ships some perl tools
675 (home-page "http://giflib.sourceforge.net/")
676 (synopsis "GIF decompression library")
677 (description
678 "libungif is the old GIF decompression library by the GIFLIB project.")
679 (license license:expat)))
680
76d88cfa
AK
681(define-public imlib2
682 (package
683 (name "imlib2")
c9838530 684 (version "1.5.1")
76d88cfa
AK
685 (source (origin
686 (method url-fetch)
687 (uri (string-append
de67e922
LF
688 "mirror://sourceforge/enlightenment/imlib2-src/" version
689 "/imlib2-" version ".tar.bz2"))
76d88cfa
AK
690 (sha256
691 (base32
c9838530 692 "1bms2iwmvnvpz5jqq3r52glarqkafif47zbh1ykz8hw85d2mfkps"))))
76d88cfa 693 (build-system gnu-build-system)
76d88cfa
AK
694 (native-inputs
695 `(("pkgconfig" ,pkg-config)))
696 (inputs
697 `(("libx11" ,libx11)
698 ("libxext" ,libxext)
699 ("freetype" ,freetype)
700 ("libjpeg" ,libjpeg)
701 ("libpng" ,libpng)
702 ("libtiff" ,libtiff)
703 ("giflib" ,giflib)
704 ("bzip2" ,bzip2)))
3b3b60d0 705 (home-page "https://sourceforge.net/projects/enlightenment/")
76d88cfa
AK
706 (synopsis
707 "Loading, saving, rendering and manipulating image files")
708 (description
709 "Imlib2 is a library that does image file loading and saving as well as
710rendering, manipulation, arbitrary polygon support, etc.
711
712It does ALL of these operations FAST. Imlib2 also tries to be highly
713intelligent about doing them, so writing naive programs can be done easily,
714without sacrificing speed.
715
716This is a complete rewrite over the Imlib 1.x series. The architecture is
717more modular, simple, and flexible.")
8835aed4 718 (license license:imlib2)))
f7d28082
AK
719
720(define-public giblib
721 (package
722 (name "giblib")
723 (version "1.2.4")
724 (source (origin
725 (method url-fetch)
bf512da1
EF
726 (uri (list
727 (string-append
728 "http://linuxbrit.co.uk/downloads/giblib-"
729 version ".tar.gz")
730 (string-append
731 "https://sourceforge.net/projects/slackbuildsdirectlinks/"
732 "files/giblib/giblib-" version ".tar.gz")))
f7d28082
AK
733 (sha256
734 (base32
735 "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp"))))
736 (build-system gnu-build-system)
737 (inputs
738 `(("libx11" ,libx11)
739 ("imlib2" ,imlib2)))
740 (home-page "http://linuxbrit.co.uk/software/") ; no real home-page
741 (synopsis "Wrapper library for imlib2")
742 (description
35b9e423 743 "Giblib is a simple library which wraps imlib2's context API, avoiding
f7d28082
AK
744all the context_get/set calls, adds fontstyles to the truetype renderer and
745supplies a generic doubly-linked list and some string functions.")
746 ;; This license removes a clause about X Consortium from the original
747 ;; X11 license.
748 (license (license:x11-style "file://COPYING"
749 "See 'COPYING' in the distribution."))))
43402c5c
DT
750
751(define-public freeimage
752 (package
753 (name "freeimage")
bcc09d9a 754 (version "3.17.0")
43402c5c
DT
755 (source (origin
756 (method url-fetch)
757 (uri (string-append
758 "mirror://sourceforge/freeimage/Source%20Distribution/"
759 version "/FreeImage"
bcc09d9a 760 (string-concatenate (string-split version #\.))
43402c5c
DT
761 ".zip"))
762 (sha256
763 (base32
93bd4a37 764 "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
a5d4c96b
EF
765 (modules '((guix build utils)))
766 (snippet
767 '(begin
768 (for-each
769 (lambda (dir)
770 (delete-file-recursively (string-append "Source/" dir)))
f347c24a
EF
771 '("LibJPEG" "LibOpenJPEG" "LibPNG" "LibRawLite"
772 ;; "LibJXR"
a5d4c96b
EF
773 "LibWebP" "OpenEXR" "ZLib"))))
774 (patches (search-patches "freeimage-unbundle.patch"
775 "freeimage-CVE-2015-0852.patch"
dc8a34ed
RW
776 "freeimage-CVE-2016-5684.patch"
777 "freeimage-fix-build-with-gcc-5.patch"))))
43402c5c
DT
778 (build-system gnu-build-system)
779 (arguments
4a2798e0
EF
780 '(#:phases
781 (modify-phases %standard-phases
a5d4c96b
EF
782 ;; According to Fedora these files depend on private headers, but their
783 ;; presence is required for building, so we replace them with empty files.
784 (add-after 'unpack 'delete-unbuildable-files
785 (lambda _
786 (for-each (lambda (file)
787 (delete-file file)
788 (close (open file O_CREAT)))
789 '("Source/FreeImage/PluginG3.cpp"
790 "Source/FreeImageToolkit/JPEGTransform.cpp"))
791 #t))
792 ;; These scripts generate the Makefiles.
793 (replace 'configure
794 (lambda _
795 (invoke "sh" "gensrclist.sh")
796 (invoke "sh" "genfipsrclist.sh")))
4a2798e0
EF
797 (add-before 'build 'patch-makefile
798 (lambda* (#:key outputs #:allow-other-keys)
799 (substitute* "Makefile.gnu"
800 (("/usr") (assoc-ref outputs "out"))
801 (("-o root -g root") ""))
802 #t)))
a5d4c96b
EF
803 #:make-flags
804 (list "CC=gcc"
805 ;; We need '-fpermissive' for Source/FreeImage.h.
806 ;; libjxr doesn't have a pkg-config file.
807 (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive "
f347c24a
EF
808 ;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"
809 ))
43402c5c
DT
810 #:tests? #f)) ; no check target
811 (native-inputs
a5d4c96b
EF
812 `(("pkg-config" ,pkg-config)
813 ("unzip" ,unzip)))
814 (inputs
815 `(("libjpeg" ,libjpeg)
f347c24a 816 ;("libjxr" ,libjxr)
a5d4c96b
EF
817 ("libpng" ,libpng)
818 ("libraw" ,libraw)
819 ("libtiff" ,libtiff)
820 ("libwebp" ,libwebp)
821 ("openexr" ,openexr)
822 ("openjpeg" ,openjpeg)
823 ("zlib" ,zlib)))
43402c5c
DT
824 (synopsis "Library for handling popular graphics image formats")
825 (description
826 "FreeImage is a library for developers who would like to support popular
827graphics image formats like PNG, BMP, JPEG, TIFF and others.")
828 (license license:gpl2+)
829 (home-page "http://freeimage.sourceforge.net")))
97039f6e
AE
830
831(define-public vigra
019b3875
AE
832 (package
833 (name "vigra")
83273596 834 (version "1.11.1")
019b3875
AE
835 (source
836 (origin
837 (method url-fetch)
838 (uri (string-append "https://github.com/ukoethe/vigra/releases/download/"
83273596
MB
839 "Version-" (string-join (string-split version #\.) "-")
840 "/vigra-" version "-src.tar.gz"))
019b3875 841 (sha256 (base32
83273596 842 "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5"))))
019b3875
AE
843 (build-system cmake-build-system)
844 (inputs
845 `(("boost" ,boost)
846 ("fftw" ,fftw)
847 ("fftwf" ,fftwf)
848 ("hdf5" ,hdf5)
849 ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly
850 ; to create a configure-flag
851 ("libjpeg" ,libjpeg)
852 ("libpng" ,libpng)
853 ("libtiff" ,libtiff)
854 ("openexr" ,openexr)
855 ("python" ,python-2) ; print syntax
856 ("python2-numpy" ,python2-numpy)
857 ("zlib" ,zlib)))
858 (native-inputs
859 `(("doxygen" ,doxygen)
860 ("python2-nose" ,python2-nose)
861 ("python2-sphinx" ,python2-sphinx)))
862 (arguments
863 `(#:test-target "check"
e32db0fa
RW
864 #:phases
865 (modify-phases %standard-phases
43696990 866 (add-after 'unpack 'disable-broken-tests
e32db0fa 867 (lambda _
43696990 868 ;; See https://github.com/ukoethe/vigra/issues/432
e32db0fa
RW
869 (substitute* "test/fourier/CMakeLists.txt"
870 (("VIGRA_ADD_TEST.*") ""))
43696990
MB
871 ;; This test fails with Numpy 1.15:
872 ;; <https://github.com/ukoethe/vigra/issues/436>.
873 (substitute* "vigranumpy/test/CMakeLists.txt"
874 (("test1\\.py") ""))
e32db0fa 875 #t)))
019b3875
AE
876 #:configure-flags
877 (list "-Wno-dev" ; suppress developer mode with lots of warnings
878 (string-append "-DVIGRANUMPY_INSTALL_DIR="
879 (assoc-ref %outputs "out")
880 "/lib/python2.7/site-packages")
881 ;; OpenEXR is not enabled by default.
882 "-DWITH_OPENEXR=1"
f803f775
LF
883 ;; Fix rounding error on 32-bit machines
884 "-DCMAKE_C_FLAGS=-ffloat-store"
019b3875
AE
885 ;; The header files of ilmbase are not found when included
886 ;; by the header files of openexr, and an explicit flag
887 ;; needs to be set.
888 (string-append "-DCMAKE_CXX_FLAGS=-I"
889 (assoc-ref %build-inputs "ilmbase")
f803f775
LF
890 "/include/OpenEXR"
891 " -ffloat-store"))))
019b3875
AE
892 (synopsis "Computer vision library")
893 (description
894 "VIGRA stands for Vision with Generic Algorithms. It is an image
97039f6e
AE
895processing and analysis library that puts its main emphasis on customizable
896algorithms and data structures. It is particularly strong for
897multi-dimensional image processing.")
019b3875 898 (license license:expat)
83273596 899 (home-page "https://ukoethe.github.io/vigra/")))
060ad3de 900
62813c10
FT
901(define-public vigra-c
902 (let* ((commit "a2ff675f42079e2623318d8ff8b4288dbe7a7f06")
903 (revision "0")
904 (version (git-version "0.0.0" revision commit)))
905 (package
906 (name "vigra-c")
907 (version version)
908 (home-page "https://github.com/BSeppke/vigra_c")
909 (source (origin
910 (method git-fetch)
911 (uri (git-reference
912 (url home-page)
913 (commit commit)))
914 (sha256
915 (base32
916 "1f1phmfbbz3dsq9330rd6bjmdg29hxskxi9l17cyx1f4mdqpgdgl"))
917 (file-name (git-file-name name version))))
918 (build-system cmake-build-system)
919 (arguments
920 `(#:tests? #f)) ; No test target.
921 (native-inputs
922 `(("doxygen" ,doxygen)))
923 (inputs
924 `(("fftw" ,fftw)
925 ("fftwf" ,fftwf)
926 ("vigra" ,vigra)))
927 (synopsis "C interface to the VIGRA computer vision library")
928 (description
929 "This package provides a C interface to the VIGRA C++ computer vision
930library. It is designed primarily to ease the implementation of higher-level
931language bindings to VIGRA.")
932 (license license:expat))))
933
060ad3de
TUBK
934(define-public libwebp
935 (package
936 (name "libwebp")
71cb7512 937 (version "1.0.2")
060ad3de
TUBK
938 (source
939 (origin
b981f777
MB
940 ;; No tarballs are provided for >0.6.1.
941 (method git-fetch)
942 (uri (git-reference
943 (url "https://chromium.googlesource.com/webm/libwebp")
944 (commit (string-append "v" version))))
945 (file-name (git-file-name name version))
060ad3de 946 (sha256
b2ed5ca7 947 (base32
71cb7512 948 "1ay0sai7f74dyk2gi975qfllmq534vnsx456npf16583mqb6ib2q"))))
060ad3de
TUBK
949 (build-system gnu-build-system)
950 (inputs
951 `(("freeglut" ,freeglut)
952 ("giflib" ,giflib)
953 ("libjpeg" ,libjpeg)
954 ("libpng" ,libpng)
955 ("libtiff" ,libtiff)))
b981f777
MB
956 (native-inputs
957 `(("autoconf" ,autoconf)
958 ("automake" ,automake)
959 ("libtool" ,libtool)))
060ad3de
TUBK
960 (arguments
961 '(#:configure-flags '("--enable-libwebpmux"
962 "--enable-libwebpdemux"
b981f777
MB
963 "--enable-libwebpdecoder")
964 #:phases (modify-phases %standard-phases
965 (add-after 'unpack 'bootstrap
966 (lambda _
967 (invoke "autoreconf" "-vif"))))))
060ad3de
TUBK
968 (home-page "https://developers.google.com/speed/webp/")
969 (synopsis "Lossless and lossy image compression")
970 (description
971 "WebP is a new image format that provides lossless and lossy compression
1eefe4a8
LC
972for images. WebP lossless images are 26% smaller in size compared to
973PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at
974equivalent SSIM index. WebP supports lossless transparency (also known as
975alpha channel) with just 22% additional bytes. Transparency is also supported
060ad3de
TUBK
976with lossy compression and typically provides 3x smaller file sizes compared
977to PNG when lossy compression is acceptable for the red/green/blue color
978channels.")
979 (license license:bsd-3)))
b9ecd5ae
SB
980
981(define-public libmng
982 (package
983 (name "libmng")
984 (version "2.0.3")
985 (source (origin
986 (method url-fetch)
0f971a04
LF
987 (uri (string-append "mirror://sourceforge/libmng/libmng-devel/"
988 version "/" name "-" version ".tar.xz"))
b9ecd5ae
SB
989 (sha256
990 (base32
991 "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"))))
992 (build-system gnu-build-system)
993 (propagated-inputs
994 ;; These are all in the 'Libs.private' field of libmng.pc.
995 `(("lcms" ,lcms)
996 ("libjpeg" ,libjpeg)
997 ("zlib" ,zlib)))
998 (home-page "http://www.libmng.com/")
999 (synopsis "Library for handling MNG files")
1000 (description
1001 "Libmng is the MNG (Multiple-image Network Graphics) reference library.")
1002 (license license:bsd-3)))
3aab2c83 1003
023f0fb0
AK
1004(define-public exiv2
1005 (package
1006 (name "exiv2")
f66ea7b8 1007 (version "0.26")
023f0fb0
AK
1008 (source (origin
1009 (method url-fetch)
f66ea7b8
MB
1010 (uri (list (string-append "http://www.exiv2.org/builds/exiv2-"
1011 version "-trunk.tar.gz")
1012 (string-append "http://www.exiv2.org/exiv2-"
023f0fb0
AK
1013 version ".tar.gz")
1014 (string-append "https://fossies.org/linux/misc/exiv2-"
1015 version ".tar.gz")))
4119376d
MB
1016 (patches (search-patches "exiv2-CVE-2017-14860.patch"
1017 "exiv2-CVE-2017-14859-14862-14864.patch"))
023f0fb0
AK
1018 (sha256
1019 (base32
f306825d 1020 "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"))))
023f0fb0
AK
1021 (build-system gnu-build-system)
1022 (arguments '(#:tests? #f)) ; no `check' target
1023 (propagated-inputs
1024 `(("expat" ,expat)
1025 ("zlib" ,zlib)))
1026 (native-inputs
1027 `(("intltool" ,intltool)))
1028 (home-page "http://www.exiv2.org/")
1029 (synopsis "Library and command-line utility to manage image metadata")
1030 (description
1031 "Exiv2 is a C++ library and a command line utility to manage image
1032metadata. It provides fast and easy read and write access to the Exif, IPTC
1033and XMP metadata of images in various formats.")
1034
1035 ;; Files under `xmpsdk' are a copy of Adobe's XMP SDK, licensed under the
1036 ;; 3-clause BSD license: <http://www.adobe.com/devnet/xmp/sdk/eula.html>.
1037 ;; The core is GPLv2+:
1038 ;; <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
1039 (license license:gpl2+)))
1040
3aab2c83
DT
1041(define-public devil
1042 (package
1043 (name "devil")
77ab6983 1044 (version "1.8.0")
3aab2c83
DT
1045 (source (origin
1046 (method url-fetch)
1047 (uri (string-append "http://downloads.sourceforge.net/openil/"
1048 "DevIL-" version ".tar.gz"))
1049 (sha256
1050 (base32
77ab6983
MB
1051 "02dpzvi493r09c9hfjnk54nladl3qw55iqkkg18g12fxwwz9fx80"))))
1052 (build-system cmake-build-system)
3aab2c83 1053 (arguments
77ab6983
MB
1054 '(;; XXX: Not supported in the released CMakeLists.txt.
1055 ;; Enable this for > 1.8.0.
1056 #:tests? #f
3aab2c83
DT
1057 #:phases
1058 (modify-phases %standard-phases
77ab6983
MB
1059 (add-before 'configure 'change-directory
1060 (lambda _ (chdir "DevIL") #t)))))
3aab2c83
DT
1061 (native-inputs
1062 `(("pkg-config" ,pkg-config)))
1063 (inputs
1064 `(("lcms" ,lcms)
77ab6983 1065 ("libjpeg" ,libjpeg-turbo)
3aab2c83
DT
1066 ("libmng" ,libmng)
1067 ("libpng" ,libpng)
1068 ("libtiff" ,libtiff)
1069 ("openexr" ,openexr)
1070 ("zlib" ,zlib)))
1071 (synopsis "Library for manipulating many image formats")
1072 (description "Developer's Image Library (DevIL) is a library to develop
1073applications with support for many types of images. DevIL can load, save,
1074convert, manipulate, filter and display a wide variety of image formats.")
1075 (home-page "http://openil.sourceforge.net")
1076 (license license:lgpl2.1+)))
b0b23e52
DT
1077
1078(define-public jasper
1079 (package
1080 (name "jasper")
8cc3983a 1081 (version "2.0.16")
b0b23e52 1082 (source (origin
d57b017c
RW
1083 (method git-fetch)
1084 (uri (git-reference
1085 (url "https://github.com/mdadams/jasper.git")
1086 (commit (string-append "version-" version))))
1087 (file-name (git-file-name name version))
b0b23e52
DT
1088 (sha256
1089 (base32
8cc3983a 1090 "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6"))))
c7a70c33 1091 (build-system cmake-build-system)
d87c201f 1092 (inputs `(("libjpeg" ,libjpeg)))
b0b23e52
DT
1093 (synopsis "JPEG-2000 library")
1094 (description "The JasPer Project is an initiative to provide a reference
1095implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,
1096ISO/IEC 15444-1).")
1097 (home-page "https://www.ece.uvic.ca/~frodo/jasper/")
1098 (license (license:x11-style "file://LICENSE"))))
365a4a7f
EF
1099
1100(define-public zimg
1101 (package
1102 (name "zimg")
60092c18 1103 (version "2.5")
365a4a7f
EF
1104 (source
1105 (origin
ba185e2a
RW
1106 (method git-fetch)
1107 (uri (git-reference
1108 (url "https://github.com/sekrit-twc/zimg.git")
1109 (commit (string-append "release-" version))))
1110 (file-name (git-file-name name version))
365a4a7f
EF
1111 (sha256
1112 (base32
ba185e2a 1113 "05krggiifbl6hyg2j3z8qz2k7si84g1qg9snhsnf1ml7mrhqhhlr"))))
365a4a7f
EF
1114 (build-system gnu-build-system)
1115 (native-inputs
1116 `(("autoconf" ,autoconf)
1117 ("automake" ,automake)
1118 ("libtool" ,libtool)))
1119 (arguments
1120 '(#:phases
1121 (modify-phases %standard-phases
1122 (add-after 'unpack 'autogen
1123 (lambda _
fccacffb 1124 (invoke "sh" "autogen.sh"))))))
365a4a7f
EF
1125 (synopsis "Scaling, colorspace conversion, and dithering library")
1126 (description "Zimg implements the commonly required image processing basics
1127of scaling, colorspace conversion, and depth conversion. A simple API enables
1128conversion between any supported formats to operate with minimal knowledge from
1129the programmer.")
1130 (home-page "https://github.com/sekrit-twc/zimg")
8ee04627 1131 ;; test/extra/ contains musl-libm,
365a4a7f
EF
1132 ;; which is MIT/expat licensed, but only used for tests
1133 (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2
af7aaaeb
TGR
1134
1135(define-public perceptualdiff
1136 (package
1137 (name "perceptualdiff")
1138 (version "1.3")
1139 (source
1140 (origin
1141 (method url-fetch)
1142 (uri (string-append "https://github.com/myint/perceptualdiff/archive/v"
1143 version ".tar.gz"))
1144 (file-name (string-append name "-" version ".tar.gz"))
1145 (sha256
1146 (base32
1147 "0zl6xmp971fffg7fzcz2fbgxg5x2w7l8qa65c008i4kbkc9016ps"))))
1148 (build-system cmake-build-system)
1149 (inputs `(("freeimage" ,freeimage)))
1150 (arguments
1151 '(#:phases (modify-phases %standard-phases
1152 (add-after 'unpack 'fix-tests
1153 ;; cmake-build-system uses a build/ directory outside
1154 ;; of the source tree, one level higher than expected
1155 (lambda _
1156 (substitute* "test/run_tests.bash"
fccacffb
MW
1157 (("../build") "../../build"))
1158 #t)))))
af7aaaeb
TGR
1159 (home-page "https://github.com/myint/perceptualdiff")
1160 (synopsis "Perceptual image comparison utility")
1161 (description "PerceptualDiff visually compares two images to determine
1162whether they look alike. It uses a computational model of the human visual
1163system to detect similarities. This allows it too see beyond irrelevant
1164differences in file encoding, image quality, and other small variations.")
1165 (license license:gpl2+)))
1fa3e336
EB
1166
1167(define-public steghide
1168 (package
1169 (name "steghide")
1170 (version "0.5.1")
1171 (source (origin
1172 (method url-fetch)
1173 (uri (string-append "mirror://sourceforge/steghide/steghide/"
1174 version "/steghide-" version ".tar.bz2"))
1175 (sha256
1176 (base32
1177 "18bxlhbdc3zsmxj84i417xjh0q28kv26q449k23n0a72ldwziix2"))
1178 (patches (list (search-patch "steghide-fixes.patch")))))
1179 (build-system gnu-build-system)
1180 (native-inputs
7c90d0f4 1181 `(("gettext" ,gettext-minimal)
1fa3e336
EB
1182 ("libtool" ,libtool)
1183 ("perl" ,perl))) ;for tests
1184 (inputs
1185 `(("libmhash" ,libmhash)
1186 ("libmcrypt" ,libmcrypt)
1187 ("libjpeg" ,libjpeg)
1188 ("zlib" ,zlib)))
1189 (arguments
a56bf101
LC
1190 `(#:make-flags '("CXXFLAGS=-fpermissive") ;required for MHashPP.cc
1191
1192 #:phases (modify-phases %standard-phases
1193 (add-before 'configure 'set-perl-search-path
1194 (lambda _
1195 ;; Work around "dotless @INC" build failure.
1196 (setenv "PERL5LIB"
1197 (string-append (getcwd) "/tests:"
1198 (getenv "PERL5LIB")))
1199 #t)))))
1fa3e336
EB
1200 (home-page "http://steghide.sourceforge.net")
1201 (synopsis "Image and audio steganography")
1202 (description
7832785d
TGR
1203 "Steghide is a program to hide data in various kinds of image and audio
1204files (known as @dfn{steganography}). Neither color nor sample frequencies are
1205changed, making the embedding resistant against first-order statistical tests.")
1fa3e336 1206 (license license:gpl2+)))
ac2a38a5
RW
1207
1208(define-public stb-image-for-extempore
1209 (let ((revision "1")
1210 (commit "152a250a702bf28951bb0220d63bc0c99830c498"))
1211 (package
1212 (name "stb-image-for-extempore")
1213 (version (string-append "0-" revision "." (string-take commit 9)))
1214 (source
1215 (origin (method git-fetch)
1216 (uri (git-reference
1217 (url "https://github.com/extemporelang/stb.git")
1218 (commit commit)))
1219 (sha256
1220 (base32
1221 "0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv"))
1222 (file-name (string-append name "-" version "-checkout"))))
1223 (build-system cmake-build-system)
1224 (arguments `(#:tests? #f)) ; no tests included
39162ee4
RW
1225 ;; Extempore refuses to build on architectures other than x86_64
1226 (supported-systems '("x86_64-linux"))
ac2a38a5
RW
1227 (home-page "https://github.com/extemporelang/stb")
1228 (synopsis "Image library for Extempore")
1229 (description
1230 "This package is a collection of assorted single-file libraries. Of
1231all included libraries only the image loading and decoding library is
1232installed as @code{stb_image}.")
1233 (license license:public-domain))))
93117227
AI
1234
1235(define-public optipng
1236 (package
1237 (name "optipng")
bbf8832f 1238 (version "0.7.7")
93117227
AI
1239 (source
1240 (origin
1241 (method url-fetch)
1242 (uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
1243 version ".tar.gz"))
1244 (sha256
1245 (base32
64ed4b6a
EF
1246 "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))
1247 (modules '((guix build utils)))
1248 (snippet
1249 '(begin
1250 (delete-file-recursively "src/libpng")
1251 (delete-file-recursively "src/zlib")
1252 #t))))
93117227
AI
1253 (build-system gnu-build-system)
1254 (inputs
64ed4b6a
EF
1255 `(("libpng" ,libpng)
1256 ("zlib" ,zlib)))
93117227
AI
1257 (arguments
1258 '(#:phases
1259 (modify-phases %standard-phases
93117227
AI
1260 (replace 'configure
1261 (lambda* (#:key outputs #:allow-other-keys)
bbf8832f
TGR
1262 ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL
1263 (invoke "sh" "configure"
64ed4b6a
EF
1264 (string-append "--prefix=" (assoc-ref outputs "out"))
1265 "-with-system-libs")
bbf8832f
TGR
1266 #t)))))
1267 (synopsis "Optimizer that recompresses PNG image files to a smaller size")
93117227
AI
1268 (description "OptiPNG is a PNG optimizer that recompresses image
1269files to a smaller size, without losing any information. This program
1270also converts external formats (BMP, GIF, PNM and TIFF) to optimized
1271PNG, and performs PNG integrity checks and corrections.")
1272 (home-page "http://optipng.sourceforge.net/")
1273 (license license:zlib)))
37e05d64
TGR
1274
1275(define-public libjpeg-turbo
1276 (package
1277 (name "libjpeg-turbo")
92f19f13 1278 (version "2.0.1")
02961420 1279 (replacement libjpeg-turbo-2.0.2)
37e05d64
TGR
1280 (source (origin
1281 (method url-fetch)
ec92d786
MB
1282 (uri (string-append "mirror://sourceforge/libjpeg-turbo/"
1283 version "/libjpeg-turbo-" version ".tar.gz"))
37e05d64
TGR
1284 (sha256
1285 (base32
92f19f13 1286 "1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75"))))
6871121b 1287 (build-system cmake-build-system)
37e05d64
TGR
1288 (native-inputs
1289 `(("nasm" ,nasm)))
1290 (arguments
6871121b
MB
1291 '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib"
1292 "-DENABLE_STATIC=0")))
a77de47a 1293 (home-page "https://libjpeg-turbo.org/")
37e05d64
TGR
1294 (synopsis "SIMD-accelerated JPEG image handling library")
1295 (description "libjpeg-turbo is a JPEG image codec that accelerates baseline
1296JPEG compression and decompression using SIMD instructions: MMX on x86, SSE2 on
1297x86-64, NEON on ARM, and AltiVec on PowerPC processors. Even on other systems,
1298its highly-optimized Huffman coding routines allow it to outperform libjpeg by
1299a significant amount.
1300libjpeg-turbo implements both the traditional libjpeg API and the less powerful
1301but more straightforward TurboJPEG API, and provides a full-featured Java
1302interface. It supports color space extensions that allow it to compress from
1303and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).")
71de61c3
MB
1304 ;; libjpeg-turbo is covered by three different licenses; see LICENSE.md.
1305 (license (list license:bsd-3 ;the TurboJPEG API library and programs
1306 license:ijg ;the libjpeg library and associated tools
1307 license:zlib)))) ;the libjpeg-turbo SIMD extensions
21122bd7 1308
02961420
MB
1309(define-public libjpeg-turbo-2.0.2
1310 (package
1311 (inherit libjpeg-turbo)
1312 (version "2.0.2")
1313 (source (origin
1314 (inherit (package-source libjpeg-turbo))
1315 (uri (string-append "mirror://sourceforge/libjpeg-turbo/"
1316 version "/libjpeg-turbo-" version ".tar.gz"))
1317 (sha256
1318 (base32
1319 "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c"))))))
1320
21122bd7
JD
1321(define-public niftilib
1322 (package
f729a4d8
RW
1323 (name "niftilib")
1324 (version "2.0.0")
1325 (source (origin
1326 (method url-fetch)
1327 (uri (list (string-append "mirror://sourceforge/niftilib/"
1328 "nifticlib/nifticlib_"
1329 (string-join (string-split version #\.) "_")
1330 "/nifticlib-" version ".tar.gz")))
1331 (sha256
1332 (base32 "123z9bwzgin5y8gi5ni8j217k7n683whjsvg0lrpii9flgk8isd3"))))
1333 (build-system gnu-build-system)
1334 (arguments
1335 '(#:tests? #f ; there is no test target
1336 #:parallel-build? #f ; not supported
1337 #:make-flags
1338 (list "SHELL=bash"
1339 (string-append "ZLIB_INC="
1340 (assoc-ref %build-inputs "zlib") "/include")
1341 ;; Append "-fPIC" to CFLAGS.
1342 (string-append "CFLAGS="
1343 "-Wall -ansi -pedantic -fPIC"))
1344 #:phases
1345 (modify-phases %standard-phases
1346 (replace 'install
1347 (lambda* (#:key outputs #:allow-other-keys)
1348 (let ((out (assoc-ref outputs "out")))
1349 (for-each
1350 (lambda (dir)
1351 (copy-recursively dir (string-append out "/" dir)))
1352 '("bin" "lib" "include")))
1353 #t))
1354 (delete 'configure))))
1355 (inputs
1356 `(("zlib" ,zlib)))
1357 (synopsis "Library for reading and writing files in the nifti-1 format")
1358 (description "Niftilib is a set of i/o libraries for reading and writing
21122bd7
JD
1359files in the nifti-1 data format - a binary file format for storing
1360medical image data, e.g. magnetic resonance image (MRI) and functional MRI
1361(fMRI) brain images.")
f729a4d8
RW
1362 (home-page "http://niftilib.sourceforge.net")
1363 (license license:public-domain)))
f2079849
JL
1364
1365(define-public gpick
1366 (package
1367 (name "gpick")
1368 (version "0.2.5")
1369 (source (origin
94be94cf
RW
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/thezbyg/gpick.git")
1373 (commit (string-append name "-" version))))
1374 (file-name (git-file-name name version))
f2079849
JL
1375 (sha256
1376 (base32
94be94cf 1377 "0mcj806zagh122qgrdkrg0macpzby97y89xi2sjyn3bh8vmmyxjy"))))
2235abb2 1378 (build-system scons-build-system)
f2079849
JL
1379 (native-inputs
1380 `(("boost" ,boost)
1381 ("gettext" ,gnu-gettext)
2235abb2 1382 ("pkg-config" ,pkg-config)))
f2079849
JL
1383 (inputs
1384 `(("expat" ,expat)
1385 ("gtk2" ,gtk+-2)
1386 ("lua" ,lua-5.2)))
1387 (arguments
1388 `(#:tests? #f
2235abb2
AI
1389 #:scons ,scons-python2
1390 #:scons-flags (list (string-append "DESTDIR=" %output))
f2079849
JL
1391 #:phases
1392 (modify-phases %standard-phases
1393 (add-before 'build 'fix-lua-reference
1394 (lambda _
1395 (substitute* "SConscript"
1396 (("lua5.2") "lua-5.2"))
2235abb2 1397 #t)))))
f2079849
JL
1398 (home-page "http://www.gpick.org/")
1399 (synopsis "Color picker")
1400 (description "Gpick is an advanced color picker and palette editing tool.")
1401 (license license:bsd-3)))
bc806b0c
LF
1402
1403(define-public libiptcdata
1404 (package
1405 (name "libiptcdata")
a42b6848 1406 (version "1.0.5")
bc806b0c
LF
1407 (source (origin
1408 (method url-fetch)
a42b6848
TGR
1409 (uri (string-append "https://github.com/ianw/libiptcdata"
1410 "/releases/download/release_"
1411 (string-join (string-split version #\.) "_")
1412 "/" name "-" version ".tar.gz"))
bc806b0c
LF
1413 (sha256
1414 (base32
a42b6848 1415 "17m2bscc76r1bymjgb44fbbfrdsjfqyb2ivg9wchyllm8pgx1560"))))
bc806b0c 1416 (build-system gnu-build-system)
a42b6848 1417 (home-page "https://github.com/ianw/libiptcdata")
bc806b0c 1418 (synopsis "IPTC metadata manipulation library")
a09a2119
TGR
1419 (description
1420 "Libiptcdata is a C library for manipulating the International Press
1421Telecommunications Council (@dfn{IPTC}) metadata stored within multimedia files
bc806b0c
LF
1422such as images. This metadata can include captions and keywords, often used by
1423popular photo management applications. The library provides routines for
1424parsing, viewing, modifying, and saving this metadata.")
1425 (license license:lgpl2.0+)))
84567657
OP
1426
1427(define-public flameshot
1428 (package
1429 (name "flameshot")
1430 (version "0.5.1")
1431 (source
1432 (origin
743600e9
RW
1433 (method git-fetch)
1434 (uri (git-reference
1435 (url "https://github.com/lupoDharkael/flameshot.git")
1436 (commit (string-append "v" version))))
1437 (file-name (git-file-name name version))
84567657
OP
1438 (sha256
1439 (base32
743600e9 1440 "13h77np93r796jf289v4r687cmnpqkyqs34dm9gif4akaig74ky0"))))
84567657
OP
1441 (build-system gnu-build-system)
1442 (native-inputs
1443 `(("qttools" ,qttools)))
1444 (inputs
1445 `(("qtbase" ,qtbase)))
1446 (arguments
1447 `(#:tests? #f ; no tests
1448 #:phases
1449 (modify-phases %standard-phases
1450 (replace 'configure
1451 (lambda* (#:key outputs #:allow-other-keys)
1452 (invoke "qmake"
1453 "CONFIG+=packaging"
1454 (string-append "BASEDIR=" (assoc-ref outputs "out"))
1455 "PREFIX=/"))))))
1456 (home-page "https://github.com/lupoDharkael/flameshot")
1457 (synopsis "Powerful yet simple to use screenshot software")
1458 (description "Flameshot is a screenshot program.
1459Features:
1460
1461@itemize
1462@item Customizable appearance.
1463@item Easy to use.
1464@item In-app screenshot edition.
1465@item DBus interface.
1466@item Upload to Imgur.
1467@end itemize\n")
1468 (license license:gpl3+)))
da4dde61
LF
1469
1470(define-public r-jpeg
1471 (package
1472 (name "r-jpeg")
1473 (version "0.1-8")
1474 (source
1475 (origin
1476 (method url-fetch)
1477 (uri (cran-uri "jpeg" version))
1478 (sha256
1479 (base32
1480 "05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"))))
1481 (build-system r-build-system)
1482 (inputs `(("libjpeg" ,libjpeg)))
1483 (home-page "http://www.rforge.net/jpeg/")
1484 (synopsis "Read and write JPEG images with R")
1485 (description "This package provides a way to read, write and display bitmap
1486images stored in the JPEG format with R. It can read and write both files and
1487in-memory raw vectors.")
1488 (license license:gpl2+)))
0d529a7c
PN
1489
1490(define-public gifsicle
1491 (package
1492 (name "gifsicle")
1493 (version "1.91")
1494 (source
1495 (origin
1496 (method url-fetch)
1497 (uri (string-append "http://www.lcdf.org/gifsicle/gifsicle-"
1498 version ".tar.gz"))
1499 (sha256
1500 (base32
1501 "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha"))))
1502 (build-system gnu-build-system)
1503 (arguments
1504 '(#:phases
1505 (modify-phases %standard-phases
1506 (add-before 'check 'patch-tests
1507 (lambda _
1508 (substitute* "test/testie"
1509 (("/usr/bin/perl")
1510 (which "perl"))
1511 (("/bin/sh")
1512 (which "sh"))
1513 (("/bin/rm")
1514 (which "rm")))
1515 #t)))))
1516 (native-inputs `(("perl" ,perl))) ; Only for tests.
1517 (inputs `(("libx11" ,libx11)))
1518 (home-page "http://www.lcdf.org/gifsicle/")
1519 (synopsis "Edit GIF images and animations")
1520 (description "Gifsicle is a command-line GIF image manipulation tool that:
1521
1522@itemize
1523@item Provides a batch mode for changing GIFs in place.
1524@item Prints detailed information about GIFs, including comments.
1525@item Control over interlacing, comments, looping, transparency, etc.
1526@item Creates well-behaved GIFs: removes redundant colors, only uses local color
1527tables, etc.
1528@item Shrinks colormaps and change images to use the Web-safe palette.
1529@item Optimizes GIF animations, or unoptimizes them for easier editing.
1530@end itemize
1531
1532Two other programs are included with Gifsicle: @command{gifview} is a
1533lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for
1534identical visual appearance.")
1535 (license license:gpl2+)))
3239dcd3
PAR
1536
1537(define-public jp2a
1538 (package
1539 (name "jp2a")
1540 (version "1.0.7")
1541 (source
1542 (origin
5bc593df
RW
1543 (method git-fetch)
1544 (uri (git-reference
1545 (url "https://github.com/cslarsen/jp2a.git")
1546 (commit (string-append "v" version))))
1547 (file-name (git-file-name name version))
3239dcd3
PAR
1548 (sha256
1549 (base32
5bc593df 1550 "12a1z9ba2j16y67f41y8ax5sgv1wdjd71pg7circdxkj263n78ql"))))
3239dcd3
PAR
1551 (build-system gnu-build-system)
1552 (inputs
1553 `(("libjpeg" ,libjpeg)
1554 ("curl" ,curl)))
1555 (native-inputs
1556 `(("autoconf" ,autoconf)
1557 ("automake" ,automake)
1558 ("pkg-config" ,pkg-config)))
1559 (home-page "https://csl.name/jp2a/")
1560 (synopsis "Convert JPEG images to ASCII")
1561 (description
1562 "Jp2a is a small utility that converts JPEG images to ASCII.")
1563 (license license:gpl2)))
0290f533
RH
1564
1565(define-public grim
1566 (package
444c4c08 1567 (name "grim")
3d4c4fc2 1568 (version "1.1")
444c4c08
RH
1569 (source
1570 (origin
90c7ea44
TGR
1571 (method git-fetch)
1572 (uri (git-reference
1573 (url "https://github.com/emersion/grim.git")
1574 (commit (string-append "v" version))))
1575 (file-name (git-file-name name version))
444c4c08 1576 (sha256
90c7ea44 1577 (base32 "1bcvkggqszcwy6hg8g4mch3yr25ic0baafbd90af5s5mrhrjxxxz"))))
444c4c08
RH
1578 (build-system meson-build-system)
1579 (native-inputs `(("pkg-config" ,pkg-config)))
1580 (inputs `(("cairo" ,cairo)
1581 ("libjpeg-turbo" ,libjpeg-turbo)
1582 ("scdoc" ,scdoc)
1583 ("wayland" ,wayland)
1584 ("wayland-protocols" ,wayland-protocols)))
1585 (home-page "https://github.com/emersion/grim")
1586 (synopsis "Create screenshots from a Wayland compositor")
1587 (description "grim can create screenshots from a Wayland compositor.")
1588 ;; MIT license.
1589 (license license:expat)))
bd86a1be
RH
1590
1591(define-public slurp
1592 (package
1593 (name "slurp")
10db6778 1594 (version "1.0.1")
bd86a1be
RH
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/emersion/slurp.git")
1600 (commit (string-append "v" version))))
1601 (file-name (git-file-name name version))
1602 (sha256
10db6778 1603 (base32 "072lkwhpvr753wfqzmd994bnhbrgfavxcgqcyml7abab28sdhs1y"))))
bd86a1be
RH
1604 (build-system meson-build-system)
1605 (native-inputs `(("pkg-config" ,pkg-config)))
1606 (inputs `(("cairo" ,cairo)
1607 ("scdoc" ,scdoc)
1608 ("wayland" ,wayland)
1609 ("wayland-protocols" ,wayland-protocols)))
1610 (home-page "https://github.com/emersion/slurp")
1611 (synopsis "Select a region in a Wayland compositor")
1612 (description "Slurp can select a region in a Wayland compositor and print it
1613to the standard output. It works well together with grim.")
1614 ;; MIT license.
1615 (license license:expat)))