Files
haikuports/dev-qt/libqt4/libqt4-4.8.7.recipe
2017-10-27 22:39:36 +03:00

220 lines
8.7 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="http://github.com/qt-haiku/qt4"
SOURCE_URI="https://github.com/qt-haiku/qt4/archive/v$portVersion-haiku-1.tar.gz"
CHECKSUM_SHA256="dc5c24bed30b7d14cb9c981a50a4ea5d3587be9a8f4f69fc2d5e6c49ed31065a"
SOURCE_DIR="qt4-$portVersion-haiku-1"
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2015 Digia Plc and/or its subsidiary(-ies)."
REVISION="8"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PATCHES="libqt4-$portVersion.patch"
PROVIDES="
libqt4$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qtconfig$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qdbus$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4
lib:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtDBus$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtDeclarative$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtDesigner$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtDesignerComponents$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtGui$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtHelp$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtMultimedia$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtNetwork$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtScript$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtScriptTools$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4
lib:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8
lib:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
cmd:qsystray
"
BUILD_REQUIRES="
icu${secondaryArchSuffix}_devel
devel:libz$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 1.0.0
devel:libjpeg$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
dbus${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:cmp
cmd:pkg_config$secondaryArchSuffix
cmd:which
cmd:make
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:perl
cmd:find
cmd:awk
"
PROVIDES_devel="
libqt4${secondaryArchSuffix}_devel = $portVersion compat >= 4.8
cmd:assistant$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:designer$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:lconvert$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:linguist$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:lrelease$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:lupdate$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:moc$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:pixeltool$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qcollectiongenerator$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qdbuscpp2xml$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qdbusviewer$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qdbusxml2cpp$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qdoc3$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qhelpconverter$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qhelpgenerator$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qmake$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qmlplugindump$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qmlviewer$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qt3to4$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:qttracereplay$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:rcc$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:uic$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:uic3$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:xmlpatterns$secondaryArchSuffix = $portVersion compat >= 4.8
cmd:xmlpatternsvalidator$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4
devel:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtDBus$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtDeclarative$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtDesigner$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtDesignerComponents$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtGui$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtHelp$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtMultimedia$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtNetwork$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtScript$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtScriptTools$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4
devel:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8
devel:libQtUiTools$secondaryArchSuffix = $portVersion compat >= 4.8
"
# 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="
libqt4$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
"
BUILD()
{
# not an autotools configure
chmod +x ./configure
CFLAGS=-D_BSD_SOURCE CXXFLAGS=-D_BSD_SOURCE ./configure \
-prefix $prefix \
-bindir $binDir \
-libdir $libDir \
-headerdir $includeDir \
-docdir $docDir/Qt \
-datadir $dataDir/Qt \
-translationdir $dataDir/Qt/translations \
-sysconfdir $settingsDir \
-demosdir $dataDir/Qt/demos \
-examplesdir $dataDir/Qt/examples \
-importdir $dataDir/Qt/imports \
-plugindir $addOnsDir/Qt \
-no-pch -no-opengl -no-largefile \
-fast -nomake examples -nomake demos -release -opensource \
-confirm-license -no-iconv -phonon -no-phonon-backend \
-multimedia -no-audio-backend -dbus
make $jobArgs
pushd haiku
./do-res.sh
popd
}
INSTALL()
{
make install
fixPkgconfig strict
mv -f $libDir/libQtDBus.la $developLibDir
prepareInstalledDevelLibs libphonon \
libQt3Support libQtCLucene \
libQtCore libQtDeclarative \
libQtDesigner libQtDesignerComponents \
libQtGui libQtHelp \
libQtMultimedia libQtNetwork \
libQtScript libQtScriptTools \
libQtSql libQtSvg \
libQtTest libQtWebKit \
libQtXml libQtXmlPatterns \
libQtUiTools
# UGLY HACK -- REMOVE ME WHEN QMAKE/CMAKE/ETC IS FIXED
cd $libDir
for i in lib*.so.4.*;do
ln -fs $i $(echo $i | cut -f1,2 -d.)
done
devCommands="assistant designer lconvert linguist lrelease lupdate
moc pixeltool qdbuscpp2xml qdbusviewer qdbusxml2cpp
qcollectiongenerator qdoc3 qhelpconverter qhelpgenerator qmake
qmlplugindump qmlviewer qt3to4 qttracereplay rcc uic uic3 xmlpatterns
xmlpatternsvalidator"
for i in $devCommands; do
devPackageCommands="$devPackageCommands $binDir/$i"
done
DIR_QT_DEVELOP_DESKBAR="${dataDir}/deskbar/menu/Applications/Qt"
mkdir -p ${DIR_QT_DEVELOP_DESKBAR}
addAppDeskbarSymlink $binDir/assistant "Qt/Qt Assistant"
addAppDeskbarSymlink $binDir/designer "Qt/Qt Designer"
addAppDeskbarSymlink $binDir/qdbusviewer "Qt/Qt D-Bus Viewer"
addAppDeskbarSymlink $binDir/linguist "Qt/Qt Lingist"
addAppDeskbarSymlink $binDir/qmlviewer "Qt/QML Viewer"
addAppDeskbarSymlink $binDir/qhelpconverter "Qt/Qt Help Converter"
packageEntries devel \
$developDir \
$devPackageCommands \
${DIR_QT_DEVELOP_DESKBAR} \
$dataDir/Qt/mkspecs
# move tests to demo/example package when it exists
rm -rf $prefix/tests
rm -rf $dataDir/Qt/demos $dataDir/Qt/examples
}