diff options
Diffstat (limited to 'gnu/packages/imagemagick.scm')
-rw-r--r-- | gnu/packages/imagemagick.scm | 151 |
1 files changed, 77 insertions, 74 deletions
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index a26e08eb42..bbf038534f 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -42,7 +42,8 @@ #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (srfi srfi-1)) ;; This is a variant of the 'imagemagick' package that is not updated often. ;; It is intended to be used as a native-input at build-time only, e.g. by @@ -57,91 +58,93 @@ ;; grafting is ineffective. See: ;; <https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00381.html>. (define-public imagemagick/stable - (package - (name "imagemagick") - ;; The 7 release series has an incompatible API, while the 6 series is still - ;; maintained. Don't update to 7 until we've made sure that the ImageMagick - ;; users are ready for the 7-series API. - (version "6.9.11-48") - (source (origin - (method url-fetch) - (uri (string-append "mirror://imagemagick/ImageMagick-" - version ".tar.xz")) - (sha256 - (base32 - "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" + (hidden-package + (package + (name "imagemagick") + ;; The 7 release series has an incompatible API, while the 6 series is still + ;; maintained. Don't update to 7 until we've made sure that the ImageMagick + ;; users are ready for the 7-series API. + (version "6.9.11-48") + (source (origin + (method url-fetch) + (uri (string-append "mirror://imagemagick/ImageMagick-" + version ".tar.xz")) + (sha256 + (base32 + "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" - ;; Do not embed the build date in binaries. - "--enable-reproducible-build") + ;; Do not embed the build date in binaries. + "--enable-reproducible-build") - ;; FIXME: The test suite succeeded before version 6.9.6-2. - ;; Try enabling it again with newer releases. - #:tests? #f - #:phases (modify-phases %standard-phases - (add-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:]]*=.*$") - "") + ;; FIXME: The test suite succeeded before version 6.9.6-2. + ;; Try enabling it again with newer releases. + #:tests? #f + #:phases (modify-phases %standard-phases + (add-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 "-" - ,(package-version this-package) "\n")))) - #t)) - (add-before - 'configure 'strip-configure-xml - (lambda _ - (substitute* "config/configure.xml.in" - ;; Do not record 'configure' arguments in the - ;; configure.xml file that gets installed: That would - ;; include --docdir, and thus retain a reference to the - ;; 'doc' output. - (("@CONFIGURE_ARGS@") - "not recorded")) - #t))))) - ;; TODO: Add Jasper etc. - (inputs `(("fftw" ,fftw) - ("graphviz" ,graphviz) - ("ghostscript" ,ghostscript) - ("lcms" ,lcms) - ("libx11" ,libx11) - ("zlib" ,zlib) - ("libxml2" ,libxml2) - ("libtiff" ,libtiff) - ("libpng" ,libpng) - ("libjpeg" ,libjpeg-turbo) - ("pango" ,pango) - ("freetype" ,freetype) - ("bzip2" ,bzip2) - ("xz" ,xz))) - (native-inputs `(("pkg-config" ,pkg-config))) - (outputs '("out" - "doc")) ; 26 MiB of HTML documentation - (home-page "https://www.imagemagick.org/") - (synopsis "Create, edit, compose, or convert bitmap images") - (description - "ImageMagick is a software suite to create, edit, compose, or convert + ;; 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 "-" + ,(package-version this-package) "\n")))) + #t)) + (add-before + 'configure 'strip-configure-xml + (lambda _ + (substitute* "config/configure.xml.in" + ;; Do not record 'configure' arguments in the + ;; configure.xml file that gets installed: That would + ;; include --docdir, and thus retain a reference to the + ;; 'doc' output. + (("@CONFIGURE_ARGS@") + "not recorded")) + #t))))) + ;; TODO: Add Jasper etc. + (inputs `(("fftw" ,fftw) + ("graphviz" ,graphviz) + ("ghostscript" ,ghostscript) + ("lcms" ,lcms) + ("libx11" ,libx11) + ("zlib" ,zlib) + ("libxml2" ,libxml2) + ("libtiff" ,libtiff) + ("libpng" ,libpng) + ("libjpeg" ,libjpeg-turbo) + ("pango" ,pango) + ("freetype" ,freetype) + ("bzip2" ,bzip2) + ("xz" ,xz))) + (native-inputs `(("pkg-config" ,pkg-config))) + (outputs '("out" + "doc")) ; 26 MiB of HTML documentation + (home-page "https://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 (license:fsf-free "http://www.imagemagick.org/script/license.php")))) + (license (license:fsf-free "http://www.imagemagick.org/script/license.php"))))) (define-public imagemagick (package (inherit imagemagick/stable) + (properties (alist-delete 'hidden? (package-properties imagemagick/stable))) ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. |