From 71051758c29b1e61bc4e504321c0804a1e5b0966 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Fri, 9 Dec 2022 14:10:40 +0000 Subject: [PATCH] import webkit2gtk3-2.38.2-1.el8 --- .gitignore | 2 +- .webkit2gtk3.metadata | 2 +- SOURCES/aarch64-page-size.patch | 19 ----- .../evolution-shared-secondary-process.patch | 18 ++++- SOURCES/icu60.patch | 79 +++++++++++++------ SOURCES/webkitgtk-2.36.7.tar.xz.asc | 6 -- SOURCES/webkitgtk-2.38.2.tar.xz.asc | 6 ++ SPECS/webkit2gtk3.spec | 63 ++++++--------- 8 files changed, 100 insertions(+), 95 deletions(-) delete mode 100644 SOURCES/aarch64-page-size.patch delete mode 100644 SOURCES/webkitgtk-2.36.7.tar.xz.asc create mode 100644 SOURCES/webkitgtk-2.38.2.tar.xz.asc diff --git a/.gitignore b/.gitignore index b869c65..7f44d82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/webkitgtk-2.36.7.tar.xz +SOURCES/webkitgtk-2.38.2.tar.xz SOURCES/webkitgtk-keys.gpg diff --git a/.webkit2gtk3.metadata b/.webkit2gtk3.metadata index 427716f..828ffad 100644 --- a/.webkit2gtk3.metadata +++ b/.webkit2gtk3.metadata @@ -1,2 +1,2 @@ -36078148b6e0ef002f0279b25b1caf173f851ac8 SOURCES/webkitgtk-2.36.7.tar.xz +270716b2dad6bf7becf4730c704b3ff78e94d911 SOURCES/webkitgtk-2.38.2.tar.xz cf57cbbadf2a07c6ede1c886f9742b7d352460c0 SOURCES/webkitgtk-keys.gpg diff --git a/SOURCES/aarch64-page-size.patch b/SOURCES/aarch64-page-size.patch deleted file mode 100644 index 15aaacb..0000000 --- a/SOURCES/aarch64-page-size.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/Source/WTF/wtf/PageBlock.h b/Source/WTF/wtf/PageBlock.h -index 9bb7fffcc1ae..3e1e24aa69f5 100644 ---- a/Source/WTF/wtf/PageBlock.h -+++ b/Source/WTF/wtf/PageBlock.h -@@ -45,11 +45,11 @@ namespace WTF { - // On Linux, Power systems normally use 64 KiB pages. - // - // Use 64 KiB for any unknown CPUs to be conservative. --#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(MIPS) || CPU(MIPS64) || (OS(LINUX) && CPU(ARM64)) -+#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(MIPS) || CPU(MIPS64) - constexpr size_t CeilingOnPageSize = 16 * KB; --#elif CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN) -+#elif CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN) || CPU(ARM64) - constexpr size_t CeilingOnPageSize = 64 * KB; --#elif OS(WINDOWS) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64) -+#elif OS(WINDOWS) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(RISCV64) - constexpr size_t CeilingOnPageSize = 4 * KB; - #else - #error Must set CeilingOnPageSize in PageBlock.h when adding a new CPU architecture! diff --git a/SOURCES/evolution-shared-secondary-process.patch b/SOURCES/evolution-shared-secondary-process.patch index 22c2d00..d5f6f10 100644 --- a/SOURCES/evolution-shared-secondary-process.patch +++ b/SOURCES/evolution-shared-secondary-process.patch @@ -1,10 +1,19 @@ +From ffe84688fc8a91b1e6d1c4462120fc44349a7c05 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Thu, 27 Oct 2022 19:12:43 -0500 +Subject: [PATCH] Force Evolution to use single secondary process + +--- + Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp | 3 +++ + 1 file changed, 3 insertions(+) + diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp -index bd2d4d20206f..0fe471bde384 100644 +index 6bb6767869af..2a05a69d9b0d 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp -@@ -415,6 +415,9 @@ static void webkitWebContextConstructed(GObject* object) - g_clear_pointer(&priv->memoryPressureSettings, webkit_memory_pressure_settings_free); +@@ -431,6 +431,9 @@ static void webkitWebContextConstructed(GObject* object) } + configuration.setTimeZoneOverride(String::fromUTF8(priv->timeZoneOverride.data(), priv->timeZoneOverride.length())); + if (!g_strcmp0(g_get_prgname(), "evolution")) + configuration.setUsesSingleWebProcess(true); @@ -12,3 +21,6 @@ index bd2d4d20206f..0fe471bde384 100644 if (!priv->websiteDataManager) priv->websiteDataManager = adoptGRef(webkit_website_data_manager_new("local-storage-directory", priv->localStorageDirectory.data(), nullptr)); +-- +2.31.1 + diff --git a/SOURCES/icu60.patch b/SOURCES/icu60.patch index 775bbc5..303cc00 100644 --- a/SOURCES/icu60.patch +++ b/SOURCES/icu60.patch @@ -1,6 +1,22 @@ ---- a/Source/JavaScriptCore/runtime/IntlCache.cpp -+++ a/Source/JavaScriptCore/runtime/IntlCache.cpp -@@ -26,6 +26,7 @@ +From 833cfdd150b6f7f0fb021ac5de7890dff158f5fd Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Thu, 27 Oct 2022 16:32:43 -0500 +Subject: [PATCH] Build against ICU 60 + +--- + Source/JavaScriptCore/runtime/IntlCache.cpp | 3 +++ + Source/JavaScriptCore/runtime/IntlCache.h | 3 +++ + Source/JavaScriptCore/runtime/IntlDisplayNames.cpp | 11 +++++++++++ + Source/JavaScriptCore/runtime/IntlDisplayNames.h | 7 +++++++ + Source/JavaScriptCore/runtime/IntlObject.cpp | 6 +++++- + Source/cmake/OptionsGTK.cmake | 2 +- + 6 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/Source/JavaScriptCore/runtime/IntlCache.cpp b/Source/JavaScriptCore/runtime/IntlCache.cpp +index b17d7340df56..94a5474059b6 100644 +--- a/Source/JavaScriptCore/runtime/IntlCache.cpp ++++ b/Source/JavaScriptCore/runtime/IntlCache.cpp +@@ -26,6 +26,7 @@ #include "config.h" #include "IntlCache.h" @@ -23,9 +39,11 @@ +#endif } // namespace JSC ---- a/Source/JavaScriptCore/runtime/IntlCache.h -+++ a/Source/JavaScriptCore/runtime/IntlCache.h -@@ -25,6 +25,7 @@ +diff --git a/Source/JavaScriptCore/runtime/IntlCache.h b/Source/JavaScriptCore/runtime/IntlCache.h +index 058b2423786d..e7a8c82f392b 100644 +--- a/Source/JavaScriptCore/runtime/IntlCache.h ++++ b/Source/JavaScriptCore/runtime/IntlCache.h +@@ -25,6 +25,7 @@ #pragma once @@ -43,8 +61,10 @@ private: UDateTimePatternGenerator* getSharedPatternGenerator(const CString& locale, UErrorCode& status) ---- a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp -+++ a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp +diff --git a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp +index c281f796eaee..1bc3c0c8a8c6 100644 +--- a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp ++++ b/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp @@ -110,6 +110,7 @@ void IntlDisplayNames::initializeDisplayNames(JSGlobalObject* globalObject, JSVa m_languageDisplay = intlOption(globalObject, options, vm.propertyNames->languageDisplay, { { "dialect"_s, LanguageDisplay::Dialect }, { "standard"_s, LanguageDisplay::Standard } }, "languageDisplay must be either \"dialect\" or \"standard\""_s, LanguageDisplay::Dialect); RETURN_IF_EXCEPTION(scope, void()); @@ -58,8 +78,8 @@ return; } +#else -+ throwTypeError(globalObject, scope, "Failed to initialize Intl.DisplayNames since used feature is not supported in the linked ICU version"_s); -+ return; ++ throwTypeError(globalObject, scope, "failed to initialize Intl.DisplayNames since feature is not supported by the ICU version"_s); ++ return; +#endif } @@ -75,20 +95,22 @@ @@ -350,6 +356,11 @@ JSValue IntlDisplayNames::of(JSGlobalObject* globalObject, JSValue codeValue) co return throwTypeError(globalObject, scope, "Failed to query a display name."_s); } - return jsString(vm, String(buffer)); + return jsString(vm, String(WTFMove(buffer))); +#else + UNUSED_PARAM(codeValue); -+ throwTypeError(globalObject, scope, "Failed to initialize Intl.DisplayNames since used feature is not supported in the linked ICU version"_s); ++ throwTypeError(globalObject, scope, "failed to initialize Intl.DisplayNames since feature is not supported by the ICU version"_s); + return { }; +#endif } // https://tc39.es/proposal-intl-displaynames/#sec-Intl.DisplayNames.prototype.resolvedOptions ---- a/Source/JavaScriptCore/runtime/IntlDisplayNames.h -+++ a/Source/JavaScriptCore/runtime/IntlDisplayNames.h -@@ -31,6 +31,13 @@ - - namespace JSC { +diff --git a/Source/JavaScriptCore/runtime/IntlDisplayNames.h b/Source/JavaScriptCore/runtime/IntlDisplayNames.h +index d80dc3d83a15..f2bf36275c79 100644 +--- a/Source/JavaScriptCore/runtime/IntlDisplayNames.h ++++ b/Source/JavaScriptCore/runtime/IntlDisplayNames.h +@@ -29,6 +29,13 @@ + #include + #include +#if !defined(HAVE_ICU_U_LOCALE_DISPLAY_NAMES) +// We need 61 or later since part of implementation uses UCURR_NARROW_SYMBOL_NAME. @@ -97,11 +119,13 @@ +#endif +#endif + - enum class RelevantExtensionKey : uint8_t; + namespace JSC { - class IntlDisplayNames final : public JSNonFinalObject { ---- a/Source/JavaScriptCore/runtime/IntlObject.cpp -+++ a/Source/JavaScriptCore/runtime/IntlObject.cpp + enum class RelevantExtensionKey : uint8_t; +diff --git a/Source/JavaScriptCore/runtime/IntlObject.cpp b/Source/JavaScriptCore/runtime/IntlObject.cpp +index f7dc4d578d77..a6ccbe1b9f74 100644 +--- a/Source/JavaScriptCore/runtime/IntlObject.cpp ++++ b/Source/JavaScriptCore/runtime/IntlObject.cpp @@ -153,7 +153,6 @@ namespace JSC { getCanonicalLocales intlObjectFuncGetCanonicalLocales DontEnum|Function 1 Collator createCollatorConstructor DontEnum|PropertyCallback @@ -112,7 +136,7 @@ PluralRules createPluralRulesConstructor DontEnum|PropertyCallback @@ -239,6 +238,11 @@ void IntlObject::finishCreation(VM& vm, JSGlobalObject* globalObject) Base::finishCreation(vm); - ASSERT(inherits(vm, info())); + ASSERT(inherits(info())); JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); +#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES) + putDirectWithoutTransition(vm, vm.propertyNames->DisplayNames, createDisplayNamesConstructor(vm, this), static_cast(PropertyAttribute::DontEnum)); @@ -122,9 +146,11 @@ #if HAVE(ICU_U_LIST_FORMATTER) putDirectWithoutTransition(vm, vm.propertyNames->ListFormat, createListFormatConstructor(vm, this), static_cast(PropertyAttribute::DontEnum)); #else ---- a/Source/cmake/OptionsGTK.cmake -+++ a/Source/cmake/OptionsGTK.cmake -@@ -14,7 +14,7 @@ find_package(Freetype 2.4.2 REQUIRED) +diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake +index 5e653a9e0b5a..0977f2c49037 100644 +--- a/Source/cmake/OptionsGTK.cmake ++++ b/Source/cmake/OptionsGTK.cmake +@@ -19,7 +19,7 @@ find_package(Freetype 2.4.2 REQUIRED) find_package(LibGcrypt 1.6.0 REQUIRED) find_package(GLIB 2.56.4 REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule) find_package(HarfBuzz 0.9.18 REQUIRED COMPONENTS ICU) @@ -133,3 +159,6 @@ find_package(JPEG REQUIRED) find_package(LibXml2 2.8.0 REQUIRED) find_package(PNG REQUIRED) +-- +2.31.1 + diff --git a/SOURCES/webkitgtk-2.36.7.tar.xz.asc b/SOURCES/webkitgtk-2.36.7.tar.xz.asc deleted file mode 100644 index 55b27a8..0000000 --- a/SOURCES/webkitgtk-2.36.7.tar.xz.asc +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCYwaNMwAKCRCRxVnb5MkS -OwFGAJ9cz5+l3fKydXxOgJWDLBvlavsI1ACfbkmK0bmhBExS7febO1y16Ftd91Q= -=Zhg7 ------END PGP SIGNATURE----- diff --git a/SOURCES/webkitgtk-2.38.2.tar.xz.asc b/SOURCES/webkitgtk-2.38.2.tar.xz.asc new file mode 100644 index 0000000..7c42640 --- /dev/null +++ b/SOURCES/webkitgtk-2.38.2.tar.xz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABEDAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCY2TNpwAKCRDz0yLQ7EWC +wyH5AJ4ktXefZTDTuk7ETZ3ZhjyVqaVqfQCg3uzmbd5M3POtdDuuG5eALaXQXhA= +=CshI +-----END PGP SIGNATURE----- diff --git a/SPECS/webkit2gtk3.spec b/SPECS/webkit2gtk3.spec index 2bfc9d1..99fb06b 100644 --- a/SPECS/webkit2gtk3.spec +++ b/SPECS/webkit2gtk3.spec @@ -5,13 +5,8 @@ mkdir -p _license_files ; \ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') -# Build documentation by default (use `rpmbuild --without docs` to override it). -# This is used by Coverity. Coverity injects custom compiler warnings, but -# any warning during WebKit docs build is fatal! -%bcond_without docs - Name: webkit2gtk3 -Version: 2.36.7 +Version: 2.38.2 Release: 1%{?dist} Summary: GTK Web content engine library @@ -27,12 +22,8 @@ Source2: webkitgtk-keys.gpg # https://bugs.webkit.org/show_bug.cgi?id=193749 Patch0: evolution-shared-secondary-process.patch -# https://bugs.webkit.org/show_bug.cgi?id=217989 -# https://bugs.webkit.org/show_bug.cgi?id=227905 -Patch1: aarch64-page-size.patch - # https://bugs.webkit.org/show_bug.cgi?id=235367 -Patch2: icu60.patch +Patch1: icu60.patch BuildRequires: bison BuildRequires: cmake @@ -41,7 +32,6 @@ BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: git BuildRequires: gperf -BuildRequires: gtk-doc BuildRequires: hyphen-devel BuildRequires: libatomic BuildRequires: ninja-build @@ -93,6 +83,8 @@ BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wpe-1.0) +BuildRequires: pkgconfig(wpebackend-fdo-1.0) BuildRequires: pkgconfig(xt) # If Geoclue is not running, the geolocation API will not work. @@ -116,6 +108,10 @@ Provides: webkit2gtk3-plugin-process-gtk2 = %{version}-%{release} Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} +# Don't build documentation anymore to avoid gi-docgen dependency +Obsoletes: webkit2gtk3-doc < %{version}-%{release} +Provides: webkit2gtk3-doc = %{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) @@ -145,18 +141,6 @@ Provides: webkitgtk4-devel = %{version}-%{release} The %{name}-devel package contains libraries, build data, and header files for developing applications that use %{name}. -%if %{with docs} -%package doc -Summary: Documentation files for %{name} -BuildArch: noarch -Requires: %{name} = %{version}-%{release} -Obsoletes: webkitgtk4-doc < %{version}-%{release} -Provides: webkitgtk4-doc = %{version}-%{release} - -%description doc -This package contains developer documentation for %{name}. -%endif - %package jsc Summary: JavaScript engine from %{name} Obsoletes: webkitgtk4-jsc < %{version}-%{release} @@ -211,16 +195,11 @@ pushd %{_target_platform} -DCMAKE_BUILD_TYPE=Release \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -DUSE_SOUP2=ON \ -%if %{with docs} - -DENABLE_GTKDOC=ON \ -%endif - -DENABLE_MINIBROWSER=ON \ - -DUSE_WPE_RENDERER=OFF \ + -DENABLE_DOCUMENTATION=OFF \ -DENABLE_GAMEPAD=OFF \ %if 0%{?rhel} %ifarch aarch64 - -DENABLE_JIT=OFF \ - -DUSE_SYSTEM_MALLOC=ON \ + -DUSE_64KB_PAGE_BLOCK=ON \ %endif %endif .. @@ -293,16 +272,20 @@ export NINJA_STATUS="[%f/%t][%e] " %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir -%if %{with docs} -%files doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/jsc-glib-4.0/ -%{_datadir}/gtk-doc/html/webkit2gtk-4.0/ -%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ -%endif - %changelog +* Fri Nov 04 2022 Michael Catanzaro - 2.38.2-1 +- Update to 2.38.2 + Related: #2127468 + +* Wed Nov 02 2022 Michael Catanzaro - 2.38.1-2 +- Fix crashes on aarch64 + Enable WPE renderer + Related: #2127468 + +* Thu Oct 27 2022 Michael Catanzaro - 2.38.1-1 +- Update to 2.38.1 + Related: #2127468 + * Wed Aug 24 2022 Michael Catanzaro - 2.36.7-1 - Update to 2.36.7 Related: #2061994