From 903122706136702c93a5c670362a95ea200d98b9 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 20 Feb 2023 13:52:46 -0600 Subject: [PATCH] Upgrade to 2.39.90 --- .gitignore | 1 + fix-installed-headers.patch | 62 +++++++++++++++++++++++++++++++++++++ no-debug-fission.patch | 29 +++++++++++++++++ sources | 4 +-- super-sampler.patch | 12 +++++++ webkitgtk.spec | 17 +++++++--- 6 files changed, 118 insertions(+), 7 deletions(-) create mode 100644 fix-installed-headers.patch create mode 100644 no-debug-fission.patch create mode 100644 super-sampler.patch diff --git a/.gitignore b/.gitignore index 312696a..7f267b1 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /webkitgtk-2.39.5.tar.xz.asc /webkitgtk-2.39.6.tar.xz.asc /webkitgtk-2.39.7.tar.xz.asc +/webkitgtk-2.39.90.tar.xz.asc diff --git a/fix-installed-headers.patch b/fix-installed-headers.patch new file mode 100644 index 0000000..1ab6bb6 --- /dev/null +++ b/fix-installed-headers.patch @@ -0,0 +1,62 @@ +From 166cdf23242165c9c84f621a4121c80432211c50 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Mon, 20 Feb 2023 16:26:28 +0200 +Subject: [PATCH] [GLib] Installed API headers are unusable with the new 2022 + API https://bugs.webkit.org/show_bug.cgi?id=252562 + +Reviewed by NOBODY (OOPS!). + +* Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in: Only + include JavaScriptCore/JSBase.h with the old API, change a !USE(GTK4) + guard to !ENABLE(2022_GLIB_API) as it is more correct. +* Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in: Ditto. +--- + Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in | 4 ++-- + Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in | 4 +++- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in +index b7eece231000..78ba2120b225 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in ++++ b/Source/WebKit/UIProcess/API/glib/WebKitJavascriptResult.h.in +@@ -26,7 +26,7 @@ + #include + #include <@API_INCLUDE_PREFIX@/WebKitDefines.h> + +-#if PLATFORM(GTK) ++#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API) + #include + #endif + +@@ -46,7 +46,7 @@ webkit_javascript_result_ref (WebKitJavascriptResult *js_result); + WEBKIT_API void + webkit_javascript_result_unref (WebKitJavascriptResult *js_result); + +-#if PLATFORM(GTK) && !USE(GTK4) ++#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API) + WEBKIT_DEPRECATED JSGlobalContextRef + webkit_javascript_result_get_global_context (WebKitJavascriptResult *js_result); + +diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in +index 45949e44e4a3..293aa3841695 100644 +--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in ++++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in +@@ -59,7 +59,9 @@ + #endif + + #if PLATFORM(GTK) ++#if !ENABLE(2022_GLIB_API) + #include ++#endif + #include + #include + #include +@@ -628,7 +630,7 @@ webkit_web_view_execute_editing_command_with_argument(WebKitWebView + WEBKIT_API WebKitFindController * + webkit_web_view_get_find_controller (WebKitWebView *web_view); + +-#if PLATFORM(GTK) && !USE(GTK4) ++#if PLATFORM(GTK) && !ENABLE(2022_GLIB_API) + WEBKIT_DEPRECATED JSGlobalContextRef + webkit_web_view_get_javascript_global_context (WebKitWebView *web_view); + #endif diff --git a/no-debug-fission.patch b/no-debug-fission.patch new file mode 100644 index 0000000..b50a6b7 --- /dev/null +++ b/no-debug-fission.patch @@ -0,0 +1,29 @@ +diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake +index 94b9740c8a82..43b961c996c3 100644 +--- a/Source/cmake/OptionsCommon.cmake ++++ b/Source/cmake/OptionsCommon.cmake +@@ -154,19 +154,11 @@ if (USE_THIN_ARCHIVES) + endif () + + set(ENABLE_DEBUG_FISSION_DEFAULT OFF) +-check_cxx_compiler_flag(-gsplit-dwarf CXX_COMPILER_SUPPORTS_GSPLIT_DWARF) +-if (CXX_COMPILER_SUPPORTS_GSPLIT_DWARF AND LD_SUPPORTS_SPLIT_DEBUG) +- set(ENABLE_DEBUG_FISSION_DEFAULT ON) +-endif () +- +-if (ENABLE_DEBUG_FISSION_DEFAULT AND SCCACHE_FOUND AND COMPILER_IS_CLANG AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") +- # https://github.com/mozilla/sccache/issues/1593 +- message("The SCCache clang backend doesn't support split-dwarf for non-debug builds yet. Keeping default value of DEBUG_FISSION to OFF.") +- set(ENABLE_DEBUG_FISSION_DEFAULT OFF) +-endif () +- +-if (CMAKE_GENERATOR MATCHES "Visual Studio") +- set(ENABLE_DEBUG_FISSION_DEFAULT OFF) ++if ((CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") AND NOT CMAKE_GENERATOR MATCHES "Visual Studio") ++ check_cxx_compiler_flag(-gsplit-dwarf CXX_COMPILER_SUPPORTS_GSPLIT_DWARF) ++ if (CXX_COMPILER_SUPPORTS_GSPLIT_DWARF AND LD_SUPPORTS_SPLIT_DEBUG) ++ set(ENABLE_DEBUG_FISSION_DEFAULT ON) ++ endif () + endif () + + option(DEBUG_FISSION "Use Debug Fission support" ${ENABLE_DEBUG_FISSION_DEFAULT}) diff --git a/sources b/sources index 90a9051..e8339e1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (webkitgtk-2.39.7.tar.xz) = 2f0e6ee45c74441b9f1bfdcc66a83eae0bd628020df9b2fe39ebdc51e51d99e895dd9c6043ae7d03a6408a6ddaa5f17d146663cf82f2e3a0574dd834d6d661d8 -SHA512 (webkitgtk-2.39.7.tar.xz.asc) = 5161494054aad38d33f7906240bec950e2b839a21503463fb574006cf17acd83747e5fa3c67dc2b6d0320792b767e9c65b8152f4f4ea4013b385986792aa6d9d +SHA512 (webkitgtk-2.39.90.tar.xz) = 1a17a60443072253c9b2a4a04356213ea9a3f36976ebad048048b1bf6a5dd15a9fb161df1cabbf4258b001a5ab326161887cc8e6f1863a3e32834a35f607e4d4 +SHA512 (webkitgtk-2.39.90.tar.xz.asc) = 772e584f3caa3141d3cdc0abdd747c2c08990c244740f138fe9f64f3aedb01a08f39fea59e27906e27063aaebf41432a25a6326f4841af7b3075c4da70b16f09 diff --git a/super-sampler.patch b/super-sampler.patch new file mode 100644 index 0000000..3071c0f --- /dev/null +++ b/super-sampler.patch @@ -0,0 +1,12 @@ +diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +index 97e22b7ec4c1..64397ee50cf7 100644 +--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp ++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +@@ -39,6 +39,7 @@ + #include "LLIntData.h" + #include "LLIntSlowPaths.h" + #include "JSCInlines.h" ++#include "SuperSampler.h" + #include + #include + diff --git a/webkitgtk.spec b/webkitgtk.spec index a387f46..5a16c1b 100644 --- a/webkitgtk.spec +++ b/webkitgtk.spec @@ -19,7 +19,7 @@ %bcond_without docs Name: webkitgtk -Version: 2.39.7 +Version: 2.39.90 Release: %autorelease Summary: GTK web content engine library @@ -32,6 +32,15 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc # $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg Source2: webkitgtk-keys.gpg +# https://github.com/WebKit/WebKit/pull/10362 +Patch0: fix-installed-headers.patch + +# https://bugs.webkit.org/show_bug.cgi?id=252617 +Patch1: super-sampler.patch + +# https://bugs.webkit.org/show_bug.cgi?id=252679 +Patch2: no-debug-fission.patch + BuildRequires: bison BuildRequires: bubblewrap BuildRequires: cmake @@ -453,7 +462,7 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %license _license_files/*WebCore* %license _license_files/*WebInspectorUI* %license _license_files/*WTF* -%{_libdir}/libwebkitgtk-6.0.so.2* +%{_libdir}/libwebkitgtk-6.0.so.3* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/WebKit-6.0.typelib %{_libdir}/girepository-1.0/WebKitWebExtension-6.0.typelib @@ -494,7 +503,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %files -n webkitgtk6.0-devel %{_libexecdir}/webkitgtk-6.0/MiniBrowser %{_includedir}/webkitgtk-6.0/ -%exclude %{_includedir}/webkitgtk-6.0/JavaScriptCore %exclude %{_includedir}/webkitgtk-6.0/jsc %{_libdir}/libwebkitgtk-6.0.so %{_libdir}/pkgconfig/webkitgtk-6.0.pc @@ -529,7 +537,7 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %files -n javascriptcoregtk6.0 %license _license_files/*JavaScriptCore* -%{_libdir}/libjavascriptcoregtk-6.0.so.0* +%{_libdir}/libjavascriptcoregtk-6.0.so.1* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-6.0.typelib @@ -548,7 +556,6 @@ export NINJA_STATUS="[3/3][%f/%t %es] " %files -n javascriptcoregtk6.0-devel %{_libexecdir}/webkitgtk-6.0/jsc %dir %{_includedir}/webkitgtk-6.0 -%{_includedir}/webkitgtk-6.0/JavaScriptCore/ %{_includedir}/webkitgtk-6.0/jsc/ %{_libdir}/libjavascriptcoregtk-6.0.so %{_libdir}/pkgconfig/javascriptcoregtk-6.0.pc