summaryrefslogtreecommitdiffstats
path: root/www/webkit-gtk3/Makefile
blob: a18c3d20c0dd10707d61b1742b39ba5f5b3e402d (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# Created by: Michael Johnson <ahze@FreeBSD.org>
# $FreeBSD$
#   $MCom$

PORTNAME=   webkit
PORTVERSION=    2.4.2
CATEGORIES= www
MASTER_SITES=   http://webkitgtk.org/releases/
PKGNAMESUFFIX=  -gtk3
DISTNAME=   ${PORTNAME}gtk-${PORTVERSION}

MAINTAINER= gnome@FreeBSD.org
COMMENT=    Opensource browser engine using the GTK+ 3 toolkit

BUILD_DEPENDS=  ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \
        gtkdoc-rebase:${PORTSDIR}/textproc/gtk-doc \
        geoclue>=0:${PORTSDIR}/net/geoclue
LIB_DEPENDS=    libenchant.so:${PORTSDIR}/textproc/enchant \
        libsecret-1.so:${PORTSDIR}/security/libsecret \
        libicutu.so:${PORTSDIR}/devel/icu \
        libharfbuzz.so:${PORTSDIR}/print/harfbuzz \
        libwebp.so:${PORTSDIR}/graphics/webp \
        libcurl.so:${PORTSDIR}/ftp/curl \
        libsoup-2.4.so:${PORTSDIR}/devel/libsoup
RUN_DEPENDS=    geoclue>=0:${PORTSDIR}/net/geoclue 

USE_GSTREAMER1= yes
USE_XORG=   xt xdamage xcomposite
USES=       bison gettext gmake libtool:keepla perl5 pkgconfig \
        shebangfix tar:xz
USE_RUBY=   yes
RUBY_NO_RUN_DEPENDS=yes
USE_GNOME=  cairo gnomehier gtk20 gtk30 introspection:build \
        libxslt:build
USE_SQLITE= 3
USE_PERL5=  build
USE_LDCONFIG=   yes
GNU_CONFIGURE=  yes
CONFIGURE_ENV=  ac_cv_path_DOLT_BASH=""
CPPFLAGS+=  -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
CONFIGURE_ARGS= --with-gtk=3.0 \
        --enable-svg-fonts \
        --enable-geolocation \
        --enable-introspection
MAKEFILE=   GNUmakefile
MAKE_ENV=   XDG_CACHE_HOME=${WRKDIR}

#CONFIGURE_ARGS+=--disable-silent-rules
CONFIGURE_ARGS+=--disable-egl \
        --disable-gles2
#       --with-acceleration-backend=opengl # clutter broken?
# opengl, clutter, none (clutter unsupported)

SHEBANG_FILES=  \
    Source/JavaScriptCore/create_hash_table \
    Source/JavaScriptCore/inspector/scripts/xxd.pl \
    Source/WebCore/css/*.pl \
    Source/WebCore/dom/*.pl \
    Source/WebCore/make-hash-tools.pl \
    Source/WebCore/page/make_settings.pl \
    Source/WebCore/platform/text/mac/make-charset-table.pl \
    Source/WebKit2/Scripts/generate-forwarding-headers.pl \
    Source/WebCore/bindings/scripts/*.p[lm] \
    Source/JavaScriptCore/create_hash_table

BROWSER_PLUGINS_DIR?=   ${LOCALBASE}/lib/browser_plugins/symlinks/webkit-gtk3
#_BROWSER_PLUGINS_DIR=  ${BROWSER_PLUGINS_DIR:S|^/|"|:S|/|", "|g}",

OPTIONS_DEFINE= WEBGL WEBAUDIO DEBUG FULLDEBUG WEBKIT2
OPTIONS_DEFAULT=WEBGL WEBAUDIO WEBKIT2
WEBKIT2_DESC=   Build WebKit2 API library
WEBAUDIO_DESC=  Web audio support
WEBGL_DESC= Enable Web GL support
DEBUG_DESC= Just enable debug symbols
FULLDEBUG_DESC= Enable asserts and other debug support

WEBGL_CONFIGURE_ENABLE= webgl
WEBGL_USE=  GL=gl
WEBAUDIO_CONFIGURE_ENABLE=  web-audio
FULLDEBUG_CONFIGURE_ENABLE= debug
DEBUG_CONFIGURE_ON= --enable-debug-symbols=yes
DEBUG_CONFIGURE_OFF=    --disable-debug-symbols

.include <bsd.port.options.mk>

# gtest to use <tr1/tuple,> while libc++ only has <tuple>
CPPFLAGS+=  -DGTEST_USE_OWN_TR1_TUPLE
# Shutup warning spam
CXXFLAGS+=  -Wno-c++11-extensions -Qunused-arguments

.if ${PORT_OPTIONS:MWEBKIT2}
CONFIGURE_ARGS+=--enable-webkit2
PLIST_SUB+= WEBKIT2=""

# We need clang + libc++ or gcc 4.7+. gcc has libstdc++ conflict between
# gcc port and base. This originates from icu
CXXFLAGS+=  -stdlib=libc++
LDFLAGS+=   -stdlib=libc++
. if ${OSVERSION}<1000019
BUILD_DEPENDS+= clang33>=3.3_1:${PORTSDIR}/lang/clang33 \
        libc++>=0:${PORTSDIR}/devel/libc++
RUN_DEPENDS+=   libc++>=0:${PORTSDIR}/devel/libc++
CC=     clang33
CXX=        clang++33
CPP=        clang-cpp33
CONFIGURE_ENV+= CC=${CC} CXX=${CXX} CPP=${CPP}
. endif
.else
# we need clang also for !Webkit2 builds
. if ${OSVERSION}<1000019
BUILD_DEPENDS+= clang33>=3.3_1:${PORTSDIR}/lang/clang33
CC=     clang33
CXX=        clang++33
CPP=        clang-cpp33
CONFIGURE_ARGS+=--disable-webkit2
. endif
PLIST_SUB+= WEBKIT2="@comment "
.endif

.if ${ARCH} == powerpc64
CFLAGS+=    -mminimal-toc
.endif

.include <bsd.port.pre.mk>

.if ${PERL_LEVEL} >= 501400
BUILD_DEPENDS+= p5-Switch>0:${PORTSDIR}/lang/p5-Switch
.endif

.if ${OSVERSION} < 1000033
BUILD_DEPENDS+= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
CONFIGURE_ENV+= FLEX_PATH="${LOCALBASE}/bin/flex"
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|%%BROWSER_PLUGINS_DIR%%|${BROWSER_PLUGINS_DIR}|' \
        ${WRKSRC}/Source/WebCore/plugins/PluginDatabase.cpp
    @${FIND} ${WRKSRC} -name GNUmakefile.* | ${XARGS} ${REINPLACE_CMD} -e \
        's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g'
    @${REINPLACE_CMD} -e 's|"gperf|"${LOCALBASE}/bin/gperf|g' \
        ${WRKSRC}/Source/WebCore/css/makevalues.pl \
        ${WRKSRC}/Source/WebCore/css/makeprop.pl \
        ${WRKSRC}/Source/WebCore/make-hash-tools.pl

post-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/Programs/GtkLauncher \
        ${STAGEDIR}${PREFIX}/bin/GtkLauncher-3
.if ${PORT_OPTIONS:MWEBKIT2}
    ${INSTALL_PROGRAM} ${WRKSRC}/Programs/MiniBrowser \
        ${STAGEDIR}${PREFIX}/bin/
.endif

.include <bsd.port.post.mk>