Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 1/2] package/ruby: add host psych (yaml) support
@ 2024-04-01 18:39 Thomas Devoogdt
  2024-04-01 18:39 ` [Buildroot] [PATCH v1 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-01 18:39 UTC (permalink / raw)
  To: buildroot; +Cc: Adrian Perez de Castro, Thomas Devoogdt

Needed to compile webkitgtk 2.44.0.

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
Question to the reviewer, should I use this:

```
ifeq ($(BR2_PACKAGE_HOST_LIBYAML),y)
HOST_RUBY_DEPENDENCIES += host-libyaml
endif
```
---
 package/ruby/ruby.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index 4b9ce80e67..ac7de38de4 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -20,7 +20,7 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL
 RUBY_CPE_ID_VENDOR = ruby-lang
 
 RUBY_DEPENDENCIES = host-pkgconf host-ruby
-HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl
+HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl host-libyaml
 RUBY_MAKE_ENV = $(TARGET_MAKE_ENV)
 RUBY_CONF_OPTS = \
 	--disable-install-doc \
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v1 2/2] package/webkitgtk: bump to 2.44.0
  2024-04-01 18:39 [Buildroot] [PATCH v1 1/2] package/ruby: add host psych (yaml) support Thomas Devoogdt
@ 2024-04-01 18:39 ` Thomas Devoogdt
  2024-04-03 17:14   ` [Buildroot] [PATCH v2 1/2] package/ruby: add host psych (yaml) support Thomas Devoogdt
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-01 18:39 UTC (permalink / raw)
  To: buildroot; +Cc: Adrian Perez de Castro, Thomas Devoogdt

A lot has been changed, please consult the announcement [1], what's new [2],
and the security advisory [3] for more details.

Specific to this bump:

 - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
   While at it, also explicitly add the libepoxy dependency which is now selected
   by libgtk3.

 - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.

 - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.

 - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
   yet [2].

 - USE_LIBBACKTRACE has been added [5], so select it properly.

 - Support for ENABLE_WEB_CODECS has been added, which will now be enabled
   together with audio and video support.

 - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
   compiling for MIPS r6, ARMv5, and ARMv6.

At last, a bunch of patches are needed to fix compilation if video is not enabled.

[1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html
[2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[3]: https://webkitgtk.org/security/WSA-2024-0002.html
[4]: https://commits.webkit.org/271345@main
[5]: https://commits.webkit.org/268579@main
[6]: https://commits.webkit.org/271347@main

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---

Used config to test:
```
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_WEBKITGTK=y
```

Build fails:
                   bootlin-riscv32-glibc [17/42]: FAILED
                   bootlin-riscv64-glibc [18/42]: FAILED
                    bootlin-riscv64-musl [19/42]: FAILED

Reason:
>>> xlib_libxshmfence 1.3.2 Building
xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
   58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
      |                        ^~~~~~~~~
      |                        sys_futex

---
 ...ays_lock_free-assertion-on-32-bit-ar.patch |  55 +++++++++
 ...velInterpreter.cpp-339-21-error-t6-w.patch |  39 -------
 ...ullscreenManager-add-missing-include.patch |  33 ++++++
 ...enManager-fix-undefined-reference-to.patch |  37 ++++++
 ...fix-undefined-reference-to-HTMLMedia.patch | 105 ++++++++++++++++++
 ...rDOMAgent-fix-fix-undefined-referenc.patch |  44 ++++++++
 ...e-fix-undefined-reference-to-HTMLMed.patch |  69 ++++++++++++
 ...reenManagerProxy-add-missing-include.patch |  33 ++++++
 ...ullScreenManager-add-missing-include.patch |  33 ++++++
 ...undlePageFullScreenClient-add-missin.patch |  34 ++++++
 ...gumentCoders.serialization.in-fix-un.patch |  56 ++++++++++
 package/webkitgtk/Config.in                   |   4 +-
 package/webkitgtk/webkitgtk.hash              |   6 +-
 package/webkitgtk/webkitgtk.mk                |  50 ++++-----
 14 files changed, 525 insertions(+), 73 deletions(-)
 create mode 100644 package/webkitgtk/0001-ANGLE-fix-is_always_lock_free-assertion-on-32-bit-ar.patch
 delete mode 100644 package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
 create mode 100644 package/webkitgtk/0002-WebCore-FullscreenManager-add-missing-include.patch
 create mode 100644 package/webkitgtk/0003-WebCore-FullscreenManager-fix-undefined-reference-to.patch
 create mode 100644 package/webkitgtk/0004-WebCore-css-fix-fix-undefined-reference-to-HTMLMedia.patch
 create mode 100644 package/webkitgtk/0005-WebCore-InspectorDOMAgent-fix-fix-undefined-referenc.patch
 create mode 100644 package/webkitgtk/0006-WebCore-GPUDevice-fix-undefined-reference-to-HTMLMed.patch
 create mode 100644 package/webkitgtk/0007-WebKit-WebFullScreenManagerProxy-add-missing-include.patch
 create mode 100644 package/webkitgtk/0008-WebKit-WebFullScreenManager-add-missing-include.patch
 create mode 100644 package/webkitgtk/0009-WebKit-InjectedBundlePageFullScreenClient-add-missin.patch
 create mode 100644 package/webkitgtk/0010-WebKit-WebCoreArgumentCoders.serialization.in-fix-un.patch

diff --git a/package/webkitgtk/0001-ANGLE-fix-is_always_lock_free-assertion-on-32-bit-ar.patch b/package/webkitgtk/0001-ANGLE-fix-is_always_lock_free-assertion-on-32-bit-ar.patch
new file mode 100644
index 0000000000..c574dba08e
--- /dev/null
+++ b/package/webkitgtk/0001-ANGLE-fix-is_always_lock_free-assertion-on-32-bit-ar.patch
@@ -0,0 +1,55 @@
+From 4399714e71df34ac53e830ae1f7b2eab93716fa7 Mon Sep 17 00:00:00 2001
+From: Charlie Lao <cclao@google.com>
+Date: Fri, 29 Mar 2024 10:30:59 -0700
+Subject: [PATCH] [ANGLE]: fix is_always_lock_free assertion on 32 bit arch
+
+https://bugs.webkit.org/show_bug.cgi?id=252670
+
+Reviewed by NOBODY (OOPS!).
+
+Remove is_always_lock_free assertion from AtomicQueueSerial
+
+Build will fail when compiled on 32 bit architecture. The code will
+still function on 32 bit architecture but with performance penalty due
+to lock. But we are not really expecting it actually run on 32 bit
+platform with vulkan backend (the atomic queue serial is only used by
+vulkan backend). We could move AtomicQueueSerial into vulkan backend,
+but that will be a much larger change that I try to avoid. This CL
+removes the static_assertion and make it 8 bytes aligned as well.
+
+Bug: angleproject:7989
+Change-Id: I3c0bd9877c4171485ca1aa9af0cf4621c1c23f56
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5407870
+Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
+Commit-Queue: Charlie Lao <cclao@google.com>
+
+Upstream: https://chromium.googlesource.com/angle/angle/+/321c6b63bebce3f31414d8a53fb2f94b5561b818
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
+index 812927743a64..7146690c95ab 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
+@@ -116,7 +116,7 @@ class Serial final
+ };
+ 
+ // Defines class to track the queue serial that can be load/store from multiple threads atomically.
+-class AtomicQueueSerial final
++class alignas(8) AtomicQueueSerial final
+ {
+   public:
+     AtomicQueueSerial &operator=(const Serial &other)
+@@ -129,7 +129,6 @@ class AtomicQueueSerial final
+   private:
+     static constexpr uint64_t kInvalid = 0;
+     std::atomic<uint64_t> mValue       = kInvalid;
+-    static_assert(decltype(mValue)::is_always_lock_free, "Must always be lock free");
+ };
+ 
+ // Used as default/initial serial
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
deleted file mode 100644
index c9667fedbd..0000000000
--- a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-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: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff
-Signed-off-by: Peter Korsgaard <peter@korsgaard.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 5064ead6cd2e..9a2e2653b121 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)
--- 
-2.39.2
-
diff --git a/package/webkitgtk/0002-WebCore-FullscreenManager-add-missing-include.patch b/package/webkitgtk/0002-WebCore-FullscreenManager-add-missing-include.patch
new file mode 100644
index 0000000000..8fd29185f1
--- /dev/null
+++ b/package/webkitgtk/0002-WebCore-FullscreenManager-add-missing-include.patch
@@ -0,0 +1,33 @@
+From 4c6d00231a70e94b4d4cd20a84e9f8b55e49fad3 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 16:22:20 +0100
+Subject: [PATCH] [WebCore]: FullscreenManager: add missing include
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement normally includes HTMLMediaElementEnums,
+but only if VIDEO is enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/dom/FullscreenManager.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WebCore/dom/FullscreenManager.h b/Source/WebCore/dom/FullscreenManager.h
+index 3b1f74177cba..8f2287f8a756 100644
+--- a/Source/WebCore/dom/FullscreenManager.h
++++ b/Source/WebCore/dom/FullscreenManager.h
+@@ -31,6 +31,7 @@
+ #include "FrameDestructionObserverInlines.h"
+ #include "GCReachableRef.h"
+ #include "HTMLMediaElement.h"
++#include "HTMLMediaElementEnums.h"
+ #include "LayoutRect.h"
+ #include "Page.h"
+ #include <wtf/Deque.h>
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0003-WebCore-FullscreenManager-fix-undefined-reference-to.patch b/package/webkitgtk/0003-WebCore-FullscreenManager-fix-undefined-reference-to.patch
new file mode 100644
index 0000000000..c9b67b0a1e
--- /dev/null
+++ b/package/webkitgtk/0003-WebCore-FullscreenManager-fix-undefined-reference-to.patch
@@ -0,0 +1,37 @@
+From f1a651dfb3911d3564c7c133df021a9c1e57a75f Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 16:23:36 +0100
+Subject: [PATCH] [WebCore]: FullscreenManager: fix undefined reference to
+ HTMLMediaElement
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/dom/FullscreenManager.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Source/WebCore/dom/FullscreenManager.cpp b/Source/WebCore/dom/FullscreenManager.cpp
+index 248694557dc3..58bf96045277 100644
+--- a/Source/WebCore/dom/FullscreenManager.cpp
++++ b/Source/WebCore/dom/FullscreenManager.cpp
+@@ -529,9 +529,11 @@ bool FullscreenManager::willEnterFullscreen(Element& element, HTMLMediaElementEn
+     INFO_LOG(LOGIDENTIFIER);
+     ASSERT(page()->settings().fullScreenEnabled());
+ 
++#if ENABLE(VIDEO)
+     if (RefPtr mediaElement = dynamicDowncast<HTMLMediaElement>(element))
+         mediaElement->willBecomeFullscreenElement(mode);
+     else
++#endif
+         element.willBecomeFullscreenElement();
+ 
+     ASSERT(&element == m_pendingFullscreenElement);
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0004-WebCore-css-fix-fix-undefined-reference-to-HTMLMedia.patch b/package/webkitgtk/0004-WebCore-css-fix-fix-undefined-reference-to-HTMLMedia.patch
new file mode 100644
index 0000000000..2ef791aafe
--- /dev/null
+++ b/package/webkitgtk/0004-WebCore-css-fix-fix-undefined-reference-to-HTMLMedia.patch
@@ -0,0 +1,105 @@
+From 102a4ccc0a35e9bcb016007adbc08a66db6f9160 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 16:24:30 +0100
+Subject: [PATCH] [WebCore]: css: fix fix undefined reference to
+ HTMLMediaElement
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/css/SelectorChecker.cpp            | 2 ++
+ Source/WebCore/css/SelectorCheckerTestFunctions.h | 2 ++
+ Source/WebCore/cssjit/SelectorCompiler.cpp        | 8 ++++++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/Source/WebCore/css/SelectorChecker.cpp b/Source/WebCore/css/SelectorChecker.cpp
+index 60db400f695a..1a4c72c4dbc5 100644
+--- a/Source/WebCore/css/SelectorChecker.cpp
++++ b/Source/WebCore/css/SelectorChecker.cpp
+@@ -1055,9 +1055,11 @@ bool SelectorChecker::checkOne(CheckingContext& checkingContext, const LocalCont
+             return matchesAnimatingFullscreenTransitionPseudoClass(element);
+         case CSSSelector::PseudoClass::InternalFullscreenDocument:
+             return matchesFullscreenDocumentPseudoClass(element);
++#if ENABLE(VIDEO)
+         case CSSSelector::PseudoClass::InternalInWindowFullScreen:
+             return matchesInWindowFullScreenPseudoClass(element);
+ #endif
++#endif
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+         case CSSSelector::PseudoClass::PictureInPicture:
+             return matchesPictureInPicturePseudoClass(element);
+diff --git a/Source/WebCore/css/SelectorCheckerTestFunctions.h b/Source/WebCore/css/SelectorCheckerTestFunctions.h
+index 0be916897226..b14b4b87ec5e 100644
+--- a/Source/WebCore/css/SelectorCheckerTestFunctions.h
++++ b/Source/WebCore/css/SelectorCheckerTestFunctions.h
+@@ -432,6 +432,7 @@ ALWAYS_INLINE bool matchesFullscreenDocumentPseudoClass(const Element& element)
+     return fullscreenManager && fullscreenManager->fullscreenElement();
+ }
+ 
++#if ENABLE(VIDEO)
+ ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
+ {
+     if (&element != element.document().fullscreenManager().currentFullscreenElement())
+@@ -440,6 +441,7 @@ ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
+     auto* mediaElement = dynamicDowncast<HTMLMediaElement>(element);
+     return mediaElement && mediaElement->fullscreenMode() == HTMLMediaElementEnums::VideoFullscreenModeInWindow;
+ }
++#endif
+ 
+ #endif
+ 
+diff --git a/Source/WebCore/cssjit/SelectorCompiler.cpp b/Source/WebCore/cssjit/SelectorCompiler.cpp
+index 94972294daf9..6bf6658a1dbd 100644
+--- a/Source/WebCore/cssjit/SelectorCompiler.cpp
++++ b/Source/WebCore/cssjit/SelectorCompiler.cpp
+@@ -258,8 +258,10 @@ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesLangPseudo
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenPseudoClass, bool, (const Element&));
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenDocumentPseudoClass, bool, (const Element&));
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesAnimatingFullscreenTransitionPseudoClass, bool, (const Element&));
++#if ENABLE(VIDEO)
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element&));
+ #endif
++#endif
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesPictureInPicturePseudoClass, bool, (const Element&));
+ #endif
+@@ -910,6 +912,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClas
+     COUNT_SELECTOR_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClass);
+     return matchesAnimatingFullscreenTransitionPseudoClass(element);
+ }
++
++#if ENABLE(VIDEO)
+ JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element& element))
+ {
+     COUNT_SELECTOR_OPERATION(operationMatchesInWindowFullScreenPseudoClass);
+@@ -917,6 +921,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (c
+ }
+ #endif
+ 
++#endif
++
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+ JSC_DEFINE_JIT_OPERATION(operationMatchesPictureInPicturePseudoClass, bool, (const Element& element))
+ {
+@@ -1113,10 +1119,12 @@ static inline FunctionType addPseudoClassType(const CSSSelector& selector, Selec
+     case CSSSelector::PseudoClass::InternalAnimatingFullscreenTransition:
+         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesAnimatingFullscreenTransitionPseudoClass));
+         return FunctionType::SimpleSelectorChecker;
++#if ENABLE(VIDEO)
+     case CSSSelector::PseudoClass::InternalInWindowFullScreen:
+         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesInWindowFullScreenPseudoClass));
+         return FunctionType::SimpleSelectorChecker;
+ #endif
++#endif
+ 
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+     case CSSSelector::PseudoClass::PictureInPicture:
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0005-WebCore-InspectorDOMAgent-fix-fix-undefined-referenc.patch b/package/webkitgtk/0005-WebCore-InspectorDOMAgent-fix-fix-undefined-referenc.patch
new file mode 100644
index 0000000000..0edaca92be
--- /dev/null
+++ b/package/webkitgtk/0005-WebCore-InspectorDOMAgent-fix-fix-undefined-referenc.patch
@@ -0,0 +1,44 @@
+From bb361d8cd4f1445cc516e0f85f00d481a14ccf03 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 16:25:09 +0100
+Subject: [PATCH] [WebCore]: InspectorDOMAgent: fix fix undefined reference to
+ HTMLMediaElement
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/inspector/agents/InspectorDOMAgent.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
+index 6e348089ef30..87f891547563 100644
+--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
++++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
+@@ -3098,6 +3098,7 @@ Protocol::ErrorStringOr<void> InspectorDOMAgent::setAllowEditingUserAgentShadowT
+ 
+ Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMediaStats(Protocol::DOM::NodeId nodeId)
+ {
++#if ENABLE(VIDEO)
+     Protocol::ErrorString errorString;
+ 
+     auto* element = assertElement(errorString, nodeId);
+@@ -3174,6 +3175,10 @@ Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMe
+     }
+ 
+     return stats;
++#else
++    UNUSED_PARAM(nodeId);
++    return makeUnexpected("no media support"_s);
++#endif
+ }
+ 
+ } // namespace WebCore
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0006-WebCore-GPUDevice-fix-undefined-reference-to-HTMLMed.patch b/package/webkitgtk/0006-WebCore-GPUDevice-fix-undefined-reference-to-HTMLMed.patch
new file mode 100644
index 0000000000..5dfd878153
--- /dev/null
+++ b/package/webkitgtk/0006-WebCore-GPUDevice-fix-undefined-reference-to-HTMLMed.patch
@@ -0,0 +1,69 @@
+From 443fb53ec15a09c14b3858175b1ce1099809a33a Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 16:29:46 +0100
+Subject: [PATCH] [WebCore]: GPUDevice: fix undefined reference to
+ HTMLMediaElement
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/Modules/WebGPU/GPUDevice.cpp | 4 ++++
+ Source/WebCore/Modules/WebGPU/GPUDevice.h   | 3 +++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
+index 6f36a58b7839..2d9dd3b350aa 100644
+--- a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
+@@ -270,6 +270,7 @@ Ref<GPUSampler> GPUDevice::createSampler(const std::optional<GPUSamplerDescripto
+     return GPUSampler::create(m_backing->createSampler(convertToBacking(samplerDescriptor)));
+ }
+ 
++#if ENABLE(VIDEO)
+ GPUExternalTexture* GPUDevice::externalTextureForDescriptor(const GPUExternalTextureDescriptor& descriptor)
+ {
+     m_videoElementToExternalTextureMap.removeNullReferences();
+@@ -318,9 +319,11 @@ private:
+     HTMLVideoElement& m_videoElement;
+     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> &m_weakMap;
+ };
++#endif
+ 
+ Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextureDescriptor& externalTextureDescriptor)
+ {
++#if ENABLE(VIDEO)
+     if (auto* externalTexture = externalTextureForDescriptor(externalTextureDescriptor)) {
+         externalTexture->undestroy();
+ #if ENABLE(WEB_CODECS)
+@@ -331,6 +334,7 @@ Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextur
+         m_videoElementToExternalTextureMap.remove(*videoElement.get());
+         return *externalTexture;
+     }
++#endif
+     auto externalTexture = GPUExternalTexture::create(m_backing->importExternalTexture(externalTextureDescriptor.convertToBacking()));
+ #if ENABLE(VIDEO)
+ #if ENABLE(WEB_CODECS)
+diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.h b/Source/WebCore/Modules/WebGPU/GPUDevice.h
+index 09f9dd6d61ec..925bb8c57fb1 100644
+--- a/Source/WebCore/Modules/WebGPU/GPUDevice.h
++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.h
+@@ -157,7 +157,10 @@ private:
+     Ref<GPUQueue> m_queue;
+     Ref<GPUPipelineLayout> m_autoPipelineLayout;
+     HashSet<GPUBuffer*> m_buffersToUnmap;
++
++#if ENABLE(VIDEO)
+     GPUExternalTexture* externalTextureForDescriptor(const GPUExternalTextureDescriptor&);
++#endif
+ 
+     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> m_videoElementToExternalTextureMap;
+     bool m_waitingForDeviceLostPromise { false };
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0007-WebKit-WebFullScreenManagerProxy-add-missing-include.patch b/package/webkitgtk/0007-WebKit-WebFullScreenManagerProxy-add-missing-include.patch
new file mode 100644
index 0000000000..11a0af3ffe
--- /dev/null
+++ b/package/webkitgtk/0007-WebKit-WebFullScreenManagerProxy-add-missing-include.patch
@@ -0,0 +1,33 @@
+From 5715d28eb23ffcb12d25e58a791367fcc9b896f5 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 22:00:53 +0100
+Subject: [PATCH] [WebKit]: WebFullScreenManagerProxy: add missing include
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement normally includes HTMLMediaElementEnums,
+but only if VIDEO is enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebKit/UIProcess/WebFullScreenManagerProxy.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
+index e0834267bc71..dde36eae7f83 100644
+--- a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
++++ b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
+@@ -29,6 +29,7 @@
+ 
+ #include "MessageReceiver.h"
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <wtf/CompletionHandler.h>
+ #include <wtf/RefCounted.h>
+ #include <wtf/RefPtr.h>
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0008-WebKit-WebFullScreenManager-add-missing-include.patch b/package/webkitgtk/0008-WebKit-WebFullScreenManager-add-missing-include.patch
new file mode 100644
index 0000000000..ebfff9ee1c
--- /dev/null
+++ b/package/webkitgtk/0008-WebKit-WebFullScreenManager-add-missing-include.patch
@@ -0,0 +1,33 @@
+From ed97666b15cd803f76c58eafa7334db781dfc272 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 22:02:04 +0100
+Subject: [PATCH] [WebKit]: WebFullScreenManager: add missing include
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement normally includes HTMLMediaElementEnums,
+but only if VIDEO is enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
+index 4c3e0f50ee35..5313dc181b8f 100644
+--- a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
++++ b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
+@@ -30,6 +30,7 @@
+ #include "WebCoreArgumentCoders.h"
+ #include <WebCore/EventListener.h>
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <WebCore/IntRect.h>
+ #include <WebCore/LengthBox.h>
+ #include <wtf/RefCounted.h>
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0009-WebKit-InjectedBundlePageFullScreenClient-add-missin.patch b/package/webkitgtk/0009-WebKit-InjectedBundlePageFullScreenClient-add-missin.patch
new file mode 100644
index 0000000000..7af3073ab6
--- /dev/null
+++ b/package/webkitgtk/0009-WebKit-InjectedBundlePageFullScreenClient-add-missin.patch
@@ -0,0 +1,34 @@
+From 4fcf084b6fb279a7c3b95a662a5999480a08e757 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 22:02:53 +0100
+Subject: [PATCH] [WebKit]: InjectedBundlePageFullScreenClient: add missing
+ include
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+HTMLMediaElement normally includes HTMLMediaElementEnums,
+but only if VIDEO is enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ .../InjectedBundle/InjectedBundlePageFullScreenClient.h          | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
+index c6d1113e1706..4b9490ac3c89 100644
+--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
+@@ -32,6 +32,7 @@
+ #include "WKBundlePageFullScreenClient.h"
+ #include <WebCore/FloatSize.h>
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <WebCore/MediaPlayerEnums.h>
+ #include <wtf/Forward.h>
+ 
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0010-WebKit-WebCoreArgumentCoders.serialization.in-fix-un.patch b/package/webkitgtk/0010-WebKit-WebCoreArgumentCoders.serialization.in-fix-un.patch
new file mode 100644
index 0000000000..2f797540c5
--- /dev/null
+++ b/package/webkitgtk/0010-WebKit-WebCoreArgumentCoders.serialization.in-fix-un.patch
@@ -0,0 +1,56 @@
+From c1ccf7d3f3e68c63a44c48c2251ed77e1f8bc09c Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 30 Mar 2024 22:05:20 +0100
+Subject: [PATCH] [WebKit]: WebCoreArgumentCoders.serialization.in: fix
+ undefined reference
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by NOBODY (OOPS!).
+
+CaptionUserPreferencesDisplayMode and SerializedPlatformDataCueValue
+are only compiled if VIDEO is enabled.
+
+Upstream: https://github.com/WebKit/WebKit/pull/26651
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
+index 0ed841ce1a2a..419fcda6ce7f 100644
+--- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
++++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
+@@ -7120,6 +7120,7 @@ header: <WebCore/Font.h>
+ [Nested] enum class WebCore::FontVisibility : bool;
+ [Nested] enum class WebCore::FontIsOrientationFallback : bool;
+ 
++#if ENABLE(VIDEO)
+ header: <WebCore/CaptionUserPreferences.h>
+ enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
+     Automatic,
+@@ -7127,6 +7128,7 @@ enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
+     AlwaysOn,
+     Manual,
+ };
++#endif
+ 
+ header: <WebCore/InspectorClient.h>
+ enum class WebCore::InspectorClientDeveloperPreference : uint8_t {
+@@ -7741,6 +7743,7 @@ header: <WebCore/FilterFunction.h>
+     SourceGraphic
+ };
+ 
++#if ENABLE(VIDEO)
+ class WebCore::SerializedPlatformDataCueValue {
+     std::optional<WebCore::SerializedPlatformDataCueValue::Data> data()
+ }
+@@ -7753,4 +7756,5 @@ class WebCore::SerializedPlatformDataCueValue {
+     RetainPtr<NSLocale> locale;
+     std::variant<std::nullptr_t, RetainPtr<NSString>, RetainPtr<NSDate>, RetainPtr<NSNumber>, RetainPtr<NSData>> value;
+ #endif
++#endif
+ };
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index ace1b8739f..8ee90dda1c 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -29,6 +29,7 @@ config BR2_PACKAGE_WEBKITGTK
 	bool "webkitgtk"
 	depends on !BR2_STATIC_LIBS # wayland
 	depends on !BR2_BINFMT_FLAT # icu
+	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
@@ -42,18 +43,17 @@ config BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_HARFBUZZ
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBEPOXY
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBSECRET
 	select BR2_PACKAGE_LIBSOUP3
 	select BR2_PACKAGE_LIBTASN1
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBXSLT
-	select BR2_PACKAGE_OPENJPEG
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBP
 	select BR2_PACKAGE_WEBP_DEMUX
 	select BR2_PACKAGE_WOFF2
-	select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
index ac4799d4cf..dd1ec855ae 100644
--- a/package/webkitgtk/webkitgtk.hash
+++ b/package/webkitgtk/webkitgtk.hash
@@ -1,6 +1,6 @@
-# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums
-sha1  c3ffb2beaac56f1089029f2254482f48d9e3db37  webkitgtk-2.42.5.tar.xz
-sha256  b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749  webkitgtk-2.42.5.tar.xz
+# From https://www.webkitgtk.org/releases/webkitgtk-2.44.0.tar.xz.sums
+sha1  f3cf333015ab53aea66a5f4ad2343644e82d1c58  webkitgtk-2.44.0.tar.xz
+sha256  c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87  webkitgtk-2.44.0.tar.xz
 
 # Hashes for license files:
 sha256  0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4  Source/WebCore/LICENSE-APPLE
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 075a36654f..e7fd567021 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WEBKITGTK_VERSION = 2.42.5
+WEBKITGTK_VERSION = 2.44.0
 WEBKITGTK_SITE = https://www.webkitgtk.org/releases
 WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
 WEBKITGTK_INSTALL_STAGING = YES
@@ -14,8 +14,8 @@ WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-LGPL-2.1
 WEBKITGTK_CPE_ID_VENDOR = webkitgtk
 WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
-	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \
-	libtasn1 libxml2 libxslt openjpeg sqlite webp woff2
+	enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \
+	libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
 
 WEBKITGTK_CMAKE_BACKEND = ninja
 
@@ -28,8 +28,8 @@ WEBKITGTK_CONF_OPTS = \
 	-DENABLE_WEB_RTC=OFF \
 	-DPORT=GTK \
 	-DUSE_AVIF=OFF \
+	-DUSE_GTK4=OFF \
 	-DUSE_LIBHYPHEN=OFF \
-	-DUSE_OPENJPEG=ON \
 	-DUSE_WOFF2=ON
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
@@ -45,12 +45,14 @@ endif
 ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=ON \
-	-DENABLE_WEB_AUDIO=ON
+	-DENABLE_WEB_AUDIO=ON \
+	-DENABLE_WEB_CODECS=ON
 WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
 else
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=OFF \
-	-DENABLE_WEB_AUDIO=OFF
+	-DENABLE_WEB_AUDIO=OFF \
+	-DENABLE_WEB_CODECS=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
@@ -73,6 +75,13 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
+WEBKITGTK_DEPENDENCIES += libbacktrace
+else
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_LIBJXL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
 WEBKITGTK_DEPENDENCIES += libjxl
@@ -87,13 +96,6 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON
-WEBKITGTK_DEPENDENCIES += libgles
-else
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
 WEBKITGTK_DEPENDENCIES += libgbm
@@ -111,23 +113,10 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
-WEBKITGTK_DEPENDENCIES += libegl
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
 endif
 
-# If only the GTK Broadway backend is enabled, EGL is still needed.
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y)
-WEBKITGTK_DEPENDENCIES += libegl
-endif
-
-ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y)
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON
-WEBKITGTK_DEPENDENCIES += wpebackend-fdo
-else
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
 else
@@ -145,14 +134,17 @@ endif
 # have a check for these processors. The same goes for ARMv5 and ARMv6.
 # Disable JIT forcibly here and use the CLoop interpreter instead.
 #
-# Also, we have to disable the sampling profiler, which does NOT work
-# with ENABLE_C_LOOP.
+# Also, we have to disable the sampling profiler and webassembly,
+# which does NOT work with ENABLE_C_LOOP.
 #
 # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
 #                https://bugs.webkit.org/show_bug.cgi?id=172765
+#                https://bugs.webkit.org/show_bug.cgi?id=265218
 #
 ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
-WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
+	-DENABLE_SAMPLING_PROFILER=OFF \
+	-DENABLE_WEBASSEMBLY=OFF
 endif
 
 $(eval $(cmake-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/ruby: add host psych (yaml) support
  2024-04-01 18:39 ` [Buildroot] [PATCH v1 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
@ 2024-04-03 17:14   ` Thomas Devoogdt
  2024-04-03 17:14     ` [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-03 17:14 UTC (permalink / raw)
  To: thomas; +Cc: aperez, buildroot

Needed to compile webkitgtk 2.44.0.

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: n/a
---
Question to the reviewer, should I use this:

```
ifeq ($(BR2_PACKAGE_HOST_LIBYAML),y)
HOST_RUBY_DEPENDENCIES += host-libyaml
endif
```
---
 package/ruby/ruby.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index 4b9ce80e67..ac7de38de4 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -20,7 +20,7 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL
 RUBY_CPE_ID_VENDOR = ruby-lang
 
 RUBY_DEPENDENCIES = host-pkgconf host-ruby
-HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl
+HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl host-libyaml
 RUBY_MAKE_ENV = $(TARGET_MAKE_ENV)
 RUBY_CONF_OPTS = \
 	--disable-install-doc \
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0
  2024-04-03 17:14   ` [Buildroot] [PATCH v2 1/2] package/ruby: add host psych (yaml) support Thomas Devoogdt
@ 2024-04-03 17:14     ` Thomas Devoogdt
  2024-04-03 22:33       ` Adrian Perez de Castro
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-03 17:14 UTC (permalink / raw)
  To: thomas; +Cc: aperez, buildroot

A lot has been changed, please consult the announcement [1], what's new [2],
and the security advisory [3] for more details.

Specific to this bump:

 - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
   While at it, also explicitly add the libepoxy dependency which is now selected
   by libgtk3.

 - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.

 - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.

 - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
   yet [2].

 - USE_LIBBACKTRACE has been added [5], so select it properly.

 - Support for ENABLE_WEB_CODECS has been added, which will now be enabled
   together with audio and video support.

 - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
   compiling for MIPS r6, ARMv5, and ARMv6.

At last, a patch is needed to fix compilation if video is not enabled.

[1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html
[2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[3]: https://webkitgtk.org/security/WSA-2024-0002.html
[4]: https://commits.webkit.org/271345@main
[5]: https://commits.webkit.org/268579@main
[6]: https://commits.webkit.org/271347@main

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: update patches with the upstream reference
---
Used config to test:
```
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_WEBKITGTK=y
```

Build fails:
                   bootlin-riscv32-glibc [17/42]: FAILED
                   bootlin-riscv64-glibc [18/42]: FAILED
                    bootlin-riscv64-musl [19/42]: FAILED

Reason:
>>> xlib_libxshmfence 1.3.2 Building
xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
   58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
      |                        ^~~~~~~~~
      |                        sys_futex
---
 ...velInterpreter.cpp-339-21-error-t6-w.patch |  39 --
 ...-fix-is_always_lock_free-assertion-o.patch |  64 ++++
 ...-fix-compilation-if-video-is-not-ena.patch | 355 ++++++++++++++++++
 package/webkitgtk/Config.in                   |   4 +-
 package/webkitgtk/webkitgtk.hash              |   6 +-
 package/webkitgtk/webkitgtk.mk                |  50 ++-
 6 files changed, 445 insertions(+), 73 deletions(-)
 delete mode 100644 package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
 create mode 100644 package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
 create mode 100644 package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch

diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
deleted file mode 100644
index c9667fedbd..0000000000
--- a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-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: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff
-Signed-off-by: Peter Korsgaard <peter@korsgaard.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 5064ead6cd2e..9a2e2653b121 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)
--- 
-2.39.2
-
diff --git a/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch b/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
new file mode 100644
index 0000000000..fffdb219c6
--- /dev/null
+++ b/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
@@ -0,0 +1,64 @@
+From 61dea7cc41a702752720b807da0164b896b183c4 Mon Sep 17 00:00:00 2001
+From: Charlie Lao <cclao@google.com>
+Date: Fri, 29 Mar 2024 10:30:59 -0700
+Subject: [PATCH] webkitgtk-2.44.0: fix is_always_lock_free assertion on 32 bit
+ arch
+
+Cherry-pick 276856.1@bugfix/angle_fix_is_always_lock_free (4399714e71df).
+
+https://bugs.webkit.org/show_bug.cgi?id=252670
+
+    [ANGLE]: fix is_always_lock_free assertion on 32 bit arch
+
+    Remove is_always_lock_free assertion from AtomicQueueSerial
+
+    Build will fail when compiled on 32 bit architecture. The code will
+    still function on 32 bit architecture but with performance penalty due
+    to lock. But we are not really expecting it actually run on 32 bit
+    platform with vulkan backend (the atomic queue serial is only used by
+    vulkan backend). We could move AtomicQueueSerial into vulkan backend,
+    but that will be a much larger change that I try to avoid. This CL
+    removes the static_assertion and make it 8 bytes aligned as well.
+
+    Bug: angleproject:7989
+    Change-Id: I3c0bd9877c4171485ca1aa9af0cf4621c1c23f56
+    Reviewed-on:
+    https://chromium-review.googlesource.com/c/angle/angle/+/5407870
+    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
+    Commit-Queue: Charlie Lao <cclao@google.com>
+
+    Upstream:
+    https://chromium.googlesource.com/angle/angle/+/321c6b63bebce3f31414d8a53fb2f94b5561b818
+
+    Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+
+Upstream: (2.44) https://github.com/WebKit/WebKit/commit/45567b5403c1820b674654a4470b7d075aa79ba3
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
+index 812927743a64..7146690c95ab 100644
+--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
+@@ -116,7 +116,7 @@ class Serial final
+ };
+ 
+ // Defines class to track the queue serial that can be load/store from multiple threads atomically.
+-class AtomicQueueSerial final
++class alignas(8) AtomicQueueSerial final
+ {
+   public:
+     AtomicQueueSerial &operator=(const Serial &other)
+@@ -129,7 +129,6 @@ class AtomicQueueSerial final
+   private:
+     static constexpr uint64_t kInvalid = 0;
+     std::atomic<uint64_t> mValue       = kInvalid;
+-    static_assert(decltype(mValue)::is_always_lock_free, "Must always be lock free");
+ };
+ 
+ // Used as default/initial serial
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch b/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch
new file mode 100644
index 0000000000..19b3ca4253
--- /dev/null
+++ b/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch
@@ -0,0 +1,355 @@
+From ee3cfea3078dafbf5e5c38891da85c35fceae717 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Tue, 2 Apr 2024 16:04:55 -0700
+Subject: [PATCH] webkitgtk-2.44.0: fix compilation if video is not enabled
+
+Cherry-pick 276977@main (ea2be408f27e).
+
+https://bugs.webkit.org/show_bug.cgi?id=271881
+
+Reviewed by Mike Wyrzykowski.
+
+    REGRESSION: fix compilation if !ENABLE(VIDEO)
+
+    [WebCore]: FullscreenManager: add missing include
+
+    HTMLMediaElement normally includes HTMLMediaElementEnums,
+    but only if VIDEO is enabled.
+
+    [WebCore]: FullscreenManager: fix undefined reference to HTMLMediaElement
+
+    HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+    [WebCore]: css: fix fix undefined reference to HTMLMediaElement
+
+    HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+    [WebCore]: InspectorDOMAgent: fix fix undefined reference to HTMLMediaElement
+
+    HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+    [WebKit]: WebGPU: drop duplicate directive in RemoteDevice
+
+    The #if PLATFORM(COCOA) && ENABLE(VIDEO) directive is already defined
+    outside the function scope, so drop the inner ones.
+
+    [WebCore]: GPUDevice: fix undefined reference to HTMLMediaElement
+
+    HTMLMediaElement is not compiled if VIDEO is not enabled.
+
+    [WebKit]: WebFullScreenManagerProxy: add missing include
+
+    HTMLMediaElement normally includes HTMLMediaElementEnums,
+    but only if VIDEO is enabled.
+
+    [WebKit]: WebFullScreenManager: add missing include
+
+    HTMLMediaElement normally includes HTMLMediaElementEnums,
+    but only if VIDEO is enabled.
+
+    [WebKit]: InjectedBundlePageFullScreenClient: add missing include
+
+    HTMLMediaElement normally includes HTMLMediaElementEnums,
+    but only if VIDEO is enabled.
+
+    [WebKit]: WebCoreArgumentCoders.serialization.in: fix undefined reference
+
+    CaptionUserPreferencesDisplayMode and SerializedPlatformDataCueValue
+    are only compiled if VIDEO is enabled.
+
+    Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+    Canonical link: https://commits.webkit.org/276977@main
+
+Upstream: (2.44) https://github.com/WebKit/WebKit/commit/004c28e211d9fbc10edcb404332d0f6ab31242f5
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ Source/WebCore/Modules/WebGPU/GPUDevice.cpp               | 4 ++++
+ Source/WebCore/Modules/WebGPU/GPUDevice.h                 | 3 +++
+ Source/WebCore/css/SelectorChecker.cpp                    | 2 ++
+ Source/WebCore/css/SelectorCheckerTestFunctions.h         | 2 ++
+ Source/WebCore/cssjit/SelectorCompiler.cpp                | 8 ++++++++
+ Source/WebCore/dom/FullscreenManager.cpp                  | 2 ++
+ Source/WebCore/dom/FullscreenManager.h                    | 1 +
+ Source/WebCore/inspector/agents/InspectorDOMAgent.cpp     | 5 +++++
+ Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp | 4 ----
+ .../WebKit/Shared/WebCoreArgumentCoders.serialization.in  | 4 ++++
+ Source/WebKit/UIProcess/WebFullScreenManagerProxy.h       | 1 +
+ .../WebKit/WebProcess/FullScreen/WebFullScreenManager.h   | 1 +
+ .../InjectedBundle/InjectedBundlePageFullScreenClient.h   | 1 +
+ 13 files changed, 34 insertions(+), 4 deletions(-)
+
+diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
+index 6f36a58b7839..2d9dd3b350aa 100644
+--- a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
+@@ -270,6 +270,7 @@ Ref<GPUSampler> GPUDevice::createSampler(const std::optional<GPUSamplerDescripto
+     return GPUSampler::create(m_backing->createSampler(convertToBacking(samplerDescriptor)));
+ }
+ 
++#if ENABLE(VIDEO)
+ GPUExternalTexture* GPUDevice::externalTextureForDescriptor(const GPUExternalTextureDescriptor& descriptor)
+ {
+     m_videoElementToExternalTextureMap.removeNullReferences();
+@@ -318,9 +319,11 @@ private:
+     HTMLVideoElement& m_videoElement;
+     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> &m_weakMap;
+ };
++#endif
+ 
+ Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextureDescriptor& externalTextureDescriptor)
+ {
++#if ENABLE(VIDEO)
+     if (auto* externalTexture = externalTextureForDescriptor(externalTextureDescriptor)) {
+         externalTexture->undestroy();
+ #if ENABLE(WEB_CODECS)
+@@ -331,6 +334,7 @@ Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextur
+         m_videoElementToExternalTextureMap.remove(*videoElement.get());
+         return *externalTexture;
+     }
++#endif
+     auto externalTexture = GPUExternalTexture::create(m_backing->importExternalTexture(externalTextureDescriptor.convertToBacking()));
+ #if ENABLE(VIDEO)
+ #if ENABLE(WEB_CODECS)
+diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.h b/Source/WebCore/Modules/WebGPU/GPUDevice.h
+index 09f9dd6d61ec..925bb8c57fb1 100644
+--- a/Source/WebCore/Modules/WebGPU/GPUDevice.h
++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.h
+@@ -157,7 +157,10 @@ private:
+     Ref<GPUQueue> m_queue;
+     Ref<GPUPipelineLayout> m_autoPipelineLayout;
+     HashSet<GPUBuffer*> m_buffersToUnmap;
++
++#if ENABLE(VIDEO)
+     GPUExternalTexture* externalTextureForDescriptor(const GPUExternalTextureDescriptor&);
++#endif
+ 
+     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> m_videoElementToExternalTextureMap;
+     bool m_waitingForDeviceLostPromise { false };
+diff --git a/Source/WebCore/css/SelectorChecker.cpp b/Source/WebCore/css/SelectorChecker.cpp
+index 60db400f695a..1a4c72c4dbc5 100644
+--- a/Source/WebCore/css/SelectorChecker.cpp
++++ b/Source/WebCore/css/SelectorChecker.cpp
+@@ -1055,9 +1055,11 @@ bool SelectorChecker::checkOne(CheckingContext& checkingContext, const LocalCont
+             return matchesAnimatingFullscreenTransitionPseudoClass(element);
+         case CSSSelector::PseudoClass::InternalFullscreenDocument:
+             return matchesFullscreenDocumentPseudoClass(element);
++#if ENABLE(VIDEO)
+         case CSSSelector::PseudoClass::InternalInWindowFullScreen:
+             return matchesInWindowFullScreenPseudoClass(element);
+ #endif
++#endif
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+         case CSSSelector::PseudoClass::PictureInPicture:
+             return matchesPictureInPicturePseudoClass(element);
+diff --git a/Source/WebCore/css/SelectorCheckerTestFunctions.h b/Source/WebCore/css/SelectorCheckerTestFunctions.h
+index 0be916897226..b14b4b87ec5e 100644
+--- a/Source/WebCore/css/SelectorCheckerTestFunctions.h
++++ b/Source/WebCore/css/SelectorCheckerTestFunctions.h
+@@ -432,6 +432,7 @@ ALWAYS_INLINE bool matchesFullscreenDocumentPseudoClass(const Element& element)
+     return fullscreenManager && fullscreenManager->fullscreenElement();
+ }
+ 
++#if ENABLE(VIDEO)
+ ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
+ {
+     if (&element != element.document().fullscreenManager().currentFullscreenElement())
+@@ -440,6 +441,7 @@ ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
+     auto* mediaElement = dynamicDowncast<HTMLMediaElement>(element);
+     return mediaElement && mediaElement->fullscreenMode() == HTMLMediaElementEnums::VideoFullscreenModeInWindow;
+ }
++#endif
+ 
+ #endif
+ 
+diff --git a/Source/WebCore/cssjit/SelectorCompiler.cpp b/Source/WebCore/cssjit/SelectorCompiler.cpp
+index 94972294daf9..6bf6658a1dbd 100644
+--- a/Source/WebCore/cssjit/SelectorCompiler.cpp
++++ b/Source/WebCore/cssjit/SelectorCompiler.cpp
+@@ -258,8 +258,10 @@ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesLangPseudo
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenPseudoClass, bool, (const Element&));
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenDocumentPseudoClass, bool, (const Element&));
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesAnimatingFullscreenTransitionPseudoClass, bool, (const Element&));
++#if ENABLE(VIDEO)
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element&));
+ #endif
++#endif
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesPictureInPicturePseudoClass, bool, (const Element&));
+ #endif
+@@ -910,6 +912,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClas
+     COUNT_SELECTOR_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClass);
+     return matchesAnimatingFullscreenTransitionPseudoClass(element);
+ }
++
++#if ENABLE(VIDEO)
+ JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element& element))
+ {
+     COUNT_SELECTOR_OPERATION(operationMatchesInWindowFullScreenPseudoClass);
+@@ -917,6 +921,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (c
+ }
+ #endif
+ 
++#endif
++
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+ JSC_DEFINE_JIT_OPERATION(operationMatchesPictureInPicturePseudoClass, bool, (const Element& element))
+ {
+@@ -1113,10 +1119,12 @@ static inline FunctionType addPseudoClassType(const CSSSelector& selector, Selec
+     case CSSSelector::PseudoClass::InternalAnimatingFullscreenTransition:
+         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesAnimatingFullscreenTransitionPseudoClass));
+         return FunctionType::SimpleSelectorChecker;
++#if ENABLE(VIDEO)
+     case CSSSelector::PseudoClass::InternalInWindowFullScreen:
+         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesInWindowFullScreenPseudoClass));
+         return FunctionType::SimpleSelectorChecker;
+ #endif
++#endif
+ 
+ #if ENABLE(PICTURE_IN_PICTURE_API)
+     case CSSSelector::PseudoClass::PictureInPicture:
+diff --git a/Source/WebCore/dom/FullscreenManager.cpp b/Source/WebCore/dom/FullscreenManager.cpp
+index 248694557dc3..58bf96045277 100644
+--- a/Source/WebCore/dom/FullscreenManager.cpp
++++ b/Source/WebCore/dom/FullscreenManager.cpp
+@@ -529,9 +529,11 @@ bool FullscreenManager::willEnterFullscreen(Element& element, HTMLMediaElementEn
+     INFO_LOG(LOGIDENTIFIER);
+     ASSERT(page()->settings().fullScreenEnabled());
+ 
++#if ENABLE(VIDEO)
+     if (RefPtr mediaElement = dynamicDowncast<HTMLMediaElement>(element))
+         mediaElement->willBecomeFullscreenElement(mode);
+     else
++#endif
+         element.willBecomeFullscreenElement();
+ 
+     ASSERT(&element == m_pendingFullscreenElement);
+diff --git a/Source/WebCore/dom/FullscreenManager.h b/Source/WebCore/dom/FullscreenManager.h
+index 3b1f74177cba..8f2287f8a756 100644
+--- a/Source/WebCore/dom/FullscreenManager.h
++++ b/Source/WebCore/dom/FullscreenManager.h
+@@ -31,6 +31,7 @@
+ #include "FrameDestructionObserverInlines.h"
+ #include "GCReachableRef.h"
+ #include "HTMLMediaElement.h"
++#include "HTMLMediaElementEnums.h"
+ #include "LayoutRect.h"
+ #include "Page.h"
+ #include <wtf/Deque.h>
+diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
+index 6e348089ef30..87f891547563 100644
+--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
++++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
+@@ -3098,6 +3098,7 @@ Protocol::ErrorStringOr<void> InspectorDOMAgent::setAllowEditingUserAgentShadowT
+ 
+ Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMediaStats(Protocol::DOM::NodeId nodeId)
+ {
++#if ENABLE(VIDEO)
+     Protocol::ErrorString errorString;
+ 
+     auto* element = assertElement(errorString, nodeId);
+@@ -3174,6 +3175,10 @@ Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMe
+     }
+ 
+     return stats;
++#else
++    UNUSED_PARAM(nodeId);
++    return makeUnexpected("no media support"_s);
++#endif
+ }
+ 
+ } // namespace WebCore
+diff --git a/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp b/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
+index cffe7e6a8b46..86138574b84d 100644
+--- a/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
++++ b/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
+@@ -174,7 +174,6 @@ void RemoteDevice::setSharedVideoFrameMemory(WebCore::SharedMemory::Handle&& han
+ #if PLATFORM(COCOA) && ENABLE(VIDEO)
+ void RemoteDevice::importExternalTextureFromVideoFrame(const WebGPU::ExternalTextureDescriptor& descriptor, WebGPUIdentifier identifier)
+ {
+-#if PLATFORM(COCOA) && ENABLE(VIDEO)
+     std::optional<WebKit::SharedVideoFrame> sharedVideoFrame = descriptor.sharedFrame;
+     RetainPtr<CVPixelBufferRef> pixelBuffer { nullptr };
+     if (sharedVideoFrame) {
+@@ -195,9 +194,6 @@ void RemoteDevice::importExternalTextureFromVideoFrame(const WebGPU::ExternalTex
+     auto externalTexture = m_backing->importExternalTexture(*convertedDescriptor);
+     auto remoteExternalTexture = RemoteExternalTexture::create(externalTexture, m_objectHeap, m_streamConnection.copyRef(), identifier);
+     m_objectHeap.addObject(identifier, remoteExternalTexture);
+-#else
+-    UNUSED_PARAM(identifier);
+-#endif
+ }
+ #endif // PLATFORM(COCOA) && ENABLE(VIDEO)
+ 
+diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
+index 0ed841ce1a2a..419fcda6ce7f 100644
+--- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
++++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
+@@ -7120,6 +7120,7 @@ header: <WebCore/Font.h>
+ [Nested] enum class WebCore::FontVisibility : bool;
+ [Nested] enum class WebCore::FontIsOrientationFallback : bool;
+ 
++#if ENABLE(VIDEO)
+ header: <WebCore/CaptionUserPreferences.h>
+ enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
+     Automatic,
+@@ -7127,6 +7128,7 @@ enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
+     AlwaysOn,
+     Manual,
+ };
++#endif
+ 
+ header: <WebCore/InspectorClient.h>
+ enum class WebCore::InspectorClientDeveloperPreference : uint8_t {
+@@ -7741,6 +7743,7 @@ header: <WebCore/FilterFunction.h>
+     SourceGraphic
+ };
+ 
++#if ENABLE(VIDEO)
+ class WebCore::SerializedPlatformDataCueValue {
+     std::optional<WebCore::SerializedPlatformDataCueValue::Data> data()
+ }
+@@ -7753,4 +7756,5 @@ class WebCore::SerializedPlatformDataCueValue {
+     RetainPtr<NSLocale> locale;
+     std::variant<std::nullptr_t, RetainPtr<NSString>, RetainPtr<NSDate>, RetainPtr<NSNumber>, RetainPtr<NSData>> value;
+ #endif
++#endif
+ };
+diff --git a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
+index e0834267bc71..dde36eae7f83 100644
+--- a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
++++ b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
+@@ -29,6 +29,7 @@
+ 
+ #include "MessageReceiver.h"
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <wtf/CompletionHandler.h>
+ #include <wtf/RefCounted.h>
+ #include <wtf/RefPtr.h>
+diff --git a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
+index 4c3e0f50ee35..5313dc181b8f 100644
+--- a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
++++ b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
+@@ -30,6 +30,7 @@
+ #include "WebCoreArgumentCoders.h"
+ #include <WebCore/EventListener.h>
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <WebCore/IntRect.h>
+ #include <WebCore/LengthBox.h>
+ #include <wtf/RefCounted.h>
+diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
+index c6d1113e1706..4b9490ac3c89 100644
+--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
+@@ -32,6 +32,7 @@
+ #include "WKBundlePageFullScreenClient.h"
+ #include <WebCore/FloatSize.h>
+ #include <WebCore/HTMLMediaElement.h>
++#include <WebCore/HTMLMediaElementEnums.h>
+ #include <WebCore/MediaPlayerEnums.h>
+ #include <wtf/Forward.h>
+ 
+-- 
+2.34.1
+
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index ace1b8739f..8ee90dda1c 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -29,6 +29,7 @@ config BR2_PACKAGE_WEBKITGTK
 	bool "webkitgtk"
 	depends on !BR2_STATIC_LIBS # wayland
 	depends on !BR2_BINFMT_FLAT # icu
+	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
@@ -42,18 +43,17 @@ config BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_HARFBUZZ
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBEPOXY
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBSECRET
 	select BR2_PACKAGE_LIBSOUP3
 	select BR2_PACKAGE_LIBTASN1
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBXSLT
-	select BR2_PACKAGE_OPENJPEG
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBP
 	select BR2_PACKAGE_WEBP_DEMUX
 	select BR2_PACKAGE_WOFF2
-	select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
index ac4799d4cf..dd1ec855ae 100644
--- a/package/webkitgtk/webkitgtk.hash
+++ b/package/webkitgtk/webkitgtk.hash
@@ -1,6 +1,6 @@
-# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums
-sha1  c3ffb2beaac56f1089029f2254482f48d9e3db37  webkitgtk-2.42.5.tar.xz
-sha256  b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749  webkitgtk-2.42.5.tar.xz
+# From https://www.webkitgtk.org/releases/webkitgtk-2.44.0.tar.xz.sums
+sha1  f3cf333015ab53aea66a5f4ad2343644e82d1c58  webkitgtk-2.44.0.tar.xz
+sha256  c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87  webkitgtk-2.44.0.tar.xz
 
 # Hashes for license files:
 sha256  0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4  Source/WebCore/LICENSE-APPLE
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 075a36654f..e7fd567021 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WEBKITGTK_VERSION = 2.42.5
+WEBKITGTK_VERSION = 2.44.0
 WEBKITGTK_SITE = https://www.webkitgtk.org/releases
 WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
 WEBKITGTK_INSTALL_STAGING = YES
@@ -14,8 +14,8 @@ WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-LGPL-2.1
 WEBKITGTK_CPE_ID_VENDOR = webkitgtk
 WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
-	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \
-	libtasn1 libxml2 libxslt openjpeg sqlite webp woff2
+	enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \
+	libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
 
 WEBKITGTK_CMAKE_BACKEND = ninja
 
@@ -28,8 +28,8 @@ WEBKITGTK_CONF_OPTS = \
 	-DENABLE_WEB_RTC=OFF \
 	-DPORT=GTK \
 	-DUSE_AVIF=OFF \
+	-DUSE_GTK4=OFF \
 	-DUSE_LIBHYPHEN=OFF \
-	-DUSE_OPENJPEG=ON \
 	-DUSE_WOFF2=ON
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
@@ -45,12 +45,14 @@ endif
 ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=ON \
-	-DENABLE_WEB_AUDIO=ON
+	-DENABLE_WEB_AUDIO=ON \
+	-DENABLE_WEB_CODECS=ON
 WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
 else
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=OFF \
-	-DENABLE_WEB_AUDIO=OFF
+	-DENABLE_WEB_AUDIO=OFF \
+	-DENABLE_WEB_CODECS=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
@@ -73,6 +75,13 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
+WEBKITGTK_DEPENDENCIES += libbacktrace
+else
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_LIBJXL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
 WEBKITGTK_DEPENDENCIES += libjxl
@@ -87,13 +96,6 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON
-WEBKITGTK_DEPENDENCIES += libgles
-else
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
 WEBKITGTK_DEPENDENCIES += libgbm
@@ -111,23 +113,10 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
-WEBKITGTK_DEPENDENCIES += libegl
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
 endif
 
-# If only the GTK Broadway backend is enabled, EGL is still needed.
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y)
-WEBKITGTK_DEPENDENCIES += libegl
-endif
-
-ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y)
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON
-WEBKITGTK_DEPENDENCIES += wpebackend-fdo
-else
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
 else
@@ -145,14 +134,17 @@ endif
 # have a check for these processors. The same goes for ARMv5 and ARMv6.
 # Disable JIT forcibly here and use the CLoop interpreter instead.
 #
-# Also, we have to disable the sampling profiler, which does NOT work
-# with ENABLE_C_LOOP.
+# Also, we have to disable the sampling profiler and webassembly,
+# which does NOT work with ENABLE_C_LOOP.
 #
 # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
 #                https://bugs.webkit.org/show_bug.cgi?id=172765
+#                https://bugs.webkit.org/show_bug.cgi?id=265218
 #
 ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
-WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
+	-DENABLE_SAMPLING_PROFILER=OFF \
+	-DENABLE_WEBASSEMBLY=OFF
 endif
 
 $(eval $(cmake-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0
  2024-04-03 17:14     ` [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
@ 2024-04-03 22:33       ` Adrian Perez de Castro
  2024-04-12  7:45         ` Adrian Perez de Castro
  0 siblings, 1 reply; 12+ messages in thread
From: Adrian Perez de Castro @ 2024-04-03 22:33 UTC (permalink / raw)
  To: Thomas Devoogdt; +Cc: thomas, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 32359 bytes --]

Hello Thomas,

You beat me to this update, thanks for submitting the patch, this one LGTM.

On Wed, 03 Apr 2024 19:14:24 +0200 Thomas Devoogdt <thomas@devoogdt.com> wrote:
> A lot has been changed, please consult the announcement [1], what's new [2],
> and the security advisory [3] for more details.
> 
> Specific to this bump:
> 
>  - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
>    While at it, also explicitly add the libepoxy dependency which is now selected
>    by libgtk3.
> 
>  - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.
> 
>  - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.
> 
>  - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
>    yet [2].
> 
>  - USE_LIBBACKTRACE has been added [5], so select it properly.
> 
>  - Support for ENABLE_WEB_CODECS has been added, which will now be enabled
>    together with audio and video support.
> 
>  - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
>    compiling for MIPS r6, ARMv5, and ARMv6.
> 
> At last, a patch is needed to fix compilation if video is not enabled.
> 
> [1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html
> [2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html
> [3]: https://webkitgtk.org/security/WSA-2024-0002.html
> [4]: https://commits.webkit.org/271345@main
> [5]: https://commits.webkit.org/268579@main
> [6]: https://commits.webkit.org/271347@main
> 
> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>

Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>

> ---
> v2: update patches with the upstream reference
> ---
> Used config to test:
> ```
> BR2_PACKAGE_XORG7=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_MESA3D_OPENGL_GLX=y
> BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
> BR2_PACKAGE_LIBGTK3=y
> BR2_PACKAGE_WEBKITGTK=y
> ```
> 
> Build fails:
>                    bootlin-riscv32-glibc [17/42]: FAILED
>                    bootlin-riscv64-glibc [18/42]: FAILED
>                     bootlin-riscv64-musl [19/42]: FAILED
> 
> Reason:
> >>> xlib_libxshmfence 1.3.2 Building
> xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
>    58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
>       |                        ^~~~~~~~~
>       |                        sys_futex
> ---
>  ...velInterpreter.cpp-339-21-error-t6-w.patch |  39 --
>  ...-fix-is_always_lock_free-assertion-o.patch |  64 ++++
>  ...-fix-compilation-if-video-is-not-ena.patch | 355 ++++++++++++++++++
>  package/webkitgtk/Config.in                   |   4 +-
>  package/webkitgtk/webkitgtk.hash              |   6 +-
>  package/webkitgtk/webkitgtk.mk                |  50 ++-
>  6 files changed, 445 insertions(+), 73 deletions(-)
>  delete mode 100644 package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
>  create mode 100644 package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
>  create mode 100644 package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch
> 
> diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
> deleted file mode 100644
> index c9667fedbd..0000000000
> --- a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -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: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff
> -Signed-off-by: Peter Korsgaard <peter@korsgaard.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 5064ead6cd2e..9a2e2653b121 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)
> --- 
> -2.39.2
> -
> diff --git a/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch b/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
> new file mode 100644
> index 0000000000..fffdb219c6
> --- /dev/null
> +++ b/package/webkitgtk/0001-webkitgtk-2.44.0-fix-is_always_lock_free-assertion-o.patch
> @@ -0,0 +1,64 @@
> +From 61dea7cc41a702752720b807da0164b896b183c4 Mon Sep 17 00:00:00 2001
> +From: Charlie Lao <cclao@google.com>
> +Date: Fri, 29 Mar 2024 10:30:59 -0700
> +Subject: [PATCH] webkitgtk-2.44.0: fix is_always_lock_free assertion on 32 bit
> + arch
> +
> +Cherry-pick 276856.1@bugfix/angle_fix_is_always_lock_free (4399714e71df).
> +
> +https://bugs.webkit.org/show_bug.cgi?id=252670
> +
> +    [ANGLE]: fix is_always_lock_free assertion on 32 bit arch
> +
> +    Remove is_always_lock_free assertion from AtomicQueueSerial
> +
> +    Build will fail when compiled on 32 bit architecture. The code will
> +    still function on 32 bit architecture but with performance penalty due
> +    to lock. But we are not really expecting it actually run on 32 bit
> +    platform with vulkan backend (the atomic queue serial is only used by
> +    vulkan backend). We could move AtomicQueueSerial into vulkan backend,
> +    but that will be a much larger change that I try to avoid. This CL
> +    removes the static_assertion and make it 8 bytes aligned as well.
> +
> +    Bug: angleproject:7989
> +    Change-Id: I3c0bd9877c4171485ca1aa9af0cf4621c1c23f56
> +    Reviewed-on:
> +    https://chromium-review.googlesource.com/c/angle/angle/+/5407870
> +    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> +    Commit-Queue: Charlie Lao <cclao@google.com>
> +
> +    Upstream:
> +    https://chromium.googlesource.com/angle/angle/+/321c6b63bebce3f31414d8a53fb2f94b5561b818
> +
> +    Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
> +
> +Upstream: (2.44) https://github.com/WebKit/WebKit/commit/45567b5403c1820b674654a4470b7d075aa79ba3
> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
> +---
> + Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h | 3 +--
> + 1 file changed, 1 insertion(+), 2 deletions(-)
> +
> +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
> +index 812927743a64..7146690c95ab 100644
> +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
> ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/serial_utils.h
> +@@ -116,7 +116,7 @@ class Serial final
> + };
> + 
> + // Defines class to track the queue serial that can be load/store from multiple threads atomically.
> +-class AtomicQueueSerial final
> ++class alignas(8) AtomicQueueSerial final
> + {
> +   public:
> +     AtomicQueueSerial &operator=(const Serial &other)
> +@@ -129,7 +129,6 @@ class AtomicQueueSerial final
> +   private:
> +     static constexpr uint64_t kInvalid = 0;
> +     std::atomic<uint64_t> mValue       = kInvalid;
> +-    static_assert(decltype(mValue)::is_always_lock_free, "Must always be lock free");
> + };
> + 
> + // Used as default/initial serial
> +-- 
> +2.34.1
> +
> diff --git a/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch b/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch
> new file mode 100644
> index 0000000000..19b3ca4253
> --- /dev/null
> +++ b/package/webkitgtk/0002-webkitgtk-2.44.0-fix-compilation-if-video-is-not-ena.patch
> @@ -0,0 +1,355 @@
> +From ee3cfea3078dafbf5e5c38891da85c35fceae717 Mon Sep 17 00:00:00 2001
> +From: Thomas Devoogdt <thomas@devoogdt.com>
> +Date: Tue, 2 Apr 2024 16:04:55 -0700
> +Subject: [PATCH] webkitgtk-2.44.0: fix compilation if video is not enabled
> +
> +Cherry-pick 276977@main (ea2be408f27e).
> +
> +https://bugs.webkit.org/show_bug.cgi?id=271881
> +
> +Reviewed by Mike Wyrzykowski.
> +
> +    REGRESSION: fix compilation if !ENABLE(VIDEO)
> +
> +    [WebCore]: FullscreenManager: add missing include
> +
> +    HTMLMediaElement normally includes HTMLMediaElementEnums,
> +    but only if VIDEO is enabled.
> +
> +    [WebCore]: FullscreenManager: fix undefined reference to HTMLMediaElement
> +
> +    HTMLMediaElement is not compiled if VIDEO is not enabled.
> +
> +    [WebCore]: css: fix fix undefined reference to HTMLMediaElement
> +
> +    HTMLMediaElement is not compiled if VIDEO is not enabled.
> +
> +    [WebCore]: InspectorDOMAgent: fix fix undefined reference to HTMLMediaElement
> +
> +    HTMLMediaElement is not compiled if VIDEO is not enabled.
> +
> +    [WebKit]: WebGPU: drop duplicate directive in RemoteDevice
> +
> +    The #if PLATFORM(COCOA) && ENABLE(VIDEO) directive is already defined
> +    outside the function scope, so drop the inner ones.
> +
> +    [WebCore]: GPUDevice: fix undefined reference to HTMLMediaElement
> +
> +    HTMLMediaElement is not compiled if VIDEO is not enabled.
> +
> +    [WebKit]: WebFullScreenManagerProxy: add missing include
> +
> +    HTMLMediaElement normally includes HTMLMediaElementEnums,
> +    but only if VIDEO is enabled.
> +
> +    [WebKit]: WebFullScreenManager: add missing include
> +
> +    HTMLMediaElement normally includes HTMLMediaElementEnums,
> +    but only if VIDEO is enabled.
> +
> +    [WebKit]: InjectedBundlePageFullScreenClient: add missing include
> +
> +    HTMLMediaElement normally includes HTMLMediaElementEnums,
> +    but only if VIDEO is enabled.
> +
> +    [WebKit]: WebCoreArgumentCoders.serialization.in: fix undefined reference
> +
> +    CaptionUserPreferencesDisplayMode and SerializedPlatformDataCueValue
> +    are only compiled if VIDEO is enabled.
> +
> +    Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
> +    Canonical link: https://commits.webkit.org/276977@main
> +
> +Upstream: (2.44) https://github.com/WebKit/WebKit/commit/004c28e211d9fbc10edcb404332d0f6ab31242f5
> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
> +---
> + Source/WebCore/Modules/WebGPU/GPUDevice.cpp               | 4 ++++
> + Source/WebCore/Modules/WebGPU/GPUDevice.h                 | 3 +++
> + Source/WebCore/css/SelectorChecker.cpp                    | 2 ++
> + Source/WebCore/css/SelectorCheckerTestFunctions.h         | 2 ++
> + Source/WebCore/cssjit/SelectorCompiler.cpp                | 8 ++++++++
> + Source/WebCore/dom/FullscreenManager.cpp                  | 2 ++
> + Source/WebCore/dom/FullscreenManager.h                    | 1 +
> + Source/WebCore/inspector/agents/InspectorDOMAgent.cpp     | 5 +++++
> + Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp | 4 ----
> + .../WebKit/Shared/WebCoreArgumentCoders.serialization.in  | 4 ++++
> + Source/WebKit/UIProcess/WebFullScreenManagerProxy.h       | 1 +
> + .../WebKit/WebProcess/FullScreen/WebFullScreenManager.h   | 1 +
> + .../InjectedBundle/InjectedBundlePageFullScreenClient.h   | 1 +
> + 13 files changed, 34 insertions(+), 4 deletions(-)
> +
> +diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
> +index 6f36a58b7839..2d9dd3b350aa 100644
> +--- a/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
> ++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
> +@@ -270,6 +270,7 @@ Ref<GPUSampler> GPUDevice::createSampler(const std::optional<GPUSamplerDescripto
> +     return GPUSampler::create(m_backing->createSampler(convertToBacking(samplerDescriptor)));
> + }
> + 
> ++#if ENABLE(VIDEO)
> + GPUExternalTexture* GPUDevice::externalTextureForDescriptor(const GPUExternalTextureDescriptor& descriptor)
> + {
> +     m_videoElementToExternalTextureMap.removeNullReferences();
> +@@ -318,9 +319,11 @@ private:
> +     HTMLVideoElement& m_videoElement;
> +     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> &m_weakMap;
> + };
> ++#endif
> + 
> + Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextureDescriptor& externalTextureDescriptor)
> + {
> ++#if ENABLE(VIDEO)
> +     if (auto* externalTexture = externalTextureForDescriptor(externalTextureDescriptor)) {
> +         externalTexture->undestroy();
> + #if ENABLE(WEB_CODECS)
> +@@ -331,6 +334,7 @@ Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextur
> +         m_videoElementToExternalTextureMap.remove(*videoElement.get());
> +         return *externalTexture;
> +     }
> ++#endif
> +     auto externalTexture = GPUExternalTexture::create(m_backing->importExternalTexture(externalTextureDescriptor.convertToBacking()));
> + #if ENABLE(VIDEO)
> + #if ENABLE(WEB_CODECS)
> +diff --git a/Source/WebCore/Modules/WebGPU/GPUDevice.h b/Source/WebCore/Modules/WebGPU/GPUDevice.h
> +index 09f9dd6d61ec..925bb8c57fb1 100644
> +--- a/Source/WebCore/Modules/WebGPU/GPUDevice.h
> ++++ b/Source/WebCore/Modules/WebGPU/GPUDevice.h
> +@@ -157,7 +157,10 @@ private:
> +     Ref<GPUQueue> m_queue;
> +     Ref<GPUPipelineLayout> m_autoPipelineLayout;
> +     HashSet<GPUBuffer*> m_buffersToUnmap;
> ++
> ++#if ENABLE(VIDEO)
> +     GPUExternalTexture* externalTextureForDescriptor(const GPUExternalTextureDescriptor&);
> ++#endif
> + 
> +     WeakHashMap<HTMLVideoElement, WeakPtr<GPUExternalTexture>, WeakPtrImplWithEventTargetData> m_videoElementToExternalTextureMap;
> +     bool m_waitingForDeviceLostPromise { false };
> +diff --git a/Source/WebCore/css/SelectorChecker.cpp b/Source/WebCore/css/SelectorChecker.cpp
> +index 60db400f695a..1a4c72c4dbc5 100644
> +--- a/Source/WebCore/css/SelectorChecker.cpp
> ++++ b/Source/WebCore/css/SelectorChecker.cpp
> +@@ -1055,9 +1055,11 @@ bool SelectorChecker::checkOne(CheckingContext& checkingContext, const LocalCont
> +             return matchesAnimatingFullscreenTransitionPseudoClass(element);
> +         case CSSSelector::PseudoClass::InternalFullscreenDocument:
> +             return matchesFullscreenDocumentPseudoClass(element);
> ++#if ENABLE(VIDEO)
> +         case CSSSelector::PseudoClass::InternalInWindowFullScreen:
> +             return matchesInWindowFullScreenPseudoClass(element);
> + #endif
> ++#endif
> + #if ENABLE(PICTURE_IN_PICTURE_API)
> +         case CSSSelector::PseudoClass::PictureInPicture:
> +             return matchesPictureInPicturePseudoClass(element);
> +diff --git a/Source/WebCore/css/SelectorCheckerTestFunctions.h b/Source/WebCore/css/SelectorCheckerTestFunctions.h
> +index 0be916897226..b14b4b87ec5e 100644
> +--- a/Source/WebCore/css/SelectorCheckerTestFunctions.h
> ++++ b/Source/WebCore/css/SelectorCheckerTestFunctions.h
> +@@ -432,6 +432,7 @@ ALWAYS_INLINE bool matchesFullscreenDocumentPseudoClass(const Element& element)
> +     return fullscreenManager && fullscreenManager->fullscreenElement();
> + }
> + 
> ++#if ENABLE(VIDEO)
> + ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
> + {
> +     if (&element != element.document().fullscreenManager().currentFullscreenElement())
> +@@ -440,6 +441,7 @@ ALWAYS_INLINE bool matchesInWindowFullScreenPseudoClass(const Element& element)
> +     auto* mediaElement = dynamicDowncast<HTMLMediaElement>(element);
> +     return mediaElement && mediaElement->fullscreenMode() == HTMLMediaElementEnums::VideoFullscreenModeInWindow;
> + }
> ++#endif
> + 
> + #endif
> + 
> +diff --git a/Source/WebCore/cssjit/SelectorCompiler.cpp b/Source/WebCore/cssjit/SelectorCompiler.cpp
> +index 94972294daf9..6bf6658a1dbd 100644
> +--- a/Source/WebCore/cssjit/SelectorCompiler.cpp
> ++++ b/Source/WebCore/cssjit/SelectorCompiler.cpp
> +@@ -258,8 +258,10 @@ static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesLangPseudo
> + static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenPseudoClass, bool, (const Element&));
> + static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesFullscreenDocumentPseudoClass, bool, (const Element&));
> + static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesAnimatingFullscreenTransitionPseudoClass, bool, (const Element&));
> ++#if ENABLE(VIDEO)
> + static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element&));
> + #endif
> ++#endif
> + #if ENABLE(PICTURE_IN_PICTURE_API)
> + static JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL(operationMatchesPictureInPicturePseudoClass, bool, (const Element&));
> + #endif
> +@@ -910,6 +912,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClas
> +     COUNT_SELECTOR_OPERATION(operationMatchesAnimatingFullscreenTransitionPseudoClass);
> +     return matchesAnimatingFullscreenTransitionPseudoClass(element);
> + }
> ++
> ++#if ENABLE(VIDEO)
> + JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (const Element& element))
> + {
> +     COUNT_SELECTOR_OPERATION(operationMatchesInWindowFullScreenPseudoClass);
> +@@ -917,6 +921,8 @@ JSC_DEFINE_JIT_OPERATION(operationMatchesInWindowFullScreenPseudoClass, bool, (c
> + }
> + #endif
> + 
> ++#endif
> ++
> + #if ENABLE(PICTURE_IN_PICTURE_API)
> + JSC_DEFINE_JIT_OPERATION(operationMatchesPictureInPicturePseudoClass, bool, (const Element& element))
> + {
> +@@ -1113,10 +1119,12 @@ static inline FunctionType addPseudoClassType(const CSSSelector& selector, Selec
> +     case CSSSelector::PseudoClass::InternalAnimatingFullscreenTransition:
> +         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesAnimatingFullscreenTransitionPseudoClass));
> +         return FunctionType::SimpleSelectorChecker;
> ++#if ENABLE(VIDEO)
> +     case CSSSelector::PseudoClass::InternalInWindowFullScreen:
> +         fragment.unoptimizedPseudoClasses.append(CodePtr<JSC::OperationPtrTag>(operationMatchesInWindowFullScreenPseudoClass));
> +         return FunctionType::SimpleSelectorChecker;
> + #endif
> ++#endif
> + 
> + #if ENABLE(PICTURE_IN_PICTURE_API)
> +     case CSSSelector::PseudoClass::PictureInPicture:
> +diff --git a/Source/WebCore/dom/FullscreenManager.cpp b/Source/WebCore/dom/FullscreenManager.cpp
> +index 248694557dc3..58bf96045277 100644
> +--- a/Source/WebCore/dom/FullscreenManager.cpp
> ++++ b/Source/WebCore/dom/FullscreenManager.cpp
> +@@ -529,9 +529,11 @@ bool FullscreenManager::willEnterFullscreen(Element& element, HTMLMediaElementEn
> +     INFO_LOG(LOGIDENTIFIER);
> +     ASSERT(page()->settings().fullScreenEnabled());
> + 
> ++#if ENABLE(VIDEO)
> +     if (RefPtr mediaElement = dynamicDowncast<HTMLMediaElement>(element))
> +         mediaElement->willBecomeFullscreenElement(mode);
> +     else
> ++#endif
> +         element.willBecomeFullscreenElement();
> + 
> +     ASSERT(&element == m_pendingFullscreenElement);
> +diff --git a/Source/WebCore/dom/FullscreenManager.h b/Source/WebCore/dom/FullscreenManager.h
> +index 3b1f74177cba..8f2287f8a756 100644
> +--- a/Source/WebCore/dom/FullscreenManager.h
> ++++ b/Source/WebCore/dom/FullscreenManager.h
> +@@ -31,6 +31,7 @@
> + #include "FrameDestructionObserverInlines.h"
> + #include "GCReachableRef.h"
> + #include "HTMLMediaElement.h"
> ++#include "HTMLMediaElementEnums.h"
> + #include "LayoutRect.h"
> + #include "Page.h"
> + #include <wtf/Deque.h>
> +diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
> +index 6e348089ef30..87f891547563 100644
> +--- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
> ++++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
> +@@ -3098,6 +3098,7 @@ Protocol::ErrorStringOr<void> InspectorDOMAgent::setAllowEditingUserAgentShadowT
> + 
> + Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMediaStats(Protocol::DOM::NodeId nodeId)
> + {
> ++#if ENABLE(VIDEO)
> +     Protocol::ErrorString errorString;
> + 
> +     auto* element = assertElement(errorString, nodeId);
> +@@ -3174,6 +3175,10 @@ Protocol::ErrorStringOr<Ref<Protocol::DOM::MediaStats>> InspectorDOMAgent::getMe
> +     }
> + 
> +     return stats;
> ++#else
> ++    UNUSED_PARAM(nodeId);
> ++    return makeUnexpected("no media support"_s);
> ++#endif
> + }
> + 
> + } // namespace WebCore
> +diff --git a/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp b/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
> +index cffe7e6a8b46..86138574b84d 100644
> +--- a/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
> ++++ b/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
> +@@ -174,7 +174,6 @@ void RemoteDevice::setSharedVideoFrameMemory(WebCore::SharedMemory::Handle&& han
> + #if PLATFORM(COCOA) && ENABLE(VIDEO)
> + void RemoteDevice::importExternalTextureFromVideoFrame(const WebGPU::ExternalTextureDescriptor& descriptor, WebGPUIdentifier identifier)
> + {
> +-#if PLATFORM(COCOA) && ENABLE(VIDEO)
> +     std::optional<WebKit::SharedVideoFrame> sharedVideoFrame = descriptor.sharedFrame;
> +     RetainPtr<CVPixelBufferRef> pixelBuffer { nullptr };
> +     if (sharedVideoFrame) {
> +@@ -195,9 +194,6 @@ void RemoteDevice::importExternalTextureFromVideoFrame(const WebGPU::ExternalTex
> +     auto externalTexture = m_backing->importExternalTexture(*convertedDescriptor);
> +     auto remoteExternalTexture = RemoteExternalTexture::create(externalTexture, m_objectHeap, m_streamConnection.copyRef(), identifier);
> +     m_objectHeap.addObject(identifier, remoteExternalTexture);
> +-#else
> +-    UNUSED_PARAM(identifier);
> +-#endif
> + }
> + #endif // PLATFORM(COCOA) && ENABLE(VIDEO)
> + 
> +diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
> +index 0ed841ce1a2a..419fcda6ce7f 100644
> +--- a/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
> ++++ b/Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
> +@@ -7120,6 +7120,7 @@ header: <WebCore/Font.h>
> + [Nested] enum class WebCore::FontVisibility : bool;
> + [Nested] enum class WebCore::FontIsOrientationFallback : bool;
> + 
> ++#if ENABLE(VIDEO)
> + header: <WebCore/CaptionUserPreferences.h>
> + enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
> +     Automatic,
> +@@ -7127,6 +7128,7 @@ enum class WebCore::CaptionUserPreferencesDisplayMode : uint8_t {
> +     AlwaysOn,
> +     Manual,
> + };
> ++#endif
> + 
> + header: <WebCore/InspectorClient.h>
> + enum class WebCore::InspectorClientDeveloperPreference : uint8_t {
> +@@ -7741,6 +7743,7 @@ header: <WebCore/FilterFunction.h>
> +     SourceGraphic
> + };
> + 
> ++#if ENABLE(VIDEO)
> + class WebCore::SerializedPlatformDataCueValue {
> +     std::optional<WebCore::SerializedPlatformDataCueValue::Data> data()
> + }
> +@@ -7753,4 +7756,5 @@ class WebCore::SerializedPlatformDataCueValue {
> +     RetainPtr<NSLocale> locale;
> +     std::variant<std::nullptr_t, RetainPtr<NSString>, RetainPtr<NSDate>, RetainPtr<NSNumber>, RetainPtr<NSData>> value;
> + #endif
> ++#endif
> + };
> +diff --git a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
> +index e0834267bc71..dde36eae7f83 100644
> +--- a/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
> ++++ b/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
> +@@ -29,6 +29,7 @@
> + 
> + #include "MessageReceiver.h"
> + #include <WebCore/HTMLMediaElement.h>
> ++#include <WebCore/HTMLMediaElementEnums.h>
> + #include <wtf/CompletionHandler.h>
> + #include <wtf/RefCounted.h>
> + #include <wtf/RefPtr.h>
> +diff --git a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
> +index 4c3e0f50ee35..5313dc181b8f 100644
> +--- a/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
> ++++ b/Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
> +@@ -30,6 +30,7 @@
> + #include "WebCoreArgumentCoders.h"
> + #include <WebCore/EventListener.h>
> + #include <WebCore/HTMLMediaElement.h>
> ++#include <WebCore/HTMLMediaElementEnums.h>
> + #include <WebCore/IntRect.h>
> + #include <WebCore/LengthBox.h>
> + #include <wtf/RefCounted.h>
> +diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
> +index c6d1113e1706..4b9490ac3c89 100644
> +--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
> ++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
> +@@ -32,6 +32,7 @@
> + #include "WKBundlePageFullScreenClient.h"
> + #include <WebCore/FloatSize.h>
> + #include <WebCore/HTMLMediaElement.h>
> ++#include <WebCore/HTMLMediaElementEnums.h>
> + #include <WebCore/MediaPlayerEnums.h>
> + #include <wtf/Forward.h>
> + 
> +-- 
> +2.34.1
> +
> diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
> index ace1b8739f..8ee90dda1c 100644
> --- a/package/webkitgtk/Config.in
> +++ b/package/webkitgtk/Config.in
> @@ -29,6 +29,7 @@ config BR2_PACKAGE_WEBKITGTK
>  	bool "webkitgtk"
>  	depends on !BR2_STATIC_LIBS # wayland
>  	depends on !BR2_BINFMT_FLAT # icu
> +	depends on BR2_PACKAGE_HAS_LIBEGL
>  	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
>  	depends on BR2_INSTALL_LIBSTDCPP
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
> @@ -42,18 +43,17 @@ config BR2_PACKAGE_WEBKITGTK
>  	select BR2_PACKAGE_HARFBUZZ
>  	select BR2_PACKAGE_ICU
>  	select BR2_PACKAGE_JPEG
> +	select BR2_PACKAGE_LIBEPOXY
>  	select BR2_PACKAGE_LIBGCRYPT
>  	select BR2_PACKAGE_LIBSECRET
>  	select BR2_PACKAGE_LIBSOUP3
>  	select BR2_PACKAGE_LIBTASN1
>  	select BR2_PACKAGE_LIBXML2
>  	select BR2_PACKAGE_LIBXSLT
> -	select BR2_PACKAGE_OPENJPEG
>  	select BR2_PACKAGE_SQLITE
>  	select BR2_PACKAGE_WEBP
>  	select BR2_PACKAGE_WEBP_DEMUX
>  	select BR2_PACKAGE_WOFF2
> -	select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND
>  	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
>  	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
>  	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
> diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
> index ac4799d4cf..dd1ec855ae 100644
> --- a/package/webkitgtk/webkitgtk.hash
> +++ b/package/webkitgtk/webkitgtk.hash
> @@ -1,6 +1,6 @@
> -# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums
> -sha1  c3ffb2beaac56f1089029f2254482f48d9e3db37  webkitgtk-2.42.5.tar.xz
> -sha256  b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749  webkitgtk-2.42.5.tar.xz
> +# From https://www.webkitgtk.org/releases/webkitgtk-2.44.0.tar.xz.sums
> +sha1  f3cf333015ab53aea66a5f4ad2343644e82d1c58  webkitgtk-2.44.0.tar.xz
> +sha256  c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87  webkitgtk-2.44.0.tar.xz
>  
>  # Hashes for license files:
>  sha256  0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4  Source/WebCore/LICENSE-APPLE
> diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
> index 075a36654f..e7fd567021 100644
> --- a/package/webkitgtk/webkitgtk.mk
> +++ b/package/webkitgtk/webkitgtk.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -WEBKITGTK_VERSION = 2.42.5
> +WEBKITGTK_VERSION = 2.44.0
>  WEBKITGTK_SITE = https://www.webkitgtk.org/releases
>  WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
>  WEBKITGTK_INSTALL_STAGING = YES
> @@ -14,8 +14,8 @@ WEBKITGTK_LICENSE_FILES = \
>  	Source/WebCore/LICENSE-LGPL-2.1
>  WEBKITGTK_CPE_ID_VENDOR = webkitgtk
>  WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
> -	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \
> -	libtasn1 libxml2 libxslt openjpeg sqlite webp woff2
> +	enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \
> +	libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
>  
>  WEBKITGTK_CMAKE_BACKEND = ninja
>  
> @@ -28,8 +28,8 @@ WEBKITGTK_CONF_OPTS = \
>  	-DENABLE_WEB_RTC=OFF \
>  	-DPORT=GTK \
>  	-DUSE_AVIF=OFF \
> +	-DUSE_GTK4=OFF \
>  	-DUSE_LIBHYPHEN=OFF \
> -	-DUSE_OPENJPEG=ON \
>  	-DUSE_WOFF2=ON
>  
>  ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
> @@ -45,12 +45,14 @@ endif
>  ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
>  WEBKITGTK_CONF_OPTS += \
>  	-DENABLE_VIDEO=ON \
> -	-DENABLE_WEB_AUDIO=ON
> +	-DENABLE_WEB_AUDIO=ON \
> +	-DENABLE_WEB_CODECS=ON
>  WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
>  else
>  WEBKITGTK_CONF_OPTS += \
>  	-DENABLE_VIDEO=OFF \
> -	-DENABLE_WEB_AUDIO=OFF
> +	-DENABLE_WEB_AUDIO=OFF \
> +	-DENABLE_WEB_CODECS=OFF
>  endif
>  
>  ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
> @@ -73,6 +75,13 @@ else
>  WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
>  endif
>  
> +ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
> +WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
> +WEBKITGTK_DEPENDENCIES += libbacktrace
> +else
> +WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
> +endif
> +
>  ifeq ($(BR2_PACKAGE_LIBJXL),y)
>  WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
>  WEBKITGTK_DEPENDENCIES += libjxl
> @@ -87,13 +96,6 @@ else
>  WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
>  endif
>  
> -ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
> -WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON
> -WEBKITGTK_DEPENDENCIES += libgles
> -else
> -WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF
> -endif
> -
>  ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
>  WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
>  WEBKITGTK_DEPENDENCIES += libgbm
> @@ -111,23 +113,10 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
>  WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
> -WEBKITGTK_DEPENDENCIES += libegl
>  else
>  WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
>  endif
>  
> -# If only the GTK Broadway backend is enabled, EGL is still needed.
> -ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y)
> -WEBKITGTK_DEPENDENCIES += libegl
> -endif
> -
> -ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y)
> -WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON
> -WEBKITGTK_DEPENDENCIES += wpebackend-fdo
> -else
> -WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF
> -endif
> -
>  ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
>  WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
>  else
> @@ -145,14 +134,17 @@ endif
>  # have a check for these processors. The same goes for ARMv5 and ARMv6.
>  # Disable JIT forcibly here and use the CLoop interpreter instead.
>  #
> -# Also, we have to disable the sampling profiler, which does NOT work
> -# with ENABLE_C_LOOP.
> +# Also, we have to disable the sampling profiler and webassembly,
> +# which does NOT work with ENABLE_C_LOOP.
>  #
>  # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
>  #                https://bugs.webkit.org/show_bug.cgi?id=172765
> +#                https://bugs.webkit.org/show_bug.cgi?id=265218
>  #
>  ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
> -WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF
> +WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
> +	-DENABLE_SAMPLING_PROFILER=OFF \
> +	-DENABLE_WEBASSEMBLY=OFF
>  endif
>  
>  $(eval $(cmake-package))
> -- 
> 2.34.1
> 
> 

Cheers,
—Adrián

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0
  2024-04-03 22:33       ` Adrian Perez de Castro
@ 2024-04-12  7:45         ` Adrian Perez de Castro
  2024-04-12 16:02           ` Thomas Devoogdt
  0 siblings, 1 reply; 12+ messages in thread
From: Adrian Perez de Castro @ 2024-04-12  7:45 UTC (permalink / raw)
  To: Thomas Devoogdt; +Cc: thomas, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 782 bytes --]

Hello again,

On Thu, 04 Apr 2024 01:33:45 +0300 Adrian Perez de Castro <aperez@igalia.com> wrote:

> You beat me to this update, thanks for submitting the patch, this one LGTM.
> 
> On Wed, 03 Apr 2024 19:14:24 +0200 Thomas Devoogdt <thomas@devoogdt.com> wrote:
> > A lot has been changed, please consult the announcement [1], what's new [2],
> > and the security advisory [3] for more details.

Quick heads up... We have released 2.44.1 a few days ago:

  https://webkitgtk.org/2024/04/09/webkitgtk2.44.1-released.html

Just in case you feel like doing a v3 that takes the version bump to 2.44.1
directly. There is no WSA but there's a few build fixes that would be good to
have in Buildroot (specially the one that makes it buildable in 32-bit arches
again).

Cheers,
—Adrián

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0
  2024-04-12  7:45         ` Adrian Perez de Castro
@ 2024-04-12 16:02           ` Thomas Devoogdt
  2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-12 16:02 UTC (permalink / raw)
  To: Adrian Perez de Castro; +Cc: Thomas Devoogdt, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 1050 bytes --]

Hi,


I will push a new patch set if I'm back home.
Currently on the ski slopes ;-)


Kr,

Thomas

Op vr 12 apr. 2024 09:45 schreef Adrian Perez de Castro <aperez@igalia.com>:

> Hello again,
>
> On Thu, 04 Apr 2024 01:33:45 +0300 Adrian Perez de Castro <
> aperez@igalia.com> wrote:
>
> > You beat me to this update, thanks for submitting the patch, this one
> LGTM.
> >
> > On Wed, 03 Apr 2024 19:14:24 +0200 Thomas Devoogdt <thomas@devoogdt.com>
> wrote:
> > > A lot has been changed, please consult the announcement [1], what's
> new [2],
> > > and the security advisory [3] for more details.
>
> Quick heads up... We have released 2.44.1 a few days ago:
>
>   https://webkitgtk.org/2024/04/09/webkitgtk2.44.1-released.html
>
> Just in case you feel like doing a v3 that takes the version bump to 2.44.1
> directly. There is no WSA but there's a few build fixes that would be good
> to
> have in Buildroot (specially the one that makes it buildable in 32-bit
> arches
> again).
>
> Cheers,
> —Adrián
>

[-- Attachment #1.2: Type: text/html, Size: 1849 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support
  2024-04-12 16:02           ` Thomas Devoogdt
@ 2024-04-16 18:42             ` Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 2/4] package/x11r7/xlib_libxshmfence: fix build on riscv32 Thomas Devoogdt
                                 ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-16 18:42 UTC (permalink / raw)
  To: buildroot
  Cc: Adrian Perez de Castro, Bernd Kuhls, Thomas Devoogdt,
	Romain Naour

Needed to compile webkitgtk 2.44.0.

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: n/a
v3: n/a
---
Question to the reviewer, should I use this:

```
ifeq ($(BR2_PACKAGE_HOST_LIBYAML),y)
HOST_RUBY_DEPENDENCIES += host-libyaml
endif
```
---
 package/ruby/ruby.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index 4b9ce80e67..ac7de38de4 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -20,7 +20,7 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL
 RUBY_CPE_ID_VENDOR = ruby-lang
 
 RUBY_DEPENDENCIES = host-pkgconf host-ruby
-HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl
+HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl host-libyaml
 RUBY_MAKE_ENV = $(TARGET_MAKE_ENV)
 RUBY_CONF_OPTS = \
 	--disable-install-doc \
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 2/4] package/x11r7/xlib_libxshmfence: fix build on riscv32
  2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
@ 2024-04-16 18:42               ` Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 3/4] Revert "package/x11r7/xlib_libxshmfence: disable on riscv32" Thomas Devoogdt
                                 ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-16 18:42 UTC (permalink / raw)
  To: buildroot
  Cc: Adrian Perez de Castro, Bernd Kuhls, Thomas Devoogdt,
	Romain Naour

In preparation to revert e39ad96136a8c340b3aea6b036024e28f14584f3,
and (partial) 26642e4cc09666110d5105e7867579a0e48cfa09.

xshmfence_futex.h: In function 'sys_futex':
xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
   58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
      |                        ^~~~~~~~~
      |                        sys_futex

Fixes:
 - https://gitlab.com/buildroot.org/buildroot/-/commit/e39ad96136a8c340b3aea6b036024e28f14584f3

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: n/a
v3: n/a
---
 ...tex.h-fix-build-on-32-bit-architectu.patch | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch

diff --git a/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch b/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch
new file mode 100644
index 0000000000..f4ef558615
--- /dev/null
+++ b/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch
@@ -0,0 +1,46 @@
+From 4fca45a71f08a5bebd12d39c85f49e0b0e4426bf Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Fri, 5 Apr 2024 10:45:15 +0200
+Subject: [PATCH] src/xshmfence_futex.h: fix build on 32-bit architectures
+ using 64-bit time_t
+
+Fix the following build failure on 32-bit architectures using 64-bit
+time_t (e.g. riscv32):
+
+xshmfence_futex.h: In function 'sys_futex':
+xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
+   58 |         return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
+      |                        ^~~~~~~~~
+      |                        sys_futex
+
+Similar to:
+https://gitlab.freedesktop.org/mesa/mesa/-/commit/7d87478124061915582412ba410759afe863d679
+
+Fixes:
+https://gitlab.com/buildroot.org/buildroot/-/commit/e39ad96136a8c340b3aea6b036024e28f14584f3
+
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+Part-of: <https://gitlab.freedesktop.org/xorg/lib/libxshmfence/-/merge_requests/8>
+Upstream: https://gitlab.freedesktop.org/xorg/lib/libxshmfence/-/commit/4fca45a71f08a5bebd12d39c85f49e0b0e4426bf
+---
+ src/xshmfence_futex.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h
+index 673ac0e..4476038 100644
+--- a/src/xshmfence_futex.h
++++ b/src/xshmfence_futex.h
+@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) {
+ #include <sys/time.h>
+ #include <sys/syscall.h>
+ 
++#ifndef SYS_futex
++#define SYS_futex SYS_futex_time64
++#endif
++
+ static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3)
+ {
+ 	return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
+-- 
+2.34.1
+
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 3/4] Revert "package/x11r7/xlib_libxshmfence: disable on riscv32"
  2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 2/4] package/x11r7/xlib_libxshmfence: fix build on riscv32 Thomas Devoogdt
@ 2024-04-16 18:42               ` Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 4/4] package/webkitgtk: bump to 2.44.1 Thomas Devoogdt
  2024-05-17 14:27               ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Yann E. MORIN
  3 siblings, 0 replies; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-16 18:42 UTC (permalink / raw)
  To: buildroot
  Cc: Adrian Perez de Castro, Bernd Kuhls, Thomas Devoogdt,
	Romain Naour

This reverts (partial) commit e39ad96136a8c340b3aea6b036024e28f14584f3,
and 26642e4cc09666110d5105e7867579a0e48cfa09.

Fixed by 0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch.

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: n/a
v3: n/a
---
 package/mesa3d/Config.in                    | 6 +++---
 package/x11r7/xlib_libxshmfence/Config.in   | 3 ---
 package/x11r7/xserver_xorg-server/Config.in | 3 +--
 3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 459051b2db..d8ea22ac91 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -99,7 +99,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
 	bool "Gallium Etnaviv driver"
-	depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_LIBDRM_ETNAVIV
 	help
@@ -135,7 +135,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
 	bool "Gallium lima driver"
-	depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	help
 	  Mesa driver for ARM Mali Utgard GPUs.
@@ -151,7 +151,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
 	bool "Gallium panfrost driver"
-	depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	help
 	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
diff --git a/package/x11r7/xlib_libxshmfence/Config.in b/package/x11r7/xlib_libxshmfence/Config.in
index 7823bda7c0..710476b357 100644
--- a/package/x11r7/xlib_libxshmfence/Config.in
+++ b/package/x11r7/xlib_libxshmfence/Config.in
@@ -1,8 +1,5 @@
 config BR2_PACKAGE_XLIB_LIBXSHMFENCE
 	bool "libxshmfence"
-	# Due to use of SYS_futex - can be enabled again when upstream
-	# adds SYS_futex64 as an alternative
-	depends on !BR2_RISCV_32
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	select BR2_PACKAGE_XORGPROTO
 	help
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index b933bd0285..89410f22bb 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -49,8 +49,7 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBPCIACCESS
-	select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
-		(BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32)
+	select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_TOOLCHAIN_HAS_SYNC_4
 	help
 	  This variant of the X.org server is the full-blown variant,
 	  as used by desktop GNU/Linux distributions. The drivers (for
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 4/4] package/webkitgtk: bump to 2.44.1
  2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 2/4] package/x11r7/xlib_libxshmfence: fix build on riscv32 Thomas Devoogdt
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 3/4] Revert "package/x11r7/xlib_libxshmfence: disable on riscv32" Thomas Devoogdt
@ 2024-04-16 18:42               ` Thomas Devoogdt
  2024-05-17 14:27               ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Yann E. MORIN
  3 siblings, 0 replies; 12+ messages in thread
From: Thomas Devoogdt @ 2024-04-16 18:42 UTC (permalink / raw)
  To: buildroot
  Cc: Adrian Perez de Castro, Bernd Kuhls, Thomas Devoogdt,
	Romain Naour

A lot has been changed in 2.44.0, please consult the announcement [1], what's new [2],
and the security advisory [3] for more details.

Specific to this bump:

 - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
   While at it, also explicitly add the libepoxy dependency which is now selected
   by libgtk3.

 - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.

 - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.

 - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
   yet [2].

 - USE_LIBBACKTRACE has been added [5], so select it properly.

 - Support for ENABLE_WEB_CODECS has been added, which will now be enabled
   together with audio and video support.

 - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
   compiling for MIPS r6, ARMv5, and ARMv6.

In the meantime, a follow-up 2.44.1 release has been announced [7], which contains
a bunch of patches that were accepted upstream. Including build fixes for 32-bit
devices, and disabling video.

[1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html
[2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[3]: https://webkitgtk.org/security/WSA-2024-0002.html
[4]: https://commits.webkit.org/271345@main
[5]: https://commits.webkit.org/268579@main
[6]: https://commits.webkit.org/271347@main
[7]: https://webkitgtk.org/2024/04/09/webkitgtk2.44.1-released.html

Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
---
v2: update patches with the upstream reference
v3: bump to 2.44.1 and drop the upstreamed patches
---
Used config to test:
```
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_WEBKITGTK=y
```
---
 ...velInterpreter.cpp-339-21-error-t6-w.patch | 39 ---------------
 package/webkitgtk/Config.in                   |  4 +-
 package/webkitgtk/webkitgtk.hash              |  6 +--
 package/webkitgtk/webkitgtk.mk                | 50 ++++++++-----------
 4 files changed, 26 insertions(+), 73 deletions(-)
 delete mode 100644 package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch

diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
deleted file mode 100644
index c9667fedbd..0000000000
--- a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-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: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff
-Signed-off-by: Peter Korsgaard <peter@korsgaard.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 5064ead6cd2e..9a2e2653b121 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)
--- 
-2.39.2
-
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index ace1b8739f..8ee90dda1c 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -29,6 +29,7 @@ config BR2_PACKAGE_WEBKITGTK
 	bool "webkitgtk"
 	depends on !BR2_STATIC_LIBS # wayland
 	depends on !BR2_BINFMT_FLAT # icu
+	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
@@ -42,18 +43,17 @@ config BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_HARFBUZZ
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBEPOXY
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBSECRET
 	select BR2_PACKAGE_LIBSOUP3
 	select BR2_PACKAGE_LIBTASN1
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBXSLT
-	select BR2_PACKAGE_OPENJPEG
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBP
 	select BR2_PACKAGE_WEBP_DEMUX
 	select BR2_PACKAGE_WOFF2
-	select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
index ac4799d4cf..06363a5fe2 100644
--- a/package/webkitgtk/webkitgtk.hash
+++ b/package/webkitgtk/webkitgtk.hash
@@ -1,6 +1,6 @@
-# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums
-sha1  c3ffb2beaac56f1089029f2254482f48d9e3db37  webkitgtk-2.42.5.tar.xz
-sha256  b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749  webkitgtk-2.42.5.tar.xz
+# From https://www.webkitgtk.org/releases/webkitgtk-2.44.1.tar.xz.sums
+sha1  070541abef5db19c32b64b68f664bacf05ef2e0e  webkitgtk-2.44.1.tar.xz
+sha256  425b1459b0f04d0600c78d1abb5e7edfa3c060a420f8b231e9a6a2d5d29c5561  webkitgtk-2.44.1.tar.xz
 
 # Hashes for license files:
 sha256  0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4  Source/WebCore/LICENSE-APPLE
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 075a36654f..6761bae28f 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WEBKITGTK_VERSION = 2.42.5
+WEBKITGTK_VERSION = 2.44.1
 WEBKITGTK_SITE = https://www.webkitgtk.org/releases
 WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
 WEBKITGTK_INSTALL_STAGING = YES
@@ -14,8 +14,8 @@ WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-LGPL-2.1
 WEBKITGTK_CPE_ID_VENDOR = webkitgtk
 WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
-	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \
-	libtasn1 libxml2 libxslt openjpeg sqlite webp woff2
+	enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \
+	libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
 
 WEBKITGTK_CMAKE_BACKEND = ninja
 
@@ -28,8 +28,8 @@ WEBKITGTK_CONF_OPTS = \
 	-DENABLE_WEB_RTC=OFF \
 	-DPORT=GTK \
 	-DUSE_AVIF=OFF \
+	-DUSE_GTK4=OFF \
 	-DUSE_LIBHYPHEN=OFF \
-	-DUSE_OPENJPEG=ON \
 	-DUSE_WOFF2=ON
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
@@ -45,12 +45,14 @@ endif
 ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=ON \
-	-DENABLE_WEB_AUDIO=ON
+	-DENABLE_WEB_AUDIO=ON \
+	-DENABLE_WEB_CODECS=ON
 WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
 else
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=OFF \
-	-DENABLE_WEB_AUDIO=OFF
+	-DENABLE_WEB_AUDIO=OFF \
+	-DENABLE_WEB_CODECS=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
@@ -73,6 +75,13 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
+WEBKITGTK_DEPENDENCIES += libbacktrace
+else
+WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_LIBJXL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
 WEBKITGTK_DEPENDENCIES += libjxl
@@ -87,13 +96,6 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON
-WEBKITGTK_DEPENDENCIES += libgles
-else
-WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
 WEBKITGTK_DEPENDENCIES += libgbm
@@ -111,23 +113,10 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
-WEBKITGTK_DEPENDENCIES += libegl
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
 endif
 
-# If only the GTK Broadway backend is enabled, EGL is still needed.
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y)
-WEBKITGTK_DEPENDENCIES += libegl
-endif
-
-ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y)
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON
-WEBKITGTK_DEPENDENCIES += wpebackend-fdo
-else
-WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
 WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
 else
@@ -145,14 +134,17 @@ endif
 # have a check for these processors. The same goes for ARMv5 and ARMv6.
 # Disable JIT forcibly here and use the CLoop interpreter instead.
 #
-# Also, we have to disable the sampling profiler, which does NOT work
-# with ENABLE_C_LOOP.
+# Also, we have to disable the sampling profiler and webassembly,
+# which does NOT work with ENABLE_C_LOOP.
 #
 # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
 #                https://bugs.webkit.org/show_bug.cgi?id=172765
+#                https://bugs.webkit.org/show_bug.cgi?id=265218
 #
 ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
-WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
+	-DENABLE_SAMPLING_PROFILER=OFF \
+	-DENABLE_WEBASSEMBLY=OFF
 endif
 
 $(eval $(cmake-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support
  2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
                                 ` (2 preceding siblings ...)
  2024-04-16 18:42               ` [Buildroot] [PATCH v3 4/4] package/webkitgtk: bump to 2.44.1 Thomas Devoogdt
@ 2024-05-17 14:27               ` Yann E. MORIN
  3 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2024-05-17 14:27 UTC (permalink / raw)
  To: Thomas Devoogdt
  Cc: Adrian Perez de Castro, Bernd Kuhls, Romain Naour, buildroot

Thomas, All,

On 2024-04-16 20:42 +0200, Thomas Devoogdt spake thusly:
> Needed to compile webkitgtk 2.44.0.
> 
> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>

I just pushed a similar patch from Peter:
    95093854e4c6  package/ruby: build host-ruby with yaml support

Regards,
Yann E. MORIN.

> ---
> v2: n/a
> v3: n/a
> ---
> Question to the reviewer, should I use this:
> 
> ```
> ifeq ($(BR2_PACKAGE_HOST_LIBYAML),y)
> HOST_RUBY_DEPENDENCIES += host-libyaml
> endif
> ```
> ---
>  package/ruby/ruby.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
> index 4b9ce80e67..ac7de38de4 100644
> --- a/package/ruby/ruby.mk
> +++ b/package/ruby/ruby.mk
> @@ -20,7 +20,7 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL
>  RUBY_CPE_ID_VENDOR = ruby-lang
>  
>  RUBY_DEPENDENCIES = host-pkgconf host-ruby
> -HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl
> +HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl host-libyaml
>  RUBY_MAKE_ENV = $(TARGET_MAKE_ENV)
>  RUBY_CONF_OPTS = \
>  	--disable-install-doc \
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-05-17 14:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-01 18:39 [Buildroot] [PATCH v1 1/2] package/ruby: add host psych (yaml) support Thomas Devoogdt
2024-04-01 18:39 ` [Buildroot] [PATCH v1 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
2024-04-03 17:14   ` [Buildroot] [PATCH v2 1/2] package/ruby: add host psych (yaml) support Thomas Devoogdt
2024-04-03 17:14     ` [Buildroot] [PATCH v2 2/2] package/webkitgtk: bump to 2.44.0 Thomas Devoogdt
2024-04-03 22:33       ` Adrian Perez de Castro
2024-04-12  7:45         ` Adrian Perez de Castro
2024-04-12 16:02           ` Thomas Devoogdt
2024-04-16 18:42             ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Thomas Devoogdt
2024-04-16 18:42               ` [Buildroot] [PATCH v3 2/4] package/x11r7/xlib_libxshmfence: fix build on riscv32 Thomas Devoogdt
2024-04-16 18:42               ` [Buildroot] [PATCH v3 3/4] Revert "package/x11r7/xlib_libxshmfence: disable on riscv32" Thomas Devoogdt
2024-04-16 18:42               ` [Buildroot] [PATCH v3 4/4] package/webkitgtk: bump to 2.44.1 Thomas Devoogdt
2024-05-17 14:27               ` [Buildroot] [PATCH v3 1/4] package/ruby: add host psych (yaml) support Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox