qtwebengine: update patches

This commit is contained in:
Gerasim Troeglazov
2024-01-07 21:36:55 +10:00
parent ca97eab518
commit 3eb968f934
4 changed files with 2999 additions and 9 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,278 @@
From 39ce9c4c5c028a79975fc9275122c9c403cf6250 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 16 Dec 2023 18:56:29 +1000
Subject: Fixes build for x86 arch
diff --git a/src/3rdparty/chromium/base/atomicops.h b/src/3rdparty/chromium/base/atomicops.h
index 5fa27a4..1122b5f 100644
--- a/src/3rdparty/chromium/base/atomicops.h
+++ b/src/3rdparty/chromium/base/atomicops.h
@@ -57,7 +57,11 @@ typedef intptr_t Atomic64;
// Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or
// Atomic64 routines below, depending on your architecture.
+#if defined(ARCH_CPU_64_BITS)
typedef intptr_t AtomicWord;
+#else
+typedef int32_t AtomicWord;
+#endif
// Atomically execute:
// result = *ptr;
diff --git a/src/3rdparty/chromium/base/memory/discardable_shared_memory.cc b/src/3rdparty/chromium/base/memory/discardable_shared_memory.cc
index 4aa6229..cdfde4f 100644
--- a/src/3rdparty/chromium/base/memory/discardable_shared_memory.cc
+++ b/src/3rdparty/chromium/base/memory/discardable_shared_memory.cc
@@ -178,7 +178,11 @@ bool DiscardableSharedMemory::CreateAndMap(size_t size) {
DCHECK(last_known_usage_.is_null());
SharedState new_state(SharedState::LOCKED, Time());
subtle::Release_Store(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#endif
new_state.value.i);
return true;
}
@@ -239,7 +243,11 @@ DiscardableSharedMemory::LockResult DiscardableSharedMemory::Lock(
SharedState old_state(SharedState::UNLOCKED, last_known_usage_);
SharedState new_state(SharedState::LOCKED, Time());
SharedState result(subtle::Acquire_CompareAndSwap(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#endif
old_state.value.i, new_state.value.i));
if (result.value.u != old_state.value.u) {
// Update |last_known_usage_| in case the above CAS failed because of
@@ -354,7 +362,11 @@ void DiscardableSharedMemory::Unlock(size_t offset, size_t length) {
DCHECK_EQ((new_state.GetTimestamp() - Time::UnixEpoch()).InSeconds(),
(current_time - Time::UnixEpoch()).InSeconds());
SharedState result(subtle::Release_CompareAndSwap(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#endif
old_state.value.i, new_state.value.i));
DCHECK_EQ(old_state.value.u, result.value.u);
@@ -375,7 +387,11 @@ bool DiscardableSharedMemory::Purge(Time current_time) {
SharedState old_state(SharedState::UNLOCKED, last_known_usage_);
SharedState new_state(SharedState::UNLOCKED, Time());
SharedState result(subtle::Acquire_CompareAndSwap(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i,
+#endif
old_state.value.i, new_state.value.i));
// Update |last_known_usage_| to |current_time| if the memory is locked. This
@@ -466,7 +482,11 @@ bool DiscardableSharedMemory::IsMemoryResident() const {
DCHECK(shared_memory_mapping_.IsValid());
SharedState result(subtle::NoBarrier_Load(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i));
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i));
+#endif
return result.GetLockState() == SharedState::LOCKED ||
!result.GetTimestamp().is_null();
@@ -476,7 +496,11 @@ bool DiscardableSharedMemory::IsMemoryLocked() const {
DCHECK(shared_memory_mapping_.IsValid());
SharedState result(subtle::NoBarrier_Load(
+#if defined(ARCH_CPU_64_BITS)
&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i));
+#else
+ (base::subtle::Atomic32*)&SharedStateFromSharedMemory(shared_memory_mapping_)->value.i));
+#endif
return result.GetLockState() == SharedState::LOCKED;
}
diff --git a/src/3rdparty/chromium/base/process/internal_linux.cc b/src/3rdparty/chromium/base/process/internal_linux.cc
index 41cae83..48f76d3 100644
--- a/src/3rdparty/chromium/base/process/internal_linux.cc
+++ b/src/3rdparty/chromium/base/process/internal_linux.cc
@@ -47,13 +47,17 @@ pid_t ProcDirSlotToPid(const char* d_name) {
return 0;
// Read the process's command line.
+#if defined(ARCH_CPU_64_BITS)
pid_t pid;
+#else
+ int pid;
+#endif
std::string pid_string(d_name);
if (!StringToInt(pid_string, &pid)) {
NOTREACHED();
return 0;
}
- return pid;
+ return (pid_t)pid;
}
bool ReadProcFile(const FilePath& file, std::string* buffer) {
diff --git a/src/3rdparty/chromium/base/process/internal_linux.h b/src/3rdparty/chromium/base/process/internal_linux.h
index 10fa85a..cfd5647 100644
--- a/src/3rdparty/chromium/base/process/internal_linux.h
+++ b/src/3rdparty/chromium/base/process/internal_linux.h
@@ -121,8 +121,15 @@ void ForEachProcessTask(base::ProcessHandle process, Lambda&& lambda) {
continue;
PlatformThreadId tid;
+#if defined(ARCH_CPU_64_BITS)
if (!StringToInt(tid_str, &tid))
continue;
+#else
+ int tid_int;
+ if (!StringToInt(tid_str, &tid_int))
+ continue;
+ tid = (PlatformThreadId)tid_int;
+#endif
FilePath task_path = fd_path.Append(tid_str);
lambda(tid, task_path);
diff --git a/src/3rdparty/chromium/base/process/process_handle.h b/src/3rdparty/chromium/base/process/process_handle.h
index d7e185a..4b49da5 100644
--- a/src/3rdparty/chromium/base/process/process_handle.h
+++ b/src/3rdparty/chromium/base/process/process_handle.h
@@ -36,6 +36,11 @@ typedef zx_handle_t ProcessHandle;
typedef zx_koid_t ProcessId;
const ProcessHandle kNullProcessHandle = ZX_HANDLE_INVALID;
const ProcessId kNullProcessId = ZX_KOID_INVALID;
+#elif defined(OS_HAIKU)
+typedef int32_t ProcessHandle;
+typedef int32_t ProcessId;
+const ProcessHandle kNullProcessHandle = 0;
+const ProcessId kNullProcessId = 0;
#elif defined(OS_POSIX)
// On POSIX, our ProcessHandle will just be the PID.
typedef pid_t ProcessHandle;
diff --git a/src/3rdparty/chromium/base/system/sys_info_posix.cc b/src/3rdparty/chromium/base/system/sys_info_posix.cc
index 9a58b6d..e018730 100644
--- a/src/3rdparty/chromium/base/system/sys_info_posix.cc
+++ b/src/3rdparty/chromium/base/system/sys_info_posix.cc
@@ -219,7 +219,7 @@ std::string SysInfo::OperatingSystemArchitecture() {
return std::string();
}
std::string arch(info.machine);
- if (arch == "i386" || arch == "i486" || arch == "i586" || arch == "i686") {
+ if (arch == "i386" || arch == "i486" || arch == "i586" || arch == "i686" || arch == "BePC") {
arch = "x86";
} else if (arch == "amd64") {
arch = "x86_64";
diff --git a/src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc b/src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
index 6870307..2664266 100644
--- a/src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -177,7 +177,11 @@ pid_t ZygoteHostImpl::LaunchZygote(
close(fds[1]);
control_fd->reset(fds[0]);
+#if defined(ARCH_CPU_64_BITS)
pid_t pid = process.Pid();
+#else
+ int32_t pid = process.Pid();
+#endif
if (is_sandboxed_zygote && (use_namespace_sandbox_ || use_suid_sandbox_)) {
// The namespace and SUID sandbox will execute the zygote in a new
@@ -200,7 +204,11 @@ pid_t ZygoteHostImpl::LaunchZygote(
// Now receive the message that the zygote's ready to go, along with the
// main zygote process's ID.
+#if defined(ARCH_CPU_64_BITS)
pid_t real_pid;
+#else
+ int32_t real_pid;
+#endif
CHECK(ReceiveFixedMessage(fds[0], kZygoteHelloMessage,
sizeof(kZygoteHelloMessage), &real_pid));
CHECK_GT(real_pid, 1);
diff --git a/src/3rdparty/chromium/content/common/zygote/zygote_communication_linux.cc b/src/3rdparty/chromium/content/common/zygote/zygote_communication_linux.cc
index 474be46..9ec8402 100644
--- a/src/3rdparty/chromium/content/common/zygote/zygote_communication_linux.cc
+++ b/src/3rdparty/chromium/content/common/zygote/zygote_communication_linux.cc
@@ -123,7 +123,11 @@ pid_t ZygoteCommunication::ForkRequest(
// Sanity check that we've populated |fds| correctly.
DCHECK_EQ(num_fds_to_send, fds.size());
+#if defined(ARCH_CPU_64_BITS)
pid_t pid;
+#else
+ int32_t pid;
+#endif
{
base::AutoLock lock(control_lock_);
if (!SendMessage(pickle, &fds))
diff --git a/src/3rdparty/chromium/gpu/ipc/common/memory_stats_mojom_traits.h b/src/3rdparty/chromium/gpu/ipc/common/memory_stats_mojom_traits.h
index e76b61b..97a3e17 100644
--- a/src/3rdparty/chromium/gpu/ipc/common/memory_stats_mojom_traits.h
+++ b/src/3rdparty/chromium/gpu/ipc/common/memory_stats_mojom_traits.h
@@ -37,7 +37,7 @@ struct StructTraits<gpu::mojom::VideoMemoryUsageStatsDataView,
gpu::VideoMemoryUsageStats> {
static std::map<int32_t, gpu::VideoMemoryUsageStats::ProcessStats>
process_map(const gpu::VideoMemoryUsageStats& stats) {
-#if defined(OS_WIN) || defined(OS_FUCHSIA)
+#if defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_HAIKU)
std::map<int32_t, gpu::VideoMemoryUsageStats::ProcessStats> map;
for (const auto& pair : stats.process_map)
map[static_cast<int32_t>(pair.first)] = pair.second;
@@ -53,7 +53,7 @@ struct StructTraits<gpu::mojom::VideoMemoryUsageStatsDataView,
static bool Read(gpu::mojom::VideoMemoryUsageStatsDataView data,
gpu::VideoMemoryUsageStats* out) {
-#if defined(OS_WIN) || defined(OS_FUCHSIA)
+#if defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_HAIKU)
std::map<int32_t, gpu::VideoMemoryUsageStats::ProcessStats> process_map;
if (!data.ReadProcessMap(&process_map))
return false;
diff --git a/src/3rdparty/chromium/third_party/blink/public/platform/web_vector.h b/src/3rdparty/chromium/third_party/blink/public/platform/web_vector.h
index 2cc291d..83b2538 100644
--- a/src/3rdparty/chromium/third_party/blink/public/platform/web_vector.h
+++ b/src/3rdparty/chromium/third_party/blink/public/platform/web_vector.h
@@ -81,7 +81,7 @@ class WebVector {
// The vector can be populated using reserve() and emplace_back().
WebVector() = default;
-#if defined(ARCH_CPU_64_BITS)
+#if defined(ARCH_CPU_64_BITS) || defined(__HAIKU__)
// Create a vector with |size| default-constructed elements. We define
// a constructor with size_t otherwise we'd have a duplicate define.
explicit WebVector(size_t size) : data_(size) {}
diff --git a/src/3rdparty/chromium/v8/src/base/atomicops.h b/src/3rdparty/chromium/v8/src/base/atomicops.h
index 5d6422b..9299d4c 100644
--- a/src/3rdparty/chromium/v8/src/base/atomicops.h
+++ b/src/3rdparty/chromium/v8/src/base/atomicops.h
@@ -73,6 +73,8 @@ using Atomic64 = intptr_t;
// Atomic64 routines below, depending on your architecture.
#if defined(V8_OS_STARBOARD)
using AtomicWord = SbAtomicPtr;
+#elif defined(V8_TARGET_ARCH_IA32)
+using AtomicWord = int32_t;
#else
using AtomicWord = intptr_t;
#endif
diff --git a/src/3rdparty/gn/tools/gn/args.cc b/src/3rdparty/gn/tools/gn/args.cc
index a2f49b1..0d79586 100644
--- a/src/3rdparty/gn/tools/gn/args.cc
+++ b/src/3rdparty/gn/tools/gn/args.cc
@@ -336,7 +336,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
// Set the host CPU architecture based on the underlying OS, not
// whatever the current bit-tedness of the GN binary is.
std::string os_arch = OperatingSystemArchitecture();
- if (os_arch == "x86")
+ if (os_arch == "x86" || os_arch == "BePC")
arch = kX86;
else if (os_arch == "x86_64")
arch = kX64;
--
2.42.1

View File

@@ -1,4 +1,4 @@
From ecf131d19f5f0c1866e64df5fa37fede12889df7 Mon Sep 17 00:00:00 2001
From f818e7050e1671aff2a61fed683bfe68f478ef5d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 7 Dec 2023 18:33:47 +1000
Subject: Patchset based on qtwebengine patches for FreeBSD, as well as patches
@@ -11327,3 +11327,119 @@ index 9e087c8..decafe8 100644
--
2.42.1
From c5e673acc778e70e87995cd7912454023e9147b4 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 31 Dec 2023 23:28:53 +1000
Subject: Implement CloseSuperfluousFds
diff --git a/src/3rdparty/chromium/base/process/launch_posix.cc b/src/3rdparty/chromium/base/process/launch_posix.cc
index bb8718a..340a56f 100644
--- a/src/3rdparty/chromium/base/process/launch_posix.cc
+++ b/src/3rdparty/chromium/base/process/launch_posix.cc
@@ -63,6 +63,15 @@
#include <sys/ucontext.h>
#endif
+#if defined(OS_HAIKU)
+#include <OS.h>
+#include <fs_info.h>
+#include <private/system/vfs_defs.h>
+extern "C" {
+status_t _kern_get_next_fd_info(team_id team, uint32 *_cookie, struct fd_info *info, size_t infoSize);
+}
+#endif
+
#if defined(OS_APPLE)
#error "macOS should use launch_mac.cc"
#endif
@@ -223,7 +232,25 @@ static const char kFDDir[] = "/proc/self/fd";
void CloseSuperfluousFds(const base::InjectiveMultimap& saved_mapping) {
// DANGER: no calls to malloc or locks are allowed from now on:
// http://crbug.com/36678
-#if !defined(OS_HAIKU)
+#if defined(OS_HAIKU)
+ uint32 cookie = 0;
+ fd_info info;
+ while (_kern_get_next_fd_info(B_CURRENT_TEAM, &cookie, &info, sizeof(fd_info)) >= B_OK) {
+ const int fd = info.number;
+ if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO)
+ continue;
+ size_t i;
+ for (i = 0; i < saved_mapping.size(); i++) {
+ if (fd == saved_mapping[i].dest)
+ break;
+ }
+ if (i < saved_mapping.size())
+ continue;
+
+ int ret = IGNORE_EINTR(close(fd));
+ DPCHECK(ret == 0);
+ }
+#else
// Get the maximum number of FDs possible.
size_t max_fds = GetMaxFds();
diff --git a/src/3rdparty/chromium/base/process/process_metrics_posix.cc b/src/3rdparty/chromium/base/process/process_metrics_posix.cc
index d29e675..935d60c 100644
--- a/src/3rdparty/chromium/base/process/process_metrics_posix.cc
+++ b/src/3rdparty/chromium/base/process/process_metrics_posix.cc
@@ -54,7 +54,7 @@ static const rlim_t kSystemDefaultMaxFds = 1024;
#elif defined(OS_AIX)
static const rlim_t kSystemDefaultMaxFds = 8192;
#elif defined(OS_HAIKU)
-static const rlim_t kSystemDefaultMaxFds = 4096;
+static const rlim_t kSystemDefaultMaxFds = 512;
#endif
size_t GetMaxFds() {
--
2.42.1
From c59d03dcaf036d06b5bf0c5a247d90e55b7a98a3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 7 Jan 2024 12:12:49 +1000
Subject: Fix fstat
diff --git a/src/3rdparty/chromium/base/files/file_posix.cc b/src/3rdparty/chromium/base/files/file_posix.cc
index a521ef0..7ab80df 100644
--- a/src/3rdparty/chromium/base/files/file_posix.cc
+++ b/src/3rdparty/chromium/base/files/file_posix.cc
@@ -125,7 +125,7 @@ void File::Info::FromStat(const stat_wrapper_t& stat_info) {
// creation time. However, other than on Mac & iOS where the actual file
// creation time is included as st_birthtime, the rest of POSIX platforms have
// no portable way to get the creation time.
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_HAIKU)
time_t last_modified_sec = stat_info.st_mtim.tv_sec;
int64_t last_modified_nsec = stat_info.st_mtim.tv_nsec;
time_t last_accessed_sec = stat_info.st_atim.tv_sec;
--
2.42.1
From 3023e2180a83f46b4398472ee5328e80573e595c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 7 Jan 2024 12:13:39 +1000
Subject: Check FD acess mode
diff --git a/src/3rdparty/chromium/base/memory/platform_shared_memory_region_posix.cc b/src/3rdparty/chromium/base/memory/platform_shared_memory_region_posix.cc
index cabf383..63feaad 100644
--- a/src/3rdparty/chromium/base/memory/platform_shared_memory_region_posix.cc
+++ b/src/3rdparty/chromium/base/memory/platform_shared_memory_region_posix.cc
@@ -308,7 +308,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode(
PlatformHandle handle,
Mode mode,
size_t size) {
-#if !defined(OS_NACL) && !defined(OS_HAIKU)
+#if !defined(OS_NACL)
if (!CheckFDAccessMode(handle.fd,
mode == Mode::kReadOnly ? O_RDONLY : O_RDWR)) {
return false;
--
2.42.1

View File

@@ -5,15 +5,19 @@ HOMEPAGE="https://www.qt.io"
COPYRIGHT="2015-2023 The Qt Company Ltd."
LICENSE="BSD (3-clause)
GNU LGPL v2.1"
REVISION="1"
REVISION="4"
SOURCE_URI="https://pkg.freebsd.org/ports-distfiles/KDE/Qt/${portVersion}/kde-qtwebengine-${portVersion}p5.tar.xz"
CHECKSUM_SHA256="a35887269d3e060859d00f399aa19dfb9e004d6bbf0dbb6daf1c60708c9dee78"
SOURCE_DIR="kde-qtwebengine-${portVersion}p5"
PATCHES="qtwebengine-$portVersion.patchset"
PATCHES="
qtwebengine-$portVersion.patchset
qtwebengine-$portVersion-build-fixes-python3.patchset
qtwebengine-$portVersion-x86-fixes.patchset
"
# disabled: takes too long to compile on builder
ARCHITECTURES="!x86_gcc2 ?x86_64"
SECONDARY_ARCHITECTURES="!x86"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
@@ -22,12 +26,12 @@ WebEngineApiVersion="5.15.17"
PROVIDES="
qtwebengine$secondaryArchSuffix = $portVersion compat >= 5
cmd:qwebengine_convert_dict = $portVersion compat >= 5
lib:libQt5Pdf$secondaryArchSuffix = $libVersionCompat
lib:libQt5PdfWidgets$secondaryArchSuffix = $libVersionCompat
lib:libQt5WebEngine$secondaryArchSuffix = $libVersionCompat
lib:libQt5WebEngineCore$secondaryArchSuffix = $libVersionCompat
lib:libQt5WebEngineWidgets$secondaryArchSuffix = $libVersionCompat
cmd:qwebengine_convert_dict
"
REQUIRES="
haiku$secondaryArchSuffix
@@ -53,7 +57,6 @@ REQUIRES="
lib:libplds4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Designer$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Positioning$secondaryArchSuffix
@@ -61,6 +64,7 @@ REQUIRES="
lib:libQt5QmlModels$secondaryArchSuffix
lib:libQt5Quick$secondaryArchSuffix
lib:libQt5WebChannel$secondaryArchSuffix
lib:libre2$secondaryArchSuffix
lib:libsmime3$secondaryArchSuffix
lib:libsnappy$secondaryArchSuffix
lib:libvpx$secondaryArchSuffix
@@ -82,6 +86,7 @@ PROVIDES_devel="
REQUIRES_devel="
haiku$secondaryArchSuffix
qtwebengine$secondaryArchSuffix == $portVersion base
devel:libQt5Designer$secondaryArchSuffix
"
BUILD_REQUIRES="
@@ -111,6 +116,7 @@ BUILD_REQUIRES="
devel:libQt5QmlModels$secondaryArchSuffix
devel:libQt5Quick$secondaryArchSuffix
devel:libQt5WebChannel$secondaryArchSuffix
devel:libre2$secondaryArchSuffix
devel:libsnappy$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libvpx$secondaryArchSuffix
@@ -128,6 +134,7 @@ BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:ld$secondaryArchSuffix
cmd:lld >= 16
cmd:make
cmd:nasm
cmd:ninja
@@ -135,8 +142,8 @@ BUILD_PREREQUIRES="
cmd:perl
pkgconfig$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
cmd:python2
cmd:qmake >= 5
cmd:python3.10
cmd:qmake$secondaryArchSuffix >= 5
cmd:which
"
TEST_REQUIRES="
@@ -145,9 +152,12 @@ TEST_REQUIRES="
BUILD()
{
export DISABLE_ASLR=1
mkdir -p build && cd build
qmake .. -- \
qmake QMAKE_LFLAGS+="-fuse-ld=lld -Wl,--no-keep-memory -Wl,--undefined-version" \
.. -- \
-proprietary-codecs \
-system-ffmpeg \
-system-opus \