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

Reply via email to