From d91c178780f972b7c13b10aa428e394be428dda9 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 3 Nov 2020 06:45:31 -0500 Subject: [PATCH] import webkit2gtk3-2.28.4-1.el8 --- .gitignore | 2 +- .webkit2gtk3.metadata | 2 +- .../evolution-shared-secondary-process.patch | 15 ++++ SOURCES/no-env-shebang.patch | 24 ------- SOURCES/webkit-aarch64_page_size.patch | 39 ++++------- SOURCES/webkit-atk_continuation_crash.patch | 15 ---- SOURCES/webkit-atk_crash.patch | 25 ------- SPECS/webkit2gtk3.spec | 69 ++++++++++--------- 8 files changed, 69 insertions(+), 122 deletions(-) create mode 100644 SOURCES/evolution-shared-secondary-process.patch delete mode 100644 SOURCES/no-env-shebang.patch delete mode 100644 SOURCES/webkit-atk_continuation_crash.patch delete mode 100644 SOURCES/webkit-atk_crash.patch diff --git a/.gitignore b/.gitignore index dc3353c..981aa21 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/webkitgtk-2.24.4.tar.xz +SOURCES/webkitgtk-2.28.4.tar.xz diff --git a/.webkit2gtk3.metadata b/.webkit2gtk3.metadata index 429b7c2..092c9f9 100644 --- a/.webkit2gtk3.metadata +++ b/.webkit2gtk3.metadata @@ -1 +1 @@ -f978b967422c6b423b11062375bab6506243388c SOURCES/webkitgtk-2.24.4.tar.xz +70e9dd80647b30eaaf8a7f5b30d8869cd1254056 SOURCES/webkitgtk-2.28.4.tar.xz diff --git a/SOURCES/evolution-shared-secondary-process.patch b/SOURCES/evolution-shared-secondary-process.patch new file mode 100644 index 0000000..a506c0e --- /dev/null +++ b/SOURCES/evolution-shared-secondary-process.patch @@ -0,0 +1,15 @@ +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +index da25d96e35b5..242ce8c00eeb 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp ++++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +@@ -381,6 +381,10 @@ static void webkitWebContextConstructed(GObject* object) + const char* useSingleWebProcess = getenv("WEBKIT_USE_SINGLE_WEB_PROCESS"); + if (useSingleWebProcess && strcmp(useSingleWebProcess, "0")) + configuration.setUsesSingleWebProcess(true); ++ else { ++ if (!g_strcmp0(g_get_prgname(), "evolution")) ++ configuration.setUsesSingleWebProcess(true); ++ } + } + #endif + diff --git a/SOURCES/no-env-shebang.patch b/SOURCES/no-env-shebang.patch deleted file mode 100644 index 28ce8cc..0000000 --- a/SOURCES/no-env-shebang.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 494e4abb7a5130376d3cdb41a5e3963650b8659f Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Mon, 16 Jul 2018 06:34:53 +0200 -Subject: [PATCH] Fix the broken build due to python2 - -/builddir/build/BUILD/webkitgtk-2.23.3/Tools/gtkdoc/generate-gtkdoc -/usr/bin/env: 'python': No such file or directory ---- - Tools/gtk/generate-gtkdoc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Tools/gtk/generate-gtkdoc b/Tools/gtk/generate-gtkdoc -index 45c23dfb..a3f82984 100755 ---- a/Tools/gtkdoc/generate-gtkdoc -+++ b/Tools/gtkdoc/generate-gtkdoc -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # Copyright (C) 2011 Igalia S.L. - # - # This library is free software; you can redistribute it and/or --- -2.17.1 - diff --git a/SOURCES/webkit-aarch64_page_size.patch b/SOURCES/webkit-aarch64_page_size.patch index 8012604..6baf138 100644 --- a/SOURCES/webkit-aarch64_page_size.patch +++ b/SOURCES/webkit-aarch64_page_size.patch @@ -1,25 +1,16 @@ -From f00a16d3e3b83f1cfa7d66bfc2369254abec58d4 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Thu, 6 Sep 2018 12:03:53 +0200 -Subject: [PATCH] Fix the page size on aarch64 - ---- - Source/JavaScriptCore/heap/MarkedBlock.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/JavaScriptCore/heap/MarkedBlock.h b/Source/JavaScriptCore/heap/MarkedBlock.h -index e240f0ae..6bf88692 100644 ---- a/Source/JavaScriptCore/heap/MarkedBlock.h -+++ b/Source/JavaScriptCore/heap/MarkedBlock.h -@@ -68,7 +68,7 @@ public: - static constexpr size_t atomSize = 16; // bytes - - // Block size must be at least as large as the system page size. --#if CPU(PPC64) || CPU(PPC64LE) || CPU(PPC) || CPU(UNKNOWN) -+#if CPU(PPC64) || CPU(PPC64LE) || CPU(PPC) || CPU(ARM64) || CPU(UNKNOWN) - static constexpr size_t blockSize = 64 * KB; +diff --git a/Source/WTF/wtf/PageBlock.h b/Source/WTF/wtf/PageBlock.h +index 33d9118d..3e99decf 100644 +--- a/Source/WTF/wtf/PageBlock.h ++++ b/Source/WTF/wtf/PageBlock.h +@@ -49,9 +49,9 @@ namespace WTF { + // Use 64 KiB for any unknown CPUs to be conservative. + #if OS(DARWIN) + constexpr size_t CeilingOnPageSize = 16 * KB; +-#elif OS(WINDOWS) || CPU(MIPS) || CPU(MIPS64) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) ++#elif OS(WINDOWS) || CPU(MIPS) || CPU(MIPS64) || CPU(X86) || CPU(X86_64) || CPU(ARM) + constexpr size_t CeilingOnPageSize = 4 * KB; +-#elif CPU(UNKNOWN) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) ++#elif CPU(UNKNOWN) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(ARM64) + constexpr size_t CeilingOnPageSize = 64 * KB; #else - static constexpr size_t blockSize = 16 * KB; --- -2.17.1 - + #error Must set CeilingOnPageSize in PageBlock.h when adding a new CPU architecture! diff --git a/SOURCES/webkit-atk_continuation_crash.patch b/SOURCES/webkit-atk_continuation_crash.patch deleted file mode 100644 index c595dd6..0000000 --- a/SOURCES/webkit-atk_continuation_crash.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up webkitgtk-2.20.4/Source/WebCore/accessibility/AccessibilityRenderObject.cpp.atk_continuation_crash webkitgtk-2.20.4/Source/WebCore/accessibility/AccessibilityRenderObject.cpp ---- webkitgtk-2.20.4/Source/WebCore/accessibility/AccessibilityRenderObject.cpp.atk_continuation_crash 2018-02-20 09:25:28.000000000 +0100 -+++ webkitgtk-2.20.4/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2018-08-07 11:43:19.438679595 +0200 -@@ -381,8 +381,9 @@ AccessibilityObject* AccessibilityRender - - // Case 5: node has no next sibling, and its parent is an inline with a continuation. - // Case 5.1: After case 4, (the element was inline w/ continuation but had no sibling), then check it's parent. -- if (!nextSibling && isInlineWithContinuation(*m_renderer->parent())) { -- auto& continuation = *downcast(*m_renderer->parent()).continuation(); -+ auto parent = m_renderer->parent(); -+ if (!nextSibling && parent && isInlineWithContinuation(*parent)) { -+ auto& continuation = *downcast(*parent).continuation(); - - // Case 5a: continuation is a block - in this case the block itself is the next sibling. - if (is(continuation)) diff --git a/SOURCES/webkit-atk_crash.patch b/SOURCES/webkit-atk_crash.patch deleted file mode 100644 index f38eafc..0000000 --- a/SOURCES/webkit-atk_crash.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp -index f10a1519..523dfd46 100644 ---- a/Source/WebCore/accessibility/AccessibilityObject.cpp -+++ b/Source/WebCore/accessibility/AccessibilityObject.cpp -@@ -70,6 +70,7 @@ - #include "RenderWidget.h" - #include "RenderedPosition.h" - #include "RuntimeEnabledFeatures.h" -+#include "ScriptDisallowedScope.h" - #include "Settings.h" - #include "TextCheckerClient.h" - #include "TextCheckingHelper.h" -@@ -1783,7 +1784,11 @@ void AccessibilityObject::updateBackingStore() - // Updating the layout may delete this object. - RefPtr protectedThis(this); - if (auto* document = this->document()) { -- if (!document->view()->layoutContext().isInRenderTreeLayout() && !document->inRenderTreeUpdate() && !document->inStyleRecalc()) -+ if (!document->view()->layoutContext().isInRenderTreeLayout() -+ && !document->inRenderTreeUpdate() -+ && !document->inStyleRecalc() -+ && ScriptDisallowedScope::InMainThread::isScriptAllowed()) -+ - document->updateLayoutIgnorePendingStylesheets(); - } - diff --git a/SPECS/webkit2gtk3.spec b/SPECS/webkit2gtk3.spec index 8833059..f1ac082 100644 --- a/SPECS/webkit2gtk3.spec +++ b/SPECS/webkit2gtk3.spec @@ -6,21 +6,18 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkit2gtk3 -Version: 2.24.4 -Release: 2%{?dist} +Version: 2.28.4 +Release: 1%{?dist} Summary: GTK Web content engine library License: LGPLv2 URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz -Patch1: webkit-aarch64_page_size.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1591638 -Patch2: webkit-atk_crash.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1503624 -Patch3: webkit-atk_continuation_crash.patch -# Don't use the shebang, but point straight to python 3 -Patch4: no-env-shebang.patch +# https://bugs.webkit.org/show_bug.cgi?id=209360 +Patch0: webkit-aarch64_page_size.patch +# https://bugs.webkit.org/show_bug.cgi?id=193749 +Patch1: evolution-shared-secondary-process.patch BuildRequires: bison BuildRequires: bubblewrap @@ -39,6 +36,7 @@ BuildRequires: perl-JSON-PP BuildRequires: perl-Switch BuildRequires: python3 BuildRequires: ruby +BuildRequires: rubygem-json BuildRequires: rubygems #BuildRequires: xdg-dbus-proxy @@ -96,16 +94,20 @@ Provides: libwebkit2gtk = %{version}-%{release} Obsoletes: webkitgtk4 < %{version}-%{release} Provides: webkitgtk4 = %{version}-%{release} -# We're supposed to specify versions here, but these crap Google libs don't do +# GTK+ 2 plugins support was removed in 2.25.3 +Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}-%{release} +Provides: webkit2gtk3-plugin-process-gtk2 = %{version}-%{release} +Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} +Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} + +# We're supposed to specify versions here, but these libraries don't do # normal releases. Accordingly, they're not suitable to be system libs. Provides: bundled(angle) +Provides: bundled(xdgmime) # Require the jsc subpackage Requires: %{name}-jsc%{?_isa} = %{version}-%{release} -# Recommend the support for the GTK 2 based NPAPI plugins -Recommends: %{name}-plugin-process-gtk2%{?_isa} = %{version}-%{release} - # Filter out provides for private libraries %global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ @@ -155,16 +157,6 @@ Provides: webkitgtk4-jsc-devel = %{version}-%{release} The %{name}-jsc-devel package contains libraries, build data, and header files for developing applications that use JavaScript engine from %{name}. -%package plugin-process-gtk2 -Summary: GTK 2 based NPAPI plugins support for %{name} -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} -Obsoletes: %{name} < 2.12.0-3 -Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} -Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} - -%description plugin-process-gtk2 -Support for the GTK 2 based NPAPI plugins (such as Adobe Flash) for %{name}. - %prep %autosetup -p1 -n webkitgtk-%{version} -S git @@ -190,15 +182,20 @@ rm -rf Source/ThirdParty/qunit/ %endif # BMalloc and JIT are disabled on aarch64, because of the non-standard page size -# that's causing problems there (it's enabled on Fedora) +# that's causing problems there (it's enabled on Fedora). +# +# TODO: Package xdg-dbus-proxy for RHEL so we can enable bubblewrap sandbox. +# TODO: Package libwpe and wpebackend-fdo for RHEL so we can enable WPE renderer. mkdir -p %{_target_platform} pushd %{_target_platform} %cmake \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -DENABLE_GTKDOC=ON \ -DENABLE_MINIBROWSER=ON \ + -DUSE_WPE_RENDERER=OFF \ -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ %ifarch s390x %{power64} aarch64 -DENABLE_JIT=OFF \ @@ -209,7 +206,9 @@ popd # Show the build time in the status export NINJA_STATUS="[%f/%t][%e] " -%ninja_build -C %{_target_platform} +# brew has run out of memory building WebKitGTK 2.28.4 with -j6, so +# use -j3 to reduce maximum memory usage. +%ninja_build -C %{_target_platform} -j3 %install %ninja_install -C %{_target_platform} @@ -246,7 +245,6 @@ export NINJA_STATUS="[%f/%t][%e] " %{_libdir}/webkit2gtk-4.0/ %{_libexecdir}/webkit2gtk-4.0/ %exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser -%exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 %{_bindir}/WebKitWebDriver %files devel @@ -275,9 +273,6 @@ export NINJA_STATUS="[%f/%t][%e] " %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir -%files plugin-process-gtk2 -%{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 - %files doc %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html @@ -286,11 +281,21 @@ export NINJA_STATUS="[%f/%t][%e] " %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog -* Mon Oct 14 2019 Eike Rathke - 2.24.4-2 -- Related: rhbz#1755824 Bump NVR +* Mon Aug 03 2020 Michael Catanzaro - 2.28.4-1 +- Update to 2.28.4 +- Related: #1817143 + +* Thu May 21 2020 Michael Catanzaro - 2.28.2-2 +- Related: rhbz#1817143 Properly remove webkit2gtk3-plugin-process-gtk2 package + +* Thu May 14 2020 Michael Catanzaro - 2.28.2-1 +- Resolves: rhbz#1817143 Update to 2.28.2 + +* Mon Oct 14 2019 Eike Rathke - 2.24.4-3 +- Related: rhbz#1748890 Bump NVR * Fri Sep 27 2019 Eike Rathke - 2.24.4-1 -- Resolves: rhbz#1755824 Update to 2.24.4 +- Resolves: rhbz#1748890 Update to 2.24.4 * Tue Jul 09 2019 Eike Rathke - 2.24.3-1 - Resolves: rhbz#1728277 Update to 2.24.3