diff options
Diffstat (limited to 'package/webkitgtk24')
-rw-r--r-- | package/webkitgtk24/0001-fix-ppc32.patch | 34 | ||||
-rw-r--r-- | package/webkitgtk24/Config.in | 55 | ||||
-rw-r--r-- | package/webkitgtk24/webkitgtk24.hash | 2 | ||||
-rw-r--r-- | package/webkitgtk24/webkitgtk24.mk | 120 |
4 files changed, 211 insertions, 0 deletions
diff --git a/package/webkitgtk24/0001-fix-ppc32.patch b/package/webkitgtk24/0001-fix-ppc32.patch new file mode 100644 index 0000000000..c655a0ecf4 --- /dev/null +++ b/package/webkitgtk24/0001-fix-ppc32.patch @@ -0,0 +1,34 @@ +From https://bugs.webkit.org/show_bug.cgi?id=130837 + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -Nura webkitgtk-2.4.8/Source/WebKit2/Platform/IPC/Connection.h webkitgtk-2.4.8-ppc/Source/WebKit2/Platform/IPC/Connection.h +--- webkitgtk-2.4.8/Source/WebKit2/Platform/IPC/Connection.h 2015-01-07 06:45:43.000000000 -0300 ++++ webkitgtk-2.4.8-ppc/Source/WebKit2/Platform/IPC/Connection.h 2015-04-20 01:55:41.554547510 -0300 +@@ -216,7 +216,11 @@ + + Client* m_client; + bool m_isServer; ++#if CPU(PPC) ++ uint64_t m_syncRequestID; ++#else + std::atomic<uint64_t> m_syncRequestID; ++#endif + + bool m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage; + bool m_shouldExitOnSyncMessageSendFailure; +diff -Nura webkitgtk-2.4.8/Source/WebKit2/UIProcess/StatisticsRequest.cpp webkitgtk-2.4.8-ppc/Source/WebKit2/UIProcess/StatisticsRequest.cpp +--- webkitgtk-2.4.8/Source/WebKit2/UIProcess/StatisticsRequest.cpp 2015-01-07 06:45:43.000000000 -0300 ++++ webkitgtk-2.4.8-ppc/Source/WebKit2/UIProcess/StatisticsRequest.cpp 2015-04-20 01:55:41.555547544 -0300 +@@ -44,7 +44,11 @@ + + uint64_t StatisticsRequest::addOutstandingRequest() + { ++#if CPU(PPC) ++ static int64_t uniqueRequestID; ++#else + static std::atomic<int64_t> uniqueRequestID; ++#endif + + uint64_t requestID = ++uniqueRequestID; + m_outstandingRequests.add(requestID); diff --git a/package/webkitgtk24/Config.in b/package/webkitgtk24/Config.in new file mode 100644 index 0000000000..d8c5e93ded --- /dev/null +++ b/package/webkitgtk24/Config.in @@ -0,0 +1,55 @@ +config BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS + bool + # ARM needs BLX, so v5t+, BE completely untested so disabled + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 + # i386 / x86_64 external toolchains have issues and old gcc versions + # https://bugs.webkit.org/show_bug.cgi?id=132231 + # https://stackoverflow.com/questions/9140019/yield-is-not-a-member-of-stdthis-thread + default y if BR2_i386 || BR2_x86_64 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109 + # 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 + +comment "webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL" + depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS + depends on BR2_ARCH_HAS_ATOMICS + depends on !BR2_PACKAGE_LIBGTK2 || !BR2_PACKAGE_XORG7 || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_USE_WCHAR + depends on BR2_USE_MMU + +config BR2_PACKAGE_WEBKITGTK24 + bool "webkitgtk 2.4.x" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on (BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_XORG7) + depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS + depends on BR2_ARCH_HAS_ATOMICS + 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_LIBCURL + 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_LIBXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_HAS_LIBGL || \ + (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL) + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_HAS_LIBGL || \ + (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL) + help + WebKit is an open source, standards compliant web browser engine. + + http://www.webkitgtk.org/ diff --git a/package/webkitgtk24/webkitgtk24.hash b/package/webkitgtk24/webkitgtk24.hash new file mode 100644 index 0000000000..bd1754e4e5 --- /dev/null +++ b/package/webkitgtk24/webkitgtk24.hash @@ -0,0 +1,2 @@ +# From http://www.webkitgtk.org/releases/webkitgtk-2.4.9.tar.xz.sha1 +sha1 fbe02db8a4f01a70e7cdf0d16f8a18463e18b104 webkitgtk-2.4.9.tar.xz diff --git a/package/webkitgtk24/webkitgtk24.mk b/package/webkitgtk24/webkitgtk24.mk new file mode 100644 index 0000000000..5c1bb5baa7 --- /dev/null +++ b/package/webkitgtk24/webkitgtk24.mk @@ -0,0 +1,120 @@ +################################################################################ +# +# webkitgtk 2.4.x +# +################################################################################ + +WEBKITGTK24_VERSION = 2.4.9 +WEBKITGTK24_SITE = http://www.webkitgtk.org/releases +WEBKITGTK24_SOURCE = webkitgtk-$(WEBKITGTK24_VERSION).tar.xz +WEBKITGTK24_INSTALL_STAGING = YES +WEBKITGTK24_LICENSE = LGPLv2+ BSD-2c +WEBKITGTK24_LICENSE_FILES = \ + Source/WebCore/LICENSE-APPLE \ + Source/WebCore/LICENSE-LGPL-2 +WEBKITGTK24_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ + enchant harfbuzz icu jpeg libcurl libgtk2 libsecret libsoup \ + libxml2 libxslt sqlite webp + +WEBKITGTK24_DEPENDENCIES += \ + $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \ + $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage) + +# make 3.81 loops into oblivion with numjobs > 1 +ifneq ($(findstring x3.81,x$(RUNNING_MAKE_VERSION)),) +WEBKITGTK24_MAKE = $(MAKE1) +endif + +# Give explicit path to icu-config to avoid host leakage +WEBKITGTK24_CONF_ENV = ac_cv_path_icu_config=$(STAGING_DIR)/usr/bin/icu-config + +# Some 32-bit architectures need libatomic support for 64-bit ops +ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_sh),y) +WEBKITGTK24_CONF_ENV += LIBS="-latomic" +endif + +# dependency tracking is to avoid build issues in the GEN/WTF phase +WEBKITGTK24_CONF_OPTS = \ + --enable-dependency-tracking \ + --enable-spellcheck \ + --disable-geolocation \ + --disable-glibtest \ + --disable-gtk-doc-html \ + --disable-wayland-target + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) +WEBKITGTK24_CONF_OPTS += \ + --enable-video \ + --enable-web-audio +WEBKITGTK24_DEPENDENCIES += gst1-plugins-good +else +WEBKITGTK24_CONF_OPTS += \ + --disable-video \ + --disable-web-audio +endif + +# OpenGL +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +WEBKITGTK24_CONF_OPTS += \ + --enable-accelerated-compositing \ + --enable-glx \ + --enable-webgl \ + --disable-gles2 +WEBKITGTK24_DEPENDENCIES += libgl +# EGL + GLES +else ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy) +WEBKITGTK24_CONF_OPTS += \ + --enable-accelerated-compositing \ + --enable-gles2 \ + --enable-webgl \ + --disable-glx +WEBKITGTK24_DEPENDENCIES += libegl libgles +# No GL +else +WEBKITGTK24_CONF_OPTS += \ + --disable-accelerated-compositing \ + --disable-gles2 \ + --disable-glx \ + --disable-webgl +endif + +# X11 target with GTK2 (optionally GTK3) +ifeq ($(BR2_PACKAGE_XLIB_LIBXT),y) +WEBKITGTK24_CONF_OPTS += --enable-x11-target +WEBKITGTK24_DEPENDENCIES += xlib_libXt +else +WEBKITGTK24_CONF_OPTS += --disable-x11-target +endif + +# ARM needs NEON for JIT +# i386 & x86_64 don't seem to have any special requirements +ifeq ($(BR2_ARM_ENABLE_NEON)$(BR2_i386)$(BR2_x86_64),y) +WEBKITGTK24_CONF_OPTS += --enable-jit +else +WEBKITGTK24_CONF_OPTS += --disable-jit +# Disabling assembly and JIT needs an extra push sometimes (ppc) +# See https://bugs.webkit.org/show_bug.cgi?format=multiple&id=113638 +WEBKITGTK24_CONF_ENV += \ + CPPFLAGS="$(TARGET_CPPFLAGS) -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0" +endif + +# webkit1 (old API) uses gtk2, webkit2 (new API) uses gtk3 +# Both can be built simultaneously, prefer "newer" for size/time savings +# gtk2 is mandatory for plugin support +ifeq ($(BR2_PACKAGE_LIBGTK3),y) +WEBKITGTK24_CONF_OPTS += \ + --with-gtk=3.0 \ + --disable-webkit1 +WEBKITGTK24_DEPENDENCIES += libgtk3 +define WEBKITGTK24_INSTALL_BROWSER + $(INSTALL) -D -m 0755 $(@D)/Programs/MiniBrowser \ + $(TARGET_DIR)/usr/bin/MiniBrowser +endef +WEBKITGTK24_POST_INSTALL_TARGET_HOOKS += WEBKITGTK24_INSTALL_BROWSER +else +WEBKITGTK24_CONF_OPTS += \ + --with-gtk=2.0 \ + --disable-webkit2 +endif + +$(eval $(autotools-package)) |