From 7fa37abca0ef5261039f3daedf371a9639ff423b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 Jun 2013 19:27:23 +0200 Subject: [PATCH] gnu: Add ImageMagick. * gnu/packages/imagemagick.scm: New file. * Makefile.am (MODULES): Add it. * guix/download.scm (%mirrors): Add `imagemagick' entry. --- Makefile.am | 1 + gnu/packages/imagemagick.scm | 92 ++++++++++++++++++++++++++++++++++++ guix/download.scm | 9 +++- 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/imagemagick.scm 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 +;;; +;;; 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 . + +(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 @@ (define %mirrors "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."