aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/ImageMagick/Makefile
blob: b0a85588e91808fdbad6d3029ea1162e0dbaf4b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# New ports collection makefile for:    ImageMagick
# Date created:     15 November 1994
# Whom:         torstenb
#
# $FreeBSD$
#

PORTNAME=   ImageMagick
PORTVERSION=    5.4.3.9
CATEGORIES= graphics perl5
MASTER_SITES=   http://imagemagick.sourceforge.net/http/ \
        ftp://ftp.yggdrasil.com/mirrors/site/ftp.simplesystems.org/pub/%SUBDIR%/ \
        ftp://gd.tuwien.ac.at/pub/graphics/%SUBDIR%/ \
        ftp://ftp.sunet.se/pub/multimedia/graphics/%SUBDIR%/ \
        ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,graphics/ImageMagick,} \
        ftp://ftp.crc.ca/pub/packages/graphics/imagemagick/ \
        ftp://ftp.imagemagick.org/pub/%SUBDIR%/ \
        ftp://ftp.planetmirror.com/pub/%SUBDIR%/ \
        ftp://ftp.fu-berlin.de/unix/X11/graphics/%SUBDIR%/ \
        ftp://zoffy.asahi-net.or.jp/pub/graphics/%SUBDIR%/ \
        ftp://ftp.u-aizu.ac.jp/pub/graphics/image/%SUBDIR%/ \
        ftp://ftp.eos.hokudai.ac.jp/pub/graphics/%SUBDIR%/ \
        ftp://ftp.kddlabs.co.jp/graphics/%SUBDIR%/ \
        ftp://ftp.icm.edu.pl/pub/graphics/%SUBDIR%/ \
        ftp://giswitch.sggw.waw.pl/pub/graphics/%SUBDIR%/ \
        ftp://ftp.fifi.org/pub/%SUBDIR%/ \
        ftp://ftp.simplesystems.org/pub/%SUBDIR%/
MASTER_SITE_SUBDIR= ${PORTNAME}
DISTNAME=   ${PORTNAME}-${PORTVERSION:R}-${PORTVERSION:E}

MAINTAINER= ports@FreeBSD.org

BUILD_DEPENDS=  freetype-config:${PORTSDIR}/print/freetype2 # XXX
LIB_DEPENDS=    fpx:${PORTSDIR}/graphics/libfpx \
        jbig:${PORTSDIR}/graphics/jbigkit \
        jpeg:${PORTSDIR}/graphics/jpeg \
        lcms:${PORTSDIR}/graphics/lcms \
        png:${PORTSDIR}/graphics/png \
        tiff.4:${PORTSDIR}/graphics/tiff \
        freetype:${PORTSDIR}/print/freetype2 \
        xml2:${PORTSDIR}/textproc/libxml2
.if !exists(/usr/bin/bzip2)
LIB_DEPENDS+=   bz2:${PORTSDIR}/archivers/bzip2
.endif

WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}

USE_PERL5=  yes
GNU_CONFIGURE=  yes
USE_GMAKE=  yes
CONFIGURE_TARGET=   --build=${ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ENV=  CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS= --enable-shared --with-perl=${PERL5} \
        --without-gslib --without-jp2
.ifndef WITH_HDF
CONFIGURE_ARGS+=--without-hdf 
.endif
INSTALLS_SHLIB= yes

MAN1=       ImageMagick.1 Magick++-config.1 Magick-config.1 \
        composite.1 conjure.1 convert.1 identify.1 mogrify.1 montage.1
MAN3=       Image::Magick.3
MAN4=       miff.4
MAN5=       quantize.5
MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VERSION}

CPPFLAGS=   -I${LOCALBASE}/include
LDFLAGS=    -L${LOCALBASE}/lib

# PerlMagick not works with threads, if perl is not threaded, and vice versa
.if defined(WITH_IMAGEMAGICK_THREADS) || \
    defined(PERL_THREADED) && ${PERL_THREADED} == "true"
CONFIGURE_ARGS+=    --with-threads
CPPFLAGS+=      ${PTHREAD_CFLAGS}
LDFLAGS+=       ${PTHREAD_LIBS}
.else
CONFIGURE_ARGS+=    --without-threads
.endif

# Faster, but poor quality
.if defined(WITHOUT_IMAGEMAGICK_16BIT_PIXEL)
CONFIGURE_ARGS+=    --disable-16bit-pixel
.endif

# Produce standard (small) GIFs
.if defined(HAVE_UNISYS_LICENSE)
CONFIGURE_ARGS+=    --enable-lzw
.endif

# Loadable coders, smaller executable, but PerlMagick not really works
# ('make test' there works)
.if defined(WITH_IMAGEMAGICK_MODULES)
LIB_DEPENDS+=   ltdl.1:${PORTSDIR}/devel/libtool
CONFIGURE_ARGS+=    --with-modules
PLIST_SUB+= MODULES=''
.else
PLIST_SUB+= MODULES='@comment '
.endif

.if defined(WITHOUT_X11)
PKGNAMESUFFIX+= -nox11
BUILD_DEPENDS+= gs:${PORTSDIR}/print/ghostscript-gnu-nox11
RUN_DEPENDS+=   gs:${PORTSDIR}/print/ghostscript-gnu-nox11
CONFIGURE_ARGS+=    --without-x --without-mpeg2 --without-wmf
PLIST_SUB+= X11='@comment '
.else
LIB_DEPENDS+=   mpeg2:${PORTSDIR}/graphics/libmpeg2 \
        wmf.2:${PORTSDIR}/graphics/libwmf
BUILD_DEPENDS+= gs:${PORTSDIR}/print/ghostscript-gnu
RUN_DEPENDS+=   gs:${PORTSDIR}/print/ghostscript-gnu
USE_XLIB=   yes
MAN1+=      animate.1 display.1 import.1
PLIST_SUB+= X11=''
.endif

pre-patch:
    @${PERL} -pi -e 's|-lpthread|-lc_r|g ; \
        s|LIBLTDL=.*$$|LIBLTDL="-lltdl"|g ; \
        s|INCLTDL=.*$$|INCLTDL=|g ; \
        s|lcms/lcms.h|lcms.h|g ; \
        s|lcms_lcms_h|lcms_h|g' ${WRKSRC}/configure
    @find ${WRKSRC} -name "Makefile.in" | xargs ${PERL} -pi -e \
        's|top_builddir\)/ltdl/libltdlc.la|LIBLTDL\)|g'
    @${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
    @${PERL} -pi -e 's|pkgdocdir = (.+)|pkgdocdir = ${DOCSDIR}/|' \
        ${WRKSRC}/Makefile.in

.if defined(NOPORTDOCS)
pre-install:
# Don't install the HTML documentation...
    ${TOUCH} ${WRKSRC}/install-data-html
.endif

.include <bsd.port.mk>