This adds a new package for ImageMagick 7. Some configuration options are set to sensible defaults for embedded targets (quantum depth set to 8 pixels, HDRI disabled). See notes in imagemagick.make.
Changes since v2: - Fixed whitespace in .in file - Made comment about quantum depth choice more clear - Sorted configure options as they appear in --configure - Removed unwanted binaries and config files intead of just having them commented out. Signed-off-by: Guillermo Rodriguez <guille.rodrig...@gmail.com> --- rules/imagemagick.in | 41 ++++++++++++++ rules/imagemagick.make | 140 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 rules/imagemagick.in create mode 100644 rules/imagemagick.make diff --git a/rules/imagemagick.in b/rules/imagemagick.in new file mode 100644 index 0000000..7bf7b9b --- /dev/null +++ b/rules/imagemagick.in @@ -0,0 +1,41 @@ +## SECTION=multimedia_tools + +menuconfig IMAGEMAGICK + tristate + select ZLIB if IMAGEMAGICK_USE_ZLIB + select LIBPNG if IMAGEMAGICK_USE_LIBPNG + select LIBJPEG if IMAGEMAGICK_USE_LIBJPEG + prompt "imagemagick " + help + 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 200) including PNG, JPEG, JPEG-2000, GIF, TIFF, DPX, EXR, WebP, + Postscript, PDF, and SVG. 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. + +if IMAGEMAGICK + +config IMAGEMAGICK_USE_ZLIB + bool + default y + prompt "Enable ZLIB" + help + Enable ZLIB support + +config IMAGEMAGICK_USE_LIBPNG + bool + default y + prompt "Enable PNG" + help + Enable PNG support + +config IMAGEMAGICK_USE_LIBJPEG + bool + default y + prompt "Enable JPEG" + help + Enable JPEG support + +endif diff --git a/rules/imagemagick.make b/rules/imagemagick.make new file mode 100644 index 0000000..bc44af2 --- /dev/null +++ b/rules/imagemagick.make @@ -0,0 +1,140 @@ +# -*-makefile-*- +# +# Copyright (C) 2016 by Guillermo Rodriguez <guille.rodrig...@gmail.com> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_IMAGEMAGICK) += imagemagick + +# +# Paths and names +# +IMAGEMAGICK_VERSION := 7.0.2-10 +IMAGEMAGICK_MD5 := e1cb23d9c10a8eff228ef30ee281711a +IMAGEMAGICK := ImageMagick-$(IMAGEMAGICK_VERSION) +IMAGEMAGICK_SUFFIX := tar.xz +IMAGEMAGICK_URL := ftp://ftp.nluug.nl/pub/ImageMagick/$(IMAGEMAGICK).$(IMAGEMAGICK_SUFFIX) +IMAGEMAGICK_SOURCE := $(SRCDIR)/$(IMAGEMAGICK).$(IMAGEMAGICK_SUFFIX) +IMAGEMAGICK_DIR := $(BUILDDIR)/$(IMAGEMAGICK) +IMAGEMAGICK_LICENSE := Apache-2.0 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# Supported values for quantum depth are 8, 16, and 32. +# Most display adapters and image formats don't support more than 8 bits +# per pixel quantum (i.e. per each of the R, G, B, and alpha components), +# and higher values have an impact in runtime performance. +# +IMAGEMAGICK_QUANTUM_DEPTH := 8 + +IMAGEMAGICK_PATH := PATH=$(CROSS_PATH) +IMAGEMAGICK_ENV := $(CROSS_ENV) + +# +# See: http://www.imagemagick.org/script/advanced-unix-installation.php +# +# Notes: +# - Threading is disabled as it brings in a dependency with libgomp.so +# (OpenMP) which fails at runtime; disabling openmp itself doesn't seem +# to be enough. +# - HDRI is disabled. It is not supported by most image formats, and has +# a severe impact in runtime performance. +# - The configure script will try to detect external "helper" programs +# available in the host and store their paths in delegates.xml. These +# are not applicable on the target, but also not needed for any of the +# supported configure options. Just ignore the generated delegates.xml +# file. +# +IMAGEMAGICK_AUTOCONF := \ + $(CROSS_AUTOCONF_USR) \ + --disable-openmp \ + --enable-shared \ + --disable-static \ + --disable-hdri \ + --disable-docs \ + --without-threads \ + --without-modules \ + --with-quantum-depth=$(IMAGEMAGICK_QUANTUM_DEPTH) \ + --without-magick-plus-plus \ + --without-perl \ + --without-bzlib \ + --without-x \ + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_ZLIB)-zlib \ + --without-autotrace \ + --without-dps \ + --without-fftw \ + --without-flif \ + --without-fpx \ + --without-djvu \ + --without-fontconfig \ + --without-freetype \ + --without-raqm \ + --without-gslib \ + --without-gvc \ + --without-jbig \ + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_LIBJPEG)-jpeg \ + --without-lcms \ + --without-openjp2 \ + --without-lqr \ + --without-lzma \ + --without-openexr \ + --without-pango \ + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_LIBPNG)-png \ + --without-rsvg \ + --without-tiff \ + --without-webp \ + --without-wmf \ + --without-xml + + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/imagemagick.targetinstall: + @$(call targetinfo) + + @$(call install_init, imagemagick) + @$(call install_fixup, imagemagick, PRIORITY, optional) + @$(call install_fixup, imagemagick, SECTION, base) + @$(call install_fixup, imagemagick, AUTHOR, "Guillermo Rodriguez <guille.rodrig...@gmail.com>") + @$(call install_fixup, imagemagick, DESCRIPTION, missing) + + @$(call install_copy, imagemagick, 0, 0, 0755, -, /usr/bin/magick) + @$(call install_lib, imagemagick, 0, 0, 0644, libMagickCore-7.Q$(IMAGEMAGICK_QUANTUM_DEPTH)) + @$(call install_lib, imagemagick, 0, 0, 0644, libMagickWand-7.Q$(IMAGEMAGICK_QUANTUM_DEPTH)) + + @$(call install_link, imagemagick, magick, /usr/bin/compare) + @$(call install_link, imagemagick, magick, /usr/bin/composite) + @$(call install_link, imagemagick, magick, /usr/bin/conjure) + @$(call install_link, imagemagick, magick, /usr/bin/convert) + @$(call install_link, imagemagick, magick, /usr/bin/identify) + @$(call install_link, imagemagick, magick, /usr/bin/magick-script) + @$(call install_link, imagemagick, magick, /usr/bin/mogrify) + @$(call install_link, imagemagick, magick, /usr/bin/montage) + @$(call install_link, imagemagick, magick, /usr/bin/stream) + + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/coder.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/colors.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/log.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/magic.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/mime.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/policy.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/quantization-table.xml) + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/thresholds.xml) + + @$(call install_finish, imagemagick) + + @$(call touch) + +# vim: syntax=make -- 1.7.9.5 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de