50513d5d52
This commit should largele be a NOOP as it only adds support for DESTDIR undefined. This does allow us to start testing ports with DESTDIR set, but this is as of yet not supported. Although this has been extensively tested on pointyhat, this is a very intrusive change and some cases may have been overlooked. Please contact Gabor and me if you find any. PR: 100555 Submitted by: gabor Sponsored by: Google Summer of Code 2006
297 lines
8.4 KiB
Makefile
297 lines
8.4 KiB
Makefile
# New ports collection makefile for: ImageMagick
|
|
# Date created: 15 November 1994
|
|
# Whom: torstenb
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= ImageMagick
|
|
DISTVERSION= 6.2.8-5
|
|
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 stream.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= ${TARGETDIR}/lib/perl5/${PERL_VER}
|
|
.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
|
|
CONFIGURE_ARGS+= --without-modules
|
|
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|<malloc.h>|<stdlib.h>|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 <bsd.port.mk>
|