Index | Thread | Search

From:
Antoine Jacoutot <ajacoutot@bsdfrog.org>
Subject:
[update] webkitgtk 2.50.0
To:
ports@openbsd.org
Date:
Sun, 21 Sep 2025 13:49:25 +0200

Download raw body.

Thread
Hi.

This is a first tentative update diff for the latest webkitgtk 2.50.0 release.
Sending now so that it has a chance to make release and be able to get security
updates (webkitgtk does not do stable releases -1 nor backports, it just
increments).

This is not the final diff, I need to see how to re-enable the GPU process
without dma-buf support which OpenBSD does not support.
There might also be a few adjustments here and there.

But that should be enough to test whether it builds and runs on !amd64
platforms. I am in the process of testing arm64.

If it fails to build on 32-bit platforms, let me know if this fixes it:
https://github.com/WebKit/WebKit/pull/51010

Thanks a lot!


Index: Makefile
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/Makefile,v
diff -u -p -r1.241 Makefile
--- Makefile	4 Sep 2025 14:07:26 -0000	1.241
+++ Makefile	21 Sep 2025 11:43:58 -0000
@@ -10,19 +10,18 @@ PORTROACH =		limitw:1,even
 
 COMMENT =		GTK+ port of the WebKit (${API}) rendering engine
 
-V =			2.48.6
+V =			2.50.0
 DISTNAME =		webkitgtk-${V}
 PKGNAME =		webkitgtk${API:S/.//}-${V}
 FULLPKGNAME =		${PKGNAME}
-REVISION =		0
 
 EXTRACT_SUFX =		.tar.xz
 SUBST_VARS =		API
 DPB_PROPERTIES =	parallel
 
-SHARED_LIBS +=  javascriptcoregtk-${API}     4.2
-SHARED_LIBS +=  webkit2gtk-${API}            4.2
-SHARED_LIBS +=	webkitgtk-6.0                0.4
+SHARED_LIBS +=  javascriptcoregtk-${API}     4.3
+SHARED_LIBS +=  webkit2gtk-${API}            4.3
+SHARED_LIBS +=	webkitgtk-6.0                0.5
 
 CATEGORIES =		www
 
@@ -38,11 +37,11 @@ WANTLIB += enchant-2 epoll-shim epoxy ex
 WANTLIB += flite_cmu_grapheme_lex flite_cmu_indic_lang flite_cmu_indic_lex
 WANTLIB += flite_cmu_time_awb flite_cmu_us_awb flite_cmu_us_kal
 WANTLIB += flite_cmu_us_kal16 flite_cmu_us_rms flite_cmu_us_slt
-WANTLIB += flite_cmulex flite_usenglish fontconfig freetype gbm
+WANTLIB += flite_cmulex flite_usenglish fontconfig freetype
 WANTLIB += gcrypt gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0
 WANTLIB += gobject-2.0 gpg-error gstallocators-1.0 gstapp-1.0
 WANTLIB += gstaudio-1.0 gstbase-1.0 gstfft-1.0 gstgl-1.0 gstpbutils-1.0
-WANTLIB += gstreamer-1.0 gsttag-1.0 gsttranscoder-1.0 gstvideo-1.0
+WANTLIB += gstreamer-1.0 gsttag-1.0 gstvideo-1.0
 WANTLIB += harfbuzz harfbuzz-icu hyphen icudata icui18n icuuc
 WANTLIB += intl jpeg jxl lcms2 m pango-1.0 pangocairo-1.0 png
 WANTLIB += secret-1 sqlite3 tasn1 wayland-client wayland-egl wayland-server
@@ -81,7 +80,6 @@ LIB_DEPENDS =		archivers/woff2 \
 			graphics/libjxl \
 			graphics/libwebp \
 			multimedia/gstreamer1/plugins-base \
-			multimedia/gstreamer1/plugins-bad \
 			textproc/enchant2 \
 			textproc/hyphen \
 			textproc/libxslt \
@@ -96,6 +94,9 @@ CONFIGURE_ARGS =	-DPORT=GTK \
 
 # XXX revisit at next release if execinfo can be used
 CONFIGURE_ARGS +=	-DUSE_LIBBACKTRACE=OFF
+
+# XXX needs dma-buf support (linux/dma-buf.h)
+CONFIGURE_ARGS +=	-DUSE_GBM=OFF
 
 # until proven useful
 # see defaults in Source/WTF/wtf/PlatformEnable.h
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/distinfo,v
diff -u -p -r1.135 distinfo
--- distinfo	4 Sep 2025 14:07:26 -0000	1.135
+++ distinfo	21 Sep 2025 11:43:58 -0000
@@ -1,2 +1,2 @@
-SHA256 (webkitgtk-2.48.6.tar.xz) = 2awwNLejnCqqVn5hErMSSxWOWRp0Q55Gl0oDHdDkTiQ=
-SIZE (webkitgtk-2.48.6.tar.xz) = 44127356
+SHA256 (webkitgtk-2.50.0.tar.xz) = 5WS4CZ+aOuMkCVObKQu9KtCE6ZttItSqxeUeRVTfi8I=
+SIZE (webkitgtk-2.50.0.tar.xz) = 45267072
Index: patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h,v
diff -u -p -r1.18 patch-Source_JavaScriptCore_assembler_ARM64Assembler_h
--- patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h	24 Mar 2025 10:42:37 -0000	1.18
+++ patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/JavaScriptCore/assembler/ARM64Assembler.h
 --- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig
 +++ Source/JavaScriptCore/assembler/ARM64Assembler.h
-@@ -3745,6 +3745,8 @@ class ARM64Assembler { (public)
+@@ -3758,6 +3758,8 @@ class ARM64Assembler { (public)
      {
  #if OS(DARWIN)
          sys_icache_invalidate(code, size);
Index: patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h,v
diff -u -p -r1.13 patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h
--- patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h	6 Oct 2024 15:14:44 -0000	1.13
+++ patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/JavaScriptCore/assembler/ARMv7Assembler.h
 --- Source/JavaScriptCore/assembler/ARMv7Assembler.h.orig
 +++ Source/JavaScriptCore/assembler/ARMv7Assembler.h
-@@ -2840,6 +2840,8 @@ class ARMv7Assembler { (public)
+@@ -2848,6 +2848,8 @@ class ARMv7Assembler { (public)
              linuxPageFlush(current, current + page);
  
          linuxPageFlush(current, end);
Index: patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerRISCV64_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerRISCV64_h,v
diff -u -p -r1.4 patch-Source_JavaScriptCore_assembler_MacroAssemblerRISCV64_h
--- patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerRISCV64_h	4 Jan 2025 14:35:15 -0000	1.4
+++ patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerRISCV64_h	21 Sep 2025 11:43:58 -0000
@@ -15,7 +15,7 @@ Date: Mon, 11 Nov 2024 00:56:40 +0800
 Index: Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
 --- Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h.orig
 +++ Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
-@@ -171,6 +171,14 @@ class MacroAssemblerRISCV64 : public AbstractMacroAsse
+@@ -173,6 +173,14 @@ class MacroAssemblerRISCV64 : public AbstractMacroAsse
      static constexpr RegisterID framePointerRegister = RISCV64Registers::fp;
      static constexpr RegisterID linkRegister = RISCV64Registers::ra;
  
Index: patches/patch-Source_JavaScriptCore_assembler_RISCV64Assembler_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_RISCV64Assembler_h,v
diff -u -p -r1.2 patch-Source_JavaScriptCore_assembler_RISCV64Assembler_h
--- patches/patch-Source_JavaScriptCore_assembler_RISCV64Assembler_h	25 Mar 2024 22:36:18 -0000	1.2
+++ patches/patch-Source_JavaScriptCore_assembler_RISCV64Assembler_h	21 Sep 2025 11:43:58 -0000
@@ -4,7 +4,7 @@ and int64_t is a long long.
 Index: Source/JavaScriptCore/assembler/RISCV64Assembler.h
 --- Source/JavaScriptCore/assembler/RISCV64Assembler.h.orig
 +++ Source/JavaScriptCore/assembler/RISCV64Assembler.h
-@@ -187,7 +187,7 @@ struct ImmediateBase {
+@@ -189,7 +189,7 @@ struct ImmediateBase {
  
      template<typename T>
      static auto isValid(T immValue)
@@ -13,7 +13,7 @@ Index: Source/JavaScriptCore/assembler/R
      {
          constexpr unsigned shift = sizeof(T) * 8 - immediateSize;
          return immValue == ((immValue << shift) >> shift);
-@@ -210,6 +210,14 @@ struct ImmediateBase {
+@@ -212,6 +212,14 @@ struct ImmediateBase {
      }
  
      template<typename ImmediateType>
@@ -28,7 +28,7 @@ Index: Source/JavaScriptCore/assembler/R
      static ImmediateType v(int64_t immValue)
      {
          ASSERT(isValid(immValue));
-@@ -311,7 +319,7 @@ struct JImmediate : ImmediateBase<21> {
+@@ -313,7 +321,7 @@ struct JImmediate : ImmediateBase<21> {
  };
  
  struct ImmediateDecomposition {
@@ -37,7 +37,7 @@ Index: Source/JavaScriptCore/assembler/R
      explicit ImmediateDecomposition(T immediate)
          : upper(UImmediate(0))
          , lower(IImmediate(0))
-@@ -2188,7 +2196,15 @@ class RISCV64Assembler { (public)
+@@ -2190,7 +2198,15 @@ class RISCV64Assembler { (public)
              : ImmediateLoader(int64_t(imm))
          { }
  
Index: patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp,v
diff -u -p -r1.5 patch-Source_JavaScriptCore_heap_BlockDirectory_cpp
--- patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp	6 Oct 2024 15:14:44 -0000	1.5
+++ patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp	21 Sep 2025 11:43:58 -0000
@@ -7,8 +7,8 @@ Index: Source/JavaScriptCore/heap/BlockD
      // FIXME: We should figure out a solution for Windows and PlayStation.
      // QNX doesn't have mincore(), though the information can be had. But since all mapped
      // pages are resident, does it matter?
--#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX)
-+#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(OPENBSD)
+-#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU)
++#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) && !OS(OPENBSD)
      size_t pageSize = WTF::pageSize();
      ASSERT(!(MarkedBlock::blockSize % pageSize));
      auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize;
Index: patches/patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion_cpp,v
diff -u -p -r1.1 patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion_cpp
--- patches/patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion_cpp	24 Mar 2025 10:42:37 -0000	1.1
+++ patches/patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion_cpp	21 Sep 2025 11:43:58 -0000
@@ -7,8 +7,8 @@ Index: Source/JavaScriptCore/runtime/JSC
          }
          cacheVersion.construct(0);
          dataLogLnIf(JSCBytecodeCacheVersionInternal::verbose, "Failed to get UUID for JavaScriptCore framework");
--#elif OS(UNIX) && !PLATFORM(PLAYSTATION)
-+#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(OPENBSD)
+-#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU)
++#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) && !OS(OPENBSD)
          auto result = ([&] -> std::optional<uint32_t> {
              Dl_info info { };
              if (!dladdr(jsFunctionAddr, &info))
Index: patches/patch-Source_JavaScriptCore_runtime_MachineContext_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MachineContext_h,v
diff -u -p -r1.15 patch-Source_JavaScriptCore_runtime_MachineContext_h
--- patches/patch-Source_JavaScriptCore_runtime_MachineContext_h	24 Mar 2025 10:42:37 -0000	1.15
+++ patches/patch-Source_JavaScriptCore_runtime_MachineContext_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/JavaScriptCore/runtime/MachineContext.h
 --- Source/JavaScriptCore/runtime/MachineContext.h.orig
 +++ Source/JavaScriptCore/runtime/MachineContext.h
-@@ -182,6 +182,24 @@ static inline void*& stackPointerImpl(mcontext_t& mach
+@@ -177,6 +177,24 @@ static inline void*& stackPointerImpl(mcontext_t& mach
  #error Unknown Architecture
  #endif
  
@@ -26,7 +26,7 @@ Index: Source/JavaScriptCore/runtime/Mac
  #elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
  
  #if CPU(X86_64)
-@@ -305,6 +323,24 @@ static inline void*& framePointerImpl(mcontext_t& mach
+@@ -294,6 +312,24 @@ static inline void*& framePointerImpl(mcontext_t& mach
  #error Unknown Architecture
  #endif
  
@@ -51,7 +51,7 @@ Index: Source/JavaScriptCore/runtime/Mac
  #elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
  
  // The following sequence depends on glibc's sys/ucontext.h.
-@@ -467,6 +503,24 @@ static inline void*& instructionPointerImpl(mcontext_t
+@@ -452,6 +488,24 @@ static inline void*& instructionPointerImpl(mcontext_t
  #error Unknown Architecture
  #endif
  
@@ -76,7 +76,7 @@ Index: Source/JavaScriptCore/runtime/Mac
  #elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
  
  // The following sequence depends on glibc's sys/ucontext.h.
-@@ -655,6 +709,24 @@ inline void*& argumentPointer<1>(mcontext_t& machineCo
+@@ -624,6 +678,24 @@ inline void*& argumentPointer<1>(mcontext_t& machineCo
  #error Unknown Architecture
  #endif
  
@@ -101,7 +101,7 @@ Index: Source/JavaScriptCore/runtime/Mac
  #elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
  
  // The following sequence depends on glibc's sys/ucontext.h.
-@@ -712,6 +784,24 @@ inline void* wasmInstancePointer(const mcontext_t& mac
+@@ -681,6 +753,24 @@ inline void* wasmInstancePointer(const mcontext_t& mac
  #error Unknown Architecture
  #endif
  
@@ -126,7 +126,7 @@ Index: Source/JavaScriptCore/runtime/Mac
  #elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
  
  // The following sequence depends on glibc's sys/ucontext.h.
-@@ -830,6 +920,24 @@ inline void*& llintInstructionPointer(mcontext_t& mach
+@@ -794,6 +884,24 @@ inline void*& llintInstructionPointer(mcontext_t& mach
      return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R8]);
  #elif CPU(ARM64)
      return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_X4]);
Index: patches/patch-Source_JavaScriptCore_runtime_MathCommon_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MathCommon_cpp,v
diff -u -p -r1.2 patch-Source_JavaScriptCore_runtime_MathCommon_cpp
--- patches/patch-Source_JavaScriptCore_runtime_MathCommon_cpp	22 Oct 2024 09:16:31 -0000	1.2
+++ patches/patch-Source_JavaScriptCore_runtime_MathCommon_cpp	21 Sep 2025 11:43:58 -0000
@@ -9,7 +9,7 @@ Modified to remove OS(LINUX) from #if
 Index: Source/JavaScriptCore/runtime/MathCommon.cpp
 --- Source/JavaScriptCore/runtime/MathCommon.cpp.orig
 +++ Source/JavaScriptCore/runtime/MathCommon.cpp
-@@ -657,6 +657,28 @@ static inline double roundeven(double operand)
+@@ -626,6 +626,28 @@ static inline double roundeven(double operand)
  }
  #endif
  
Index: patches/patch-Source_JavaScriptCore_runtime_Options_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_Options_cpp,v
diff -u -p -r1.14 patch-Source_JavaScriptCore_runtime_Options_cpp
--- patches/patch-Source_JavaScriptCore_runtime_Options_cpp	24 Mar 2025 10:42:37 -0000	1.14
+++ patches/patch-Source_JavaScriptCore_runtime_Options_cpp	21 Sep 2025 11:43:58 -0000
@@ -9,8 +9,8 @@ Index: Source/JavaScriptCore/runtime/Opt
      return std::nullopt;
  }
  
--#if CPU(ADDRESS64) || OS(DARWIN)
-+#if CPU(ADDRESS64) || OS(DARWIN) || OS(OPENBSD)
+-#if CPU(ADDRESS64) || OS(DARWIN) || OS(HAIKU)
++#if CPU(ADDRESS64) || OS(DARWIN) || OS(HAIKU) || OS(OPENBSD)
  template<>
  std::optional<OptionsStorage::Size> parse(const char* string)
  {
@@ -18,8 +18,8 @@ Index: Source/JavaScriptCore/runtime/Opt
          return value;
      return std::nullopt;
  }
--#endif // CPU(ADDRESS64) || OS(DARWIN)
-+#endif // CPU(ADDRESS64) || OS(DARWIN) || OS(OPENBSD)
+-#endif // CPU(ADDRESS64) || OS(DARWIN) || OS(HAIKU)
++#endif // CPU(ADDRESS64) || OS(DARWIN) || OS(HAIKU) || OS(OPENBSD)
  
  template<>
  std::optional<OptionsStorage::Double> parse(const char* string)
Index: patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h,v
diff -u -p -r1.1 patch-Source_ThirdParty_ANGLE_src_common_platform_h
--- patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h	26 Mar 2022 16:11:56 -0000	1.1
+++ patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/ThirdParty/ANGLE/src/common/platform.h
 --- Source/ThirdParty/ANGLE/src/common/platform.h.orig
 +++ Source/ThirdParty/ANGLE/src/common/platform.h
-@@ -26,7 +26,15 @@
+@@ -23,7 +23,15 @@
  #elif defined(__linux__) || defined(EMSCRIPTEN)
  #    define ANGLE_PLATFORM_LINUX 1
  #    define ANGLE_PLATFORM_POSIX 1
Index: patches/patch-Source_ThirdParty_ANGLE_src_libANGLE_renderer_gl_egl_DisplayEGL_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_libANGLE_renderer_gl_egl_DisplayEGL_cpp,v
diff -u -p -r1.2 patch-Source_ThirdParty_ANGLE_src_libANGLE_renderer_gl_egl_DisplayEGL_cpp
--- patches/patch-Source_ThirdParty_ANGLE_src_libANGLE_renderer_gl_egl_DisplayEGL_cpp	24 Mar 2025 10:42:37 -0000	1.2
+++ patches/patch-Source_ThirdParty_ANGLE_src_libANGLE_renderer_gl_egl_DisplayEGL_cpp	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
 --- Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp.orig
 +++ Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
-@@ -108,6 +108,8 @@ const char *DisplayEGL::getEGLPath() const
+@@ -109,6 +109,8 @@ const char *DisplayEGL::getEGLPath() const
  #    else
      return "/system/lib/libEGL.so";
  #    endif
Index: patches/patch-Source_WTF_wtf_Compiler_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WTF_wtf_Compiler_h,v
diff -u -p -r1.4 patch-Source_WTF_wtf_Compiler_h
--- patches/patch-Source_WTF_wtf_Compiler_h	24 Mar 2025 10:42:37 -0000	1.4
+++ patches/patch-Source_WTF_wtf_Compiler_h	21 Sep 2025 11:43:58 -0000
@@ -3,12 +3,12 @@ Disable musttail attribute, not supporte
 Index: Source/WTF/wtf/Compiler.h
 --- Source/WTF/wtf/Compiler.h.orig
 +++ Source/WTF/wtf/Compiler.h
-@@ -293,7 +293,7 @@
- #if COMPILER(CLANG)
- #if __SIZEOF_POINTER__ == 8
- #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
--#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32)
-+#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__mips__)
+@@ -277,7 +277,7 @@
+ // written for 64-bit may fail to tail call on 32-bit.
+ // It also doesn't work on ppc64le: https://github.com/llvm/llvm-project/issues/98859
+ // and on Windows: https://github.com/llvm/llvm-project/issues/116568
+-#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32)
++#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__mips__)
  #define MUST_TAIL_CALL [[clang::musttail]]
  #define HAVE_MUST_TAIL_CALL 1
  #endif
Index: patches/patch-Source_WTF_wtf_PlatformEnable_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformEnable_h,v
diff -u -p -r1.14 patch-Source_WTF_wtf_PlatformEnable_h
--- patches/patch-Source_WTF_wtf_PlatformEnable_h	2 Apr 2025 11:34:40 -0000	1.14
+++ patches/patch-Source_WTF_wtf_PlatformEnable_h	21 Sep 2025 11:43:58 -0000
@@ -4,7 +4,7 @@ Hunk 2: https://bugs.webkit.org/show_bug
 Index: Source/WTF/wtf/PlatformEnable.h
 --- Source/WTF/wtf/PlatformEnable.h.orig
 +++ Source/WTF/wtf/PlatformEnable.h
-@@ -646,7 +646,7 @@
+@@ -651,7 +651,7 @@
  
  #if CPU(RISCV64)
  #undef ENABLE_WEBASSEMBLY
@@ -13,7 +13,7 @@ Index: Source/WTF/wtf/PlatformEnable.h
  #undef ENABLE_WEBASSEMBLY_OMGJIT
  #define ENABLE_WEBASSEMBLY_OMGJIT 0
  #undef ENABLE_WEBASSEMBLY_BBQJIT
-@@ -696,7 +696,7 @@
+@@ -701,7 +701,7 @@
  #if !defined(ENABLE_DFG_JIT) && ENABLE(JIT)
  
  /* Enable the DFG JIT on X86 and X86_64. */
Index: patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX_cpp
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX_cpp,v
diff -u -p -r1.3 patch-Source_WTF_wtf_posix_FileSystemPOSIX_cpp
--- patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX_cpp	24 Mar 2025 10:42:37 -0000	1.3
+++ patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX_cpp	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/WTF/wtf/posix/FileSystemPOSIX.cpp
 --- Source/WTF/wtf/posix/FileSystemPOSIX.cpp.orig
 +++ Source/WTF/wtf/posix/FileSystemPOSIX.cpp
-@@ -203,7 +203,11 @@ std::optional<WallTime> fileCreationTime(const String&
+@@ -116,7 +116,11 @@ std::optional<WallTime> fileCreationTime(const String&
      if (stat(fsRep.data(), &fileInfo) == -1)
          return std::nullopt;
  
Index: patches/patch-Source_WebCore_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WebCore_CMakeLists_txt,v
diff -u -p -r1.5 patch-Source_WebCore_CMakeLists_txt
--- patches/patch-Source_WebCore_CMakeLists_txt	24 Mar 2025 10:42:37 -0000	1.5
+++ patches/patch-Source_WebCore_CMakeLists_txt	21 Sep 2025 11:43:58 -0000
@@ -4,7 +4,7 @@ See patch-Source_WebCore_SourcesGTK_txt
 Index: Source/WebCore/CMakeLists.txt
 --- Source/WebCore/CMakeLists.txt.orig
 +++ Source/WebCore/CMakeLists.txt
-@@ -2024,6 +2024,7 @@ set(WebCore_LIBRARIES
+@@ -2074,6 +2074,7 @@ set(WebCore_LIBRARIES
      LibXml2::LibXml2
      SQLite::SQLite3
      ZLIB::ZLIB
Index: patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h,v
diff -u -p -r1.5 patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h
--- patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h	25 Mar 2024 22:36:18 -0000	1.5
+++ patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h	21 Sep 2025 11:43:58 -0000
@@ -16,7 +16,7 @@ Index: Source/WebCore/platform/graphics/
  
      // Since floats have 23 mantissa bits, every value can be represented losslessly.
      constexpr operator float() const;
-@@ -108,7 +112,11 @@ constexpr FontSelectionValue FontSelectionValue::minim
+@@ -110,7 +114,11 @@ constexpr FontSelectionValue FontSelectionValue::minim
      return { std::numeric_limits<BackingType>::min(), RawTag::RawTag };
  }
  
Index: patches/patch-Source_WebCore_platform_network_DNS_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_WebCore_platform_network_DNS_h,v
diff -u -p -r1.5 patch-Source_WebCore_platform_network_DNS_h
--- patches/patch-Source_WebCore_platform_network_DNS_h	24 Mar 2025 10:42:37 -0000	1.5
+++ patches/patch-Source_WebCore_platform_network_DNS_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/WebCore/platform/network/DNS.h
 --- Source/WebCore/platform/network/DNS.h.orig
 +++ Source/WebCore/platform/network/DNS.h
-@@ -36,6 +36,7 @@
+@@ -35,6 +35,7 @@
  #include <ws2tcpip.h>
  #else
  #include <netinet/in.h>
Index: patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStoreDMABuf_cpp
===================================================================
RCS file: patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStoreDMABuf_cpp
diff -N patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStoreDMABuf_cpp
--- patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStoreDMABuf_cpp	24 Mar 2025 10:42:37 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-No dma-buf on OpenBSD.
-
-Index: Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
---- Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp.orig
-+++ Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
-@@ -82,7 +82,11 @@ OptionSet<RendererBufferTransportMode> AcceleratedBack
-     static OptionSet<RendererBufferTransportMode> mode;
-     static std::once_flag onceFlag;
-     std::call_once(onceFlag, [] {
-+#if defined(__OpenBSD__)
-+        const char* disableDMABuf = "1";
-+#else
-         const char* disableDMABuf = getenv("WEBKIT_DISABLE_DMABUF_RENDERER");
-+#endif
-         if (disableDMABuf && strcmp(disableDMABuf, "0"))
-             return;
- 
Index: patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStore_cpp
===================================================================
RCS file: patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStore_cpp
diff -N patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStore_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_WebKit_UIProcess_gtk_AcceleratedBackingStore_cpp	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,17 @@
+Index: Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp
+--- Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp.orig
++++ Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp
+@@ -88,6 +88,13 @@ OptionSet<RendererBufferTransportMode> AcceleratedBack
+         if (disableDMABuf && g_strcmp0(disableDMABuf, "0"))
+             return;
+ 
++/* no dma-buf on OpenBSD but keep the opportunity to set the variable to "0" to
++   test potential future support */
++#if defined(__OpenBSD__)
++        if (!disableDMABuf)
++            return;
++#endif
++
+         const char* platformExtensions = eglQueryString(nullptr, EGL_EXTENSIONS);
+         if (!GLContext::isExtensionSupported(platformExtensions, "EGL_KHR_platform_gbm")
+             && !GLContext::isExtensionSupported(platformExtensions, "EGL_MESA_platform_surfaceless")) {
Index: patches/patch-Source_bmalloc_bmalloc_BPlatform_h
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_BPlatform_h,v
diff -u -p -r1.1 patch-Source_bmalloc_bmalloc_BPlatform_h
--- patches/patch-Source_bmalloc_bmalloc_BPlatform_h	26 Mar 2022 16:11:56 -0000	1.1
+++ patches/patch-Source_bmalloc_bmalloc_BPlatform_h	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/bmalloc/bmalloc/BPlatform.h
 --- Source/bmalloc/bmalloc/BPlatform.h.orig
 +++ Source/bmalloc/bmalloc/BPlatform.h
-@@ -52,6 +52,10 @@
+@@ -60,6 +60,10 @@
  #define BOS_FREEBSD 1
  #endif
  
@@ -12,3 +12,12 @@ Index: Source/bmalloc/bmalloc/BPlatform.
  #if defined(WIN32) || defined(_WIN32)
  #define BOS_WINDOWS 1
  #endif
+@@ -349,7 +353,7 @@
+ 
+ /* BENABLE(LIBPAS) is enabling libpas build. But this does not mean we use libpas for bmalloc replacement. */
+ #if !defined(BENABLE_LIBPAS)
+-#if BCPU(ADDRESS64) && (BOS(DARWIN) || BOS(WINDOWS) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION))
++#if BCPU(ADDRESS64) && (BOS(DARWIN) || BOS(WINDOWS) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || (BOS(OPENBSD) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION))
+ #define BENABLE_LIBPAS 1
+ #ifndef PAS_BMALLOC
+ #define PAS_BMALLOC 1
Index: patches/patch-Source_bmalloc_bmalloc_bmalloc_h
===================================================================
RCS file: patches/patch-Source_bmalloc_bmalloc_bmalloc_h
diff -N patches/patch-Source_bmalloc_bmalloc_bmalloc_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_bmalloc_bmalloc_h	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,12 @@
+Index: Source/bmalloc/bmalloc/bmalloc.h
+--- Source/bmalloc/bmalloc/bmalloc.h.orig
++++ Source/bmalloc/bmalloc/bmalloc.h
+@@ -210,7 +210,7 @@ inline size_t availableMemory()
+     return bmalloc::availableMemory();
+ }
+     
+-#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD)
++#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) || BOS(OPENBSD)
+ inline size_t memoryFootprint()
+ {
+     return bmalloc::memoryFootprint();
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_c
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_c
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_c	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,12 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c
+--- Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c.orig
++++ Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c
+@@ -68,6 +68,8 @@ void pas_committed_pages_vector_construct(pas_committe
+         if (result && (mem_info.State & MEM_COMMIT))
+             vector->raw_data[i] = (unsigned char) 1;
+     }
++#elif PAS_OS(OPENBSD)
++    /* no mindore on OpenBSD */
+ #else
+     PAS_SYSCALL(mincore(object, size, vector->raw_data));
+ #endif
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_h
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_h
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_committed_pages_vector_h	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,12 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h
+--- Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h.orig
++++ Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h
+@@ -56,7 +56,7 @@ static inline bool pas_committed_pages_vector_is_commi
+                                                            size_t page_index)
+ {
+     PAS_ASSERT(page_index < vector->size);
+-#if PAS_OS(LINUX) || PAS_OS(WINDOWS)
++#if PAS_OS(LINUX) || PAS_OS(WINDOWS) || PAS_OS(OPENBSD)
+     return vector->raw_data[page_index];
+ #else
+     return vector->raw_data[page_index] & (MINCORE_REFERENCED |
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_monotonic_time_c
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_monotonic_time_c
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_monotonic_time_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_monotonic_time_c	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,28 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c
+--- Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c.orig
++++ Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c
+@@ -36,7 +36,7 @@
+ #include <windows.h>
+ #endif
+ 
+-#if PAS_OS(LINUX) || PAS_PLATFORM(PLAYSTATION)
++#if PAS_OS(LINUX) || PAS_PLATFORM(PLAYSTATION) || PAS_OS(OPENBSD)
+ #include <time.h>
+ #endif
+ 
+@@ -85,6 +85,15 @@ uint64_t pas_get_current_monotonic_time_nanoseconds(vo
+ {
+     struct timespec ts;
+     clock_gettime(CLOCK_MONOTONIC_COARSE, &ts);
++    return ts.tv_sec * 1.0e9 + ts.tv_nsec;
++}
++
++#elif PAS_OS(OPENBSD)
++
++uint64_t pas_get_current_monotonic_time_nanoseconds(void)
++{
++    struct timespec ts;
++    clock_gettime(CLOCK_MONOTONIC, &ts);
+     return ts.tv_sec * 1.0e9 + ts.tv_nsec;
+ }
+ 
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_page_malloc_c
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_page_malloc_c
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_page_malloc_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_page_malloc_c	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,21 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_page_malloc.c
+--- Source/bmalloc/libpas/src/libpas/pas_page_malloc.c.orig
++++ Source/bmalloc/libpas/src/libpas/pas_page_malloc.c
+@@ -323,7 +323,7 @@ static void commit_impl(void* ptr, size_t size, bool d
+     }
+ #elif PAS_PLATFORM(PLAYSTATION)
+     // We don't need to call madvise to map page.
+-#elif PAS_OS(FREEBSD)
++#elif PAS_OS(FREEBSD) || PAS_OS(OPENBSD)
+     PAS_SYSCALL(madvise(ptr, size, MADV_NORMAL));
+ #endif
+ }
+@@ -366,7 +366,7 @@ static void decommit_impl(void* ptr, size_t size,
+         pas_page_malloc_zero_fill(ptr, size);
+     else
+         PAS_SYSCALL(madvise(ptr, size, MADV_FREE_REUSABLE));
+-#elif PAS_OS(FREEBSD)
++#elif PAS_OS(FREEBSD) || PAS_OS(OPENBSD)
+     PAS_SYSCALL(madvise(ptr, size, MADV_FREE));
+ #elif PAS_OS(LINUX)
+     PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED));
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_platform_h
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_platform_h
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_platform_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_platform_h	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,14 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_platform.h
+--- Source/bmalloc/libpas/src/libpas/pas_platform.h.orig
++++ Source/bmalloc/libpas/src/libpas/pas_platform.h
+@@ -140,6 +140,10 @@
+ #define PAS_OS_FREEBSD 1
+ #endif
+ 
++#if defined(__OpenBSD__)
++#define PAS_OS_OPENBSD 1
++#endif
++
+ #if defined(WIN32) || defined(_WIN32)
+ #define PAS_OS_WINDOWS 1
+ #endif
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_probabilistic_guard_malloc_allocator_c
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_probabilistic_guard_malloc_allocator_c
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_probabilistic_guard_malloc_allocator_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_probabilistic_guard_malloc_allocator_c	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,14 @@
+XXX undefined symbol backtrace even with USE_LIBBACKTRACE=OFF
+
+Index: Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
+--- Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c.orig
++++ Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
+@@ -48,7 +48,7 @@
+ #endif
+ 
+ /* PlayStation does not currently support the backtrace API. Android API versions < 33 don't, either. Windows does not either. */
+-#if !PAS_PLATFORM(PLAYSTATION) && (!PAS_OS(ANDROID) || __ANDROID_API__ >= 33) && !PAS_OS(WINDOWS)
++#if !PAS_PLATFORM(PLAYSTATION) && (!PAS_OS(ANDROID) || __ANDROID_API__ >= 33) && !PAS_OS(WINDOWS) &&!PAS_OS(OPENBSD)
+ #include <execinfo.h>
+ #else
+ size_t backtrace(void** buffer, size_t size)
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_random_h
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_random_h
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_random_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_random_h	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,12 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_random.h
+--- Source/bmalloc/libpas/src/libpas/pas_random.h.orig
++++ Source/bmalloc/libpas/src/libpas/pas_random.h
+@@ -69,7 +69,7 @@ static inline unsigned pas_get_secure_random(unsigned 
+ 
+     /* Secure random is only supported on Darwin and FreeBSD at the moment due to arc4random being built into the
+       stdlib. Fall back to fast behavior on other operating systems. */
+-#if PAS_OS(DARWIN) || PAS_OS(FREEBSD)
++#if PAS_OS(DARWIN) || PAS_OS(FREEBSD) || PAS_OS(OPENBSD)
+     rand_value = arc4random_uniform(upper_bound);
+ #else
+     pas_fast_random_state = pas_xorshift32(pas_fast_random_state);
Index: patches/patch-Source_bmalloc_libpas_src_libpas_pas_thread_local_cache_c
===================================================================
RCS file: patches/patch-Source_bmalloc_libpas_src_libpas_pas_thread_local_cache_c
diff -N patches/patch-Source_bmalloc_libpas_src_libpas_pas_thread_local_cache_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Source_bmalloc_libpas_src_libpas_pas_thread_local_cache_c	21 Sep 2025 11:43:58 -0000
@@ -0,0 +1,22 @@
+Index: Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c
+--- Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c.orig
++++ Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c
+@@ -49,7 +49,7 @@
+ #if PAS_OS(DARWIN)
+ #include <mach/thread_act.h>
+ #endif
+-#if PAS_PLATFORM(PLAYSTATION)
++#if PAS_PLATFORM(PLAYSTATION) || PAS_OS(OPENBSD)
+ #include <pthread_np.h>
+ #endif
+ 
+@@ -220,6 +220,9 @@ static void dump_thread_diagnostics(pthread_t thread)
+ #endif
+ #if PAS_PLATFORM(PLAYSTATION)
+     getname_result = pthread_get_name_np(thread, thread_name);
++#elif PAS_OS(OPENBSD)
++    pthread_get_name_np(thread, thread_name, sizeof(thread_name));
++    getname_result = 0;
+ #else
+     getname_result = pthread_getname_np(thread, thread_name, sizeof(thread_name));
+ #endif
Index: patches/patch-Source_cmake_WebKitCommon_cmake
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_cmake_WebKitCommon_cmake,v
diff -u -p -r1.15 patch-Source_cmake_WebKitCommon_cmake
--- patches/patch-Source_cmake_WebKitCommon_cmake	6 Oct 2024 15:14:45 -0000	1.15
+++ patches/patch-Source_cmake_WebKitCommon_cmake	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/cmake/WebKitCommon.cmake
 --- Source/cmake/WebKitCommon.cmake.orig
 +++ Source/cmake/WebKitCommon.cmake
-@@ -129,6 +129,8 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
+@@ -133,6 +133,8 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
          set(WTF_CPU_RISCV64 1)
      elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch64")
          set(WTF_CPU_LOONGARCH64 1)
@@ -10,7 +10,7 @@ Index: Source/cmake/WebKitCommon.cmake
      else ()
          set(WTF_CPU_UNKNOWN 1)
      endif ()
-@@ -200,9 +202,9 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
+@@ -204,9 +206,9 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
      # We cannot check for RUBY_FOUND because it is set only when the full package is installed and
      # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro
      # for finding only the Ruby interpreter.
@@ -23,7 +23,7 @@ Index: Source/cmake/WebKitCommon.cmake
      endif ()
  
      # -----------------------------------------------------------------------------
-@@ -215,7 +217,7 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
+@@ -219,7 +221,7 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
      include(CheckCXXCompilerFlag)
      include(CheckCXXSourceCompiles)
      include(CheckFunctionExists)
Index: patches/patch-Source_cmake_WebKitCompilerFlags_cmake
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_cmake_WebKitCompilerFlags_cmake,v
diff -u -p -r1.18 patch-Source_cmake_WebKitCompilerFlags_cmake
--- patches/patch-Source_cmake_WebKitCompilerFlags_cmake	3 Apr 2025 21:38:24 -0000	1.18
+++ patches/patch-Source_cmake_WebKitCompilerFlags_cmake	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/cmake/WebKitCompilerFlags.cmake
 --- Source/cmake/WebKitCompilerFlags.cmake.orig
 +++ Source/cmake/WebKitCompilerFlags.cmake
-@@ -328,9 +328,9 @@ if (NOT MSVC)
+@@ -333,9 +333,9 @@ if (NOT MSVC)
      string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS})
  endif ()
  
Index: patches/patch-Source_cmake_WebKitFeatures_cmake
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/patches/patch-Source_cmake_WebKitFeatures_cmake,v
diff -u -p -r1.18 patch-Source_cmake_WebKitFeatures_cmake
--- patches/patch-Source_cmake_WebKitFeatures_cmake	24 Mar 2025 10:42:37 -0000	1.18
+++ patches/patch-Source_cmake_WebKitFeatures_cmake	21 Sep 2025 11:43:58 -0000
@@ -1,7 +1,7 @@
 Index: Source/cmake/WebKitFeatures.cmake
 --- Source/cmake/WebKitFeatures.cmake.orig
 +++ Source/cmake/WebKitFeatures.cmake
-@@ -434,7 +434,7 @@ macro(CREATE_CONFIGURATION_HEADER)
+@@ -439,7 +439,7 @@ macro(CREATE_CONFIGURATION_HEADER)
  endmacro()
  
  macro(WEBKIT_CHECK_HAVE_INCLUDE _variable _header)
Index: pkg/PFRAG.no-webkitgtk60
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/pkg/PFRAG.no-webkitgtk60,v
diff -u -p -r1.6 PFRAG.no-webkitgtk60
--- pkg/PFRAG.no-webkitgtk60	24 Mar 2025 10:42:37 -0000	1.6
+++ pkg/PFRAG.no-webkitgtk60	21 Sep 2025 11:43:58 -0000
@@ -141,7 +141,6 @@ lib/webkit2gtk-${API}/injected-bundle/
 @so lib/webkit2gtk-${API}/injected-bundle/libwebkit2gtkinjectedbundle.so
 libexec/webkit2gtk-${API}/
 @bin libexec/webkit2gtk-${API}/MiniBrowser
-@bin libexec/webkit2gtk-${API}/WebKitGPUProcess
 @bin libexec/webkit2gtk-${API}/WebKitNetworkProcess
 @bin libexec/webkit2gtk-${API}/WebKitWebProcess
 @bin libexec/webkit2gtk-${API}/jsc
Index: pkg/PFRAG.webkitgtk60
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/pkg/PFRAG.webkitgtk60,v
diff -u -p -r1.7 PFRAG.webkitgtk60
--- pkg/PFRAG.webkitgtk60	24 Mar 2025 10:42:37 -0000	1.7
+++ pkg/PFRAG.webkitgtk60	21 Sep 2025 11:43:58 -0000
@@ -15,7 +15,6 @@ lib/webkitgtk-${API}/injected-bundle/
 @so lib/webkitgtk-${API}/injected-bundle/libwebkitgtkinjectedbundle.so
 libexec/webkitgtk-${API}/
 @bin libexec/webkitgtk-${API}/MiniBrowser
-@bin libexec/webkitgtk-${API}/WebKitGPUProcess
 @bin libexec/webkitgtk-${API}/WebKitNetworkProcess
 @bin libexec/webkitgtk-${API}/WebKitWebProcess
 @bin libexec/webkitgtk-${API}/jsc
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/www/webkitgtk4/pkg/PLIST,v
diff -u -p -r1.35 PLIST
--- pkg/PLIST	24 Mar 2025 10:42:37 -0000	1.35
+++ pkg/PLIST	21 Sep 2025 11:43:58 -0000
@@ -303,5 +303,8 @@ share/doc/javascriptcoregtk-${API}/struc
 share/doc/javascriptcoregtk-${API}/style.css
 share/doc/javascriptcoregtk-${API}/type_func.Context.get_current.html
 share/doc/javascriptcoregtk-${API}/urlmap.js
+share/doc/webkit2gtk-${API}/contributing.html
+share/doc/webkit2gtk-${API}/method.WebView.get_theme_color.html
+share/doc/webkit2gtk-${API}/property.WebView.theme-color.html
 share/gir-1.0/JavaScriptCore-${API}.gir
 %%webkitgtk60%%


-- 
Antoine