diff options
Diffstat (limited to 'net-libs/webkit-gtk')
-rw-r--r-- | net-libs/webkit-gtk/Manifest | 2 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.28.2-fix-ppc64-JSC.patch | 59 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.28.2-fix-yelp-desktopless-build.patch | 53 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.28.2-non-jumbo-fix.patch | 34 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.28.2-opengl-without-X-fixes.patch | 53 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.28.2-use-gst-audiointerleave.patch | 55 | ||||
-rw-r--r-- | net-libs/webkit-gtk/webkit-gtk-2.28.2-r10.ebuild (renamed from net-libs/webkit-gtk/webkit-gtk-2.28.1-r10.ebuild) | 13 |
7 files changed, 264 insertions, 5 deletions
diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest index e3407253..8ad1ff0e 100644 --- a/net-libs/webkit-gtk/Manifest +++ b/net-libs/webkit-gtk/Manifest @@ -1 +1 @@ -DIST webkitgtk-2.28.1.tar.xz 21427628 BLAKE2B 58f19d68598ed1aee58f9f700c84e76c9c58980e39d7fe1883c3be991f575074db3156b9a7a041bb3d59130d87d37b1bdee9cf6c122c4f0b0ba6637d66534c32 SHA512 30cfe63d202673d1f0b0ab32e062eab225e51b993d9bb0f51c02d0497423e1591b5a2e943c30d1c9ee6d9073dfbd13b8ec24bca94f380fe8886019e8185628b8 +DIST webkitgtk-2.28.2.tar.xz 21427772 BLAKE2B 0749ffac526ae90ffb8af3fbf8f9ce87db80f229b96e2daa435f9bd6e6e985bbb8c33011976213b2e4ce286c9f1d38f0b85279507cdc9c52b95fbeb32c9f676c SHA512 c7c0c55b1ebc61c0ec9cd9af96a12058a96ba9b011330b12c7c2776685736e0edf604f5eee639637cb50b2967d77c2db4dea15050a575fd34a1f6f0a8b8c56f8 diff --git a/net-libs/webkit-gtk/files/2.28.2-fix-ppc64-JSC.patch b/net-libs/webkit-gtk/files/2.28.2-fix-ppc64-JSC.patch new file mode 100644 index 00000000..96e4d7d0 --- /dev/null +++ b/net-libs/webkit-gtk/files/2.28.2-fix-ppc64-JSC.patch @@ -0,0 +1,59 @@ +From 46c7d3ea88dd77223f25c48ce4a8688db71c489b Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> +Date: Thu, 7 May 2020 19:30:28 +0000 +Subject: [PATCH] REGRESSION(r251875): Crash in JSC::StructureIDTable::get on + ppc64le: gcSafeMemcpy broken on JSVALUE64 platforms other than x86_64 and + aarch64 https://bugs.webkit.org/show_bug.cgi?id=210685 + +Patch by Daniel Kolesa <daniel@octaforge.org> on 2020-05-07 +Reviewed by Michael Catanzaro. + +Fix gcSafeMemcpy on non-x86_64/aarch64 64-bit architectures. + +We were hitting an incorrect x86_64 assertion on values larger than +mediumCutoff on JSVALUE64 architectures other than x86_64 and aarch64, +as the control flow is wrong. + +* heap/GCMemoryOperations.h: +(JSC::gcSafeMemcpy): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261326 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/heap/GCMemoryOperations.h | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/Source/JavaScriptCore/heap/GCMemoryOperations.h b/Source/JavaScriptCore/heap/GCMemoryOperations.h +index f2b9e385bc9..ff66071db20 100644 +--- a/Source/JavaScriptCore/heap/GCMemoryOperations.h ++++ b/Source/JavaScriptCore/heap/GCMemoryOperations.h +@@ -53,7 +53,7 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes) + bitwise_cast<volatile uint64_t*>(dst)[i] = bitwise_cast<volatile uint64_t*>(src)[i]; + }; + +-#if COMPILER(GCC_COMPATIBLE) && USE(JSVALUE64) ++#if COMPILER(GCC_COMPATIBLE) && (CPU(X86_64) || CPU(ARM64)) + if (bytes <= smallCutoff) + slowPathForwardMemcpy(); + else if (isARM64() || bytes <= mediumCutoff) { +@@ -121,8 +121,6 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes) + : + : "d0", "d1", "memory" + ); +-#else +- slowPathForwardMemcpy(); + #endif // CPU(X86_64) + } else { + RELEASE_ASSERT(isX86_64()); +@@ -139,7 +137,7 @@ ALWAYS_INLINE void gcSafeMemcpy(T* dst, T* src, size_t bytes) + } + #else + slowPathForwardMemcpy(); +-#endif // COMPILER(GCC_COMPATIBLE) ++#endif // COMPILER(GCC_COMPATIBLE) && (CPU(X86_64) || CPU(ARM64)) + #else + memcpy(dst, src, bytes); + #endif // USE(JSVALUE64) +-- +2.20.1 + diff --git a/net-libs/webkit-gtk/files/2.28.2-fix-yelp-desktopless-build.patch b/net-libs/webkit-gtk/files/2.28.2-fix-yelp-desktopless-build.patch new file mode 100644 index 00000000..fdf9d7d4 --- /dev/null +++ b/net-libs/webkit-gtk/files/2.28.2-fix-yelp-desktopless-build.patch @@ -0,0 +1,53 @@ +From 9cd4011a12bf658aad3776251792bacdc894643a Mon Sep 17 00:00:00 2001 +From: "berto@igalia.com" + <berto@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc> +Date: Mon, 27 Apr 2020 11:52:10 +0000 +Subject: [PATCH] [GTK] [2.28.0] The Yelp build crashes if DISPLAY is not set + https://bugs.webkit.org/show_bug.cgi?id=209431 + +Reviewed by Carlos Garcia Campos. + +Don't create a PlatformDisplayLibWPE as a fallback when using +Wayland or X11. + +* platform/graphics/PlatformDisplay.cpp: +(WebCore::PlatformDisplay::createPlatformDisplay): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260750 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/WebCore/platform/graphics/PlatformDisplay.cpp | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/PlatformDisplay.cpp b/Source/WebCore/platform/graphics/PlatformDisplay.cpp +index 8bb47ca2b77..f9547b3af69 100644 +--- a/Source/WebCore/platform/graphics/PlatformDisplay.cpp ++++ b/Source/WebCore/platform/graphics/PlatformDisplay.cpp +@@ -98,12 +98,6 @@ std::unique_ptr<PlatformDisplay> PlatformDisplay::createPlatformDisplay() + } + #endif // PLATFORM(GTK) + +-#if USE(WPE_RENDERER) +- return PlatformDisplayLibWPE::create(); +-#elif PLATFORM(WIN) +- return PlatformDisplayWin::create(); +-#endif +- + #if PLATFORM(WAYLAND) + if (auto platformDisplay = PlatformDisplayWayland::create()) + return platformDisplay; +@@ -121,6 +115,12 @@ std::unique_ptr<PlatformDisplay> PlatformDisplay::createPlatformDisplay() + return PlatformDisplayX11::create(nullptr); + #endif + ++#if USE(WPE_RENDERER) ++ return PlatformDisplayLibWPE::create(); ++#elif PLATFORM(WIN) ++ return PlatformDisplayWin::create(); ++#endif ++ + RELEASE_ASSERT_NOT_REACHED(); + } + +-- +2.20.1 + diff --git a/net-libs/webkit-gtk/files/2.28.2-non-jumbo-fix.patch b/net-libs/webkit-gtk/files/2.28.2-non-jumbo-fix.patch new file mode 100644 index 00000000..da9f1d3f --- /dev/null +++ b/net-libs/webkit-gtk/files/2.28.2-non-jumbo-fix.patch @@ -0,0 +1,34 @@ +From d553de92ed238278f51b93a2c90af7d3ff7a2da2 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Tue, 12 May 2020 15:28:45 +0300 +Subject: [PATCH] Try to fix an apparent non-unified build error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: In member function ‘WTF::RefPtr<WebKit::InjectedBundleNodeHandle> +WebKit::InjectedBundleHitTestResult::urlElementHandle() const’: +Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:57:78: error: no matching function for call to +‘WebKit::InjectedBundleNodeHandle::getOrCreate(WebCore::Element*)’ + 57 | return InjectedBundleNodeHandle::getOrCreate(m_hitTestResult.URLElement()); + | ^ +In file included from Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:29 +--- + .../WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp +index df8e55df1f0..26f045bd3fc 100644 +--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp ++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp +@@ -32,6 +32,7 @@ + #include "WebImage.h" + #include <WebCore/BitmapImage.h> + #include <WebCore/Document.h> ++#include <WebCore/Element.h> + #include <WebCore/Frame.h> + #include <WebCore/FrameLoader.h> + #include <WebCore/FrameView.h> +-- +2.20.1 + diff --git a/net-libs/webkit-gtk/files/2.28.2-opengl-without-X-fixes.patch b/net-libs/webkit-gtk/files/2.28.2-opengl-without-X-fixes.patch new file mode 100644 index 00000000..6976c3ce --- /dev/null +++ b/net-libs/webkit-gtk/files/2.28.2-opengl-without-X-fixes.patch @@ -0,0 +1,53 @@ +From c67efa2bbe2094b40b4e104bb26497c2aff5ce68 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Sat, 9 May 2020 23:11:52 +0300 +Subject: [PATCH] Clean up OpenGLShims.h conditionals in a few places to fix + some build configurations + +--- + Source/WebCore/platform/graphics/GLContext.cpp | 5 ++++- + Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/GLContext.cpp b/Source/WebCore/platform/graphics/GLContext.cpp +index b217988b990..1ba0eb8a482 100644 +--- a/Source/WebCore/platform/graphics/GLContext.cpp ++++ b/Source/WebCore/platform/graphics/GLContext.cpp +@@ -28,6 +28,9 @@ + + #if USE(GLX) + #include "GLContextGLX.h" ++#endif ++ ++#if !USE(OPENGL_ES) && !USE(LIBEPOXY) && !USE(ANGLE) + #include "OpenGLShims.h" + #endif + +@@ -57,7 +60,7 @@ inline ThreadGlobalGLContext* currentContext() + + static bool initializeOpenGLShimsIfNeeded() + { +-#if USE(OPENGL_ES) || USE(LIBEPOXY) ++#if USE(OPENGL_ES) || USE(LIBEPOXY) || USE(ANGLE) + return true; + #else + static bool initialized = false; +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp b/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp +index 3515be452b2..82cce70f14b 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp ++++ b/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp +@@ -64,7 +64,10 @@ + + #if USE(GLX) + #include <GL/glx.h> +-#include <WebCore/OpenGLShims.h> ++#endif ++ ++#if !USE(OPENGL_ES) && !USE(LIBEPOXY) && !USE(ANGLE) ++#include "WebCore/OpenGLShims.h" + #endif + + #if USE(GSTREAMER) +-- +2.20.1 + diff --git a/net-libs/webkit-gtk/files/2.28.2-use-gst-audiointerleave.patch b/net-libs/webkit-gtk/files/2.28.2-use-gst-audiointerleave.patch new file mode 100644 index 00000000..f4bc7291 --- /dev/null +++ b/net-libs/webkit-gtk/files/2.28.2-use-gst-audiointerleave.patch @@ -0,0 +1,55 @@ +From 43686247013a1230d47b46d637f928eb47c99609 Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> +Date: Wed, 29 Apr 2020 08:14:06 +0000 +Subject: [PATCH] [GStreamer] Switch to audiointerleave + https://bugs.webkit.org/show_bug.cgi?id=211124 + +Patch by Philippe Normand <pnormand@igalia.com> on 2020-04-29 +Reviewed by Xabier Rodriguez-Calvar. + +The audiointerleave element is a drop-in replacement of +interleave. It should behave a bit better in live. + +No new tests, existing webaudio tests cover this change. + +* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: +(webKitWebAudioSrcConstructed): +(webKitWebAudioSrcChangeState): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260886 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + .../audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp +index 2f937f677cc..ea134b7b1b2 100644 +--- a/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp ++++ b/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp +@@ -211,10 +211,10 @@ static void webKitWebAudioSrcConstructed(GObject* object) + ASSERT(priv->provider); + ASSERT(priv->sampleRate); + +- priv->interleave = gst_element_factory_make("interleave", nullptr); ++ priv->interleave = gst_element_factory_make("audiointerleave", nullptr); + + if (!priv->interleave) { +- GST_ERROR_OBJECT(src, "Failed to create interleave"); ++ GST_ERROR_OBJECT(src, "Failed to create audiointerleave"); + return; + } + +@@ -398,8 +398,8 @@ static GstStateChangeReturn webKitWebAudioSrcChangeState(GstElement* element, Gs + switch (transition) { + case GST_STATE_CHANGE_NULL_TO_READY: + if (!src->priv->interleave) { +- gst_element_post_message(element, gst_missing_element_message_new(element, "interleave")); +- GST_ELEMENT_ERROR(src, CORE, MISSING_PLUGIN, (nullptr), ("no interleave")); ++ gst_element_post_message(element, gst_missing_element_message_new(element, "audiointerleave")); ++ GST_ELEMENT_ERROR(src, CORE, MISSING_PLUGIN, (nullptr), ("no audiointerleave")); + return GST_STATE_CHANGE_FAILURE; + } + src->priv->numberOfSamples = 0; +-- +2.20.1 + diff --git a/net-libs/webkit-gtk/webkit-gtk-2.28.1-r10.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.28.2-r10.ebuild index 7830a6a5..390b29c1 100644 --- a/net-libs/webkit-gtk/webkit-gtk-2.28.1-r10.ebuild +++ b/net-libs/webkit-gtk/webkit-gtk-2.28.2-r10.ebuild @@ -4,7 +4,6 @@ EAPI=6 CMAKE_MAKEFILE_GENERATOR="ninja" PYTHON_COMPAT=( python{3_6,3_7} ) -USE_RUBY="ruby24 ruby25 ruby26 ruby27" CMAKE_MIN_VERSION=3.10 inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 toolchain-funcs virtualx @@ -18,7 +17,7 @@ LICENSE="LGPL-2+ BSD" SLOT="4/37" # soname version of libwebkit2gtk-4.0 KEYWORDS="~amd64 ~arm64 ~ppc64 ~sparc ~x86" -IUSE="aqua coverage +egl +geolocation gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build libnotify +opengl seccomp spell wayland +X" +IUSE="aqua +egl +geolocation gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build libnotify +opengl seccomp spell wayland +X" # gstreamer with opengl/gles2 needs egl REQUIRED_USE=" @@ -41,6 +40,7 @@ wpe_depend=" >=gui-libs/libwpe-1.3.0:1.0 >=gui-libs/wpebackend-fdo-1.3.1:1.0 " +# TODO: gst-plugins-base[X] is only needed when build configuration ends up with GLX set, but that's a bit automagic too to fix RDEPEND=" >=x11-libs/cairo-1.16.0:=[X?] >=media-libs/fontconfig-2.13.0:1.0 @@ -67,7 +67,7 @@ RDEPEND=" spell? ( >=app-text/enchant-0.22:2 ) gstreamer? ( >=media-libs/gstreamer-1.14:1.0 - >=media-libs/gst-plugins-base-1.14:1.0[egl?,opengl?] + >=media-libs/gst-plugins-base-1.14:1.0[egl?,opengl?,X] gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] ) >=media-plugins/gst-plugins-opus-1.14.4-r1:1.0 >=media-libs/gst-plugins-bad-1.14:1.0 ) @@ -167,6 +167,11 @@ pkg_setup() { src_prepare() { eapply "${FILESDIR}/${PN}-2.24.4-eglmesaext-include.patch" # bug 699054 # https://bugs.webkit.org/show_bug.cgi?id=204108 eapply "${FILESDIR}"/2.26.3-fix-gtk-doc.patch # bug 704550 - retest without it once we can depend on >=gtk-doc-1.32 + eapply "${FILESDIR}"/${PV}-fix-yelp-desktopless-build.patch + eapply "${FILESDIR}"/${PV}-use-gst-audiointerleave.patch + eapply "${FILESDIR}"/${PV}-fix-ppc64-JSC.patch + eapply "${FILESDIR}"/${PV}-opengl-without-X-fixes.patch + eapply "${FILESDIR}"/${PV}-non-jumbo-fix.patch cmake-utils_src_prepare gnome2_src_prepare } @@ -258,7 +263,7 @@ src_configure() { # mycmakeargs+=( -DUSE_LD_GOLD=OFF ) # fi - cmake-utils_src_configure + WK_USE_CCACHE=NO cmake-utils_src_configure } src_compile() { |