summaryrefslogtreecommitdiffstats
path: root/graphics/cairo/Makefile
blob: 58d09658ff24613f7f6f2b138778b20f9c1a0e09 (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
# Created by: Michael Johnson <ahze@FreeBSD.org>
# $FreeBSD$
#   $MCom$

PORTNAME=   cairo
PORTVERSION=    1.12.16
PORTEPOCH?= 2
CATEGORIES= graphics
MASTER_SITES=   http://cairographics.org/releases/

MAINTAINER= gnome@FreeBSD.org
COMMENT=    Vector graphics library with cross-device output support

PORTSCOUT=  skipv:5c-1.*

.if !defined(REFERENCE_PORT)

LIB_DEPENDS=    libfreetype.so:${PORTSDIR}/print/freetype2 \
        libpng15.so:${PORTSDIR}/graphics/png \
        libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig

USE_XZ=     yes
USES=       pathfix pkgconfig
USE_XORG=   pixman xext
USE_GNOME=  ltverhack referencehack
GNU_CONFIGURE=  yes
USE_LDCONFIG=   yes
ltverhack_PATCH_FILES=  build/ltmain.sh

CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
        --disable-directfb \
        --disable-gallium \
        --disable-glesv2 \
        --disable-wgl \
        --disable-egl \
        --enable-tee

OPTIONS_DEFINE= OPENGL XCB GLIB X11 
OPTIONS_DEFAULT=XCB GLIB X11
XCB_DESC=   Enable XCB (X C-language Binding) Support
GLIB_DESC=  Enable GObject Functions Feature

.include <bsd.port.pre.mk>

.if ${ARCH} == "arm"
BROKEN=     Does not compile on arm
.endif

.if ${PORT_OPTIONS:MX11}
USE_XORG+=  xrender
PLIST_SUB+= X11=""
.else
CONFIGURE_ARGS+=--disable-xlib
PLIST_SUB+= X11="@comment "
.endif

.if ${PORT_OPTIONS:MOPENGL}
USE_GL=     gl
USE_XORG+=  glproto:both dri2proto:both
CONFIGURE_ARGS+=    --enable-gl
PLIST_SUB+= GL=""
.else
CONFIGURE_ARGS+=    --disable-gl
PLIST_SUB+= GL="@comment "
.endif

.if ${PORT_OPTIONS:MXCB}
BUILD_DEPENDS+=     ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
RUN_DEPENDS+=       ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
CONFIGURE_ARGS+=    --enable-xcb
# this option exposes a bug --enable-xlib-xcb=auto
PLIST_SUB+=     XCB=""
.else
CONFIGURE_ARGS+=    --disable-xcb
PLIST_SUB+=     XCB="@comment "
.endif

.if ${PORT_OPTIONS:MGLIB}
USE_GNOME+= glib20
PLIST_SUB+= GLIB=""
.else
CONFIGURE_ARGS+=    --enable-gobject=no
PLIST_SUB+= GLIB="@comment "
.endif

post-patch:
    @${REINPLACE_CMD} -e '/test/s/==/=/g' \
        -e '/LIBS/s/-lrt//'  -e '/LIBS/s|-ldld||' \
        -e '/LIBS/s|-ldl||' \
        ${WRKSRC}/configure
    @${REINPLACE_CMD} -e 's|-lcairo|-lcairo ${PTHREAD_LIBS}|' \
        ${WRKSRC}/src/*.pc.in
    @${REINPLACE_CMD} -e '/@CAIRO_HAS_PNG_FUNCTIONS_TRUE@.*=/d' \
        ${WRKSRC}/Makefile.in
    @${REINPLACE_CMD} -e 's|-ldl||g' \
        ${WRKSRC}/util/*/Makefile.in \
        ${WRKSRC}/boilerplate/Makefile.in
.if ${PORT_OPTIONS:MOPENGL}
    @${REINPLACE_CMD} 's|@CAIRO_CFLAGS@|-I$$(top_srcdir)/src/glew &|' \
        ${WRKSRC}/src/Makefile.in
.endif

post-install:
    @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libcairo*.so.2
    @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/cairo/*.so.0

.include <bsd.port.post.mk>

.endif