diff options
Diffstat (limited to 'meta/recipes-sato/webkit')
18 files changed, 451 insertions, 529 deletions
diff --git a/meta/recipes-sato/webkit/libwpe_1.10.1.bb b/meta/recipes-sato/webkit/libwpe_1.16.0.bb index 4e77481bc8..57f91ce87e 100644 --- a/meta/recipes-sato/webkit/libwpe_1.10.1.bb +++ b/meta/recipes-sato/webkit/libwpe_1.16.0.bb @@ -6,12 +6,12 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc" DEPENDS = "virtual/egl libxkbcommon" -inherit cmake features_check +inherit cmake features_check pkgconfig REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "a327b3ffcf2356dbe8148c1db4bbdc5359d7e7163d177f67551a8393b144adf0" +SRC_URI[sha256sum] = "c7f3a3c6b3d006790d486dc7cceda2b6d2e329de07f33bc47dfc53f00f334b2a" # This is a tweak of upstream-version-is-even needed because # ipstream directory contains tarballs for other components as well. diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch b/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch new file mode 100644 index 0000000000..a819e22127 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch @@ -0,0 +1,73 @@ +From 575b848a3b3c14280679db80d0d518922c83d62a Mon Sep 17 00:00:00 2001 +From: Kai Kang <kai.kang@windriver.com> +Date: Fri, 11 Aug 2023 14:20:48 +0800 +Subject: [PATCH] Add a variable to control macro + __PAS_ALWAYS_INLINE_BUT_NOT_INLINE + https://bugs.webkit.org/show_bug.cgi?id=260065 + +Reviewed by NOBODY (OOPS!). + +It fails to compile webkitgtk with option `-Og` of gcc/g++: + +| In file included from Source/bmalloc/libpas/src/libpas/pas_heap_page_provider.h:30, +| from Source/bmalloc/libpas/src/libpas/pas_bootstrap_heap_page_provider.h:29, +| from Source/bmalloc/libpas/src/libpas/pas_large_heap_physical_page_sharing_cache.h:29, +| from Source/bmalloc/libpas/src/libpas/pas_basic_heap_page_caches.h:29, +| from Source/bmalloc/libpas/src/libpas/pas_heap_config_utils.h:32, +| from Source/bmalloc/libpas/src/libpas/bmalloc_heap_config.h:34, +| from Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:34, +| from Source/bmalloc/bmalloc/bmalloc.h:39, +| from Source/bmalloc/bmalloc/bmalloc.cpp:26: +| In function 'pas_allocation_result pas_local_allocator_try_allocate(pas_local_allocator*, size_t, size_t, pas_heap_config, pas_allocator_counts*, pas_allocation_result_filter)', +| inlined from 'pas_allocation_result pas_try_allocate_common_impl_fast(pas_heap_config, pas_allocator_counts*, pas_allocation_result_filter, pas_local_allocator*, size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_try_allocate_common.h:85:46, +| inlined from 'pas_allocation_result bmalloc_try_allocate_with_alignment_impl_impl_fast(pas_local_allocator*, size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:59:1, +| inlined from 'pas_allocation_result pas_try_allocate_intrinsic_impl_casual_case(__pas_heap*, size_t, size_t, pas_intrinsic_heap_support*, pas_heap_config, pas_try_allocate_common_fast, pas_try_allocate_common_slow, pas_intrinsic_heap_designation_mode)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_try_allocate_intrinsic.h:167:44, +| inlined from 'pas_allocation_result bmalloc_try_allocate_with_alignment_impl_casual_case(size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:59:1: +| webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_allocation_result.h:76:1: error: inlining failed in call to 'always_inline' 'pas_allocation_result pas_allocation_result_identity(pas_allocation_result)': function not considered for inlining +| 76 | pas_allocation_result_identity(pas_allocation_result result) +| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Add an variable `WEBKIT_NO_INLINE_HINTS` to control macro +__PAS_ALWAYS_INLINE_BUT_NOT_INLINE whether includes function attribute +`always_inline`. It could set the variable to make compilation pass when +gcc option `-Og` is used. + +* Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h: +* Source/cmake/WebKitCompilerFlags.cmake: + +Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/16601] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h | 2 +- + Source/cmake/WebKitCompilerFlags.cmake | 7 +++++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h +index 5d5fb38c..a554f700 100644 +--- a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h ++++ b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h +@@ -44,7 +44,7 @@ __PAS_BEGIN_EXTERN_C; + #define __SUSPICIOUS__ + #define __BROKEN__ + +-#ifdef __OPTIMIZE__ ++#if defined(__OPTIMIZE__) && !defined(WEBKIT_NO_INLINE_HINTS) + #define __PAS_ALWAYS_INLINE_BUT_NOT_INLINE __attribute__((__always_inline__)) + #else + #define __PAS_ALWAYS_INLINE_BUT_NOT_INLINE +diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake +index 9b2fecf9..7cdc2b6a 100644 +--- a/Source/cmake/WebKitCompilerFlags.cmake ++++ b/Source/cmake/WebKitCompilerFlags.cmake +@@ -453,3 +453,10 @@ endif () + + # FIXME: Enable pre-compiled headers for all ports <https://webkit.org/b/139438> + set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON) ++ ++# It fails to compile with `gcc -Og` ++set(WEBKIT_NO_INLINE_HINTS OFF CACHE BOOL "Disable funtion attribute always_inline for WebKit") ++ ++if (WEBKIT_NO_INLINE_HINTS) ++ add_definitions(-DWEBKIT_NO_INLINE_HINTS) ++endif () diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch deleted file mode 100644 index 6d7d7067e4..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch +++ /dev/null @@ -1,42 +0,0 @@ -From acf26a385d17a59ccd4b767d6303ec3dbf78e788 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 3 Feb 2020 17:06:27 -0800 -Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG - -Fixes build failures on risv64 - -Taken from https://trac.webkit.org/changeset/231843/webkit - - Enable THREADS_PREFER_PTHREAD_FLAG. This uses -pthread instead of --lpthread, fixing the 64-bit RISC-V build of the GTK+ port due to -missing atomic primitives. - -Upstream-Status: Submitted [https://trac.webkit.org/changeset/231843/webkit] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - Source/cmake/OptionsGTK.cmake | 1 + - Source/cmake/OptionsJSCOnly.cmake | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index f316f49..de81ce0 100644 ---- a/Source/cmake/OptionsGTK.cmake -+++ b/Source/cmake/OptionsGTK.cmake -@@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN() - SET_PROJECT_VERSION(2 32 3) - - set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") -+set(THREADS_PREFER_PTHREAD_FLAG ON) - - find_package(Cairo 1.14.0 REQUIRED) - find_package(Fontconfig 2.8.0 REQUIRED) -diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake -index 1066440..d9aca95 100644 ---- a/Source/cmake/OptionsJSCOnly.cmake -+++ b/Source/cmake/OptionsJSCOnly.cmake -@@ -1,3 +1,4 @@ -+set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - - if (MSVC) diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch index fae3b0b2e5..8e29ce17ed 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch @@ -1,27 +1,29 @@ -From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001 +From 6348f91c29e2350ad3fec5264aa57dd4994d4583 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 27 Oct 2015 16:02:19 +0200 Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained from pkg-config with PKG_CONFIG_SYSROOT_DIR -Upstream-Status: Pending [review on oe-core list] +See discussion at https://bugs.webkit.org/show_bug.cgi?id=232933 for +reasons why this is not approproiate for upstream submission. + +Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - Source/cmake/FindGObjectIntrospection.cmake | 1 + - 1 file changed, 1 insertion(+) + Source/cmake/FindGI.cmake | 3 +++ + 1 file changed, 3 insertions(+) -diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake -index e1f49b4..03a4446 100644 ---- a/Source/cmake/FindGObjectIntrospection.cmake -+++ b/Source/cmake/FindGObjectIntrospection.cmake -@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args) - else () - string(REGEX REPLACE "[\r\n]" " " _result "${_result}") - string(REGEX REPLACE " +$" "" _result "${_result}") -+ string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}") - separate_arguments(_result) - set(${_outvar} ${_result} CACHE INTERNAL "") +diff --git a/Source/cmake/FindGI.cmake b/Source/cmake/FindGI.cmake +index fdc56b21..d42eca52 100644 +--- a/Source/cmake/FindGI.cmake ++++ b/Source/cmake/FindGI.cmake +@@ -72,6 +72,9 @@ if (PKG_CONFIG_FOUND) endif () --- -2.1.4 - + endif () + ++set(_GI_SCANNER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_SCANNER_EXE}") ++set(_GI_COMPILER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_COMPILER_EXE}") ++ + find_program(GI_SCANNER_EXE NAMES ${_GI_SCANNER_EXE} g-ir-scanner) + find_program(GI_COMPILER_EXE NAMES ${_GI_COMPILER_EXE} g-ir-compiler) + diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch deleted file mode 100644 index 0c31c5fa21..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4718888071e29deb8b245b88c81577fd5bac4e5e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 29 Aug 2016 16:38:11 +0300 -Subject: [PATCH] Fix racy parallel build of WebKit2-4.0.gir - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Source/WebKit/PlatformGTK.cmake | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index a069c5f6..ea2f542b 100644 ---- a/Source/WebKit/PlatformGTK.cmake -+++ b/Source/WebKit/PlatformGTK.cmake -@@ -650,8 +650,9 @@ if (ENABLE_INTROSPECTION) - set(GIR_SOURCES_TOP_DIRS "--sources-top-dirs=${CMAKE_BINARY_DIR}") - endif () - -- add_custom_command( -- OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -+ # This is a target and not a command because it's used to build another .gir -+ # and a .typelib, which would trigger two racy parallel builds when using command -+ add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir - DEPENDS WebKit - DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir - COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= -@@ -699,7 +700,7 @@ if (ENABLE_INTROSPECTION) - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir - DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir -- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -+ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir - COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} - LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" - ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" -@@ -761,7 +762,7 @@ if (ENABLE_INTROSPECTION) - - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib -- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -+ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir - COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib - ) - diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch b/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch deleted file mode 100644 index 98d2d1ded9..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch +++ /dev/null @@ -1,31 +0,0 @@ -From dcf9ae0dc0b4510eddbeeea09e11edfb123f95af Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 2 May 2021 13:10:49 -0700 -Subject: [PATCH] MiniBrowser: Fix reproduciblity - -Do not emit references to source dir in generated sourcecode - -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=225283] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Tools/MiniBrowser/gtk/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt -index 93b62521..482d3b00 100644 ---- a/Tools/MiniBrowser/gtk/CMakeLists.txt -+++ b/Tools/MiniBrowser/gtk/CMakeLists.txt -@@ -51,8 +51,8 @@ add_custom_command( - OUTPUT ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c - ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h - MAIN_DEPENDENCY ${MiniBrowser_DIR}/browser-marshal.list -- COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --body > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c -- COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --header > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h -+ COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --body --skip-source > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c -+ COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --header --skip-source > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h - VERBATIM) - - if (USE_GTK4) --- -2.31.1 - diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch deleted file mode 100644 index 866e9d9d09..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 1c7e7a385387d7febf633bbb6d2b99ece523e719 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 11 Aug 2016 17:13:51 +0300 -Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under - OpenEmbedded build system - -This requires setting a few environment variables so that the transient -binary is build and linked correctly, and disabling the tweaks to RUN -variable from gtkdoc.py script so that our qemu wrapper is taken into use. - -Upstream-Status: Inappropriate [oe-specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Source/cmake/GtkDoc.cmake | 2 +- - Tools/gtkdoc/gtkdoc.py | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake -index 18e86448..102c873a 100644 ---- a/Source/cmake/GtkDoc.cmake -+++ b/Source/cmake/GtkDoc.cmake -@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) - add_custom_command( - OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" - DEPENDS ${DocumentationDependencies} -- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} -+ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} - COMMAND touch ${_stamp_name} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - VERBATIM -diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py -index 054cafa1..416de7d1 100644 ---- a/Tools/gtkdoc/gtkdoc.py -+++ b/Tools/gtkdoc/gtkdoc.py -@@ -320,9 +320,9 @@ class GTKDoc(object): - additional_ldflags = '%s %s' % (additional_ldflags, arg) - ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags - current_ld_library_path = env.get('LD_LIBRARY_PATH') -- if current_ld_library_path: -+ if current_ld_library_path and 'RUN' not in env: - env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) -- else: -+ elif 'RUN' not in env: - env['LD_LIBRARY_PATH'] = self.library_path - - if ldflags: diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch deleted file mode 100644 index 3e03aa968c..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8f1e170a6de8036ab50eb35834a77f2c79412ee3 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 28 Oct 2015 14:18:57 +0200 -Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the - compiler flags. - -g-ir-compiler is using a C compiler internally, so it needs to set -the proper flags for it. - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Source/JavaScriptCore/PlatformGTK.cmake | 2 +- - Source/WebKit/PlatformGTK.cmake | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake -index 0b2968d2..2742ad80 100644 ---- a/Source/JavaScriptCore/PlatformGTK.cmake -+++ b/Source/JavaScriptCore/PlatformGTK.cmake -@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION) - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir - DEPENDS JavaScriptCore -- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS= -+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= - ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" - ${INTROSPECTION_SCANNER} - --quiet -diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index e36e4c35..943f9794 100644 ---- a/Source/WebKit/PlatformGTK.cmake -+++ b/Source/WebKit/PlatformGTK.cmake -@@ -742,7 +742,7 @@ if (ENABLE_INTROSPECTION) - OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir - DEPENDS WebKit - DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir -- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS= -+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= - ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" - ${INTROSPECTION_SCANNER} - --quiet -@@ -786,7 +786,7 @@ if (ENABLE_INTROSPECTION) - OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir - DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir - DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations -+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} - LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" - ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" - ${INTROSPECTION_SCANNER} diff --git a/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch b/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch new file mode 100644 index 0000000000..76bcb3df99 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch @@ -0,0 +1,67 @@ +From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Mon, 16 Jan 2023 17:03:30 +0100 +Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix + + !ENABLE(WEBASSEMBLY_B3JIT) + +https://bugs.webkit.org/show_bug.cgi?id=250681 + +Reviewed by NOBODY (OOPS!). + +WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT). +Also, toB3Type and simdScalarType are not defined if it is included. + +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> + +Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp +index eaaa3749..1d089783 100644 +--- a/Source/JavaScriptCore/b3/B3Validate.cpp ++++ b/Source/JavaScriptCore/b3/B3Validate.cpp +@@ -47,6 +47,12 @@ + #include <wtf/StringPrintStream.h> + #include <wtf/text/CString.h> + ++#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT) ++#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type)) ++#else ++#define simdScalarTypeToB3Type(type) B3::Type() ++#endif ++ + namespace JSC { namespace B3 { + + namespace { +@@ -454,7 +460,7 @@ public: + case VectorExtractLane: + VALIDATE(!value->kind().hasExtraBits(), ("At ", *value)); + VALIDATE(value->numChildren() == 1, ("At ", *value)); +- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); ++ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value)); + VALIDATE(value->child(0)->type() == V128, ("At ", *value)); + break; + case VectorReplaceLane: +@@ -462,7 +468,7 @@ public: + VALIDATE(value->numChildren() == 2, ("At ", *value)); + VALIDATE(value->type() == V128, ("At ", *value)); + VALIDATE(value->child(0)->type() == V128, ("At ", *value)); +- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); ++ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value)); + break; + case VectorDupElement: + VALIDATE(!value->kind().hasExtraBits(), ("At ", *value)); +@@ -484,7 +490,7 @@ public: + VALIDATE(!value->kind().hasExtraBits(), ("At ", *value)); + VALIDATE(value->numChildren() == 1, ("At ", *value)); + VALIDATE(value->type() == V128, ("At ", *value)); +- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); ++ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value)); + break; + + case VectorPopcnt: diff --git a/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch deleted file mode 100644 index ffe1b74be3..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d95f46e149226f634830e76cc1f4f8e3ee04ff5a Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Fri, 6 Nov 2020 04:38:13 +0100 -Subject: [PATCH] webkitgtk: fix build with x11 enabled - -Since -https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4 -it uses XVisualInfo which is defined in Xutil.h - -Without this the build fails with: -webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132:5: error: 'XVisualInfo' was not declared in this scope; did you mean 'VisualID'? - 132 | XVisualInfo visualTemplate; - | ^~~~~~~~~~~ - | VisualID - -Upstream-Status: Pending -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- - Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp -index 2d66b9cd..424fb5a1 100644 ---- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp -+++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp -@@ -30,6 +30,7 @@ - - #if PLATFORM(X11) - #include <X11/Xlib.h> -+#include <X11/Xutil.h> - #include <X11/extensions/Xcomposite.h> - #if PLATFORM(GTK) - #include <X11/Xutil.h> diff --git a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch deleted file mode 100644 index f71f8452fd..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 04e4999c6fa2e9810634745a07f1e380f27b8e61 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 17 Mar 2021 13:24:57 -0700 -Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl - -default sizes for musl are smaller compared to glibc, this matches -to musl defaults, avoid stack overflow crashes in jscore - -This is based on Alpine Linux's patch based on suggestion from -https://bugs.webkit.org/show_bug.cgi?id=187485 - -Real solution would entail more as the suggestions to increase -stack size via -Wl,-z,stack-size=N does not work fully and also -setting DEFAULT_THREAD_STACK_SIZE_IN_KB alone is not enough either - -This patch only changes behavior when using musl, the defaults for -glibc in OE remains same - -Upstream-Status: Accepted -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - Source/JavaScriptCore/runtime/OptionsList.h | 18 +++++++++++++++--- - Source/WTF/wtf/Threading.h | 4 ++++ - 2 files changed, 19 insertions(+), 3 deletions(-) - -diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h -index bb6d2f1d..a6209742 100644 ---- a/Source/JavaScriptCore/runtime/OptionsList.h -+++ b/Source/JavaScriptCore/runtime/OptionsList.h -@@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); - // On instantiation of the first VM instance, the Options will be write protected - // and cannot be modified thereafter. - -+#if OS(LINUX) && !defined(__GLIBC__) -+// non-glibc options on linux ( musl ) -+constexpr unsigned jscMaxPerThreadStack = 128 * KB; -+constexpr unsigned jscSoftReservedZoneSize = 32 * KB; -+constexpr unsigned jscReservedZoneSize = 16 * KB; -+#else -+//default -+constexpr unsigned jscMaxPerThreadStack = 4 * MB; -+constexpr unsigned jscSoftReservedZoneSize = 128 * KB; -+constexpr unsigned jscReservedZoneSize = 64 * KB; -+#endif -+ - #define FOR_EACH_JSC_OPTION(v) \ - v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \ - v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \ -@@ -86,9 +98,9 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); - \ - v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ - \ -- v(Unsigned, maxPerThreadStackUsage, 5 * MB, Normal, "Max allowed stack usage by the VM") \ -- v(Unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ -- v(Unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ -+ v(Unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, Normal, "Max allowed stack usage by the VM") \ -+ v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ -+ v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ - \ - v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \ - v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ -diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h -index 9495d6c1..190b3811 100644 ---- a/Source/WTF/wtf/Threading.h -+++ b/Source/WTF/wtf/Threading.h -@@ -60,6 +60,10 @@ - #include <dispatch/dispatch.h> - #endif - -+#if OS(LINUX) && !defined(__GLIBC__) -+#define DEFAULT_THREAD_STACK_SIZE_IN_KB 128 -+#endif -+ - namespace WTF { - - class AbstractLocker; diff --git a/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch b/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch new file mode 100644 index 0000000000..8ce37a01cc --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch @@ -0,0 +1,30 @@ +From a9c874f7418cefbe78f7cd26505ae495cb59bbcf Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 12 Jan 2024 09:21:39 -0800 +Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL + +This causes clang-17 to crash see [1] +this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit + +[1] https://github.com/llvm/llvm-project/issues/67767 +[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35 + +Upstream-Status: Inappropriate [work around to avoid clang compiler crash] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Source/WTF/wtf/Compiler.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h +index 0ea5cb76..c5480dbc 100644 +--- a/Source/WTF/wtf/Compiler.h ++++ b/Source/WTF/wtf/Compiler.h +@@ -284,7 +284,7 @@ + /* MUST_TAIL_CALL */ + + #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) +-#if __has_cpp_attribute(clang::musttail) ++#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) + #define MUST_TAIL_CALL [[clang::musttail]] + #endif + #endif diff --git a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch deleted file mode 100644 index aa11c131d2..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001 -From: Alberto Garcia <berto@igalia.com> -Date: Sun, 25 Apr 2021 18:45:13 +0000 -Subject: [PATCH] Reduce memory usage when not using the Gold linker - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - Source/cmake/OptionsCommon.cmake | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake -index dd4da682..71ad6106 100644 ---- a/Source/cmake/OptionsCommon.cmake -+++ b/Source/cmake/OptionsCommon.cmake -@@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP - ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) - - option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) -+# Pass --reduce-memory-overheads to the bfd linker in order to save memory -+if (NOT USE_LD_GOLD) -+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") -+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") -+endif () - - # Enable the usage of OpenMP. - # - At this moment, OpenMP is only used as an alternative implementation diff --git a/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch b/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch new file mode 100644 index 0000000000..93a431a0b1 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch @@ -0,0 +1,30 @@ +From d096b945113ddecaf33062296e20b6d5a007cab3 Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Mon, 3 Jan 2022 14:18:34 +0000 +Subject: [PATCH] webkitgtk: Add reproducibility fix + +Injection a year based on the current date isn't reproducible. Hack this +to a specific year for now for reproducibilty and to avoid autobuilder failures. + +The correct fix would be to use SOURCE_DATE_EPOCH from the environment and +then this could be submitted upstream, sadly my ruby isn't up to that. + +Upstream-Status: Pending [could be reworked] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +--- + Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/JavaScriptCore/generator/GeneratedFile.rb b/Source/JavaScriptCore/generator/GeneratedFile.rb +index 6ed2b6e4..86a28286 100644 +--- a/Source/JavaScriptCore/generator/GeneratedFile.rb ++++ b/Source/JavaScriptCore/generator/GeneratedFile.rb +@@ -25,7 +25,7 @@ require 'date' + require 'digest' + + $LICENSE = <<-EOF +-Copyright (C) #{Date.today.year} Apple Inc. All rights reserved. ++Copyright (C) 2021 Apple Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions diff --git a/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch b/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch new file mode 100644 index 0000000000..d4720e4f28 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/t6-not-declared.patch @@ -0,0 +1,37 @@ +From 3d5373575695b293b8559155431d0079a6153aff Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@redhat.com> +Date: Mon, 5 Feb 2024 11:00:49 -0600 +Subject: [PATCH] =?UTF-8?q?[GTK]=20[2.42.5]=20LowLevelInterpreter.cpp:339:?= + =?UTF-8?q?21:=20error:=20=E2=80=98t6=E2=80=99=20was=20not=20declared=20in?= + =?UTF-8?q?=20this=20scope=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid?= + =?UTF-8?q?=3D268739?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Unreviewed build fix. Seems a backport went badly, and we didn't notice +because the code is architecture-specific. + +* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: +(JSC::CLoop::execute): + +Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +index 5064ead6cd2e7..9a2e2653b1219 100644 +--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp ++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, + UNUSED_VARIABLE(t2); + UNUSED_VARIABLE(t3); + UNUSED_VARIABLE(t5); +- UNUSED_VARIABLE(t6); +- UNUSED_VARIABLE(t7); + + struct StackPointerScope { + StackPointerScope(CLoopStack& stack) + diff --git a/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb b/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb deleted file mode 100644 index 1f3f7a9c00..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb +++ /dev/null @@ -1,150 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD-2-Clause & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ - file://include_xutil.patch \ - file://reduce-memory-overheads.patch \ - file://musl-lower-stack-usage.patch \ - file://0001-MiniBrowser-Fix-reproduciblity.patch \ - " - -SRC_URI[sha256sum] = "c1f496f5ac654efe4cef62fbd4f2fbeeef265a07c5e7419e5d2900bfeea52cbc" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ - pango icu bison-native gawk intltool-native libwebp \ - atk udev harfbuzz jpeg libpng librsvg libtheora libvorbis \ - ruby-native libnotify gstreamer1.0-plugins-bad \ - gettext-native glib-2.0 glib-2.0-native libtasn1 \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - enchant \ - libsecret \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," - -# webkitgtk is full of /usr/bin/env python, particular for generating docs -do_configure[postfuncs] += "setup_python_link" -setup_python_link() { - if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then - ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python - fi -} - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python3` \ - -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ - -DENABLE_GAMEPAD=OFF \ - " - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS:append:arc = " -mlong-calls" -CXXFLAGS:append:arc = " -mlong-calls" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " - -EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT and gold linker does not work on RISCV -EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" -EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS:remove:aarch64 = "-fpie" -SECURITY_CFLAGS:append:aarch64 = " -fPIE" - -FILES:${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET:armv7a = "thumb" -ARM_INSTRUCTION_SET:armv7r = "thumb" -ARM_INSTRUCTION_SET:armv7ve = "thumb" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED:libc-musl:armv7a = "False" -GI_DATA_ENABLED:libc-musl:armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/DerivedSources/webkit2gtk/webkit2/*.cpp \ - ${B}/DerivedSources/ForwardingHeaders/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/yarr/*.h \ - ${B}/DerivedSources/MiniBrowser/*.c -} - diff --git a/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb new file mode 100644 index 0000000000..29e12bb8c5 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb @@ -0,0 +1,186 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://reproducibility.patch \ + file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ + file://no-musttail-arm.patch \ + file://t6-not-declared.patch \ + file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ + " +SRC_URI[sha256sum] = "425b1459b0f04d0600c78d1abb5e7edfa3c060a420f8b231e9a6a2d5d29c5561" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS += " \ + ruby-native \ + gperf-native \ + unifdef-native \ + cairo \ + harfbuzz \ + jpeg \ + atk \ + libwebp \ + gtk4 \ + libxslt \ + libtasn1 \ + libnotify \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ + " + +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ + enchant \ + libsecret \ + ${PACKAGECONFIG_SOUP} \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" +PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," +PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" +PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" +PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" +PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" +PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" +PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" +PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@oe.utils.vartrue('GI_DATA_ENABLED', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@oe.utils.vartrue('GIDOCGEN_ENABLED', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ + ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DUSE_GTK4=ON \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ + " + +# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the +# debug symbols (4.3GB to 700M at time of writing) +DEBUG_FLAGS:append = "${@oe.utils.vartrue('DEBUG_BUILD', '', ' -g1', d)}" + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS:append:arc = " -mlong-calls" +CXXFLAGS:append:arc = " -mlong-calls" + +# Needed for non-mesa graphics stacks when x11 is disabled +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " + +# And for armv7* don't enable it for softfp, because after: +# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918 +# https://bugs.webkit.org/show_bug.cgi?id=242172 +# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets +# explicitly disabled causing: +# http://errors.yoctoproject.org/Errors/Details/734587/ +# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled +# https://github.com/WebKit/WebKit/pull/17447 +EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" +EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" +EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}" + +EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS:remove:aarch64 = "-fpie" +SECURITY_CFLAGS:append:aarch64 = " -fPIE" + +FILES:${PN} += "${libdir}/webkitgtk-*/injected-bundle/*.so" + +RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET:armv7a = "thumb" +ARM_INSTRUCTION_SET:armv7r = "thumb" +ARM_INSTRUCTION_SET:armv7ve = "thumb" + +# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86 +COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED:libc-musl:armv7a = "False" +GI_DATA_ENABLED:libc-musl:armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/JavaScriptCore/DerivedSources/*.h \ + ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ + ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ + ${B}/WebCore/DerivedSources/*.cpp \ + ${B}/WebKitGTK/DerivedSources/webkit/*.cpp +} + diff --git a/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb b/meta/recipes-sato/webkit/wpebackend-fdo_1.14.2.bb index 29ffb9091f..b3d7b229c8 100644 --- a/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb +++ b/meta/recipes-sato/webkit/wpebackend-fdo_1.14.2.bb @@ -8,12 +8,16 @@ DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" DEPENDS:append:class-target = " wayland-native" -inherit meson features_check +inherit meson features_check pkgconfig REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "b89dfd3500a4dec711132cd7bff72599e67d56a419d000730e14bb99547509cc" +SRC_URI[sha256sum] = "93c9766ae9864eeaeaee2b0a74f22cbca08df42c1a1bdb55b086f2528e380d38" + +# Especially helps compiling with clang which enable this as error when +# using c++11 +CXXFLAGS += "-Wno-c++11-narrowing" # This is a tweak of upstream-version-is-even needed because # ipstream directory contains tarballs for other components as well. |