diff options
Diffstat (limited to 'meta/recipes-sato/webkit')
13 files changed, 288 insertions, 365 deletions
diff --git a/meta/recipes-sato/webkit/libwpe/0001-Fix-build-failure-due-to-libc-using-libc-functions.patch b/meta/recipes-sato/webkit/libwpe/0001-Fix-build-failure-due-to-libc-using-libc-functions.patch deleted file mode 100644 index 6d27b4835d..0000000000 --- a/meta/recipes-sato/webkit/libwpe/0001-Fix-build-failure-due-to-libc-using-libc-functions.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ccf8a58c3536ca0e62748e0ea477514e14d821bc Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro <aperez@igalia.com> -Date: Thu, 4 Aug 2022 12:19:05 +0300 -Subject: [PATCH] Fix build failure due to libc++ using libc functions - -Include the "alloc-private.h" header after the C++ standard library -headers. This sidesteps build failures caused by implementations of -std::map and std::string which use libc memory allocation functions -in expanded templates after they have been marked with the "poison" -pragma. - -Fixes #115 - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - src/pasteboard-generic.cpp | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/pasteboard-generic.cpp b/src/pasteboard-generic.cpp -index 86fe4ee..a357027 100644 ---- a/src/pasteboard-generic.cpp -+++ b/src/pasteboard-generic.cpp -@@ -26,12 +26,15 @@ - - #include "pasteboard-private.h" - --#include "alloc-private.h" --#include <cstdlib> --#include <cstring> - #include <map> - #include <string> - -+// We need to include this header last, in order to avoid template expansions -+// from the C++ standard library happening after it forbids usage of the libc -+// memory functions. -+#include "alloc-private.h" -+#include <cstring> -+ - namespace Generic { - using Pasteboard = std::map<std::string, std::string>; - } diff --git a/meta/recipes-sato/webkit/libwpe_1.12.2.bb b/meta/recipes-sato/webkit/libwpe_1.16.0.bb index e23a9ac32d..57f91ce87e 100644 --- a/meta/recipes-sato/webkit/libwpe_1.12.2.bb +++ b/meta/recipes-sato/webkit/libwpe_1.16.0.bb @@ -10,10 +10,8 @@ inherit cmake features_check pkgconfig REQUIRED_DISTRO_FEATURES = "opengl" -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-Fix-build-failure-due-to-libc-using-libc-functions.patch \ - " -SRC_URI[sha256sum] = "4ac4fd0a8b562b721bffd0f46ae9f06c2b5a3114407581978be875a9d651642a" +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +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-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch index 2379924cc9..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,4 +1,4 @@ -From e0bf97eecfa601e08b9578f00b1000890284241a 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 @@ -9,30 +9,21 @@ 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 | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) + Source/cmake/FindGI.cmake | 3 +++ + 1 file changed, 3 insertions(+) -diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake -index be96814a..ae67b593 100644 ---- a/Source/cmake/FindGObjectIntrospection.cmake -+++ b/Source/cmake/FindGObjectIntrospection.cmake -@@ -16,7 +16,6 @@ - # Redistribution and use is allowed according to the terms of the BSD license. +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 () + 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) -- - find_package(PkgConfig QUIET) - if (PKG_CONFIG_FOUND) - if (PACKAGE_FIND_VERSION_COUNT GREATER 0) -@@ -30,6 +29,9 @@ if (PKG_CONFIG_FOUND) - pkg_get_variable(INTROSPECTION_GENERATE gobject-introspection-1.0 g_ir_generate) - pkg_get_variable(INTROSPECTION_GIRDIR gobject-introspection-1.0 girdir) - pkg_get_variable(INTROSPECTION_TYPELIBDIR gobject-introspection-1.0 typelibdir) -+ set(INTROSPECTION_SCANNER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_SCANNER}") -+ set(INTROSPECTION_COMPILER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_COMPILER}") -+ set(INTROSPECTION_GENERATE "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_GENERATE}") - set(INTROSPECTION_VERSION "${_pc_gir_VERSION}") - if (${INTROSPECTION_VERSION} VERSION_GREATER_EQUAL "1.59.1") - set(INTROSPECTION_HAVE_SOURCES_TOP_DIRS YES) diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch deleted file mode 100644 index 09256951f4..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 646e347c173dbb9782492ac7cb4f54b65533ba90 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sun, 17 Oct 2021 20:49:21 +0000 -Subject: [PATCH] Fix build without opengl-or-es - -* fix build failure when opengl-or-es is disabled: - In file included from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/webkitgtk-2.34.0/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:30, - from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/build/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-36.cpp:1: - /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/webkitgtk-2.34.0/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:41:10: fatal error: WebCore/CoordinatedGraphicsLayer.h: No such file or directory - 41 | #include <WebCore/CoordinatedGraphicsLayer.h> - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - compilation terminated. - -* the CoordinatedGraphicsLayer.h header installation is controled by - USE_COORDINATED_GRAPHICS in webkitgtk-2.34.0/Source/WebCore/platform/TextureMapper.cmake - but in Source/cmake/OptionsGTK.cmake USE_COORDINATED_GRAPHICS was enabled only inside - if (USE_OPENGL_OR_ES) - -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232934] ---- - .../DrawingAreaProxyCoordinatedGraphics.cpp | 2 +- - .../DrawingAreaProxyCoordinatedGraphics.h | 2 +- - .../CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp | 2 +- - .../CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h | 2 +- - .../WebPage/CoordinatedGraphics/LayerTreeHost.cpp | 4 ++-- - .../WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h | 6 +++--- - 6 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp -index 038d9ee2..5e828a10 100644 ---- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp -+++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp -@@ -152,7 +152,7 @@ void DrawingAreaProxyCoordinatedGraphics::setBackingStoreIsDiscardable(bool isBa - #endif - } - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - void DrawingAreaProxyCoordinatedGraphics::adjustTransientZoom(double scale, FloatPoint origin) - { - send(Messages::DrawingArea::AdjustTransientZoom(scale, origin)); -diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -index b23a45ff..cd263402 100644 ---- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -+++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h -@@ -57,7 +57,7 @@ private: - void waitForBackingStoreUpdateOnNextPaint() override; - void setBackingStoreIsDiscardable(bool) override; - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - void adjustTransientZoom(double scale, WebCore::FloatPoint origin) override; - void commitTransientZoom(double scale, WebCore::FloatPoint origin) override; - #endif -diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -index 33ac2e1d..42375784 100644 ---- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -+++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -@@ -486,7 +486,7 @@ void DrawingAreaCoordinatedGraphics::didUpdate() - displayTimerFired(); - } - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - void DrawingAreaCoordinatedGraphics::adjustTransientZoom(double scale, FloatPoint origin) - { - if (!m_transientZoom) { -diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h -index d8dc6df7..c8322364 100644 ---- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h -+++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h -@@ -84,7 +84,7 @@ private: - void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, float deviceScaleFactor, const WebCore::IntSize&, const WebCore::IntSize& scrollOffset) override; - void didUpdate() override; - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - void adjustTransientZoom(double scale, WebCore::FloatPoint origin) override; - void commitTransientZoom(double scale, WebCore::FloatPoint origin) override; - #endif -diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -index f3304d10..ca0476ff 100644 ---- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -+++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp -@@ -156,7 +156,7 @@ void LayerTreeHost::layerFlushTimerFired() - - bool didSync = m_coordinator.flushPendingLayerChanges(flags); - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - // If we have an active transient zoom, we want the zoom to win over any changes - // that WebCore makes to the relevant layers, so re-apply our changes after flushing. - if (m_transientZoom) -@@ -453,7 +453,7 @@ void LayerTreeHost::renderNextFrame(bool forceRepaint) - } - } - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - FloatPoint LayerTreeHost::constrainTransientZoomOrigin(double scale, FloatPoint origin) const - { - FrameView& frameView = *m_webPage.mainFrameView(); -diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h -index 4f727e41..b070266e 100644 ---- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h -+++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h -@@ -37,7 +37,7 @@ - #include <wtf/Forward.h> - #include <wtf/OptionSet.h> - #include <wtf/RunLoop.h> --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - #include <WebCore/CoordinatedGraphicsLayer.h> - #endif - -@@ -100,7 +100,7 @@ public: - - WebCore::PlatformDisplayID displayID() const { return m_displayID; } - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - void adjustTransientZoom(double, WebCore::FloatPoint); - void commitTransientZoom(double, WebCore::FloatPoint); - #endif -@@ -213,7 +213,7 @@ private: - #endif // USE(COORDINATED_GRAPHICS) - WebCore::PlatformDisplayID m_displayID; - --#if PLATFORM(GTK) -+#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS) - bool m_transientZoom { false }; - double m_transientZoomScale { 1 }; - WebCore::FloatPoint m_transientZoomOrigin; 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-do-not-quote-CFLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch deleted file mode 100644 index 3d02be9894..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 01f5ab0edf3dd8f76d37fd36c2dcd3108be33a7b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Mon, 4 Apr 2022 21:20:05 +0200 -Subject: [PATCH] When building introspection files, do not quote CFLAGS. - -This does not seem to be propagated to the compiler correctly: - -In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/syslimits.h:7, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:34, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/lib/glib-2.0/include/glibconfig.h:11, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:32, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2: -/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:203:75: error: no include path in which to search for limits.h - 203 | #include_next <limits.h> /* recurse down to the real one */ - | ^ -In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30, - from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2: -/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:35:10: fatal error: time.h: No such file or directory - 35 | #include <time.h> - | ^~~~~~~~ -compilation terminated. -Traceback (most recent call last): - File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/unixccompiler.py", line 117, in _compile - self.spawn(compiler_so + cc_args + [src, '-o', obj] + - File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/ccompiler.py", line 910, in spawn - spawn(cmd, dry_run=self.dry_run) - File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/spawn.py", line 91, in spawn - raise DistutilsExecError( -distutils.errors.DistutilsExecError: command '/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc' failed with exit code 1 - -Upstream-Status: Inappropriate [upstream has rewritten the whole thing as of https://github.com/WebKit/WebKit/commit/b0ae032850bb6b2672051bab8032fc9f9ef5eb97] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - 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 1c3c8fb7..efd18807 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 ${CMAKE_C_FLAGS}" 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 48d1820d..ded05035 100644 ---- a/Source/WebKit/PlatformGTK.cmake -+++ b/Source/WebKit/PlatformGTK.cmake -@@ -675,7 +675,7 @@ if (ENABLE_INTROSPECTION) - 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= -+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= - ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" - ${INTROSPECTION_SCANNER} - --quiet -@@ -721,7 +721,7 @@ if (ENABLE_INTROSPECTION) - OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir - DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir - DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir -- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}" -+ 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} --- -2.30.2 - 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/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/reproducibility.patch b/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch index e866a1a193..93a431a0b1 100644 --- a/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch +++ b/meta/recipes-sato/webkit/webkitgtk/reproducibility.patch @@ -1,3 +1,8 @@ +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. @@ -6,11 +11,14 @@ 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(-) -Index: webkitgtk-2.34.2/Source/JavaScriptCore/generator/GeneratedFile.rb -=================================================================== ---- webkitgtk-2.34.2.orig/Source/JavaScriptCore/generator/GeneratedFile.rb -+++ webkitgtk-2.34.2/Source/JavaScriptCore/generator/GeneratedFile.rb +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' 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.36.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb index b3fe357010..29e12bb8c5 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.36.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb @@ -11,38 +11,41 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842 SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://0001-Fix-build-without-opengl-or-es.patch \ file://reproducibility.patch \ - file://0001-When-building-introspection-files-do-not-quote-CFLAG.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" -SRC_URI[sha256sum] = "d5532fa884c943dc48f1911473dd663aba407a3b35caa7b04bac1419b41e5908" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" +REQUIRED_DISTRO_FEATURES = "opengl" CVE_PRODUCT = "webkitgtk webkitgtk\+" -DEPENDS = " \ +DEPENDS += " \ ruby-native \ gperf-native \ + unifdef-native \ cairo \ harfbuzz \ jpeg \ atk \ libwebp \ - gtk+3 \ + gtk4 \ libxslt \ libtasn1 \ libnotify \ gstreamer1.0 \ gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ " -PACKAGECONFIG_SOUP ?= "soup2" +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)} \ @@ -71,24 +74,26 @@ 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" - -# 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 -} +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 \ - ${@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 \ - " + -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 " @@ -105,16 +110,28 @@ 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 " -EXTRA_OECMAKE:append:armv4 = " -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 -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 " @@ -128,7 +145,7 @@ EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " SECURITY_CFLAGS:remove:aarch64 = "-fpie" SECURITY_CFLAGS:append:aarch64 = " -fPIE" -FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" +FILES:${PN} += "${libdir}/webkitgtk-*/injected-bundle/*.so" RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" @@ -145,6 +162,9 @@ 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" @@ -160,8 +180,7 @@ src_package_preprocess () { ${B}/JavaScriptCore/DerivedSources/*.h \ ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.cpp \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.h - + ${B}/WebCore/DerivedSources/*.cpp \ + ${B}/WebKitGTK/DerivedSources/webkit/*.cpp } diff --git a/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb b/meta/recipes-sato/webkit/wpebackend-fdo_1.14.2.bb index 4a18467ea4..b3d7b229c8 100644 --- a/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb +++ b/meta/recipes-sato/webkit/wpebackend-fdo_1.14.2.bb @@ -13,7 +13,7 @@ inherit meson features_check pkgconfig REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac" +SRC_URI[sha256sum] = "93c9766ae9864eeaeaee2b0a74f22cbca08df42c1a1bdb55b086f2528e380d38" # Especially helps compiling with clang which enable this as error when # using c++11 |