From 01fef8d4bb595cb715f1c8f882f009c9be27f65a Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 5 May 2022 18:08:46 +0000 Subject: [PATCH] import webkit2gtk3-2.36.1-1.el8 --- .gitignore | 2 +- .webkit2gtk3.metadata | 2 +- SOURCES/generate-preferences-ruby-error.patch | 28 ++++ SOURCES/icu60.patch | 135 ++++++++++++++++++ SOURCES/webkitgtk-2.34.6.tar.xz.asc | 6 - SOURCES/webkitgtk-2.36.1.tar.xz.asc | 6 + SPECS/webkit2gtk3.spec | 22 ++- 7 files changed, 189 insertions(+), 12 deletions(-) create mode 100644 SOURCES/generate-preferences-ruby-error.patch create mode 100644 SOURCES/icu60.patch delete mode 100644 SOURCES/webkitgtk-2.34.6.tar.xz.asc create mode 100644 SOURCES/webkitgtk-2.36.1.tar.xz.asc diff --git a/.gitignore b/.gitignore index 56eef8f..e50b237 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/webkitgtk-2.34.6.tar.xz +SOURCES/webkitgtk-2.36.1.tar.xz SOURCES/webkitgtk-keys.gpg diff --git a/.webkit2gtk3.metadata b/.webkit2gtk3.metadata index 5079354..0b46c97 100644 --- a/.webkit2gtk3.metadata +++ b/.webkit2gtk3.metadata @@ -1,2 +1,2 @@ -bb82517289baf9c858fa406d1d845274f81e25cb SOURCES/webkitgtk-2.34.6.tar.xz +36a95b906e54bcf94d2be04e1cbaac3584da7eb1 SOURCES/webkitgtk-2.36.1.tar.xz cf57cbbadf2a07c6ede1c886f9742b7d352460c0 SOURCES/webkitgtk-keys.gpg diff --git a/SOURCES/generate-preferences-ruby-error.patch b/SOURCES/generate-preferences-ruby-error.patch new file mode 100644 index 0000000..4ac03ef --- /dev/null +++ b/SOURCES/generate-preferences-ruby-error.patch @@ -0,0 +1,28 @@ +diff --git a/Source/WTF/Scripts/GeneratePreferences.rb b/Source/WTF/Scripts/GeneratePreferences.rb +index de0f2268b178..ee603d9e5670 100644 +--- a/Source/WTF/Scripts/GeneratePreferences.rb ++++ b/Source/WTF/Scripts/GeneratePreferences.rb +@@ -228,11 +228,22 @@ def initializeParsedPreferences(parsedPreferences) + result + end + ++ def createTemplate(templateString) ++ # Newer versions of ruby deprecate and/or drop passing non-keyword ++ # arguments for trim_mode and friends, so we need to call the constructor ++ # differently depending on what it expects. This solution is suggested by ++ # rubocop's Lint/ErbNewArguments. ++ if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ ++ ERB.new(templateString, trim_mode:"-") ++ else ++ ERB.new(templateString, nil, "-") ++ end ++ end + def renderTemplate(templateFile, outputDirectory) + resultFile = File.join(outputDirectory, File.basename(templateFile, ".erb")) + tempResultFile = resultFile + ".tmp" + +- output = ERB.new(File.read(templateFile), trim_mode:"-").result(binding) ++ output = createTemplate(File.read(templateFile)).result(binding) + File.open(tempResultFile, "w+") do |f| + f.write(output) + end diff --git a/SOURCES/icu60.patch b/SOURCES/icu60.patch new file mode 100644 index 0000000..775bbc5 --- /dev/null +++ b/SOURCES/icu60.patch @@ -0,0 +1,135 @@ +--- a/Source/JavaScriptCore/runtime/IntlCache.cpp ++++ a/Source/JavaScriptCore/runtime/IntlCache.cpp +@@ -26,6 +26,7 @@ + #include "config.h" + #include "IntlCache.h" + ++#include "IntlDisplayNames.h" + #include + + namespace JSC { +@@ -53,6 +54,7 @@ Vector IntlCache::getBestDateTimePattern(const CString& locale, const + return patternBuffer; + } + ++#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES) + Vector IntlCache::getFieldDisplayName(const CString& locale, UDateTimePatternField field, UDateTimePGDisplayWidth width, UErrorCode& status) + { + auto sharedGenerator = getSharedPatternGenerator(locale, status); +@@ -64,5 +66,6 @@ Vector IntlCache::getFieldDisplayName(const CString& locale, UDateTim + return { }; + return buffer; + } ++#endif + + } // namespace JSC +--- a/Source/JavaScriptCore/runtime/IntlCache.h ++++ a/Source/JavaScriptCore/runtime/IntlCache.h +@@ -25,6 +25,7 @@ + + #pragma once + ++#include "IntlDisplayNames.h" + #include + #include + #include +@@ -39,7 +40,9 @@ public: + IntlCache() = default; + + Vector getBestDateTimePattern(const CString& locale, const UChar* skeleton, unsigned skeletonSize, UErrorCode&); ++#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES) + Vector getFieldDisplayName(const CString& locale, UDateTimePatternField, UDateTimePGDisplayWidth, UErrorCode&); ++#endif + + private: + UDateTimePatternGenerator* getSharedPatternGenerator(const CString& locale, UErrorCode& status) +--- a/Source/JavaScriptCore/runtime/IntlDisplayNames.cpp ++++ a/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()); + ++#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES) + UErrorCode status = U_ZERO_ERROR; + + UDisplayContext contexts[] = { +@@ -137,6 +138,10 @@ void IntlDisplayNames::initializeDisplayNames(JSGlobalObject* globalObject, JSVa + throwTypeError(globalObject, scope, "failed to initialize DisplayNames"_s); + return; + } ++#else ++ throwTypeError(globalObject, scope, "Failed to initialize Intl.DisplayNames since used feature is not supported in the linked ICU version"_s); ++ return; ++#endif + } + + // https://tc39.es/proposal-intl-displaynames/#sec-Intl.DisplayNames.prototype.of +@@ -146,6 +151,7 @@ JSValue IntlDisplayNames::of(JSGlobalObject* globalObject, JSValue codeValue) co + VM& vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + ++#if HAVE(ICU_U_LOCALE_DISPLAY_NAMES) + ASSERT(m_displayNames); + auto code = codeValue.toWTFString(globalObject); + RETURN_IF_EXCEPTION(scope, { }); +@@ -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)); ++#else ++ UNUSED_PARAM(codeValue); ++ throwTypeError(globalObject, scope, "Failed to initialize Intl.DisplayNames since used feature is not supported in the linked 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 { + ++#if !defined(HAVE_ICU_U_LOCALE_DISPLAY_NAMES) ++// We need 61 or later since part of implementation uses UCURR_NARROW_SYMBOL_NAME. ++#if U_ICU_VERSION_MAJOR_NUM >= 61 ++#define HAVE_ICU_U_LOCALE_DISPLAY_NAMES 1 ++#endif ++#endif ++ + enum class RelevantExtensionKey : uint8_t; + + class IntlDisplayNames final : public JSNonFinalObject { +--- a/Source/JavaScriptCore/runtime/IntlObject.cpp ++++ a/Source/JavaScriptCore/runtime/IntlObject.cpp +@@ -153,7 +153,6 @@ namespace JSC { + getCanonicalLocales intlObjectFuncGetCanonicalLocales DontEnum|Function 1 + Collator createCollatorConstructor DontEnum|PropertyCallback + DateTimeFormat createDateTimeFormatConstructor DontEnum|PropertyCallback +- DisplayNames createDisplayNamesConstructor DontEnum|PropertyCallback + Locale createLocaleConstructor DontEnum|PropertyCallback + NumberFormat createNumberFormatConstructor DontEnum|PropertyCallback + PluralRules createPluralRulesConstructor DontEnum|PropertyCallback +@@ -239,6 +238,11 @@ void IntlObject::finishCreation(VM& vm, JSGlobalObject* globalObject) + Base::finishCreation(vm); + ASSERT(inherits(vm, 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)); ++#else ++ UNUSED_PARAM(&createDisplayNamesConstructor); ++#endif + #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) + 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) +-find_package(ICU 61.2 REQUIRED COMPONENTS data i18n uc) ++find_package(ICU 60.2 REQUIRED COMPONENTS data i18n uc) + find_package(JPEG REQUIRED) + find_package(LibXml2 2.8.0 REQUIRED) + find_package(PNG REQUIRED) diff --git a/SOURCES/webkitgtk-2.34.6.tar.xz.asc b/SOURCES/webkitgtk-2.34.6.tar.xz.asc deleted file mode 100644 index 0d86d8f..0000000 --- a/SOURCES/webkitgtk-2.34.6.tar.xz.asc +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCYg5JzQAKCRCRxVnb5MkS -O2fTAJ0bM+z81IRILK3jrBeY2FvVF9XMgACffrCY/lTW8tvkhMt+xNQvn5aPLO4= -=duRI ------END PGP SIGNATURE----- diff --git a/SOURCES/webkitgtk-2.36.1.tar.xz.asc b/SOURCES/webkitgtk-2.36.1.tar.xz.asc new file mode 100644 index 0000000..914a4ea --- /dev/null +++ b/SOURCES/webkitgtk-2.36.1.tar.xz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABEDAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCYmFK0AAKCRDz0yLQ7EWC +w3AtAJ9EW/jqgCXAQA4TJ4FhMXEyC5d/AACfffM4X1A/LRVy+YYbgFvPAvnr1L4= +=ds4K +-----END PGP SIGNATURE----- diff --git a/SPECS/webkit2gtk3.spec b/SPECS/webkit2gtk3.spec index d113401..f9969d0 100644 --- a/SPECS/webkit2gtk3.spec +++ b/SPECS/webkit2gtk3.spec @@ -11,7 +11,7 @@ %bcond_without docs Name: webkit2gtk3 -Version: 2.34.6 +Version: 2.36.1 Release: 1%{?dist} Summary: GTK Web content engine library @@ -31,6 +31,12 @@ Patch0: evolution-shared-secondary-process.patch # 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 + +# https://bugs.webkit.org/show_bug.cgi?id=237035 +Patch3: generate-preferences-ruby-error.patch + BuildRequires: bison BuildRequires: cmake BuildRequires: flex @@ -67,11 +73,10 @@ BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) -BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(harfbuzz) -BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libopenjp2) @@ -237,7 +242,6 @@ export NINJA_STATUS="[%f/%t][%e] " %add_to_license_files Source/JavaScriptCore/COPYING.LIB %add_to_license_files Source/ThirdParty/ANGLE/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE %add_to_license_files Source/WebCore/LICENSE-APPLE %add_to_license_files Source/WebCore/LICENSE-LGPL-2 @@ -261,12 +265,14 @@ 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/jsc %{_bindir}/WebKitWebDriver %files devel %{_libexecdir}/webkit2gtk-4.0/MiniBrowser %{_includedir}/webkitgtk-4.0/ %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore +%exclude %{_includedir}/webkitgtk-4.0/jsc %{_libdir}/libwebkit2gtk-4.0.so %{_libdir}/pkgconfig/webkit2gtk-4.0.pc %{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc @@ -284,6 +290,7 @@ export NINJA_STATUS="[%f/%t][%e] " %{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 %{_includedir}/webkitgtk-4.0/JavaScriptCore/ +%{_includedir}/webkitgtk-4.0/jsc/ %{_libdir}/libjavascriptcoregtk-4.0.so %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc %dir %{_datadir}/gir-1.0 @@ -299,6 +306,13 @@ export NINJA_STATUS="[%f/%t][%e] " %endif %changelog +* Thu Apr 21 2022 Michael Catanzaro - 2.36.1-1 +- Update to 2.36.1 + Related: #2061994 +- Resolves: #2075492 +- Resolves: #2075494 +- Resolves: #2075496 + * Thu Feb 17 2022 Michael Catanzaro - 2.34.6-1 - Update to 2.34.6 Related: #1985042