mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
155 lines
5.0 KiB
Bash
155 lines
5.0 KiB
Bash
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
|
|
}
|