# New ports collection makefile for: ImageMagick # Date created: 15 November 1994 # Whom: torstenb # # $FreeBSD$ # PORTNAME= ImageMagick DISTVERSION= 6.2.7-7 PORTREVISION= 1 CATEGORIES= graphics perl5 MASTER_SITES= ftp://ftp.imagemagick.org/pub/ImageMagick/ \ ftp://gd.tuwien.ac.at/pub/graphics/ImageMagick/ \ ftp://ftp.carnet.hr/misc/imagemagick/ \ ftp://ftp.fu-berlin.de/unix/X11/graphics/ImageMagick/ \ ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ \ ftp://ftp.u-aizu.ac.jp/pub/graphics/image/ImageMagick/imagemagick.org/ \ ftp://zoffy.asahi-net.or.jp/pub/graphics/ImageMagick/ \ ftp://ftp.nluug.nl/pub/ImageMagick/ \ ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ \ ftp://ftp.fifi.org/pub/ImageMagick/ \ ${MASTER_SITE_SOURCEFORGE} \ ${MASTER_SITE_LOCAL:S/%SUBDIR%/pav/} MASTER_SITE_SUBDIR= imagemagick MAINTAINER= avleeuwen@piwebs.com COMMENT= Image processing tools WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R} USE_PERL5= yes USE_BZIP2= yes USE_GNOME= gnomehack gnometarget pkgconfig USE_GMAKE= yes USE_AUTOTOOLS= libtool:15 libltdl:15 GNU_CONFIGURE= yes CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" CONFIGURE_ARGS= --enable-shared INSTALLS_SHLIB= yes MAN1= ImageMagick.1 Magick++-config.1 Magick-config.1 Wand-config.1 \ animate.1 conjure.1 compare.1 composite.1 convert.1 display.1 \ identify.1 import.1 mogrify.1 montage.1 CPPFLAGS= -I${LOCALBASE}/include LDFLAGS= -L${LOCALBASE}/lib PLIST_SUB+= PORTVERSION=${PORTVERSION:R} .if !defined(WITHOUT_IMAGEMAGICK_PERL) CONFIGURE_ARGS+= --with-perl=${PERL5} PLIST_SUB+= WITH_PERL='' MAN3= Image::Magick.3 MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VERSION} .else CONFIGURE_ARGS+= --without-perl PLIST_SUB+= WITH_PERL='@comment ' .endif # PerlMagick not works with threads, if perl is not threaded, and vice versa .if defined(WITH_IMAGEMAGICK_THREADS) || \ (!defined(WITHOUT_IMAGEMAGICK_PERL) && \ defined(PERL_THREADED) && ${PERL_THREADED} == "true") CONFIGURE_ARGS+= --with-threads CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" PTHREAD_LIBS="${PTHREAD_LIBS}" LDFLAGS+= ${PTHREAD_LIBS} WITH_IMAGEMAGICK_THREADS=yes .else CONFIGURE_ARGS+= --without-threads .undef WITH_IMAGEMAGICK_THREADS .endif # Faster, but poor quality .if defined(WITHOUT_IMAGEMAGICK_16BIT_PIXEL) CONFIGURE_ARGS+= --with-quantum-depth=8 PLIST_SUB+= QBIT='Q8' .else PLIST_SUB+= QBIT='Q16' .endif .if defined(WITH_WINDOWS_FONT_DIR) CONFIGURE_ARGS+= --with-windows-font-dir=${WITH_WINDOWS_FONT_DIR} .endif # Loadable coders, smaller executable, but PerlMagick not really works # ('make test' there works) .if defined(WITH_IMAGEMAGICK_MODULES) CONFIGURE_ARGS+= --with-modules PLIST_SUB+= MODULES='' .else PLIST_SUB+= MODULES='@comment ' .endif .if !defined(WITHOUT_IMAGEMAGICK_JPEG) LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg PLIST_SUB+= JPEG="" .else CONFIGURE_ARGS+= --without-jpeg PLIST_SUB+= JPEG="@comment " .endif .if !defined(WITHOUT_IMAGEMAGICK_PNG) LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png PLIST_SUB+= PNG="" .else CONFIGURE_ARGS+= --without-png PLIST_SUB+= PNG="@comment " .endif .if !defined(WITHOUT_IMAGEMAGICK_TIFF) LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff PLIST_SUB+= TIFF="" .else CONFIGURE_ARGS+= --without-tiff PLIST_SUB+= TIFF="@comment " .endif # Produce BZip compressed MIFF images .if defined(WITHOUT_IMAGEMAGICK_BZLIB) CONFIGURE_ARGS+= --without-bzlib .endif # FPX (FlashPIX) images .if !defined(WITHOUT_IMAGEMAGICK_FPX) LIB_DEPENDS+= fpx.1:${PORTSDIR}/graphics/libfpx CONFIGURE_ARGS+= --with-fpx PLIST_SUB+= FPX="" .else PLIST_SUB+= FPX="@comment " .endif # JBIG images (lossless compression for bi-level images) .if !defined(WITHOUT_IMAGEMAGICK_JBIG) LIB_DEPENDS+= jbig.1:${PORTSDIR}/graphics/jbigkit PLIST_SUB+= JBIG="" .else CONFIGURE_ARGS+= --without-jbig PLIST_SUB+= JBIG="@comment " .endif # JPEG2000 images (wavelet-based lossy compression) .if !defined(WITHOUT_IMAGEMAGICK_JPEG2000) LIB_DEPENDS+= jasper.4:${PORTSDIR}/graphics/jasper PLIST_SUB+= JPEG2000="" .else CONFIGURE_ARGS+= --without-jp2 PLIST_SUB+= JPEG2000="@comment " .endif # GraphViz dot graphs .if defined(WITH_IMAGEMAGICK_DOT) BUILD_DEPENDS+= dot:${PORTSDIR}/graphics/graphviz RUN_DEPENDS+= dot:${PORTSDIR}/graphics/graphviz .else CONFIGURE_ARGS+= --without-dot --without-gvc .endif # LCMS (Little CMS) color management .if !defined(WITHOUT_IMAGEMAGICK_LCMS) LIB_DEPENDS+= lcms.1:${PORTSDIR}/graphics/lcms .else CONFIGURE_ARGS+= --without-lcms .endif # Freetype (TrueType Font) support .if !defined(WITHOUT_IMAGEMAGICK_TTF) LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2 USE_GHOSTSCRIPT= yes CONFIGURE_ARGS+= --with-freetype .else CONFIGURE_ARGS+= --without-freetype .endif # Fontconfig support .if !defined(WITHOUT_IMAGEMAGICK_FONTCONFIG) LIB_DEPENDS+= fontconfig.1:${PORTSDIR}/x11-fonts/fontconfig CONFIGURE_ARGS+= --with-fontconfig CONFIGURE_ENV+= FONTCONFIG_CFLAGS="-I${X11BASE}/include" \ FONTCONFIG_LIBS="-L${X11BASE}/lib" MAKE_ENV+= FONTCONFIG_CFLAGS="-I${X11BASE}/include" .else CONFIGURE_ARGS+= --without-fontconfig .endif # WMF (Windows Meta File) images .if defined(WITH_IMAGEMAGICK_WMF) .if !defined(WITH_IMAGEMAGICK_MODULES) IGNORE= WMF support requires WITH_IMAGEMAGICK_MODULES .else .if defined(WITHOUT_X11) IGNORE= WMF support requires X11 libraries, please unset WITHOUT_X11 .else LIB_DEPENDS+= wmf.2:${PORTSDIR}/graphics/libwmf CONFIGURE_ARGS+= --with-wmf=yes .endif .endif .else CONFIGURE_ARGS+= --without-wmf .endif # SVG (Scalable Vector Graphics) images and MSL (Magick Scripting Language) # both require XML .if defined(WITH_IMAGEMAGICK_SVG) || !defined(WITHOUT_IMAGEMAGICK_MSL) USE_GNOME+= libxml2 CONFIGURE_ARGS+= --with-xml .else CONFIGURE_ARGS+= --without-xml .endif .if defined(WITH_IMAGEMAGICK_SVG) LIB_DEPENDS+= rsvg-2.2:${PORTSDIR}/graphics/librsvg2 CONFIGURE_ARGS+= --with-rsvg CONFIGURE_ENV+= RSVG_CFLAGS="-I${X11BASE}/include/librsvg-2" \ RSVG_LIBS="-L${X11BASE}/lib" .else CONFIGURE_ARGS+= --without-rsvg .endif # DPS (Display PostScript) support .if !defined(WITHOUT_IMAGEMAGICK_DPS) CONFIGURE_ARGS+= --with-dps .else CONFIGURE_ARGS+= --without-dps .endif # PDF (Adobe Portable Document Format) support .if !defined(WITHOUT_IMAGEMAGICK_PDF) CONFIGURE_ARGS+= --with-gslib USE_GHOSTSCRIPT= yes .else CONFIGURE_ARGS+= --without-gslib .endif .if defined(WITHOUT_X11) PKGNAMESUFFIX+= -nox11 CONFIGURE_ARGS+= --without-x --without-mpeg2 PLIST_SUB+= X11='@comment ' .else CONFLICTS+= display CONFIGURE_ARGS+= --with-x USE_XLIB= yes PLIST_SUB+= X11='' .if !defined(WITHOUT_IMAGEMAGICK_MPEG2) RUN_DEPENDS+= mpeg2encode:${PORTSDIR}/multimedia/mpeg2codec .endif .endif .if defined(NOPORTDOCS) INSTALL_TARGET= install .else INSTALL_TARGET= install install-data-html .endif post-patch: # remove the autogenerated Magick.c so it will be regenerated from # Magick.xs on _this_ system: @${RM} -f ${WRKSRC}/PerlMagick/Magick.c @${PERL} -pi -e 's|^tagnames=|#tagnames=|g ; \ s|lcms/lcms.h|lcms.h|g ; \ s|lcms_lcms_h|lcms_h|g' ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} # version neither libraries nor directories @${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${PERL} -pi -e \ 's|pkgdocdir =.*$$|pkgdocdir = ${DOCSDIR}/|g ; \ s|-\$$\(VERSION\)||; \ s| install-data-html||g' # do not version lib directories @${PERL} -pi -e 's|^(MagickLibSubdir).*$$|\1="ImageMagick"|' \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} @${PERL} -pi -e 's|lcms/lcms.h|lcms.h|g' ${WRKSRC}/magick/transform.c @${PERL} -pi -e 's|||g' ${WRKSRC}/ltdl/ltdl.c @${PERL} -pi -e 's|timestamp: %ld|timestamp: %d|g' \ ${WRKSRC}/magick/xwindow.c .if defined(WITH_IMAGEMAGICK_THREADS) . for i in Magick++/lib/ImageMagick++.pc.in wand/Wand.pc.in magick/ImageMagick.pc.in @${PERL} -pi -e 's|^(Libs.+)$$|\1 ${PTHREAD_LIBS}|; \ s|^(Cflags.+)$$|\1 ${PTHREAD_CFLAGS}|' \ ${WRKSRC}/${i} . endfor .endif # deprecated gvCleanup @${REINPLACE_CMD} -e "s|gvCleanup|gvFreeContext|g" \ ${WRKSRC}/coders/dot.c # Respect Make flags @${REINPLACE_CMD} -E -e "s|^CPPFLAGS =|CPPFLAGS ?=|g" \ -e "s|^CXXFLAGS =|CXXFLAGS ?=|g" -e "s|^CFLAGS =|CFLAGS ?=|g" \ -e "s|^CC =|CC ?=|g" -e "s|^CPP =|CPP ?=|g" -e "s|^CXX =|CXX ?=|g" \ -e "s|^LDFLAGS =|LDFLAGS ?=|g" ${WRKSRC}/Makefile.in post-install: .if defined(WITHOUT_IMAGEMAGICK_16BIT_PIXEL) @${TOUCH} ${PREFIX}/lib/ImageMagick/modules-Q8/coders/.keep @${TOUCH} ${PREFIX}/lib/ImageMagick/modules-Q8/filters/.keep .else @${TOUCH} ${PREFIX}/lib/ImageMagick/modules-Q16/coders/.keep @${TOUCH} ${PREFIX}/lib/ImageMagick/modules-Q16/filters/.keep .endif .include