Hey hey, On 14.09.2016 08:31, Guillermo Rodriguez Garcia wrote: > Hello, any feedback on this one? > > Guillermo > > 2016-09-02 12:14 GMT+02:00 Guillermo Rodriguez : >> 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. >> >> Signed-off-by: Guillermo Rodriguez >> >> --- >> rules/imagemagick.in | 41 ++++++++++++++ >> rules/imagemagick.make | 142 ++++++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 183 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..90a0eb6 >> --- /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 I guess these should be tab-aligned before "if", at least I got that as feedback for my patch :) >> + 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..f07bab7 >> --- /dev/null >> +++ b/rules/imagemagick.make >> @@ -0,0 +1,142 @@ >> +# -*-makefile-*- >> +# >> +# Copyright (C) 2016 by Guillermo Rodriguez >> +# >> +# 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 >> +# ---------------------------------------------------------------------------- >> + >> +IMAGEMAGICK_QUANTUM_DEPTH := 8 If this is an option which is changed often, make it a text field in the .in file. >> + >> +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. >> +# - Quantum depth is set to 8. 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. >> +# - 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 obviously not applicable on the target. Just ignore the generated >> +# delegates.xml file. >> +# >> +IMAGEMAGICK_AUTOCONF := \ >> + $(CROSS_AUTOCONF_USR) \ >> + --disable-docs \ >> + --enable-shared \ >> + --disable-static \ >> + --disable-openmp \ >> + --without-threads \ >> + --without-modules \ >> + --with-quantum-depth=$(IMAGEMAGICK_QUANTUM_DEPTH) \ >> + --disable-hdri \ >> + --without-autotrace \ >> + --without-bzlib \ >> + --without-djvu \ >> + --without-dps \ >> + --without-fftw \ >> + --without-flif \ >> + --without-fpx \ >> + --without-fontconfig \ >> + --without-freetype \ >> + --without-gslib \ >> + --without-gvc \ >> + --without-jbig \ >> + --without-lcms \ >> + --without-lqr \ >> + --without-lzma \ >> + --without-magick-plus-plus \ >> + --without-openexr \ >> + --without-openjp2 \ >> + --without-pango \ >> + --without-perl \ >> + --without-raqm \ >> + --without-rsvg \ >> + --without-tiff \ >> + --without-webp \ >> + --without-wmf \ >> + --without-x \ >> + --without-xml \ These options mostly look like they should be additional flags in the .in file, and pull in the respective packages. >> + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_ZLIB)-zlib \ >> + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_LIBPNG)-png \ >> + --$(call ptx/wwo, PTXCONF_IMAGEMAGICK_USE_LIBJPEG)-jpeg ... like here :) >> + >> +# ---------------------------------------------------------------------------- >> +# 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 ") >> + @$(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) >> +# These require X11 support: >> +# @$(call install_link, imagemagick, magick, /usr/bin/animate) >> +# @$(call install_link, imagemagick, magick, /usr/bin/display) >> +# @$(call install_link, imagemagick, magick, /usr/bin/import) ... then you can also install those when the user selects --with-x >> + >> + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/coder.xml) >> + @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/colors.xml) >> +# This file contains paths to external programs detected in the host: >> +# @$(call install_alternative, imagemagick, 0, 0, 0644, /etc/ImageMagick-7/delegates.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 >>