mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 06:28:55 +02:00
344 lines
14 KiB
Bash
344 lines
14 KiB
Bash
SUMMARY="A comprehensive C++ application development framework"
|
|
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 The Qt Company Ltd."
|
|
LICENSE="GNU LGPL v2"
|
|
|
|
SOURCE_URI="https://download.qt.io/official_releases/qt/5.5/$portVersion/single/qt-everywhere-opensource-src-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="c7fad41a009af1996b62ec494e438aedcb072b3234b2ad3eeea6e6b1f64be3b3"
|
|
SOURCE_DIR="qt-everywhere-opensource-src-$portVersion"
|
|
PATCHES="qt5-5.5.1.patchset"
|
|
|
|
REVISION="1"
|
|
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
qt5$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libqt5$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtbase
|
|
lib:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5OpenGL$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5PrintSupport$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Sql$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Test$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtxmlpatterns
|
|
lib:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebsockets
|
|
lib:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebkit
|
|
lib:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qt3d
|
|
lib:libQt53DCollision$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DQuickRenderer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt53DRenderer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtconnectivity
|
|
lib:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtdeclarative
|
|
lib:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Quick$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtenginio
|
|
lib:libEnginio$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtlocation
|
|
lib:libQt5Location$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Positioning$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtmultimedia
|
|
lib:libQt5Multimedia$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5MultimediaQuick_p$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtquick1
|
|
lib:libQt5Declarative$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtscript
|
|
lib:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtsensors
|
|
lib:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtserialport
|
|
lib:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtsvg
|
|
lib:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qttools
|
|
lib:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebchannel
|
|
lib:libQt5WebChannel$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcrypto$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
lib:libicuuc$secondaryArchSuffix
|
|
lib:libjpeg$secondaryArchSuffix
|
|
lib:libpng$secondaryArchSuffix
|
|
lib:libtiff$secondaryArchSuffix
|
|
lib:libgl$secondaryArchSuffix
|
|
lib:libglu$secondaryArchSuffix
|
|
lib:libfreetype$secondaryArchSuffix
|
|
lib:libfontconfig$secondaryArchSuffix
|
|
lib:libxml2$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
qt5${secondaryArchSuffix}_devel = $portVersion compat >= 5.5
|
|
devel:libqt5$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtbase
|
|
devel:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5OpenGL$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5PrintSupport$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Sql$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Test$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtxmlpatterns
|
|
devel:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebsockets
|
|
devel:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebkit
|
|
devel:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qt3d
|
|
devel:libQt53DCollision$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DQuickRenderer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt53DRenderer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtconnectivity
|
|
devel:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtdeclarative
|
|
devel:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Quick$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtenginio
|
|
lib:libEnginio$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtlocation
|
|
lib:libQt5Location$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5Positioning$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtmultimedia
|
|
devel:libQt5Multimedia$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5MultimediaQuick_p$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtquick1
|
|
devel:libQt5Declarative$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtscript
|
|
lib:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
lib:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtsensors
|
|
devel:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtserialport
|
|
devel:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtsvg
|
|
devel:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qttools
|
|
devel:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
devel:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
# qtwebchannel
|
|
devel:libQt5WebChannel$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
|
|
cmd:moc$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qdbuscpp2xml$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qdbusxml2cpp$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qdoc$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qlalr$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qmake$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:rcc$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:syncqt.pl$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:uic$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:lconvert$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:lrelease$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:lupdate$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:pixeltool$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qcollectiongenerator$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qdbusviewer$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qdbus$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:qhelpconverter$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:xmlpatterns$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
cmd:xmlpatternsvalidator$secondaryArchSuffix = $portVersion compat >= 5.5
|
|
"
|
|
# if libssl and libcrypto are not in REQUIRES_devel,
|
|
# qmake will decide that there is no system OpenSSL support
|
|
# and thus build Qt apps without any SSL support.
|
|
REQUIRES_devel="
|
|
qt5$secondaryArchSuffix == $portVersion base
|
|
haiku$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libcrypto$secondaryArchSuffix
|
|
lib:libgl$secondaryArchSuffix
|
|
lib:libglu$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_docs="
|
|
qt5${secondaryArchSuffix}_docs = $portVersion compat >= 5.5
|
|
"
|
|
|
|
REQUIRES_docs="
|
|
qt5${secondaryArchSuffix}_devel == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
icu${secondaryArchSuffix}_devel
|
|
devel:libz$secondaryArchSuffix
|
|
devel:libcrypto$secondaryArchSuffix
|
|
devel:libssl$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:libpng$secondaryArchSuffix
|
|
devel:libtiff$secondaryArchSuffix
|
|
devel:libgl$secondaryArchSuffix
|
|
devel:libglu$secondaryArchSuffix
|
|
devel:libfreetype$secondaryArchSuffix
|
|
devel:libfontconfig$secondaryArchSuffix
|
|
devel:libxml2$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_PREREQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:cmp
|
|
cmd:which
|
|
cmd:make
|
|
cmd:g++$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:perl
|
|
cmd:python
|
|
cmd:ruby
|
|
cmd:find
|
|
cmd:flex
|
|
cmd:bison
|
|
cmd:gperf
|
|
cmd:awk
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
CFLAGS=-D_BSD_SOURCE CXXFLAGS=-D_BSD_SOURCE ./configure \
|
|
-prefix $prefix \
|
|
-bindir $binDir \
|
|
-libdir $libDir \
|
|
-libexecdir $libExecDir \
|
|
-headerdir $includeDir \
|
|
-docdir $docDir/Qt5 \
|
|
-datadir $dataDir/Qt5 \
|
|
-translationdir $dataDir/Qt5/translations \
|
|
-sysconfdir $settingsDir \
|
|
-testsdir $dataDir/Qt5/tests \
|
|
-examplesdir $dataDir/Qt5/examples \
|
|
-importdir $dataDir/Qt5/imports \
|
|
-plugindir $addOnsDir/Qt5 \
|
|
-platform haiku-g++ -no-pch \
|
|
-nomake examples -release -opensource \
|
|
-confirm-license -no-iconv -no-audio-backend
|
|
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install
|
|
|
|
export LIBRARY_PATH=$LIBRARY_PATH:$libDir
|
|
# make $jobArgs docs
|
|
make install_docs
|
|
|
|
fixPkgconfig
|
|
|
|
prepareInstalledDevelLibs \
|
|
libQt5Concurrent libQt5Core libQt5DBus libQt5Gui \
|
|
libQt5Network libQt5PrintSupport libQt5OpenGL \
|
|
libQt5Sql libQt5Test libQt5Widgets libQt5Xml \
|
|
libQt5XmlPatterns libQt5WebSockets libQt5WebKitWidgets \
|
|
libQt5WebKit libQt5WebChannel libQt5Svg \
|
|
libQt5SerialPort libQt5Sensors libQt5ScriptTools libQt5Script \
|
|
libQt5QuickWidgets libQt5QuickTest libQt5QuickParticles \
|
|
libQt5Quick libQt5Qml libQt5Positioning libQt5Nfc \
|
|
libQt5MultimediaWidgets libQt5MultimediaQuick_p libQt5Multimedia \
|
|
libQt5Location libQt5Help libQt5Designer libQt5DesignerComponents \
|
|
libQt5Declarative libQt5CLucene libQt5Bluetooth libQt53DQuickRenderer \
|
|
libQt53DQuick libQt53DLogic libQt53DInput libQt53DCore \
|
|
libQt53DCollision libQt53DRenderer libEnginio
|
|
|
|
cd $libDir
|
|
for i in lib*.so.5.*;do
|
|
ln -fs $i $(echo $i | cut -f1,2 -d.)
|
|
done
|
|
|
|
rm -rf $libDir/fonts/ $prefix/tests
|
|
rm -rf $dataDir/Qt5/demos $dataDir/Qt5/examples
|
|
|
|
mkdir -p $dataDir/cmake/Modules/
|
|
cp -r $libDir/cmake/. $dataDir/cmake/Modules/.
|
|
rm -rf $libDir/cmake/
|
|
|
|
mv -f $libDir/libQt5UiTools* $developLibDir/
|
|
mv -f $libDir/libQt5QmlDevTools* $developLibDir/
|
|
mv -f $libDir/libQt5Bootstrap* $developLibDir/
|
|
mv -f $libDir/libQt5PlatformSupport* $developLibDir/
|
|
mv -f $libDir/libQt5OpenGLExtensions* $developLibDir/
|
|
|
|
devCommands="assistant designer linguist lconvert lrelease lupdate
|
|
pixeltool qcollectiongenerator qdbusviewer qdbus qhelpconverter
|
|
qhelpgenerator xmlpatterns xmlpatternsvalidator moc qdbuscpp2xml
|
|
qdbusxml2cpp qdoc qlalr qmake rcc syncqt.pl uic"
|
|
|
|
for i in $devCommands; do
|
|
devPackageCommands="$devPackageCommands $binDir/$i"
|
|
done
|
|
|
|
iconFiles="assistant designer linguist qdbusviewer qhelpconverter qhelpconverter qmlviewer"
|
|
for j in $iconFiles; do
|
|
rc -o $sourceDir/haiku/$j.rsrc $sourceDir/haiku/$j.rdef
|
|
xres -o "$binDir/$j" $sourceDir/haiku/$j.rsrc
|
|
mimeset -f "$binDir/$j"
|
|
done
|
|
|
|
DIR_QT_DEVELOP_DESKBAR="${dataDir}/deskbar/menu/Applications/Qt"
|
|
mkdir -p ${DIR_QT_DEVELOP_DESKBAR}
|
|
addAppDeskbarSymlink $binDir/assistant "Qt/Assistant"
|
|
addAppDeskbarSymlink $binDir/designer "Qt/Designer"
|
|
addAppDeskbarSymlink $binDir/linguist "Qt/Lingist"
|
|
addAppDeskbarSymlink $binDir/qdbusviewer "Qt/Qt D-Bus Viewer"
|
|
addAppDeskbarSymlink $binDir/qmlviewer "Qt/QML Viewer"
|
|
addAppDeskbarSymlink $binDir/qhelpconverter "Qt/Qt Help Converter"
|
|
|
|
packageEntries docs \
|
|
$docDir/Qt5
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$devPackageCommands \
|
|
${DIR_QT_DEVELOP_DESKBAR} \
|
|
$dataDir/cmake/Modules \
|
|
$prefix/mkspecs
|
|
}
|