From: Guillermo Rodriguez <guille.rodriguez@gmail.com>
To: ptxdist@pengutronix.de
Cc: Guillermo Rodriguez <guille.rodriguez@gmail.com>
Subject: [ptxdist] [PATCH v2] New package: imagemagick
Date: Fri, 14 Oct 2016 11:00:37 +0200 [thread overview]
Message-ID: <1476435638-31426-1-git-send-email-guille.rodriguez@gmail.com> (raw)
In-Reply-To: <20160915075625.toop5x6s4k7qnsql@pengutronix.de>
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.rodriguez@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.rodriguez@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.rodriguez@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
next prev parent reply other threads:[~2016-10-14 9:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-02 10:14 [ptxdist] [PATCH] " Guillermo Rodriguez
2016-09-14 6:31 ` Guillermo Rodriguez Garcia
2016-09-14 21:32 ` Roland Hieber
2016-09-15 6:34 ` Guillermo Rodriguez Garcia
2016-09-15 7:56 ` Michael Olbrich
2016-09-15 8:48 ` Guillermo Rodriguez Garcia
2016-10-14 9:00 ` Guillermo Rodriguez [this message]
2016-10-15 10:16 ` [ptxdist] [PATCH v2] " Guillermo Rodriguez Garcia
2016-10-21 9:32 ` Guillermo Rodriguez Garcia
2016-10-21 9:47 ` Michael Olbrich
2016-10-21 10:10 ` Guillermo Rodriguez Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1476435638-31426-1-git-send-email-guille.rodriguez@gmail.com \
--to=guille.rodriguez@gmail.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox