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="2" SOURCE_URI="https://download.qt.io/official_releases/qt/5.5/$portVersion/submodules/qtbase-opensource-src-$portVersion.tar.gz" CHECKSUM_SHA256="7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a1af0561" SOURCE_DIR="qtbase-opensource-src-$portVersion" SOURCE_URI_2="https://download.qt.io/official_releases/qt/5.5/$portVersion/submodules/qttools-opensource-src-$portVersion.tar.gz" CHECKSUM_SHA256_2="d9e06bd19ecc86afba5e95d45a906d1bc1ad579aa70001e36143c1aaf695bdd6" SOURCE_DIR_2="qttools-opensource-src-$portVersion" SOURCE_URI_3="https://download.qt.io/official_releases/qt/5.5/$portVersion/submodules/qttranslations-opensource-src-$portVersion.tar.gz" CHECKSUM_SHA256_3="c4bd6db6e426965c6f8824c54e81f68bbd61e2bae1bcadc328c6e81c45902a0d" SOURCE_DIR_3="qttranslations-opensource-src-$portVersion" SOURCE_URI_4="https://github.com/threedeyes/QPAHaikuExp/archive/dd88f691e399f238b62cfef0d9ff872af34af77b.tar.gz" CHECKSUM_SHA256_4="434b0d5eb400074a173d291b151374e8b28690b6844e68702e5569aa35d41360" SOURCE_DIR_4="QPAHaikuExp-dd88f691e399f238b62cfef0d9ff872af34af77b" PATCHES="qt5base-5.5.patchset" ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" SECONDARY_ARCHITECTURES="x86" PROVIDES=" qt5base$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Bootstrap$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5PlatformSupport$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:libQt5UiTools$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5.5 lib:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qtdiag$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qtpaths$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qtplugininfo$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 " PROVIDES_devel=" qt5base${secondaryArchSuffix}_devel = $portVersion compat >= 5.5 devel:libQt5Bootstrap$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5CLucene$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Concurrent$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Core$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5DBus$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Designer$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5DesignerComponents$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Gui$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Help$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Network$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5PlatformSupport$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:libQt5UiTools$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Widgets$secondaryArchSuffix = $portVersion compat >= 5.5 devel:libQt5Xml$secondaryArchSuffix = $portVersion compat >= 5.5 app:assistant$secondaryArchSuffix = $portVersion compat >= 5.5 app:designer$secondaryArchSuffix = $portVersion compat >= 5.5 app:linguist$secondaryArchSuffix = $portVersion compat >= 5.5 app:pixeltool$secondaryArchSuffix = $portVersion compat >= 5.5 app:qdbusviewer$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:moc$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qcollectiongenerator$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qdbus$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:qhelpconverter$secondaryArchSuffix = $portVersion compat >= 5.5 cmd:qhelpgenerator$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 " # 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=" qt5base$secondaryArchSuffix == $portVersion base haiku$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix " BUILD_REQUIRES=" icu${secondaryArchSuffix}_devel devel:libz$secondaryArchSuffix devel:libcrypto$secondaryArchSuffix devel:libssl$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix devel:libpng$secondaryArchSuffix devel:libtiff$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:find cmd:awk " PATCH() { rm -rf $sourceDir/src/plugins/platforms/haiku cp -s $sourceDir4/haiku $sourceDir/src/plugins/platforms/haiku cd $sourceDir2 sed -i s/__linux__/__HAIKU__/g \ src/assistant/3rdparty/clucene/src/CLucene/config/compiler.h sed -i s/-lm/-lroot/g src/designer/src/designer/designer.pro } BUILD() { # not an autotools configure 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 -no-opengl \ -nomake examples -release -opensource \ -confirm-license -no-iconv -no-audio-backend make $jobArgs make install export LIBRARY_PATH=$LIBRARY_PATH:$libDir cd $sourceDir2 $binDir/qmake . make $jobArgs #pushd haiku #./do-res.sh #popd make install cd $sourceDir3 $binDir/qmake . make $jobArgs make install } INSTALL() { fixPkgconfig strict prepareInstalledDevelLibs \ libQt5Bootstrap libQt5CLucene libQt5Concurrent libQt5Core \ libQt5DBus libQt5Designer libQt5DesignerComponents libQt5Gui \ libQt5Help libQt5Network libQt5PlatformSupport libQt5PrintSupport \ libQt5Sql libQt5Test libQt5UiTools libQt5Widgets libQt5Xml # UGLY HACK -- REMOVE ME WHEN QMAKE/CMAKE/ETC IS FIXED cd $libDir for i in lib*.so.5.*;do ln -fs $i $(echo $i | cut -f1,2 -d.) done devCommands="assistant designer linguist pixeltool qdbusviewer lconvert lrelease lupdate moc qcollectiongenerator qdbus qdbuscpp2xml qdbusxml2cpp qdoc qhelpconverter qhelpgenerator qlalr qmake rcc syncqt.pl uic" for i in $devCommands; do devPackageCommands="$devPackageCommands $binDir/$i" done mkdir -p $dataDir/cmake/Modules/ cp -r $libDir/cmake/. $dataDir/cmake/Modules/. rm -rf $libDir/cmake/ 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/pixeltool "Qt/PixelTool" packageEntries devel \ $developDir \ $devPackageCommands \ ${DIR_QT_DEVELOP_DESKBAR} \ $prefix/mkspecs rm -rf $libDir/fonts/ $prefix/tests rm -rf $dataDir/Qt5/demos $dataDir/Qt5/examples }