webkitgtk: new package

Add the latest 2.12.x upstream stable branch.

Both 2.4.x and 2.12.x can live side-by-side, however only the latest
stable branch/releases are security-maintained, so add it unslotted.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Gustavo Zacarias 2016-04-29 10:46:08 -03:00 committed by Thomas Petazzoni
parent 88cbfd1007
commit 1f5bb44544
4 changed files with 171 additions and 0 deletions

View file

@ -954,6 +954,7 @@ menu "Graphics"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
source "package/webkit/Config.in"
source "package/webkitgtk/Config.in"
source "package/webkitgtk24/Config.in"
source "package/webp/Config.in"
source "package/zbar/Config.in"

View file

@ -0,0 +1,77 @@
config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
bool
# ARM needs BLX, so v5t+, BE completely untested so disabled
default y if BR2_arm && !BR2_ARM_CPU_ARMV4
default y if BR2_i386 || BR2_x86_64
# Disabled on MIPS big endian due to sigbus
default y if BR2_mipsel || BR2_mips64el
# Disabled on PowerPC pending runtime testing
# Disabled on SuperH because of segfault
depends on BR2_USE_MMU # libglib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
comment "webkitgtk needs libgtk3 and an (e)glibc toolchain w/ C++, gcc >= 4.9"
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_USE_MMU
config BR2_PACKAGE_WEBKITGTK
bool "webkitgtk"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_PACKAGE_LIBGTK3
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ
select BR2_PACKAGE_ICU
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBSECRET
select BR2_PACKAGE_LIBSOUP
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_WEBP
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
help
WebKit is an open source, standards compliant web browser engine.
http://www.webkitgtk.org/
if BR2_PACKAGE_WEBKITGTK
config BR2_PACKAGE_WEBKITGTK_HTTPS
bool "HTTPS support"
select BR2_PACKAGE_CA_CERTIFICATES # runtime
select BR2_PACKAGE_LIBSOUP_SSL
help
Enable HTTPS protocol support.
config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
bool "multimedia support"
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BASE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
select BR2_PACKAGE_GST1_PLUGINS_GOOD
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
select BR2_PACKAGE_GST1_LIBAV
help
This option pulls in all of the required dependencies
to enable multimedia (video/audio) support.
endif

View file

@ -0,0 +1,4 @@
# From http://www.webkitgtk.org/releases/webkitgtk-2.12.2.tar.xz.sha1
sha1 84d02caadd3d39805e83a4719e2424c1ba4a54d6 webkitgtk-2.12.2.tar.xz
# Calculated based on the hash above
sha256 9dc49b908b1c37da739703e1402a7f07c4ea9093b8ecfb34f20e8f74e328f124 webkitgtk-2.12.2.tar.xz

View file

@ -0,0 +1,89 @@
################################################################################
#
# webkitgtk
#
################################################################################
WEBKITGTK_VERSION = 2.12.2
WEBKITGTK_SITE = http://www.webkitgtk.org/releases
WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
WEBKITGTK_INSTALL_STAGING = YES
WEBKITGTK_LICENSE = LGPLv2.1+, BSD-2c
WEBKITGTK_LICENSE_FILES = \
Source/WebCore/LICENSE-APPLE \
Source/WebCore/LICENSE-LGPL-2.1
WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
libxml2 libxslt sqlite webp
WEBKITGTK_CONF_OPTS = \
-DENABLE_API_TESTS=OFF \
-DENABLE_GEOLOCATION=OFF \
-DENABLE_GTKDOC=OFF \
-DENABLE_INTROSPECTION=OFF \
-DENABLE_MINIBROWSER=ON \
-DENABLE_SPELLCHECK=ON \
-DPORT=GTK \
-DUSE_LIBNOTIFY=OFF \
-DUSE_LIBHYPHEN=OFF
# ARM needs NEON for JIT
# i386 & x86_64 don't seem to have any special requirements
ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
else
WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
endif
ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
WEBKITGTK_CONF_OPTS += \
-DENABLE_VIDEO=ON \
-DENABLE_WEB_AUDIO=ON
WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
else
WEBKITGTK_CONF_OPTS += \
-DENABLE_VIDEO=OFF \
-DENABLE_WEB_AUDIO=OFF
endif
# Only one target platform can be built, assume X11 > Wayland
# GTK3-X11 target gives OpenGL from newer libgtk3 versions
# Consider this better than EGL + maybe GLESv2 since both can't be built
# 2D CANVAS acceleration requires OpenGL proper with cairo-gl
ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
WEBKITGTK_CONF_OPTS += \
-DENABLE_ACCELERATED_2D_CANVAS=ON \
-DENABLE_GLES2=OFF \
-DENABLE_OPENGL=ON \
-DENABLE_X11_TARGET=ON
WEBKITGTK_DEPENDENCIES += libgl \
xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
# It can use libgtk2 for npapi plugins
ifeq ($(BR2_PACKAGE_LIBGTK2),y)
WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON
WEBKITGTK_DEPENDENCIES += libgtk2
else
WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF
endif
else # !X11
# GTK3-BROADWAY/WAYLAND needs at least EGL
WEBKITGTK_DEPENDENCIES += libegl
# GLESv2 support is optional though
ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
WEBKITGTK_CONF_OPTS += \
-DENABLE_GLES2=ON \
-DENABLE_OPENGL=ON
WEBKITGTK_DEPENDENCIES += libgles
else
# Disable general OpenGL (shading) if there's no GLESv2
WEBKITGTK_CONF_OPTS += \
-DENABLE_GLES2=OFF \
-DENABLE_OPENGL=OFF
endif
# We must explicitly state the wayland target
ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
endif
endif
$(eval $(cmake-package))