mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-04 22:18:55 +02:00
236 lines
8.9 KiB
Bash
236 lines
8.9 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/submodules/qtbase-opensource-src-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="7e82b1318f88e56a2a9376e069aa608d4fd96b48cb0e1b880ae658b0a1af0561"
|
|
SOURCE_DIR="qtbase-opensource-src-$portVersion"
|
|
PATCHES="qt5base-5.5.patchset"
|
|
|
|
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="git+https://github.com/threedeyes/QPAHaikuExp#dd88f691e399f238b62cfef0d9ff872af34af77b"
|
|
|
|
|
|
REVISION="2"
|
|
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
|
|
}
|