# New ports collection makefile for: ImageMagick # Date created: 15 November 1994 # Whom: torstenb # # $FreeBSD$ # PORTNAME= ImageMagick PORTVERSION= 6.2.2.1 CATEGORIES= graphics perl5 MASTER_SITES= ftp://ftp.nluug.nl/pub/ImageMagick/ \ ${MASTER_SITE_LOCAL:S/%SUBDIR%/pav/} DISTNAME= ${PORTNAME}-${PORTVERSION:R}-${PORTVERSION:E} 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_LIBTOOL_VER=15 USE_LIBLTDL= yes LIBTOOLFLAGS= # none 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 \ compare.1 composite.1 convert.1 identify.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}" .else CONFIGURE_ARGS+= --without-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 .else CONFIGURE_ARGS+= --without-jpeg .endif .if !defined(WITHOUT_IMAGEMAGICK_PNG) LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png .else CONFIGURE_ARGS+= --without-png .endif .if !defined(WITHOUT_IMAGEMAGICK_TIFF) LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff .else CONFIGURE_ARGS+= --without-tiff .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 .endif # JBIG images (lossless compression for bi-level images) .if !defined(WITHOUT_IMAGEMAGICK_JBIG) LIB_DEPENDS+= jbig.1:${PORTSDIR}/graphics/jbigkit .else CONFIGURE_ARGS+= --without-jbig .endif # JPEG2000 images (wavelet-based lossy compression) .if !defined(WITHOUT_IMAGEMAGICK_JPEG2000) LIB_DEPENDS+= jasper.4:${PORTSDIR}/graphics/jasper .else CONFIGURE_ARGS+= --without-jp2 .endif # GraphViz dot graphs .if defined(WITH_IMAGEMAGICK_DOT) LIB_DEPENDS+= dotneato.0:${PORTSDIR}/graphics/graphviz .else CONFIGURE_ARGS+= --without-dot .endif # LCMS (Little CMS) color management .if !defined(WITHOUT_IMAGEMAGICK_LCMS) LIB_DEPENDS+= lcms.1:${PORTSDIR}/graphics/lcms .else CONFIGURE_ARGS+= --without-lcms .endif # TTF (TrueType Font) support .if !defined(WITHOUT_IMAGEMAGICK_TTF) BUILD_DEPENDS+= freetype-config:${PORTSDIR}/print/freetype2 # XXX LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2 USE_GHOSTSCRIPT= yes .else CONFIGURE_ARGS+= --without-ttf .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(WITHOUT_IMAGEMAGICK_SVG) || !defined(WITHOUT_IMAGEMAGICK_MSL) LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2 MAN1+= conjure.1 PLIST_SUB+= WITH_CONJURE='' .else CONFIGURE_ARGS+= --without-xml PLIST_SUB+= WITH_CONJURE='@comment ' .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 MAN1+= animate.1 display.1 import.1 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 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