Simple diff to remove syscall(2). Feedback, ok?

diff --git a/x11/qt6/qtwebengine/Makefile b/x11/qt6/qtwebengine/Makefile
index a6c248a35be..bef97fa5491 100644
--- a/x11/qt6/qtwebengine/Makefile
+++ b/x11/qt6/qtwebengine/Makefile
@@ -11,6 +11,7 @@ DPB_PROPERTIES +=     lonesome
 QT6NAME =      QtWebEngine
 COMMENT =      Qt chromium based web engine
 PKGSPEC =      qt6-qtwebengine-${QT6_PKGSPEC}
+REVISION =     0
 
 USE_WXNEEDED =         Yes
 USE_NOBTCFI =          Yes
diff --git 
a/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_base_allocator_partition_allocator_spinning_mutex_cc
 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_base_allocator_partition_allocator_spinning_mutex_cc
index 1879243bb0e..5c3c9def0e2 100644
--- 
a/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_base_allocator_partition_allocator_spinning_mutex_cc
+++ 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_base_allocator_partition_allocator_spinning_mutex_cc
@@ -17,13 +17,16 @@ Index: 
src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.c
  #include <sys/syscall.h>
  #include <unistd.h>
  #endif  // defined(PA_HAS_LINUX_KERNEL)
-@@ -107,8 +115,13 @@ void SpinningMutex::FutexWait() {
+@@ -107,8 +115,16 @@ void SpinningMutex::FutexWait() {
    // |kLockedContended| anymore. Note that even without spurious wakeups, the
    // value of |state_| is not guaranteed when this returns, as another thread
    // may get the lock before we get to run.
 +#if defined(OS_FREEBSD)
 +  int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
 +                    kLockedContended, nullptr, nullptr);
++#elif defined(OS_OPENBSD)
++  int err = futex(reinterpret_cast<volatile unsigned int *>(&state_), 
FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
++                    kLockedContended, nullptr, nullptr);
 +#else
    int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
                      kLockedContended, nullptr, nullptr, 0);
@@ -31,13 +34,16 @@ Index: 
src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.c
  
    if (err) {
      // These are programming error, check them.
-@@ -120,8 +133,14 @@ void SpinningMutex::FutexWait() {
+@@ -120,8 +136,17 @@ void SpinningMutex::FutexWait() {
  
  void SpinningMutex::FutexWake() {
    int saved_errno = errno;
 +#if defined(OS_FREEBSD)
 +  long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE,
 +                         1 /* wake up a single waiter */, nullptr, nullptr);
++#elif defined(OS_OPENBSD)
++  long retval = futex(reinterpret_cast<volatile unsigned int *>(&state_), 
FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
++                        1 /* wake up a single waiter */, nullptr, nullptr);
 +#else
    long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
                          1 /* wake up a single waiter */, nullptr, nullptr, 0);
diff --git 
a/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_abseil-cpp_absl_base_internal_raw_logging_cc
 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_abseil-cpp_absl_base_internal_raw_logging_cc
new file mode 100644
index 00000000000..384920ea348
--- /dev/null
+++ 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_abseil-cpp_absl_base_internal_raw_logging_cc
@@ -0,0 +1,12 @@
+Index: 
src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+--- 
src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig
++++ 
src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+@@ -52,7 +52,7 @@
+ // ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
+ //   syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
+ // for low level operations that want to avoid libc.
+-#if (defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \
++#if (defined(__linux__) || defined(__FreeBSD__)) && \
+     !defined(__ANDROID__)
+ #include <sys/syscall.h>
+ #define ABSL_HAVE_SYSCALL_WRITE 1
diff --git 
a/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_perfetto_src_tracing_ipc_memfd_cc
 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_perfetto_src_tracing_ipc_memfd_cc
new file mode 100644
index 00000000000..c1dff0bed80
--- /dev/null
+++ 
b/x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_perfetto_src_tracing_ipc_memfd_cc
@@ -0,0 +1,13 @@
+Index: src/3rdparty/chromium/third_party/perfetto/src/tracing/ipc/memfd.cc
+--- src/3rdparty/chromium/third_party/perfetto/src/tracing/ipc/memfd.cc.orig
++++ src/3rdparty/chromium/third_party/perfetto/src/tracing/ipc/memfd.cc
+@@ -20,7 +20,8 @@
+ 
+ #define PERFETTO_MEMFD_ENABLED()             \
+   PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+-      PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
++      (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++      !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD))
+ 
+ #if PERFETTO_MEMFD_ENABLED()
+ 

Reply via email to