Qt, bump to version 6.10.3 (#13935)

This commit is contained in:
Schrijvers Luc
2026-04-13 14:15:19 +02:00
committed by GitHub
parent 9aadbc5e80
commit 6ea379be33
80 changed files with 174 additions and 5625 deletions

View File

@@ -1,4 +1,4 @@
From b26b783c8a0431a373ca05e73408ec8496c506e5 Mon Sep 17 00:00:00 2001
From 84ff93429db5b9a6ce04e56f298c55a464b477d2 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 Sep 2024 22:58:42 +1000
Subject: Add Haiku support

View File

@@ -1,245 +0,0 @@
From 5a2fd880f34a09fe4f8ac71ab513ded89b15b184 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 Sep 2024 22:58:42 +1000
Subject: Add Haiku support
diff --git a/src/3rdparty/PhysX/CMakeLists.txt b/src/3rdparty/PhysX/CMakeLists.txt
index 1fb4923..5c1a6ab 100644
--- a/src/3rdparty/PhysX/CMakeLists.txt
+++ b/src/3rdparty/PhysX/CMakeLists.txt
@@ -1341,7 +1341,7 @@ if (WIN32)
endif()
## MSYS
-if (MSYS OR MINGW)
+if (MSYS OR MINGW OR HAIKU)
qt_internal_extend_target(BundledPhysX DEFINES PX_SIMD_DISABLED PX_GCC_FAMILY)
endif()
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
index 4b75756..9054315 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxIntrinsics.h
@@ -34,7 +34,7 @@
#if PX_WINDOWS_FAMILY
#include "foundation/windows/PxWindowsIntrinsics.h"
-#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4)
+#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU)
#include "foundation/unix/PxUnixIntrinsics.h"
#elif PX_XBOXONE
#include "foundation/XboxOne/PxXboxOneIntrinsics.h"
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
index 630c7c0..59bd337 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
@@ -104,6 +104,8 @@ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSyst
#define PX_IOS 1
#elif defined(__APPLE__)
#define PX_OSX 1
+#elif defined(__HAIKU__)
+#define PX_HAIKU 1
#elif defined(__ORBIS__)
#define PX_PS4 1
#elif defined(__NX__)
@@ -194,6 +196,9 @@ define anything not defined on this platform to 0
#ifndef PX_OSX
#define PX_OSX 0
#endif
+#ifndef PX_HAIKU
+#define PX_HAIKU 0
+#endif
#ifndef PX_PS4
#define PX_PS4 0
#endif
@@ -269,7 +274,7 @@ family shortcuts
#define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY || PX_XBOX_SERIES_X)
#define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
#define PX_APPLE_FAMILY (PX_IOS || PX_OSX) // equivalent to #if __APPLE__
-#define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY) // shortcut for unix/posix platforms
+#define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY || PX_HAIKU) // shortcut for unix/posix platforms
#if defined(__EMSCRIPTEN__)
#define PX_EMSCRIPTEN 1
#else
@@ -307,7 +312,7 @@ Assert macro
DLL export macros
*/
#ifndef PX_C_EXPORT
-#if PX_WINDOWS_FAMILY || PX_LINUX
+#if PX_WINDOWS_FAMILY || PX_LINUX || PX_HAIKU
#define PX_C_EXPORT extern "C"
#else
#define PX_C_EXPORT
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h b/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
index 175f7fd..3620cac 100644
--- a/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/unix/PxUnixIntrinsics.h
@@ -33,7 +33,7 @@
#include "foundation/Px.h"
#include "foundation/PxSharedAssert.h"
-#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY)
+#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_HAIKU)
#error "This file should only be included by Unix builds!!"
#endif
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h b/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
index a1480b2..7f04f00 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsAllocator.h
@@ -118,6 +118,9 @@
#elif PX_SWITCH
#include <malloc.h>
#define PxAlloca(x) alloca(x)
+#elif PX_HAIKU
+ #include <malloc.h>
+ #define PxAlloca(x) alloca(x)
#endif
#define PxAllocaAligned(x, alignment) ((size_t(PxAlloca(x + alignment)) + (alignment - 1)) & ~size_t(alignment - 1))
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h b/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
index f08af7f..8d72734 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsIntrinsics.h
@@ -34,7 +34,7 @@
#if PX_WINDOWS_FAMILY
#include "windows/PsWindowsIntrinsics.h"
-#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4)
+#elif(PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU)
#include "unix/PsUnixIntrinsics.h"
#elif PX_XBOXONE
#include "XboxOne/PsXboxOneIntrinsics.h"
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsThread.h b/src/3rdparty/PhysX/source/foundation/include/PsThread.h
index d0ec8d9..d88c0d4 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsThread.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsThread.h
@@ -41,7 +41,7 @@
#if PX_WINDOWS_FAMILY || PX_XBOXONE || PX_XBOX_SERIES_X
#define PxSpinLockPause() __asm pause
-#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_SWITCH
+#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_SWITCH || PX_HAIKU
#define PxSpinLockPause() asm("nop")
#else
#error "Platform not supported!"
diff --git a/src/3rdparty/PhysX/source/foundation/include/PsTime.h b/src/3rdparty/PhysX/source/foundation/include/PsTime.h
index 4d5eedb..38f23a7 100644
--- a/src/3rdparty/PhysX/source/foundation/include/PsTime.h
+++ b/src/3rdparty/PhysX/source/foundation/include/PsTime.h
@@ -84,7 +84,7 @@ class PX_FOUNDATION_API Time
Second getLastTime() const;
private:
-#if PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4
+#if PX_LINUX || PX_ANDROID || PX_APPLE_FAMILY || PX_PS4 || PX_HAIKU
Second mLastTime;
#else
int64_t mTickCount;
diff --git a/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h b/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
index e6165e8..57fdb2d 100644
--- a/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
+++ b/src/3rdparty/PhysX/source/foundation/include/unix/PsUnixIntrinsics.h
@@ -45,7 +45,7 @@
// this file is for internal intrinsics - that is, intrinsics that are used in
// cross platform code but do not appear in the API
-#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY)
+#if !(PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_HAIKU)
#error "This file should only be included by unix builds!!"
#endif
diff --git a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
index 9a4fbb8..f6cf9d6 100644
--- a/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
+++ b/src/3rdparty/PhysX/source/foundation/include/unix/sse2/PsUnixSse2AoS.h
@@ -43,7 +43,11 @@ namespace shdfnd
namespace aos
{
-#if PX_EMSCRIPTEN || PX_SSE2
+#if PX_HAIKU
+#include <SupportDefs.h>
+#endif
+
+#if PX_EMSCRIPTEN || PX_SSE2 || PX_HAIKU
typedef int8_t __int8_t;
typedef int16_t __int16_t;
typedef int32_t __int32_t;
diff --git a/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp b/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
index 0fb6851..159e36a 100644
--- a/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
+++ b/src/3rdparty/PhysX/source/foundation/src/unix/PsUnixThread.cpp
@@ -36,13 +36,13 @@
#include "PsThread.h"
#include <math.h>
-#if !PX_APPLE_FAMILY && !defined(ANDROID) && !defined(__CYGWIN__) && !PX_PS4 && !PX_EMSCRIPTEN && __GLIBC__
+#if !PX_APPLE_FAMILY && !defined(ANDROID) && !defined(__CYGWIN__) && !PX_PS4 && !PX_EMSCRIPTEN && !PX_HAIKU && __GLIBC__
#include <bits/local_lim.h> // PTHREAD_STACK_MIN
#endif
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
-#if !PX_PS4
+#if !PX_PS4 && !PX_HAIKU
#include <sys/syscall.h>
#if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN
#include <asm/unistd.h>
@@ -57,6 +57,10 @@
#include <pthread.h>
#endif
+#if PX_HAIKU
+#include <OS.h>
+#endif
+
// fwd
#if defined(ANDROID)
extern "C" {
@@ -114,6 +118,8 @@ static void setTid(_ThreadImpl& threadImpl)
// AM: TODO: neither of the below are implemented
#elif PX_APPLE_FAMILY
threadImpl.tid = syscall(SYS_gettid);
+#elif PX_HAIKU
+ threadImpl.tid = find_thread(NULL);
#elif PX_EMSCRIPTEN
// No thread id for emscripten
#else
@@ -324,7 +330,7 @@ uint32_t ThreadImpl::setAffinityMask(uint32_t mask)
{
#if PX_PS4
prevMask = setAffinityMaskPS4(getThread(this)->thread, mask);
-#elif PX_EMSCRIPTEN
+#elif PX_EMSCRIPTEN || PX_HAIKU
// not supported
#elif !PX_APPLE_FAMILY // Apple doesn't support syscall with getaffinity and setaffinity
int32_t errGet = syscall(__NR_sched_getaffinity, getThread(this)->tid, sizeof(prevMask), &prevMask);
@@ -433,6 +439,10 @@ uint32_t ThreadImpl::getNbPhysicalCores()
int count;
size_t size = sizeof(count);
return sysctlbyname("hw.physicalcpu", &count, &size, NULL, 0) ? 0 : count;
+#elif PX_HAIKU
+ system_info info;
+ status_t result = get_system_info(&info);
+ return (result != B_OK) ? 0 : info.cpu_count;
#elif defined(ANDROID)
return android_getCpuCount();
#else
diff --git a/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h b/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
index 46034b0..58b4059 100644
--- a/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
+++ b/src/3rdparty/PhysX/source/pvd/include/PxProfileAllocatorWrapper.h
@@ -74,7 +74,7 @@ namespace physx { namespace profile {
{
static const char* getName()
{
-#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_SWITCH
+#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_SWITCH || PX_HAIKU
return __PRETTY_FUNCTION__;
#else
return typeid(T).name();
--
2.45.2

View File

@@ -11,12 +11,12 @@ LICENSE="GNU LGPL v2.1
REVISION="1"
QT_MIRROR_URI="https://download.qt.io/official_releases"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3dphysics-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="b7aff67bd05794351d7c19b178c54b674afc3ea2b4632df892aaee98f12c1cdb"
CHECKSUM_SHA256="2abbc8e32df6d8f7e7ba5341c8032054459b95ff3b0c9601f61666931a10f5f6"
SOURCE_DIR="qtquick3dphysics-everywhere-src-$portVersion"
PATCHES="qt6_quick3dphysics-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
@@ -54,7 +54,7 @@ REQUIRES_devel="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
@@ -64,7 +64,7 @@ BUILD_REQUIRES="
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6Quick3D$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="

View File

@@ -1,118 +0,0 @@
SUMMARY="Qt6 Data Visualization module"
DESCRIPTION="Qt is a cross-platform application framework that is widely \
used for developing software with a graphical user interface, and also used \
for developing non-GUI programs such as command-line tools and consoles for \
servers."
HOMEPAGE="https://qt.io/"
COPYRIGHT="2015-2024 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3
GNU FDL v1"
REVISION="1"
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3dphysics-everywhere-src-$portVersion.tar.xz"
CHECKSUM_SHA256="ffc790b8b44ebc03acc1f2d085dad0cc49fffde1eea941a6ff11d3eb0b6e4140"
SOURCE_DIR="qtquick3dphysics-everywhere-src-$portVersion"
PATCHES="qt6_quick3dphysics-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
qt6_quick3dphysics$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DPhysics$secondaryArchSuffix = $portVersion compat >= 6
lib:libQt6Quick3DPhysicsHelpers$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6QmlModels$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6Quick3D$secondaryArchSuffix
lib:libQt6ShaderTools$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
qt6_quick3dphysics${secondaryArchSuffix}_devel = $portVersion compat >= 6
devel:libQt6Quick3DPhysics$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6Quick3DPhysicsHelpers$secondaryArchSuffix = $portVersion compat >= 6
devel:libQt6BundledPhysX$secondaryArchSuffix = $portVersion compat >= 6
"
REQUIRES_devel="
qt6_quick3dphysics$secondaryArchSuffix == $portVersion base
qt6_base${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libGL$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix == $portVersion
devel:libQt6Gui$secondaryArchSuffix == $portVersion
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
devel:libQt6Qml$secondaryArchSuffix == $portVersion
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
devel:libQt6Quick$secondaryArchSuffix == $portVersion
devel:libQt6Quick3D$secondaryArchSuffix == $portVersion
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
devel:libssl$secondaryArchSuffix >= 3
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:find
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:sed
cmd:xargs
"
BUILD()
{
export DISABLE_ASLR=1
cmake -B build -S $sourceDir -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-fPIC
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
ninja -v -C build $jobArgs
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libQt6Quick3DPhysics \
libQt6Quick3DPhysicsHelpers \
libQt6BundledPhysX
# fix pkgconfig files
fixPkgconfig
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
$developLibDir/pkgconfig/*.pc
cd $libDir
for i in lib*.so.6.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
packageEntries devel \
$developDir \
$libDir/cmake \
$dataDir/Qt6/mkspecs
}