summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--gnu/packages/imagemagick.scm92
-rw-r--r--guix/download.scm9
3 files changed, 101 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 59b5bae68c..9d7ebf85e9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -126,6 +126,7 @@ MODULES =					\
   gnu/packages/hugs.scm				\
   gnu/packages/icu4c.scm			\
   gnu/packages/idutils.scm			\
+  gnu/packages/imagemagick.scm			\
   gnu/packages/indent.scm			\
   gnu/packages/irssi.scm			\
   gnu/packages/ld-wrapper.scm			\
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
new file mode 100644
index 0000000000..e408b13fa3
--- /dev/null
+++ b/gnu/packages/imagemagick.scm
@@ -0,0 +1,92 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages imagemagick)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:select (fsf-free))
+  #:use-module (gnu packages libjpeg)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libpng)
+  #:use-module (gnu packages libtiff)
+  #:use-module (gnu packages libjpeg)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages pkg-config))
+
+(define-public imagemagick
+  (package
+    (name "imagemagick")
+    (version "6.8.6-0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://imagemagick/ImageMagick-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "1qmwpnq2mcxjnp0rjyb2g7v87lhmll19imx3iys6kplh8amrmqnv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases (alist-cons-before
+                 'build 'pre-build
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (substitute* "Makefile"
+                     ;; Clear the `LIBRARY_PATH' setting, which otherwise
+                     ;; interferes with our own use.
+                     (("^LIBRARY_PATH[[:blank:]]*=.*$")
+                      "")
+
+                     ;; Since the Makefile overrides $docdir, modify it to
+                     ;; refer to what we want.
+                     (("^DOCUMENTATION_PATH[[:blank:]]*=.*$")
+                      (let ((doc (assoc-ref outputs "doc")))
+                        (string-append "DOCUMENTATION_PATH = "
+                                       doc "/share/doc/"
+                                       ,name "-" ,version "\n")))))
+                 %standard-phases)))
+    ;; TODO: Add Jasper, LCMS, etc.
+    (inputs `(("graphviz" ,graphviz)
+              ("ghostscript" ,ghostscript)
+              ("libx11" ,libx11)
+              ("zlib" ,zlib)
+              ("libxml2" ,libxml2)
+              ("libtiff" ,libtiff)
+              ("libpng" ,libpng)
+              ("libjpeg" ,libjpeg-8)
+              ("pango" ,pango)
+              ("freetype" ,freetype)
+              ("bzip2" ,bzip2)
+              ("xz" ,xz)
+              ("pkg-config" ,pkg-config)))
+    (outputs '("out"
+               "doc"))                          ; 26 MiB of HTML documentation
+    (home-page "http://www.imagemagick.org/")
+    (synopsis "Create, edit, compose, or convert bitmap images")
+    (description
+     "ImageMagick® is a software suite to create, edit, compose, or convert
+bitmap images. It can read and write images in a variety of formats (over 100)
+including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,
+and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
+transform images, adjust image colors, apply various special effects, or draw
+text, lines, polygons, ellipses and Bézier curves.")
+    (license (fsf-free "http://www.imagemagick.org/script/license.php"))))
diff --git a/guix/download.scm b/guix/download.scm
index 99353be8b0..fc6c815792 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -148,7 +148,14 @@
        "ftp://ftp.osuosl.org/pub/CPAN/"
        "ftp://ftp.nara.wide.ad.jp/pub/CPAN/"
        "http://mirrors.163.com/cpan/"
-       "ftp://cpan.mirror.ac.za/"))))
+       "ftp://cpan.mirror.ac.za/")
+      (imagemagick       ; from http://www.imagemagick.org/script/download.php
+       "http://mirror.checkdomain.de/imagemagick/"
+       "ftp://gd.tuwien.ac.at/pub/graphics/ImageMagick/"
+       "http://www.imagemagick.org/download"
+       "ftp://mirror.searchdaimon.com/ImageMagick"
+       "http://mirror.is.co.za/pub/imagemagick/"
+       "ftp://mirror.aarnet.edu.au/pub/imagemagick/"))))
 
 (define (gnutls-derivation store system)
   "Return the GnuTLS derivation for SYSTEM."