;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2014, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017 ng0 <ng0@infotropique.org>
+;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages qt)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
+ #:use-module (guix build-system scons)
#:use-module (srfi srfi-1))
(define-public libpng
(package
(name "libpng")
- (version "1.6.29")
+ (version "1.6.34")
(source (origin
(method url-fetch)
(uri (list (string-append "mirror://sourceforge/libpng/libpng16/"
"/libpng16/libpng-" version ".tar.xz")))
(sha256
(base32
- "0fgjqp7x6jynacmqh6dj72cn6nnf6yxjfqqqfsxrx0pyx22bcia2"))))
+ "1xjr0v34fyjgnhvaa1zixcpx5yvxcg4zwvfh0fyklfyfj86rc7ig"))))
(build-system gnu-build-system)
;; libpng.la says "-lz", so propagate it.
;; Any of these GPL versions.
(license (list license:gpl2 license:gpl3))))
-(define-public pngcrunch
+(define-public pngcrush
(package
- (name "pngcrunch")
- (version "1.8.11")
+ (name "pngcrush")
+ (version "1.8.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pmt/pngcrush/"
- version "/pngcrush-" version ".tar.xz"))
+ version "/pngcrush-" version "-nolib.tar.xz"))
(sha256 (base32
- "1c7m316i91jp3h1dj1ppppdv6zilm2njk1wrpqy2zj0fcll06lwd"))))
+ "0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags '("-f" "Makefile-nolib")
- #:tests? #f ; no check target
+ '(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "Makefile-nolib"
+ (substitute* "Makefile"
(("^(PNG(INC|LIB) = )/usr/local/" line vardef)
(string-append vardef (assoc-ref inputs "libpng") "/"))
(("^(Z(INC|LIB) = )/usr/local/" line vardef)
(inputs
`(("libpng" ,libpng)
("zlib" , zlib)))
- (home-page "https://pmt.sourceforge.net/pngcrush")
+ (home-page "https://pmt.sourceforge.io/pngcrush")
(synopsis "Utility to compress PNG files")
(description "pngcrusqh is an optimizer for PNG (Portable Network Graphics)
files. It can compress them as much as 40% losslessly.")
(license license:zlib)))
+(define-public pngcrunch
+ ;; This package used to be wrongfully name "pngcrunch".
+ (deprecated-package "pngcrunch" pngcrush))
+
(define-public libjpeg
(package
(name "libjpeg")
- (version "9b")
+ (version "9c")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
- "0lnhpahgdwlrkd41lx6cr90r199f8mc6ydlh7jznj5klvacd63r4"))))
+ "08kixcf3a7s9x91174abjnk1xbvj4v8crdc73zi4k9h3jfbm00k5"))))
(build-system gnu-build-system)
(synopsis "Library for handling JPEG files")
(description
(define-public jpegoptim
(package
(name "jpegoptim")
- (version "1.4.4")
+ (version "1.4.5")
(source (origin
(method url-fetch)
(uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-"
version ".tar.gz"))
(sha256 (base32
- "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849"))))
+ "1mngi8c4mhzwa7i4wqrqq6i80cqj4adbacblfvk6dy573wywyxmi"))))
(build-system gnu-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(arguments
the Huffman tables) and \"lossy\" optimization based on setting
maximum quality factor.")
(license license:gpl2+)
- (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim")))
+ (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
(define-public libicns
(package
(define-public libtiff
(package
(name "libtiff")
- (version "4.0.8")
+ (version "4.0.9")
(source
(origin
(method url-fetch)
- (uri (string-append "ftp://download.osgeo.org/libtiff/tiff-"
+ (uri (string-append "http://download.osgeo.org/libtiff/tiff-"
version ".tar.gz"))
- (patches
- (search-patches "libtiff-tiffgetfield-bugs.patch"
- "libtiff-CVE-2016-10688.patch"
- "libtiff-CVE-2017-9936.patch"
- "libtiff-tiffycbcrtorgb-integer-overflow.patch"
- "libtiff-tiffycbcrtorgbinit-integer-overflow.patch"))
(sha256
(base32
- "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr"))))
+ "1kfg4q01r4mqn7dj63ifhi6pmqzbf4xax6ni6kkk81ri5kndwyvf"))
+ (patches (search-patches "libtiff-CVE-2017-9935.patch"
+ "libtiff-CVE-2017-18013.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.3 MiB of HTML documentation
(define-public jbig2dec
(package
(name "jbig2dec")
- (version "0.13")
+ (version "0.14")
(source
(origin
(method url-fetch)
(uri (string-append "http://downloads.ghostscript.com/public/" name "/"
name "-" version ".tar.gz"))
(sha256
- (base32 "04akiwab8iy5iy34razcvh9mcja9wy737civ3sbjxk4j143s1b2s"))
- (patches (search-patches "jbig2dec-ignore-testtest.patch"
- "jbig2dec-CVE-2016-9601.patch"
- "jbig2dec-CVE-2017-7885.patch"
- "jbig2dec-CVE-2017-7975.patch"
- "jbig2dec-CVE-2017-7976.patch"))))
-
+ (base32 "0k01hp0q4275fj4rbr1gy64svfraw5w7wvwl08yjhvsnpb1rid11"))
+ (patches (search-patches "jbig2dec-ignore-testtest.patch"))))
(build-system gnu-build-system)
(synopsis "Decoder of the JBIG2 image compression format")
(description
version ".tar.bz2"))
(sha256
(base32
- "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))))
+ "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))
+ (patches (search-patches
+ "giflib-make-reallocarray-private.patch"))))
(build-system gnu-build-system)
(outputs '("bin" ; utility programs
"out")) ; library
(add-after 'unpack 'disable-html-doc-gen
(lambda _
(substitute* "doc/Makefile.in"
- (("^all: allhtml manpages") ""))))
+ (("^all: allhtml manpages") ""))
+ #t))
(add-after 'install 'install-manpages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (assoc-ref outputs "bin"))
(copy-file file
(string-append
man1dir "/" base))))
- (find-files "doc" "\\.1"))))))))
+ (find-files "doc" "\\.1"))
+ #t))))))
(synopsis "Tools and library for working with GIF images")
(description
"GIFLIB is a library for reading and writing GIF images. It is API and
(define-public imlib2
(package
(name "imlib2")
- (version "1.4.10")
+ (version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append
"/imlib2-" version ".tar.bz2"))
(sha256
(base32
- "0wm2q2xlkbm71k7mw2jyzbxgzylrkcj5yh6nq58w5gybhp98qs9z"))))
+ "1bms2iwmvnvpz5jqq3r52glarqkafif47zbh1ykz8hw85d2mfkps"))))
(build-system gnu-build-system)
(native-inputs
`(("pkgconfig" ,pkg-config)))
(sha256
(base32
"12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
- (patches (search-patches "freeimage-CVE-2015-0852.patch"
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each
+ (lambda (dir)
+ (delete-file-recursively (string-append "Source/" dir)))
+ '("LibJPEG" "LibOpenJPEG" "LibPNG" "LibRawLite"
+ ;; "LibJXR"
+ "LibWebP" "OpenEXR" "ZLib"))))
+ (patches (search-patches "freeimage-unbundle.patch"
+ "freeimage-CVE-2015-0852.patch"
"freeimage-CVE-2016-5684.patch"
"freeimage-fix-build-with-gcc-5.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (delete 'configure)
+ ;; According to Fedora these files depend on private headers, but their
+ ;; presence is required for building, so we replace them with empty files.
+ (add-after 'unpack 'delete-unbuildable-files
+ (lambda _
+ (for-each (lambda (file)
+ (delete-file file)
+ (close (open file O_CREAT)))
+ '("Source/FreeImage/PluginG3.cpp"
+ "Source/FreeImageToolkit/JPEGTransform.cpp"))
+ #t))
+ ;; These scripts generate the Makefiles.
+ (replace 'configure
+ (lambda _
+ (invoke "sh" "gensrclist.sh")
+ (invoke "sh" "genfipsrclist.sh")))
(add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.gnu"
(("/usr") (assoc-ref outputs "out"))
(("-o root -g root") ""))
#t)))
- #:make-flags '("CC=gcc")
+ #:make-flags
+ (list "CC=gcc"
+ ;; We need '-fpermissive' for Source/FreeImage.h.
+ ;; libjxr doesn't have a pkg-config file.
+ (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive "
+ ;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"
+ ))
#:tests? #f)) ; no check target
(native-inputs
- `(("unzip" ,unzip)))
- ;; Fails to build on MIPS due to assembly code in the source.
- (supported-systems (delete "mips64el-linux" %supported-systems))
+ `(("pkg-config" ,pkg-config)
+ ("unzip" ,unzip)))
+ (inputs
+ `(("libjpeg" ,libjpeg)
+ ;("libjxr" ,libjxr)
+ ("libpng" ,libpng)
+ ("libraw" ,libraw)
+ ("libtiff" ,libtiff)
+ ("libwebp" ,libwebp)
+ ("openexr" ,openexr)
+ ("openjpeg" ,openjpeg)
+ ("zlib" ,zlib)))
(synopsis "Library for handling popular graphics image formats")
(description
"FreeImage is a library for developers who would like to support popular
("python2-sphinx" ,python2-sphinx)))
(arguments
`(#:test-target "check"
- #:parallel-build? #f ; parallel builds trigger an ICE
+ #:phases
+ (modify-phases %standard-phases
+ ;; See https://github.com/ukoethe/vigra/issues/432
+ (add-after 'unpack 'disable-broken-test
+ (lambda _
+ (substitute* "test/fourier/CMakeLists.txt"
+ (("VIGRA_ADD_TEST.*") ""))
+ #t)))
#:configure-flags
(list "-Wno-dev" ; suppress developer mode with lots of warnings
(string-append "-DVIGRANUMPY_INSTALL_DIR="
(license license:expat)
(home-page "https://ukoethe.github.io/vigra/")))
+(define-public vigra-c
+ (let* ((commit "a2ff675f42079e2623318d8ff8b4288dbe7a7f06")
+ (revision "0")
+ (version (git-version "0.0.0" revision commit)))
+ (package
+ (name "vigra-c")
+ (version version)
+ (home-page "https://github.com/BSeppke/vigra_c")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "1f1phmfbbz3dsq9330rd6bjmdg29hxskxi9l17cyx1f4mdqpgdgl"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ; No test target.
+ (native-inputs
+ `(("doxygen" ,doxygen)))
+ (inputs
+ `(("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("vigra" ,vigra)))
+ (synopsis "C interface to the VIGRA computer vision library")
+ (description
+ "This package provides a C interface to the VIGRA C++ computer vision
+library. It is designed primarily to ease the implementation of higher-level
+language bindings to VIGRA.")
+ (license license:expat))))
+
(define-public libwebp
(package
(name "libwebp")
- (version "0.6.0")
+ (version "1.0.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://downloads.webmproject.org/releases/webp/libwebp-" version
- ".tar.gz"))
+ ;; No tarballs are provided for >0.6.1.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://chromium.googlesource.com/webm/libwebp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0h1brwkyxc7lb8lc53aacdks5vc1y9hzngqi41gg7y6l56912a69"))))
+ "1w8jzdbr1s4238ygyrlxryycss3f2z6d9amxdq8m82nl3l6skar4"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(arguments
'(#:configure-flags '("--enable-libwebpmux"
"--enable-libwebpdemux"
- "--enable-libwebpdecoder")))
+ "--enable-libwebpdecoder")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
(home-page "https://developers.google.com/speed/webp/")
(synopsis "Lossless and lossy image compression")
(description
(home-page "http://steghide.sourceforge.net")
(synopsis "Image and audio steganography")
(description
- "Steghide is a steganography program that is able to hide data in various
-kinds of image- and audio-files. The color- respectivly sample-frequencies
-are not changed thus making the embedding resistant against first-order
-statistical tests.")
+ "Steghide is a program to hide data in various kinds of image and audio
+files (known as @dfn{steganography}). Neither color nor sample frequencies are
+changed, making the embedding resistant against first-order statistical tests.")
(license license:gpl2+)))
(define-public stb-image-for-extempore
(define-public optipng
(package
(name "optipng")
- (version "0.7.6")
+ (version "0.7.7")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28"))))
+ "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
- ;; configure script does not accept arguments CONFIG_SHELL and SHELL
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (zero? (system* "sh" "configure"
- (string-append "--prefix=" (assoc-ref outputs "out")))))))))
- (synopsis "Optimizer that recompresses PNG image files to a
-smaller size")
+ ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL
+ (invoke "sh" "configure"
+ (string-append "--prefix=" (assoc-ref outputs "out")))
+ #t)))))
+ (synopsis "Optimizer that recompresses PNG image files to a smaller size")
(description "OptiPNG is a PNG optimizer that recompresses image
files to a smaller size, without losing any information. This program
also converts external formats (BMP, GIF, PNM and TIFF) to optimized
(define-public libjpeg-turbo
(package
(name "libjpeg-turbo")
- (version "1.5.2")
+ (version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0a5m0psfp5952y5vrcs0nbdz1y9wqzg2ms0xwrx752034wxr964h"))))
+ "08r5b5mywwrxv4axvq80dm31cklz81grczlzlxr2xqa6pgi90j5j"))))
(build-system gnu-build-system)
(native-inputs
`(("nasm" ,nasm)))
(sha256
(base32
"0mxvxk15xhk2i5vfavjhnkk4j3bnii0gpf8di14rlbpq070hd5rs"))))
- (build-system python-build-system)
+ (build-system scons-build-system)
(native-inputs
`(("boost" ,boost)
("gettext" ,gnu-gettext)
- ("pkg-config" ,pkg-config)
- ("scons" ,scons)))
+ ("pkg-config" ,pkg-config)))
(inputs
`(("expat" ,expat)
("gtk2" ,gtk+-2)
("lua" ,lua-5.2)))
(arguments
`(#:tests? #f
+ #:scons ,scons-python2
+ #:scons-flags (list (string-append "DESTDIR=" %output))
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-lua-reference
(lambda _
(substitute* "SConscript"
(("lua5.2") "lua-5.2"))
- #t))
- (replace 'build
- (lambda _
- (zero? (system* "scons"))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((dest (assoc-ref outputs "out")))
- (zero? (system* "scons" "install"
- (string-append "DESTDIR=" dest)))))))))
+ #t)))))
(home-page "http://www.gpick.org/")
(synopsis "Color picker")
(description "Gpick is an advanced color picker and palette editing tool.")
(license license:bsd-3)))
+
+(define-public libiptcdata
+ (package
+ (name "libiptcdata")
+ (version "1.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/" name "/" name "/"
+ version "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03pfvkmmx762iydq0q207x2028d275pbdysfsgpmrr0ywy63pxkr"))))
+ (build-system gnu-build-system)
+ (home-page "http://libiptcdata.sourceforge.net/")
+ (synopsis "IPTC metadata manipulation library")
+ (description "Libiptcdata is a C library for manipulating the International
+Press Telecommunications Council (IPTC) metadata stored within multimedia files
+such as images. This metadata can include captions and keywords, often used by
+popular photo management applications. The library provides routines for
+parsing, viewing, modifying, and saving this metadata.")
+ (license license:lgpl2.0+)))
+
+(define-public flameshot
+ (package
+ (name "flameshot")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/lupoDharkael/flameshot/archive/"
+ "v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kp451bqgssvg8n3sg60s3fifplm9l5kxiij0yxkl864p2mhw8im"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("qttools" ,qttools)))
+ (inputs
+ `(("qtbase" ,qtbase)))
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake"
+ "CONFIG+=packaging"
+ (string-append "BASEDIR=" (assoc-ref outputs "out"))
+ "PREFIX=/"))))))
+ (home-page "https://github.com/lupoDharkael/flameshot")
+ (synopsis "Powerful yet simple to use screenshot software")
+ (description "Flameshot is a screenshot program.
+Features:
+
+@itemize
+@item Customizable appearance.
+@item Easy to use.
+@item In-app screenshot edition.
+@item DBus interface.
+@item Upload to Imgur.
+@end itemize\n")
+ (license license:gpl3+)))
+
+(define-public r-jpeg
+ (package
+ (name "r-jpeg")
+ (version "0.1-8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "jpeg" version))
+ (sha256
+ (base32
+ "05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"))))
+ (build-system r-build-system)
+ (inputs `(("libjpeg" ,libjpeg)))
+ (home-page "http://www.rforge.net/jpeg/")
+ (synopsis "Read and write JPEG images with R")
+ (description "This package provides a way to read, write and display bitmap
+images stored in the JPEG format with R. It can read and write both files and
+in-memory raw vectors.")
+ (license license:gpl2+)))
+
+(define-public gifsicle
+ (package
+ (name "gifsicle")
+ (version "1.91")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.lcdf.org/gifsicle/gifsicle-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-tests
+ (lambda _
+ (substitute* "test/testie"
+ (("/usr/bin/perl")
+ (which "perl"))
+ (("/bin/sh")
+ (which "sh"))
+ (("/bin/rm")
+ (which "rm")))
+ #t)))))
+ (native-inputs `(("perl" ,perl))) ; Only for tests.
+ (inputs `(("libx11" ,libx11)))
+ (home-page "http://www.lcdf.org/gifsicle/")
+ (synopsis "Edit GIF images and animations")
+ (description "Gifsicle is a command-line GIF image manipulation tool that:
+
+@itemize
+@item Provides a batch mode for changing GIFs in place.
+@item Prints detailed information about GIFs, including comments.
+@item Control over interlacing, comments, looping, transparency, etc.
+@item Creates well-behaved GIFs: removes redundant colors, only uses local color
+tables, etc.
+@item Shrinks colormaps and change images to use the Web-safe palette.
+@item Optimizes GIF animations, or unoptimizes them for easier editing.
+@end itemize
+
+Two other programs are included with Gifsicle: @command{gifview} is a
+lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for
+identical visual appearance.")
+ (license license:gpl2+)))