aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/gd/Makefile
blob: 8edcc963aa9f70897732ee1a81ee61a2c140dd66 (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
# Created by: jeff@cetlink.net
# $FreeBSD$

PORTNAME=   libgd
PORTVERSION=    2.1.0
PORTREVISION?=  2
PORTEPOCH=  1
CATEGORIES+=    graphics
MASTER_SITES=   http://cdn.bitbucket.org/libgd/gd-libgd/downloads/

MAINTAINER?=    dinoex@FreeBSD.org
COMMENT?=   A graphics library for fast creation of images

LIB_DEPENDS=    libjpeg.so:${PORTSDIR}/graphics/jpeg \
        libtiff.so:${PORTSDIR}/graphics/tiff \
        libpng15.so:${PORTSDIR}/graphics/png \
        libfreetype.so:${PORTSDIR}/print/freetype2

CONFLICTS=  bazaar-1.*

USES=       tar:xz pkgconfig shebangfix
SHEBANG_FILES=  ${WRKSRC}/src/bdftogd
GNU_CONFIGURE=  yes
GNU_CONFIGURE_ENV=  PKG_CONFIG_LIBDIR=${LOCALBASE}/libdata/pkgconfig
GNU_CONFIGURE_ARGS=
USE_LDCONFIG=   yes

OPTIONS_DEFINE= FONTCONFIG ICONV VPX XPM
OPTIONS_DEFAULT=FONTCONFIG
NO_OPTIONS_SORT=yes
FONTCONFIG_LIB_DEPENDS+=    libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
FONTCONFIG_CONFIGURE_OFF=   --with-fontconfig=no
ICONV_USES= iconv
ICONV_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG}
VPX_LIB_DEPENDS=    libvpx.so:${PORTSDIR}/multimedia/libvpx
VPX_CONFIGURE_OFF=  --without-vpx
XPM_USE=    xorg=xpm,x11
XPM_CONFIGURE_ON=   --with-x
XPM_CONFIGURE_OFF=  --with-xpm=no

.include <bsd.port.options.mk>

PKGCONFIGDIR?=  ${LOCALBASE}/libdata/pkgconfig
# force gdlib-config --ldflags
LDFLAGS+=   -L${LOCALBASE}/lib

# The GD_FONTS environment variable can be set to specify the gzipped
# tar-ball containing the fonts in bdf format and the bdf file names.
# The tarball is the first argument, the tiny, small, medium-bold,
# large, and giant fonts follow.
#
# For example:
# GD_FONTS="/usr/ports/distfiles/x-koi8u.tgz koi6x10.bdf koi8x13.bdf \
#       koi9x15.bdf koi12x24.bdf koi10x20.bdf"
#
.if defined(GD_FONTS)
USES+=      perl5
USE_PERL5=  build
WRKFONTS=   ${WRKSRC}/src
.endif

pre-extract::
    @${ECHO_MSG} ""
    @${ECHO_MSG} "GD_FONTS can be set to specify an alternative list of .bdf files"
    @${ECHO_MSG} ""

post-extract:
.if defined(GD_FONTS)
    cd ${WRKFONTS} && ${SH} ${FILESDIR}/makefonts extract ${GD_FONTS}
.endif

pre-configure:
.if defined(GD_FONTS)
    cd ${WRKFONTS} && ${SH} ${FILESDIR}/makefonts configure ${GD_FONTS}
.endif
    # force PKGCONFIGDIR
    ${REINPLACE_CMD} \
        -e 's|^pkgconfigdir =.*|pkgconfigdir = ${PKGCONFIGDIR}|' \
        ${WRKSRC}/config/Makefile.in
    # bump shlib version
    ${REINPLACE_CMD} \
        -e 's|GDLIB_CURRENT=.*|GDLIB_CURRENT=5|' \
        ${WRKSRC}/configure
    # workaround for broken configure
.if ! ${PORT_OPTIONS:MICONV}
    ${REINPLACE_CMD} \
        -e 's|iconv|noiconv|' \
        ${WRKSRC}/configure
.endif
.if ! ${PORT_OPTIONS:MXPM}
    ${REINPLACE_CMD} \
        -e 's|xpm|noxpm|' \
        ${WRKSRC}/configure
.endif
.if ! ${PORT_OPTIONS:MFONTCONFIG}
    ${REINPLACE_CMD} \
        -e 's|fontconfig|nofontconfig|' \
        ${WRKSRC}/configure
.endif

.if defined(GD_FONTS)
pre-build:
    cd ${WRKFONTS} && ${SH} ${FILESDIR}/makefonts build ${GD_FONTS}
.endif

post-install:
    ${INSTALL_DATA} ${WRKSRC}/src/gdhelpers.h \
        ${STAGEDIR}${PREFIX}/include/
    ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgd.so.5

.include <bsd.port.mk>