init
This commit is contained in:
parent
ee85bac120
commit
34eccc2527
72
physx-rv64.patch
Normal file
72
physx-rv64.patch
Normal file
@ -0,0 +1,72 @@
|
||||
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
index 14ed950..24f6d3b 100644
|
||||
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
@@ -127,6 +127,8 @@ Architecture defines, see http://sourceforge.net/p/predef/wiki/Architectures/
|
||||
#define PX_PPC 1
|
||||
#elif defined(__mips__)
|
||||
#define PX_X64 1
|
||||
+#elif defined(__riscv) && __riscv_xlen == 64
|
||||
+#define PX_RV64 1
|
||||
#else
|
||||
#error "Unknown architecture"
|
||||
#endif
|
||||
@@ -147,7 +149,7 @@ SIMD defines
|
||||
#endif
|
||||
|
||||
/** Disable SIMD for webassembly, mips and arm64 */
|
||||
-#if defined(__EMSCRIPTEN__) || defined(__mips__) || defined(_M_ARM64) || defined(_M_ARM)
|
||||
+#if defined(__EMSCRIPTEN__) || defined(__mips__) || defined(_M_ARM64) || defined(_M_ARM) || defined(__riscv)
|
||||
#define PX_SIMD_DISABLED 1
|
||||
#endif
|
||||
|
||||
@@ -262,7 +264,7 @@ family shortcuts
|
||||
// architecture
|
||||
#define PX_INTEL_FAMILY (PX_X64 || PX_X86)
|
||||
#define PX_ARM_FAMILY (PX_ARM || PX_A64)
|
||||
-#define PX_P64_FAMILY (PX_X64 || PX_A64) // shortcut for 64-bit architectures
|
||||
+#define PX_P64_FAMILY (PX_X64 || PX_A64 || PX_RV64) // shortcut for 64-bit architectures
|
||||
|
||||
/**
|
||||
C++ standard library defines
|
||||
diff --git a/src/3rdparty/PhysX/source/physxextensions/src/serialization/SnSerialUtils.cpp b/src/3rdparty/PhysX/source/physxextensions/src/serialization/SnSerialUtils.cpp
|
||||
index aa53797..673cb33 100644
|
||||
--- a/src/3rdparty/PhysX/source/physxextensions/src/serialization/SnSerialUtils.cpp
|
||||
+++ b/src/3rdparty/PhysX/source/physxextensions/src/serialization/SnSerialUtils.cpp
|
||||
@@ -39,7 +39,7 @@ using namespace physx;
|
||||
namespace
|
||||
{
|
||||
|
||||
-#define SN_NUM_BINARY_PLATFORMS 19
|
||||
+#define SN_NUM_BINARY_PLATFORMS 20
|
||||
const PxU32 sBinaryPlatformTags[SN_NUM_BINARY_PLATFORMS] =
|
||||
{
|
||||
PX_MAKE_FOURCC('W','_','3','2'),
|
||||
@@ -59,6 +59,7 @@ const PxU32 sBinaryPlatformTags[SN_NUM_BINARY_PLATFORMS] =
|
||||
PX_MAKE_FOURCC('W','A','3','2'),
|
||||
PX_MAKE_FOURCC('W','A','6','4'),
|
||||
PX_MAKE_FOURCC('L','A','3','2'),
|
||||
+ PX_MAKE_FOURCC('L','V','6','4'),
|
||||
PX_MAKE_FOURCC('U','N','K','_'),
|
||||
};
|
||||
|
||||
@@ -82,6 +83,7 @@ const char* sBinaryPlatformNames[SN_NUM_BINARY_PLATFORMS] =
|
||||
"uwparm64",
|
||||
"macarm",
|
||||
"linuxarm",
|
||||
+ "linuxrv64",
|
||||
"unknown",
|
||||
};
|
||||
|
||||
@@ -127,8 +129,10 @@ PxU32 getBinaryPlatformTag()
|
||||
return sBinaryPlatformTags[16];
|
||||
#elif PX_LINUX && PX_ARM
|
||||
return sBinaryPlatformTags[17];
|
||||
-#else
|
||||
+#elif PX_LINUX && PX_RV64
|
||||
return sBinaryPlatformTags[18];
|
||||
+#else
|
||||
+ return sBinaryPlatformTags[19];
|
||||
#endif
|
||||
}
|
||||
|
||||
120
qt6-qtquick3dphysics.spec
Normal file
120
qt6-qtquick3dphysics.spec
Normal file
@ -0,0 +1,120 @@
|
||||
|
||||
%global qt_module qtquick3dphysics
|
||||
|
||||
%global examples 1
|
||||
|
||||
%define short_version 6.5
|
||||
|
||||
Name: qt6-%{qt_module}
|
||||
Version: 6.5.0
|
||||
Release: 1
|
||||
Summary: Qt 6 Quick3D Physics Extensions
|
||||
License: GPL-3.0-only
|
||||
URL: https://www.qt.io
|
||||
|
||||
|
||||
Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz
|
||||
|
||||
#fix physx on riscv64
|
||||
# https://github.com/felixonmars/archriscv-packages/pull/1821
|
||||
%ifarch riscv64
|
||||
Patch0: physx-rv64.patch
|
||||
%endif
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: qt6-rpm-macros >= %{version}
|
||||
BuildRequires: qt6-qtbase-static >= %{version}
|
||||
BuildRequires: qt6-qtbase-private-devel
|
||||
%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}}
|
||||
BuildRequires: qt6-qtquick3d-devel
|
||||
BuildRequires: qt6-qtshadertools-devel
|
||||
|
||||
%description
|
||||
This module adds physical simulation capabilities on top of Qt Quick 3D.
|
||||
In particular, it enables rigid body simulation using simple primitives as well
|
||||
as convex- and triangle meshes and heightmaps. Physical properties such as mass,
|
||||
density, gravity and friction are customizable. This makes it possible to create
|
||||
physically correct behavior in 3D scenes without having to handcraft animations.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: qt6-qtbase-devel%{?_isa}
|
||||
%description devel
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?examples}
|
||||
%package examples
|
||||
Summary: Programming examples for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%description examples
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{qt_module}-everywhere-src-%{version} -p1
|
||||
|
||||
%build
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
%cmake_qt6 -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF}
|
||||
cmake --build . %{?_smp_mflags} --verbose
|
||||
|
||||
%install
|
||||
DESTDIR="%{buildroot}" cmake --install .
|
||||
|
||||
## .prl/.la file love
|
||||
# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
|
||||
pushd %{buildroot}%{_qt6_libdir}
|
||||
for prl_file in libQt6*.prl ; do
|
||||
sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file}
|
||||
if [ -f "$(basename ${prl_file} .prl).so" ]; then
|
||||
rm -fv "$(basename ${prl_file} .prl).la"
|
||||
sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
%files
|
||||
%license LICENSES/*
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysicsHelpers.so.6*
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysics.so.6*
|
||||
%dir %{_qt6_qmldir}/QtQuick3D
|
||||
%{_qt6_qmldir}/QtQuick3D/Physics/
|
||||
|
||||
%files devel
|
||||
%{_qt6_bindir}/cooker
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysics.prl
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysics.so
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysicsHelpers.prl
|
||||
%{_qt6_libdir}/libQt6Quick3DPhysicsHelpers.so
|
||||
%{_qt6_libdir}/cmake/Qt6BundledPhysX/
|
||||
%{_qt6_libdir}/cmake/Qt6Quick3DPhysics/
|
||||
%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake
|
||||
%{_qt6_libdir}/cmake/Qt6Quick3DPhysicsHelpers/
|
||||
%{_qt6_libdir}/cmake/Qt6/FindWrapBundledPhysXConfigExtra.cmake
|
||||
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtQuick3DPhysicsTestsConfig.cmake
|
||||
%{_qt6_archdatadir}/metatypes/qt6quick3dphysics_*_metatypes.json
|
||||
%{_qt6_archdatadir}/metatypes/qt6quick3dphysicshelpers_*_metatypes.json
|
||||
%{_qt6_archdatadir}/modules/Quick3DPhysics.json
|
||||
%{_qt6_archdatadir}/modules/Quick3DPhysicsHelpers.json
|
||||
%{_qt6_includedir}/QtQuick3DPhysics/
|
||||
%{_qt6_includedir}/QtQuick3DPhysicsHelpers/
|
||||
%{_qt6_mkspecsdir}/modules/qt_lib_quick3dphysics.pri
|
||||
%{_qt6_mkspecsdir}/modules/qt_lib_quick3dphysics_private.pri
|
||||
%{_qt6_mkspecsdir}/modules/qt_lib_quick3dphysicshelpers.pri
|
||||
%{_qt6_mkspecsdir}/modules/qt_lib_quick3dphysicshelpers_private.pri
|
||||
%{_qt6_libdir}/libQt6BundledPhysX.a
|
||||
%{_qt6_libdir}/pkgconfig/*.pc
|
||||
|
||||
|
||||
%if 0%{?examples}
|
||||
%files examples
|
||||
%{_qt6_examplesdir}/
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue May 9 2023 EastDong <xudong23@iscas.ac.cn> - 6.5.0-1
|
||||
- init package
|
||||
4
qt6-qtquick3dphysics.yaml
Normal file
4
qt6-qtquick3dphysics.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: git
|
||||
src_repo: https://code.qt.io/qt/qtquick3dphysics.git
|
||||
tag_prefix: "^v"
|
||||
separator: "."
|
||||
BIN
qtquick3dphysics-everywhere-src-6.5.0.tar.xz
Normal file
BIN
qtquick3dphysics-everywhere-src-6.5.0.tar.xz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user