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" REVISION="1" SOURCE_URI="https://download.qt.io/official_releases/qt/5.6/$portVersion/single/qt-everywhere-opensource-src-$portVersion.tar.xz" SOURCE_URI_2="https://download.qt.io/community_releases/5.6/$portVersion/qtwebkit-opensource-src-$portVersion.tar.xz" CHECKSUM_SHA256="0d3cc75d2368ad988c9ec6bcbed6362dbaa8e03fdfd04e679284f4b9af91e565" CHECKSUM_SHA256_2="f5cfbfa5fad2b65a9be907d426f99694b86a04c3bb5a8814b21bd0ade4c672aa" SOURCE_DIR="qt-everywhere-opensource-src-$portVersion" SOURCE_DIR_2="qtwebkit-opensource-src-$portVersion" PATCHES="qt5-$portVersion.patchset" PATCHES_2="qtwebkit-$portVersion.patchset" ADDITIONAL_FILES=" assistant.rdef.in designer.rdef.in linguist.rdef.in qdbusviewer.rdef.in qhelpconverter.rdef.in qmlviewer.rdef.in " ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" SECONDARY_ARCHITECTURES="?x86" PROVIDES=" qt5$secondaryArchSuffix = $portVersion compat >= 5 lib:libqt5$secondaryArchSuffix = $portVersion compat >= 5 # qtbase lib:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5OpenGL$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5PrintSupport$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Sql$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Test$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5 # qtxmlpatterns lib:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5 # qtwebsockets lib:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5 # qtwebkit lib:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qt3d #lib:libQt53DCollision$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DQuickInput$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DQuickRender$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt53DRender$secondaryArchSuffix = $portVersion compat >= 5 # qtconnectivity lib:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5 # qtdeclarative lib:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Quick$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qtenginio lib:libEnginio$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5LabsTemplates$secondaryArchSuffix = $portVersion compat >= 5 # qtlocation lib:libQt5Location$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Positioning$secondaryArchSuffix = $portVersion compat >= 5 # qtmultimedia lib:libQt5Multimedia$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5MultimediaQuick_p$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qtquick1 #lib:libQt5Declarative$secondaryArchSuffix = $portVersion compat >= 5 # qtscript lib:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5 # qtsensors lib:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5 # qtserialport lib:libQt5SerialBus$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5 # qtsvg lib:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5 # qttools lib:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5 lib:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5 # qtwebchannel lib:libQt5WebChannel$secondaryArchSuffix = $portVersion compat >= 5 " REQUIRES=" haiku$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libfontconfig$secondaryArchSuffix lib:libgl$secondaryArchSuffix lib:libglu$secondaryArchSuffix lib:libicuuc$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix lib:libpng16$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libsqlite3$secondaryArchSuffix lib:libtiff$secondaryArchSuffix lib:libxml2$secondaryArchSuffix lib:libz$secondaryArchSuffix " PROVIDES_devel=" qt5${secondaryArchSuffix}_devel = $portVersion compat >= 5 devel:libqt5$secondaryArchSuffix = $portVersion compat >= 5 # qtbase devel:libQt5Bootstrap$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5LabsControls$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5OpenGL$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5OpenGLExtensions$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5PlatformSupport$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5PrintSupport$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Sql$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Test$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5 # qtxmlpatterns devel:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5 # qtwebsockets devel:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5 # qtwebkit devel:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qt3d #devel:libQt53DCollision$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DQuickRender$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt53DRender$secondaryArchSuffix = $portVersion compat >= 5 # qtconnectivity devel:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5 # qtdeclarative devel:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Quick$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qtenginio devel:libEnginio$secondaryArchSuffix = $portVersion compat >= 5 # qtlocation devel:libQt5Location$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Positioning$secondaryArchSuffix = $portVersion compat >= 5 # qtmultimedia devel:libQt5Multimedia$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5MultimediaQuick_p$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 5 # qtquick1 #devel:libQt5Declarative$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5QmlDevTools$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5UiTools$secondaryArchSuffix = $portVersion compat >= 5 # qtscript devel:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5 # qtsensors devel:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5 # qtserialport devel:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5 # qtsvg devel:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5 # qttools devel:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5 devel:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5 # qtwebchannel devel:libQt5WebChannel$secondaryArchSuffix = $portVersion compat >= 5 cmd:assistant$secondaryArchSuffix = $portVersion compat >= 5 cmd:canbusutil$secondaryArchSuffix = $portVersion compat >= 5 cmd:designer$secondaryArchSuffix = $portVersion compat >= 5 cmd:fixqt4headers.pl$secondaryArchSuffix = $portVersion compat >= 5 cmd:lconvert$secondaryArchSuffix = $portVersion compat >= 5 cmd:linguist$secondaryArchSuffix = $portVersion compat >= 5 cmd:lrelease$secondaryArchSuffix = $portVersion compat >= 5 cmd:lupdate$secondaryArchSuffix = $portVersion compat >= 5 cmd:moc$secondaryArchSuffix = $portVersion compat >= 5 cmd:pixeltool$secondaryArchSuffix = $portVersion compat >= 5 cmd:qcollectiongenerator$secondaryArchSuffix = $portVersion compat >= 5 cmd:qdbus$secondaryArchSuffix = $portVersion compat >= 5 cmd:qdbuscpp2xml$secondaryArchSuffix = $portVersion compat >= 5 cmd:qdbusviewer$secondaryArchSuffix = $portVersion compat >= 5 cmd:qdbusxml2cpp$secondaryArchSuffix = $portVersion compat >= 5 cmd:qdoc$secondaryArchSuffix = $portVersion compat >= 5 cmd:qhelpgenerator$secondaryArchSuffix = $portVersion compat >= 5 cmd:qgltf$secondaryArchSuffix = $portVersion compat >= 5 cmd:qlalr$secondaryArchSuffix = $portVersion compat >= 5 cmd:qhelpconverter$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmake$secondaryArchSuffix = $portVersion compat >= 5 cmd:qml$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmleasing$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlimportscanner$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmllint$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlmin$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlplugindump$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlprofiler$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlscene$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmltestrunner$secondaryArchSuffix = $portVersion compat >= 5 cmd:qmlviewer$secondaryArchSuffix = $portVersion compat >= 5 cmd:qtdiag$secondaryArchSuffix = $portVersion compat >= 5 cmd:qtpaths$secondaryArchSuffix = $portVersion compat >= 5 cmd:qtplugininfo$secondaryArchSuffix = $portVersion compat >= 5 cmd:rcc$secondaryArchSuffix = $portVersion compat >= 5 cmd:syncqt.pl$secondaryArchSuffix = $portVersion compat >= 5 cmd:uic$secondaryArchSuffix = $portVersion compat >= 5 cmd:xmlpatterns$secondaryArchSuffix = $portVersion compat >= 5 cmd:xmlpatternsvalidator$secondaryArchSuffix = $portVersion compat >= 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 " REQUIRES_docs=" qt5${secondaryArchSuffix}_devel == $portVersion base " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel 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 devel:libsqlite3$secondaryArchSuffix " BUILD_PREREQUIRES=" 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 \ -archdatadir $dataDir/Qt5 \ -hostdatadir $dataDir/Qt5 \ -translationdir $dataDir/Qt5/translations \ -sysconfdir $settingsDir \ -testsdir $dataDir/Qt5/tests \ -examplesdir $dataDir/Qt5/examples \ -importdir $dataDir/Qt5/imports \ -qmldir $dataDir/Qt5/qml \ -plugindir $addOnsDir/Qt5 \ -platform haiku-g++ -no-pch \ -nomake examples -release -opensource \ -confirm-license -no-iconv -no-audio-backend \ -system-sqlite make $jobArgs # build qtwebkit cd $sourceDir2 PATH=$PATH:$sourceDir/qtbase/bin qmake . make } INSTALL() { make install #export LIBRARY_PATH=$LIBRARY_PATH:$libDir #make $jobArgs docs #make install_docs cd $sourceDir2 make install rm $libDir/*.la 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 libQt5LabsControls libQt5Positioning libQt5Nfc \ libQt5MultimediaWidgets libQt5MultimediaQuick_p libQt5Multimedia \ libQt5Location libQt5Help libQt5Designer libQt5DesignerComponents \ libQt5CLucene libQt5Bluetooth \ libQt53DQuick libQt53DLogic libQt53DInput libQt53DCore \ libEnginio libQt53DQuickRender libQt53DRender # libQt5Declarative libQt53DCollision libQt53DRenderer 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 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 canbusutil designer fixqt4headers.pl linguist lconvert lrelease lupdate pixeltool qcollectiongenerator qdbusviewer qdbus qgltf qhelpconverter qhelpgenerator qml qmleasing qmlimportscanner qmllint qmlmin qmlplugindump qmlprofiler qmlscene qmltestrunner qtdiag qtpaths qtplugininfo qmlviewer xmlpatterns xmlpatternsvalidator moc qdbuscpp2xml qdbusxml2cpp qdoc qlalr qmake rcc syncqt.pl uic" for i in $devCommands; do devPackageCommands="$devPackageCommands $binDir/$i" done local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" local MINOR="`echo "$portVersion" | cut -d. -f3`" local VARIETY="B_APPV_DEVELOPMENT" iconFiles="assistant designer linguist qdbusviewer qhelpconverter qmlviewer" for j in $iconFiles; do sed \ -e "s|@MAJOR@|$MAJOR|" \ -e "s|@MIDDLE@|$MIDDLE|" \ -e "s|@MINOR@|$MINOR|" \ -e "s|@VARIETY@|$VARIETY|" \ $portDir/additional-files/$j.rdef.in > $sourceDir/$j.rdef addResourcesToBinaries $sourceDir/$j.rdef "$binDir/$j" 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/Linguist" 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} \ $libDir/cmake \ $dataDir/Qt5/mkspecs }