Files
2026-07-06 23:01:34 -04:00

207 lines
7.5 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup conflicts_build 1.0
PortGroup github 1.0
PortGroup legacysupport 1.1
# IM7 7.1.1-29, 2024 March, for OS 10.6/Snow Leopard;
# TARGET_OS_IOS, TARGET_OS_WATCH, TARGET_OS_TV missing in TargetConditionals.h:
legacysupport.newest_darwin_requires_legacy 10
###### OBSOLETE NOTE FROM IM6:
# Keep relevant lines in sync between ImageMagick and p5-perlmagick.
# Before updating to a newer version, install phpNN-imagick.
# After updating, run `phpNN -v`.
# If the following warning appears, revbump php-imagick.
# PHP Warning: Version warning: Imagick was compiled against
# Image Magick version XXXX but version YYYY is loaded.
# Imagick will run but may behave surprisingly in Unknown on line 0.
name ImageMagick7
github.setup ImageMagick ImageMagick 7.1.2-27
github.tarball_from releases
revision 0
use_xz yes
checksums rmd160 07c5256f79bc3d3002305a996a73a631458c02af \
sha256 f65773f1f465c730f1c025c92a2524966f772ebeb77de0d817c336e1f565e9ef \
size 10889824
categories graphics devel
maintainers {@Dave-Allured noaa.gov:dave.allured} \
openmaintainer
license Apache-2
use_parallel_build yes
description Tools and libraries to manipulate images in many formats
long_description For the ImageMagick-6 legacy version, please see \
port https://ports.macports.org/port/ImageMagick. \
\
ImageMagick is a robust collection of tools and \
libraries to create, edit and compose bitmap images \
in a wide variety of formats. You can crop, resize, \
rotate, sharpen, color reduce or add effects or text \
or straight or curved lines to an image or image \
sequence and save your completed work in the same or \
differing image format. You can even create images \
from scratch. Image processing operations are \
available from the command line as well as through \
C, Ch, C++, Java, Perl, PHP, Python, Ruby and Tcl/Tk \
programming interfaces. Over 90 image formats are \
supported, including GIF, JPEG, JPEG 2000, PNG, PDF, \
PhotoCD and TIFF.
homepage https://imagemagick.org
depends_lib port:bzip2 \
port:djvulibre \
port:xz \
port:jbigkit \
path:include/turbojpeg.h:libjpeg-turbo \
port:lcms2 \
port:libjxl \
port:libpng \
port:libraw \
port:tiff \
port:webp \
port:zlib \
port:fftw-3 \
port:freetype \
port:fontconfig \
port:ghostscript \
port:libiconv \
port:libtool \
port:openjpeg \
port:expat \
port:libxml2 \
port:libheif
# Magick-config etc. use pkg-config
depends_lib-append path:bin/pkg-config:pkgconfig
# see ${prefix}/lib/ImageMagick7/etc/ImageMagick-7/delegates.xml
depends_run port:jxrlib \
port:libbpg \
port:urw-fonts \
port:xdg-utils
# error: wrong number of arguments specified for 'deprecated' attribute
compiler.blacklist-append \
{*gcc-[34].*}
configure.ccache no
configure.pre_args --prefix=${prefix}/lib/ImageMagick7
configure.args --mandir=${prefix}/lib/ImageMagick7/share/man
configure.args-append \
--enable-shared \
--enable-static \
--disable-silent-rules \
--with-frozenpaths \
--disable-hdri \
--with-dps \
--with-bzlib \
--with-djvu \
--with-fftw \
--with-fontconfig \
--with-gslib \
--with-jbig \
--with-jpeg \
--with-lcms \
--with-openjp2 \
--with-png \
--with-tiff \
--with-webp \
--with-zlib \
--with-modules \
--with-xml \
--with-heic \
--without-gcc-arch \
--without-perl \
--without-fpx \
--without-wmf \
--without-gvc \
--without-rsvg \
--without-lqr \
--without-openexr \
--without-pango \
--without-raqm \
--without-x \
--without-zip \
--without-zstd \
--with-gs-font-dir=${prefix}/share/fonts/urw-fonts \
--disable-openmp
if {${os.platform} eq "darwin" && ${os.major} < 11} {
configure.args-append --disable-opencl
} else {
configure.args-append --enable-opencl
# On case-insensitive filesystems, ImageMagick finds cryptlib's libcl and
# tries to use it as if it were Apple's OpenCL, which fails; see #23354.
if {[file exists ${prefix}/lib/libCL.dylib]} {
conflicts_build cryptlib
}
}
# https://trac.macports.org/wiki/WimplicitFunctionDeclaration#strchr
configure.checks.implicit_function_declaration.whitelist-append strchr
test.run yes
test.target check
test.env DYLD_LIBRARY_PATH=${worksrcpath}/magick/.libs
# ImageMagick uses .la files at runtime to find its coder modules.
destroot.delete_la_files no
variant graphviz description {Support Graphviz} {
depends_lib-append path:bin/dot:graphviz
configure.args-replace --without-gvc --with-gvc
}
variant lqr description {Support Liquid Rescale (experimental)} {
depends_lib-append port:liblqr
configure.args-replace --without-lqr --with-lqr
}
variant openexr description {Support OpenEXR} {
depends_lib-append port:openexr
configure.args-replace --without-openexr --with-openexr
}
variant pango description {Support Pango} {
depends_lib-append path:lib/pkgconfig/pango.pc:pango
configure.args-replace --without-pango --with-pango
}
variant rsvg description {Support SVG using librsvg} {
depends_lib-append path:lib/pkgconfig/librsvg-2.0.pc:librsvg
configure.args-replace --without-rsvg --with-rsvg
}
variant wmf description {Support the Windows Metafile Format} {
depends_lib-append port:libwmf
configure.args-replace --without-wmf --with-wmf
}
variant x11 {
depends_lib-append port:xorg-libX11 \
port:xorg-libXext \
port:xorg-libXt
configure.args-replace --without-x --with-x
}
default_variants +openexr +x11
notes-append {
To use the ImageMagick7 command-line interface, add\
${prefix}/lib/ImageMagick7/bin to your $PATH,\
in front of the normal ${prefix}; or else use full paths.
To compile and link with ImageMagick7, add\
-I${prefix}/lib/ImageMagick7/include and\
-L${prefix}/lib/ImageMagick7/lib to your compile command.
}