Files
haikuports/media-gfx/imagemagick/imagemagick-7.1.2.2.recipe
2025-08-30 07:04:44 +00:00

216 lines
6.6 KiB
Bash

SUMMARY="Convert, edit, or compose 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, 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."
HOMEPAGE="https://www.imagemagick.org/
https://github.com/ImageMagick/ImageMagick/"
COPYRIGHT="1999-2020 ImageMagick Studio LLC"
LICENSE="IMAGEMAGICK"
REVISION="2"
imageMagickVersion="${portVersion%.*}-${portVersion##*.}"
SOURCE_URI="https://imagemagick.org/archive/releases/ImageMagick-$imageMagickVersion.tar.xz
https://mirror.dogado.de/imagemagick/releases/ImageMagick-$imageMagickVersion.tar.xz"
CHECKSUM_SHA256="d264a2698f08bad4d261bccbb63413292570e94c0ba506f8368a9fea9613542d"
SOURCE_DIR="ImageMagick-$imageMagickVersion"
PATCHES="imagemagick-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
GLOBAL_WRITABLE_FILES="
settings/ImageMagick-7/colors.xml keep-old
settings/ImageMagick-7/delegates.xml keep-old
settings/ImageMagick-7/log.xml keep-old
settings/ImageMagick-7/mime.xml keep-old
settings/ImageMagick-7/policy.xml keep-old
settings/ImageMagick-7/quantization-table.xml keep-old
settings/ImageMagick-7/thresholds.xml keep-old
settings/ImageMagick-7/type.xml keep-old
settings/ImageMagick-7/type-apple.xml keep-old
settings/ImageMagick-7/type-dejavu.xml keep-old
settings/ImageMagick-7/type-ghostscript.xml keep-old
settings/ImageMagick-7/type-urw-base35.xml keep-old
settings/ImageMagick-7/type-urw-base35-type1.xml keep-old
settings/ImageMagick-7/type-windows.xml keep-old
"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libMagickVersion="5.0.0"
libMagickCoreVersion="10.0.2"
libMagickWandVersion="10.0.2"
libMagickVersionCompat="$libMagickVersion compat >= ${libMagickVersion%%.*}"
libMagickCoreVersionCompat="$libMagickCoreVersion compat >= ${libMagickCoreVersion%%.*}"
libMagickWandVersionCompat="$libMagickWandVersion compat >= ${libMagickWandVersion%%.*}"
PROVIDES="
imagemagick$secondaryArchSuffix = $portVersion
lib:libMagick++_7.Q16HDRI$secondaryArchSuffix = $libMagickVersionCompat
lib:libMagickCore_7.Q16HDRI$secondaryArchSuffix = $libMagickCoreVersionCompat
lib:libMagickWand_7.Q16HDRI$secondaryArchSuffix = $libMagickWandVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgomp$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libltdl$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
REPLACES="
imagemagick7$secondaryArchSuffix
"
PROVIDES_devel="
imagemagick${secondaryArchSuffix}_devel = $portVersion
cmd:Magick++_config$commandSuffix
cmd:Magick_config$commandSuffix
cmd:MagickCore_config$commandSuffix
cmd:MagickWand_config$commandSuffix
cmd:Wand_config$commandSuffix
devel:libMagick++_7.Q16HDRI$secondaryArchSuffix = $libMagickVersionCompat
devel:libMagickCore_7.Q16HDRI$secondaryArchSuffix = $libMagickCoreVersionCompat
devel:libMagickWand_7.Q16HDRI$secondaryArchSuffix = $libMagickWandVersionCompat
"
REQUIRES_devel="
imagemagick$secondaryArchSuffix == $portVersion base
"
REPLACES="
imagemagick7${secondaryArchSuffix}_devel
"
SUMMARY_tools="The ImageMagick tools"
PROVIDES_tools="
imagemagick${secondaryArchSuffix}_tools = $portVersion
cmd:animate$commandSuffix
cmd:compare$commandSuffix
cmd:composite$commandSuffix
cmd:conjure$commandSuffix
cmd:convert$commandSuffix
cmd:display$commandSuffix
cmd:identify$commandSuffix
cmd:import$commandSuffix
cmd:magick$commandSuffix
cmd:magick_script$commandSuffix
cmd:mogrify$commandSuffix
cmd:montage$commandSuffix
cmd:stream$commandSuffix
"
REQUIRES_tools="
imagemagick$secondaryArchSuffix == $portVersion base
$REQUIRES
"
SUMMARY_doc="The Imagemagick's documentation"
ARCHITECTURES_doc="any"
PROVIDES_doc="
imagemagick_doc = $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
# devel:libdjvulibre$secondaryArchSuffix
# devel:libfftw3$secondaryArchSuffix
# devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
# devel:libilmimf$secondaryArchSuffix #openexr
# devel:libjbig2dec$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
# devel:liblcms2$secondaryArchSuffix
devel:libltdl$secondaryArchSuffix
# devel:liblzma$secondaryArchSuffix
# devel:libopenjp2$secondaryArchSuffix
# devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libwebp$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoreconf
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:git
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:sed
"
defineDebugInfoPackage imagemagick$secondaryArchSuffix \
"$(getPackagePrefix tools)"/bin/animate \
"$(getPackagePrefix tools)"/bin/compare \
"$(getPackagePrefix tools)"/bin/composite \
"$(getPackagePrefix tools)"/bin/conjure \
"$(getPackagePrefix tools)"/bin/convert \
"$(getPackagePrefix tools)"/bin/display \
"$(getPackagePrefix tools)"/bin/identify \
"$(getPackagePrefix tools)"/bin/import \
"$(getPackagePrefix tools)"/bin/magick \
"$(getPackagePrefix tools)"/bin/magick-script \
"$(getPackagePrefix tools)"/bin/mogrify \
"$(getPackagePrefix tools)"/bin/montage \
"$(getPackagePrefix tools)"/bin/stream \
$libDir/libMagick++-7.Q16HDRI.so.$libMagickVersion \
$libDir/libMagickCore-7.Q16HDRI.so.$libMagickCoreVersion \
$libDir/libMagickWand-7.Q16HDRI.so.$libMagickWandVersion
BUILD()
{
export LDFLAGS="-lnetwork"
autoreconf -vfi
runConfigure --omit-dirs "binDir docDir" ./configure \
--bindir=$commandBinDir \
--docdir=$documentationDir/packages \
--enable-shared \
--disable-static \
--without-modules
make $jobArgs
}
INSTALL()
{
make install
# remove libtool files
rm -f $libDir/libMagick*.la
prepareInstalledDevelLibs libMagick++-7.Q16HDRI \
libMagickCore-7.Q16HDRI \
libMagickWand-7.Q16HDRI
fixPkgconfig
packageEntries devel \
$developDir \
$commandBinDir/*-config \
$manDir/man1/*-config.1
packageEntries tools \
$commandBinDir \
$manDir
packageEntries doc \
$documentationDir
}
TEST()
{
make check
}