mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
157 lines
5.0 KiB
Bash
157 lines
5.0 KiB
Bash
SUMMARY="A complete IDE for C/C++ development from the makers of Qt"
|
|
DESCRIPTION="Qt Creator provides a cross-platform, complete integrated \
|
|
development environment (IDE) for application developers to create \
|
|
applications for multiple desktop, embedded, and mobile device platforms, \
|
|
such as Android and iOS."
|
|
HOMEPAGE="https://www.qt.io/ide/"
|
|
COPYRIGHT="2026 The Qt Company Ltd"
|
|
LICENSE="GNU GPL v3"
|
|
REVISION="1"
|
|
SOURCE_URI="https://download.qt.io/official_releases/qtcreator/${portVersion%.*}/$portVersion/qt-creator-opensource-src-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="f7f69bd007462a4606787c130e83583db4416df627bf777d33944f23caeacf6d"
|
|
SOURCE_DIR="qt-creator-opensource-src-$portVersion"
|
|
PATCHES="qt_creator-$portVersion.patchset"
|
|
ADDITIONAL_FILES="qt_creator.rdef.in"
|
|
|
|
ARCHITECTURES="ALL !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
clangVer="18"
|
|
libClangVer="18"
|
|
else
|
|
clangVer="21"
|
|
libClangVer="21.1"
|
|
fi
|
|
|
|
PROVIDES="
|
|
qt_creator$secondaryArchSuffix = $portVersion
|
|
app:QtCreator = $portVersion
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libarchive$secondaryArchSuffix
|
|
lib:libclang$secondaryArchSuffix
|
|
lib:libclang_cpp$secondaryArchSuffix
|
|
lib:libexecinfo$secondaryArchSuffix
|
|
lib:libGL$secondaryArchSuffix
|
|
lib:libLLVM$secondaryArchSuffix
|
|
lib:libsecret_1$secondaryArchSuffix
|
|
lib:libsqlite3$secondaryArchSuffix
|
|
lib:libyaml_cpp$secondaryArchSuffix
|
|
# Qt6
|
|
lib:libQt6Charts$secondaryArchSuffix
|
|
lib:libQt6Concurrent$secondaryArchSuffix
|
|
lib:libQt6Core$secondaryArchSuffix
|
|
lib:libQt6Core5Compat$secondaryArchSuffix
|
|
lib:libQt6Designer$secondaryArchSuffix
|
|
lib:libQt6DesignerComponents$secondaryArchSuffix
|
|
lib:libQt6Gui$secondaryArchSuffix
|
|
lib:libQt6Help$secondaryArchSuffix
|
|
lib:libQt6Network$secondaryArchSuffix
|
|
lib:libQt6OpenGL$secondaryArchSuffix
|
|
lib:libQt6PrintSupport$secondaryArchSuffix
|
|
lib:libQt6Qml$secondaryArchSuffix
|
|
lib:libQt6Quick$secondaryArchSuffix
|
|
lib:libQt6Quick3D$secondaryArchSuffix
|
|
lib:libQt6QuickWidgets$secondaryArchSuffix
|
|
lib:libQt6SerialPort$secondaryArchSuffix
|
|
lib:libQt6ShaderTools$secondaryArchSuffix
|
|
lib:libQt6Sql$secondaryArchSuffix
|
|
lib:libQt6Svg$secondaryArchSuffix
|
|
lib:libQt6Widgets$secondaryArchSuffix
|
|
lib:libQt6Xml$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libarchive$secondaryArchSuffix
|
|
devel:libclang$secondaryArchSuffix >= $clangVer
|
|
devel:libclang_cpp$secondaryArchSuffix >= $clangVer
|
|
devel:libexecinfo$secondaryArchSuffix
|
|
devel:libGL$secondaryArchSuffix
|
|
devel:libLLVM_$clangVer$secondaryArchSuffix
|
|
devel:libsecret_1$secondaryArchSuffix
|
|
devel:libsqlite3$secondaryArchSuffix
|
|
devel:libyaml_cpp$secondaryArchSuffix >= 0.8
|
|
# Qt6
|
|
qt6_tools${secondaryArchSuffix}_devel
|
|
devel:libQt6Charts$secondaryArchSuffix
|
|
devel:libQt6Concurrent$secondaryArchSuffix
|
|
devel:libQt6Core$secondaryArchSuffix
|
|
devel:libQt6Core5Compat$secondaryArchSuffix
|
|
devel:libQt6Designer$secondaryArchSuffix
|
|
devel:libQt6DesignerComponents$secondaryArchSuffix
|
|
devel:libQt6Gui$secondaryArchSuffix
|
|
devel:libQt6Help$secondaryArchSuffix
|
|
devel:libQt6Network$secondaryArchSuffix
|
|
devel:libQt6OpenGL$secondaryArchSuffix
|
|
devel:libQt6PrintSupport$secondaryArchSuffix
|
|
devel:libQt6Qml$secondaryArchSuffix
|
|
devel:libQt6Quick$secondaryArchSuffix
|
|
devel:libQt6Quick3D$secondaryArchSuffix
|
|
devel:libQt6QuickWidgets$secondaryArchSuffix
|
|
devel:libQt6SerialPort$secondaryArchSuffix
|
|
devel:libQt6ShaderTools$secondaryArchSuffix
|
|
devel:libQt6Sql$secondaryArchSuffix
|
|
devel:libQt6Svg$secondaryArchSuffix
|
|
devel:libQt6Widgets$secondaryArchSuffix
|
|
devel:libQt6Xml$secondaryArchSuffix
|
|
"
|
|
if [ "$targetArchitecture" != x86_gcc2 ]; then
|
|
BUILD_REQUIRES+="
|
|
devel:libomp$secondaryArchSuffix
|
|
"
|
|
fi
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:ninja
|
|
cmd:perl
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:python3.10
|
|
cmd:qdoc6$secondaryArchSuffix
|
|
cmd:which
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_AUTOGEN_PARALLEL=1 \
|
|
-DQTC_USE_SYSTEM_LIBARCHIVE=ON \
|
|
-DQT_NO_PRIVATE_MODULE_WARNING=ON \
|
|
-DBUILD_EXECUTABLE_CMDBRIDGE=OFF \
|
|
-Wno-dev
|
|
|
|
cmake --build build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
cmake --install build --prefix $appsDir/QtCreator
|
|
|
|
# Create symlink to libclang
|
|
ln -s /system/$relativeDevelopLibDir/libclang.so.$libClangVer $appsDir/QtCreator/lib/qtcreator/
|
|
ln -s /system/$relativeDevelopLibDir/libclang.so.$libClangVer $appsDir/QtCreator/libexec/qtcreator/
|
|
|
|
local APP_SIGNATURE="application/x-vnd.qt6-qtcreator"
|
|
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
|
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
|
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
|
local LONG_INFO="$SUMMARY"
|
|
sed \
|
|
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
|
-e "s|@MAJOR@|$MAJOR|" \
|
|
-e "s|@MIDDLE@|$MIDDLE|" \
|
|
-e "s|@MINOR@|$MINOR|" \
|
|
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
|
$portDir/additional-files/qt_creator.rdef.in > qt_creator.rdef
|
|
|
|
addResourcesToBinaries qt_creator.rdef $appsDir/QtCreator/bin/qtcreator
|
|
|
|
mv $appsDir/QtCreator/bin/qtcreator "$appsDir/QtCreator/bin/Qt Creator"
|
|
|
|
mkdir -p $dataDir/deskbar/menu/Applications/Qt
|
|
addAppDeskbarSymlink "$appsDir/QtCreator/bin/Qt Creator" "Qt/Qt Creator"
|
|
}
|