summary refs log tree commit diff
path: root/gnu/packages/image.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/image.scm')
-rw-r--r--gnu/packages/image.scm97
1 files changed, 97 insertions, 0 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 11cb63a895..93dd2ac4e6 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -24,11 +24,13 @@
 (define-module (gnu packages image)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages doxygen)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -163,6 +165,65 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
     ;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+.
     (license license:lgpl2.0+)))
 
+(define-public leptonica
+  (package
+    (name "leptonica")
+    (version "1.71")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.leptonica.com/source/leptonica-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc"))
+       (modules '((guix build utils)))
+       ;; zlib and openjpg should be under Libs, not Libs.private.  See:
+       ;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436
+       (snippet
+        '(substitute* "lept.pc.in"
+           (("^(Libs\\.private: .*)@ZLIB_LIBS@(.*)" all pre post)
+            (string-append pre post))
+           (("^(Libs\\.private: .*)@JPEG_LIBS@(.*)" all pre post)
+            (string-append pre post))
+           (("^Libs: .*" all)
+            (string-append all " @ZLIB_LIBS@ @JPEG_LIBS@"))))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gnuplot" ,gnuplot)))           ;needed for test suite
+    (inputs
+     `(("giflib" ,giflib)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("libwebp" ,libwebp)))
+    (propagated-inputs
+     `(("openjpeg" ,openjpeg)
+       ("zlib" ,zlib)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Prevent make from trying to regenerate config.h.in.
+         (add-after
+          unpack set-config-h-in-file-time
+          (lambda _
+            (set-file-time "config/config.h.in" (stat "configure"))))
+         (add-after
+          unpack patch-reg-wrapper
+          (lambda _
+            (substitute* "prog/reg_wrapper.sh"
+              ((" /bin/sh ")
+               (string-append " " (which "sh") " "))))))))
+    (home-page "http://www.leptonica.com/")
+    (synopsis "Library and tools for image processing and analysis")
+    (description
+     "Leptonica is a C library and set of command-line tools for efficient
+image processing and image analysis operations.  It supports rasterop, affine
+transformations, binary and grayscale morphology, rank order, and convolution,
+seedfill and connected components, image transformations combining changes in
+scale and pixel depth, and pixelwise masking, blending, enhancement, and
+arithmetic ops.")
+    (license license:bsd-2)))
+
 (define-public jbig2dec
   (package
     (name "jbig2dec")
@@ -475,3 +536,39 @@ algorithms and data structures.  It is particularly strong for
 multi-dimensional image processing.")
    (license license:expat)
    (home-page "https://hci.iwr.uni-heidelberg.de/vigra")))
+
+(define-public libwebp
+  (package
+    (name "libwebp")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://downloads.webmproject.org/releases/webp/libwebp-" version
+             ".tar.gz"))
+       (sha256
+        (base32 "1i4hfczjm3b1qj1g4cc9hgb69l47f3nkgf6hk7nz4dm9zmc0vgpg"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("freeglut" ,freeglut)
+       ("giflib" ,giflib)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)))
+    (arguments
+     '(#:configure-flags '("--enable-libwebpmux"
+                           "--enable-libwebpdemux"
+                           "--enable-libwebpdecoder")))
+    (home-page "https://developers.google.com/speed/webp/")
+    (synopsis "Lossless and lossy image compression")
+    (description
+     "WebP is a new image format that provides lossless and lossy compression
+for images. WebP lossless images are 26% smaller in size compared to
+PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at
+equivalent SSIM index. WebP supports lossless transparency (also known as
+alpha channel) with just 22% additional bytes. Transparency is also supported
+with lossy compression and typically provides 3x smaller file sizes compared
+to PNG when lossy compression is acceptable for the red/green/blue color
+channels.")
+    (license license:bsd-3)))