Changeset View
Changeset View
Standalone View
Standalone View
head/www/webkit2-gtk3/Makefile
# Created by: Michael Johnson <ahze@FreeBSD.org> | # Created by: Michael Johnson <ahze@FreeBSD.org> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= webkit | PORTNAME= webkit | ||||
PORTVERSION= 2.16.6 | PORTVERSION= 2.20.0 | ||||
PORTREVISION= 3 | |||||
CATEGORIES= www | CATEGORIES= www | ||||
MASTER_SITES= http://webkitgtk.org/releases/ | MASTER_SITES= http://webkitgtk.org/releases/ | ||||
PKGNAMESUFFIX= 2-gtk3 | PKGNAMESUFFIX= 2-gtk3 | ||||
DISTNAME= ${PORTNAME}gtk-${PORTVERSION} | DISTNAME= ${PORTNAME}gtk-${PORTVERSION} | ||||
MAINTAINER= gnome@FreeBSD.org | MAINTAINER= gnome@FreeBSD.org | ||||
COMMENT= Opensource browser engine using the GTK+ 3 toolkit | COMMENT= Opensource browser engine using the GTK+ 3 toolkit | ||||
LICENSE= GPLv2 BSD2CLAUSE | LICENSE= GPLv2 BSD2CLAUSE | ||||
LICENSE_COMB= dual | LICENSE_COMB= dual | ||||
LIB_DEPENDS= libenchant.so:textproc/enchant \ | LIB_DEPENDS= libenchant.so:textproc/enchant \ | ||||
libfontconfig.so:x11-fonts/fontconfig \ | libfontconfig.so:x11-fonts/fontconfig \ | ||||
libfreetype.so:print/freetype2 \ | libfreetype.so:print/freetype2 \ | ||||
libwebp.so:graphics/webp \ | libwebp.so:graphics/webp \ | ||||
libpng.so:graphics/png \ | libpng.so:graphics/png \ | ||||
libsecret-1.so:security/libsecret \ | libsecret-1.so:security/libsecret \ | ||||
libnotify.so:devel/libnotify \ | libnotify.so:devel/libnotify \ | ||||
libhyphen.so:textproc/hyphen \ | libhyphen.so:textproc/hyphen \ | ||||
libicutu.so:devel/icu \ | libicutu.so:devel/icu \ | ||||
libharfbuzz.so:print/harfbuzz \ | libharfbuzz.so:print/harfbuzz \ | ||||
libharfbuzz-icu.so:print/harfbuzz-icu \ | libharfbuzz-icu.so:print/harfbuzz-icu \ | ||||
libsoup-2.4.so:devel/libsoup \ | libsoup-2.4.so:devel/libsoup \ | ||||
libgcrypt.so:security/libgcrypt \ | libgcrypt.so:security/libgcrypt \ | ||||
libgnutls.so:security/gnutls | libgnutls.so:security/gnutls \ | ||||
libtasn1.so:security/libtasn1 \ | |||||
libwoff2dec.so:devel/woff2 | |||||
PORTSCOUT= limitw:1,even | PORTSCOUT= limitw:1,even | ||||
USES= bison cmake:outsource compiler:c++14-lang gettext gnome gperf \ | |||||
jpeg localbase:ldflags perl5 pkgconfig python:2.7,build \ | |||||
sqlite tar:xz | |||||
USE_GNOME= cairo gdkpixbuf2 gtk30 introspection:build libxml2 libxslt | |||||
USE_GL= gl egl glesv2 | |||||
USE_GSTREAMER1= bad gl | USE_GSTREAMER1= bad gl | ||||
USE_XORG= x11 xcomposite xdamage xext xrender xt ice | USE_LDCONFIG= yes | ||||
USES= bison cmake compiler:c++14-lang gettext gnome gperf \ | USE_PERL5= build | ||||
jpeg perl5 pkgconfig python:2.7,build sqlite tar:xz | |||||
USE_RUBY= yes | USE_RUBY= yes | ||||
RUBY_NO_RUN_DEPENDS=yes | RUBY_NO_RUN_DEPENDS= yes | ||||
USE_GNOME= cairo gdkpixbuf2 gtk30 introspection:build libxml2 libxslt | USE_XORG= x11 xcomposite xdamage xext xrender xt ice | ||||
USE_GL= gl egl | |||||
USE_PERL5= build | BINARY_ALIAS= python=${PYTHON_CMD} | ||||
USE_LDCONFIG= yes | CXXFLAGS+= -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=32 | ||||
CPPFLAGS+= -I${LOCALBASE}/include | CXXFLAGS_powerpc= -DENABLE_YARR_JIT=0 | ||||
LDFLAGS+= -L${LOCALBASE}/lib | CXXFLAGS_powerpc64= -DENABLE_YARR_JIT=0 \ | ||||
-mminimal-toc | |||||
CMAKE_ARGS= -DPORT=GTK | |||||
CMAKE_OFF= USE_LD_GOLD ${CMAKE_OFF_${ARCH}:U} | |||||
CMAKE_ON= ENABLE_GLES2 ENABLE_MINIBROWSER | |||||
CMAKE_OFF_armv6= ENABLE_JIT | |||||
CMAKE_OFF_armv7= ENABLE_JIT | |||||
CMAKE_OFF_powerpc= ENABLE_JIT | |||||
CMAKE_OFF_powerpc64= ENABLE_JIT | |||||
CONFIGURE_ENV= XDG_CACHE_HOME=${WRKDIR} | |||||
INSTALL_TARGET= install | INSTALL_TARGET= install | ||||
CMAKE_ARGS+= -DPORT=GTK \ | |||||
-DENABLE_WAYLAND_TARGET:BOOL=OFF \ | |||||
-DENABLE_MINIBROWSER:BOOL=ON \ | |||||
-DENABLE_GLES2:BOOL=OFF \ | |||||
-DENABLE_ACCELERATED_2D_CANVAS=ON \ | |||||
-DUSE_LD_GOLD:BOOL=OFF \ | |||||
-DENABLE_WEBKIT:BOOL=OFF | |||||
CONFIGURE_ENV+= XDG_CACHE_HOME=${WRKDIR} | |||||
BROWSER_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_plugins/symlinks/webkit-gtk3 | BROWSER_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_plugins/symlinks/webkit-gtk3 | ||||
#_BROWSER_PLUGINS_DIR= ${BROWSER_PLUGINS_DIR:S|^/|"|:S|/|", "|g}", | |||||
OPTIONS_SUB= yes | OPTIONS_DEFINE= DEBUG GEOIP NPAPI WAYLAND | ||||
OPTIONS_DEFINE= DEBUG GEOIP NPAPI | |||||
OPTIONS_DEFAULT=GEOIP | OPTIONS_DEFAULT= GEOIP | ||||
OPTIONS_DEFAULT_i386= NPAPI | OPTIONS_DEFAULT_i386= NPAPI | ||||
OPTIONS_DEFAULT_amd64= NPAPI | OPTIONS_DEFAULT_amd64= NPAPI | ||||
OPTIONS_SUB= yes | |||||
NPAPI_DESC= Support gtk2 (NPAPI) based plugins (like flash) | |||||
# Building WebKit with debugging symbols requires ar and ld with | |||||
# support for thin archives. Also see | |||||
# https://bugs.webkit.org/show_bug.cgi?id=140384 | |||||
DEBUG_BUILD_DEPENDS= binutils>=0:devel/binutils | DEBUG_BUILD_DEPENDS= binutils>=0:devel/binutils | ||||
DEBUG_CMAKE_ON= -DCMAKE_BUILD_TYPE:STRING=Debug \ | DEBUG_CMAKE_ON= -DCMAKE_AR=${LOCALBASE}/bin/ar \ | ||||
-DCMAKE_AR=${LOCALBASE}/bin/ar \ | |||||
-DCMAKE_RANLIB=${LOCALBASE}/bin/ranlib \ | -DCMAKE_RANLIB=${LOCALBASE}/bin/ranlib \ | ||||
-DCMAKE_LINKER=${LOCALBASE}/bin/ld | -DCMAKE_LINKER=${LOCALBASE}/bin/ld | ||||
DEBUG_CXXFLAGS= -B${LOCALBASE}/bin | DEBUG_CXXFLAGS= -B${LOCALBASE}/bin | ||||
DEBUG_CMAKE_OFF= -DCMAKE_BUILD_TYPE:STRING=Release \ | DEBUG_CMAKE_OFF= -DCMAKE_AR=/usr/bin/ar \ | ||||
-DCMAKE_AR=/usr/bin/ar \ | |||||
-DCMAKE_RANLIB=/usr/bin/ranlib \ | -DCMAKE_RANLIB=/usr/bin/ranlib \ | ||||
-DCMAKE_LINKER=/usr/bin/ld | -DCMAKE_LINKER=/usr/bin/ld | ||||
DEBUG_CXXFLAGS_OFF= -B/usr/bin | DEBUG_CXXFLAGS_OFF= -B/usr/bin | ||||
DEBUG_CFLAGS_OFF= -DNDEBUG | DEBUG_CFLAGS_OFF= -DNDEBUG | ||||
GEOIP_CMAKE_BOOL= ENABLE_GEOLOCATION | GEOIP_CMAKE_BOOL= ENABLE_GEOLOCATION | ||||
GEOIP_BUILD_DEPENDS+= geoclue>=2.4.3:net/geoclue | GEOIP_BUILD_DEPENDS= geoclue>=2.4.3:net/geoclue | ||||
GEOIP_RUN_DEPENDS+= geoclue>=2.4.3:net/geoclue | GEOIP_RUN_DEPENDS= geoclue>=2.4.3:net/geoclue | ||||
NPAPI_DESC= Support gtk2 (NPAPI) based plugins (like flash) | |||||
NPAPI_CMAKE_BOOL= ENABLE_PLUGIN_PROCESS_GTK2 | NPAPI_CMAKE_BOOL= ENABLE_PLUGIN_PROCESS_GTK2 | ||||
NPAPI_USE= GNOME=gtk20 | NPAPI_USE= GNOME=gtk20 | ||||
.include <bsd.port.options.mk> | WAYLAND_CMAKE_BOOL= ENABLE_WAYLAND_TARGET | ||||
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ | |||||
libwayland-egl.so:graphics/mesa-libs | |||||
.if ${ARCH} == armv6 || ${ARCH} == armv7 | |||||
CMAKE_ARGS+= -DENABLE_JIT:BOOL=OFF | |||||
.endif | |||||
.if ${ARCH} == powerpc || ${ARCH} == powerpc64 | |||||
CMAKE_ARGS+= -DENABLE_JIT:BOOL=OFF | |||||
CFLAGS+= -DENABLE_YARR_JIT=0 | |||||
.endif | |||||
.if ${ARCH} == powerpc64 | |||||
CFLAGS+= -mminimal-toc | |||||
.endif | |||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's|%%BROWSER_PLUGINS_DIR%%|${BROWSER_PLUGINS_DIR}|' \ | @${REINPLACE_CMD} -e 's|/usr/lib/browser/plugins|${BROWSER_PLUGINS_DIR}|' \ | ||||
${WRKSRC}/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp | ${WRKSRC}/Source/WebKit/Shared/Plugins/unix/PluginSearchPath.cpp | ||||
pre-configure: | pre-configure: | ||||
# .if !exists() evaluates too early before cairo has a chance to be installed | # .if !exists() evaluates too early before cairo has a chance to be installed | ||||
@if ! pkg-config --exists cairo-egl; then \ | @if ! pkg-config --exists cairo-egl; then \ | ||||
${ECHO_MSG} "${PKGNAME}: Needs cairo with OPENGL support enabled."; \ | ${ECHO_MSG} "${PKGNAME}: Needs cairo with OPENGL support enabled."; \ | ||||
${FALSE}; \ | ${FALSE}; \ | ||||
fi | fi | ||||
post-install: | post-install: | ||||
@${LN} -sf ../libexec/webkit2gtk-4.0/jsc ${STAGEDIR}${PREFIX}/bin/jsc-4 | @${RLN} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/jsc \ | ||||
@${LN} -sf ../libexec/webkit2gtk-4.0/MiniBrowser ${STAGEDIR}${PREFIX}/bin/MiniBrowser-4 | ${STAGEDIR}${PREFIX}/bin/jsc-4 | ||||
@${RLN} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/MiniBrowser \ | |||||
${STAGEDIR}${PREFIX}/bin/MiniBrowser-4 | |||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.* | @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.* | ||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.0/injected-bundle/*.so | @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.0/injected-bundle/*.so | ||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/* | @${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/* | ||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver | |||||
.include <bsd.port.mk> | .include <bsd.port.mk> |