SUMMARY="C++ and QML APIs for easy inclusion of 3D graphics" 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-2026 The Qt Company Ltd." LICENSE="GNU LGPL v2.1 GNU LGPL v3 GNU FDL v1" REVISION="1" QT_MIRROR_URI="https://download.qt.io/official_releases" SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qt3d-everywhere-src-$portVersion.tar.xz" CHECKSUM_SHA256="f53e47187be2487d8a23ef6fe5ed72f7c3c5fab706de3b61e165b0124c09ecd7" SOURCE_DIR="qt3d-everywhere-src-$portVersion" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" libVersion="$portVersion" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" qt6_3d$secondaryArchSuffix = $portVersion compat >= 6 lib:libQt63DAnimation$secondaryArchSuffix = $libVersionCompat lib:libQt63DCore$secondaryArchSuffix = $libVersionCompat lib:libQt63DExtras$secondaryArchSuffix = $libVersionCompat lib:libQt63DInput$secondaryArchSuffix = $libVersionCompat lib:libQt63DLogic$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuick$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickLogic$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickAnimation$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickExtras$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickInput$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickRender$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickScene2D$secondaryArchSuffix = $libVersionCompat lib:libQt63DQuickScene3D$secondaryArchSuffix = $libVersionCompat lib:libQt63DRender$secondaryArchSuffix = $libVersionCompat " 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:libQt6ShaderTools$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libz$secondaryArchSuffix " PROVIDES_devel=" qt6_3d${secondaryArchSuffix}_devel = $portVersion compat >= 6 devel:libQt63DAnimation$secondaryArchSuffix = $libVersionCompat devel:libQt63DCore$secondaryArchSuffix = $libVersionCompat devel:libQt63DExtras$secondaryArchSuffix = $libVersionCompat devel:libQt63DInput$secondaryArchSuffix = $libVersionCompat devel:libQt63DLogic$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuick$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickLogic$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickAnimation$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickExtras$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickInput$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickRender$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickScene2D$secondaryArchSuffix = $libVersionCompat devel:libQt63DQuickScene3D$secondaryArchSuffix = $libVersionCompat devel:libQt63DRender$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" qt6_3d$secondaryArchSuffix == $portVersion base qt6_base${secondaryArchSuffix}_devel " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libQt6Core$secondaryArchSuffix == $portVersion devel:libQt6Gui$secondaryArchSuffix == $portVersion devel:libQt6Multimedia$secondaryArchSuffix == $portVersion devel:libQt6Qml$secondaryArchSuffix == $portVersion devel:libQt6QmlModels$secondaryArchSuffix == $portVersion devel:libQt6Quick$secondaryArchSuffix == $portVersion devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion " BUILD_PREREQUIRES=" cmd:awk cmd:cmake cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:ninja cmd:perl cmd:pkg_config$secondaryArchSuffix cmd:python3 cmd:sed cmd:xargs " BUILD() { export DISABLE_ASLR=1 local cmakeFlags # disable simd code for x86_gcc2 if [ $targetArchitecture == x86_gcc2 ]; then cmakeFlags="-DFEATURE_sse2=OFF -DFEATURE_avx2=OFF" fi cmake -B build -S $sourceDir -G Ninja $cmakeFlags \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS=-fPIC \ -DQT_GENERATE_SBOM=ON \ -Wno-dev 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 \ libQt63DAnimation \ libQt63DCore \ libQt63DExtras \ libQt63DInput \ libQt63DLogic \ libQt63DQuick \ libQt63DQuickLogic \ libQt63DQuickAnimation \ libQt63DQuickExtras \ libQt63DQuickInput \ libQt63DQuickRender \ libQt63DQuickScene2D \ libQt63DQuickScene3D \ libQt63DRender # 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 }