qt5: add recipe for version 5.7.1.

This commit is contained in:
Jerome Duval
2017-02-20 18:37:21 +01:00
parent bf816a34f1
commit 0cbc4d480f
3 changed files with 5820 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,180 @@
From eb72e1b77adbcd02c53597ac9d132004b09d91a3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 26 Oct 2015 10:51:40 +0000
Subject: Fix qtwebkit build
diff --git a/Source/JavaScriptCore/heap/HeapStatistics.cpp b/Source/JavaScriptCore/heap/HeapStatistics.cpp
index b63c316..281536a 100644
--- a/Source/JavaScriptCore/heap/HeapStatistics.cpp
+++ b/Source/JavaScriptCore/heap/HeapStatistics.cpp
@@ -45,7 +45,7 @@ double HeapStatistics::s_endTime = 0.0;
Vector<double>* HeapStatistics::s_pauseTimeStarts = 0;
Vector<double>* HeapStatistics::s_pauseTimeEnds = 0;
-#if OS(UNIX)
+#if OS(UNIX) && !OS(HAIKU)
void HeapStatistics::initialize()
{
diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
index 78fdfa4..3ef39a4 100644
--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
@@ -43,6 +43,10 @@
#include <windows.h>
#include <malloc.h>
+#elif OS(HAIKU)
+
+#include <OS.h>
+
#elif OS(UNIX)
#include <sys/mman.h>
@@ -374,6 +378,8 @@ static size_t getPlatformThreadRegisters(const PlatformThread& platformThread, P
#if HAVE(PTHREAD_NP_H) || OS(NETBSD)
// e.g. on FreeBSD 5.4, neundorf@kde.org
pthread_attr_get_np(platformThread, &regs);
+#elif OS(HAIKU)
+ // TODO
#else
// FIXME: this function is non-portable; other POSIX systems may have different np alternatives
pthread_getattr_np(platformThread, &regs);
@@ -434,6 +440,11 @@ static inline void* otherThreadStackPointer(const PlatformThreadRegisters& regs)
#elif OS(QNX)
return reinterpret_cast<void*>((uintptr_t) regs.sp);
+#elif OS(HAIKU)
+ thread_info threadInfo;
+ get_thread_info(find_thread(NULL), &threadInfo);
+ return threadInfo.stack_end;
+
#elif USE(PTHREADS)
void* stackBase = 0;
size_t stackSize = 0;
diff --git a/Source/ThirdParty/ANGLE/src/compiler/osinclude.h b/Source/ThirdParty/ANGLE/src/compiler/osinclude.h
index d8bb1a7..4b978b8 100644
--- a/Source/ThirdParty/ANGLE/src/compiler/osinclude.h
+++ b/Source/ThirdParty/ANGLE/src/compiler/osinclude.h
@@ -18,7 +18,7 @@
defined(__FreeBSD__) || defined(__OpenBSD__) || \
defined(__sun) || defined(ANDROID) || \
defined(__GLIBC__) || defined(__GNU__) || \
- defined(__QNX__)
+ defined(__QNX__) || defined(__HAIKU__)
#define ANGLE_OS_POSIX
#else
#error Unsupported platform.
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 562840c..7970a50 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -436,6 +436,11 @@
#define WTF_OS_QNX 1
#endif
+/* OS(HAIKU) - HAIKU */
+#if defined(__HAIKU__)
+#define WTF_OS_HAIKU 1
+#endif
+
/* OS(SOLARIS) - Solaris */
#if defined(sun) || defined(__sun)
#define WTF_OS_SOLARIS 1
@@ -467,7 +472,8 @@
|| OS(SOLARIS) \
|| defined(unix) \
|| defined(__unix) \
- || defined(__unix__)
+ || defined(__unix__) \
+ || defined(__HAIKU__)
#define WTF_OS_UNIX 1
#endif
diff --git a/Source/WTF/wtf/StackBounds.cpp b/Source/WTF/wtf/StackBounds.cpp
index 061cae7..df4ef39 100644
--- a/Source/WTF/wtf/StackBounds.cpp
+++ b/Source/WTF/wtf/StackBounds.cpp
@@ -31,6 +31,10 @@
#include <windows.h>
+#elif OS(HAIKU)
+
+#include <OS.h>
+
#elif OS(SOLARIS)
#include <thread.h>
@@ -55,6 +59,14 @@
namespace WTF {
+#if OS(HAIKU)
+static const ptrdiff_t estimatedStackSize = 128 * sizeof(void*) * 1024;
+static void* estimateStackBound(void* origin)
+{
+ return static_cast<char*>(origin) - estimatedStackSize;
+}
+#endif
+
#if OS(DARWIN)
void StackBounds::initialize()
@@ -124,6 +136,16 @@ void StackBounds::initialize()
#endif
}
+#elif OS(HAIKU)
+
+void StackBounds::initialize()
+{
+ thread_info threadInfo;
+ get_thread_info(find_thread(NULL), &threadInfo);
+ m_origin = threadInfo.stack_end;
+ m_bound = estimateStackBound(m_origin);
+}
+
#elif OS(UNIX)
void StackBounds::initialize()
diff --git a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
index 7d02034..9d3a018 100644
--- a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
+++ b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
@@ -216,7 +216,7 @@ void ProcessLauncher::launchProcess()
delete webProcessOrSUIDHelper;
return;
}
-#if OS(UNIX)
+#if OS(UNIX) && !OS(HAIKU)
setpriority(PRIO_PROCESS, webProcessOrSUIDHelper->pid(), 10);
#endif
RunLoop::main()->dispatch(bind(&WebKit::ProcessLauncher::didFinishLaunchingProcess, this, webProcessOrSUIDHelper, connector));
--
2.10.2
From 2e0ac19da6e4dfe898e15b484dcd473b28f6b0be Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 13 Aug 2016 08:53:38 +0000
Subject: Haiku doesn't need pthread
diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf
index 19313d0..5d90b24 100644
--- a/Tools/qmake/mkspecs/features/default_post.prf
+++ b/Tools/qmake/mkspecs/features/default_post.prf
@@ -201,7 +201,7 @@ needToLink() {
linkAgainstLibrary($$library, $$eval(WEBKIT.$${library_identifier}.root_source_dir))
LIBS += $$eval(WEBKIT.$${library_identifier}.dependent_libs)
}
- posix:!darwin: LIBS += -lpthread
+ posix:!darwin:!haiku: LIBS += -lpthread
}
creating_module {
--
2.10.2

425
dev-qt/qt5/qt5-5.7.1.recipe Normal file
View File

@@ -0,0 +1,425 @@
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.1
GNU LGPL v3"
REVISION="1"
SOURCE_URI="https://download.qt.io/official_releases/qt/5.7/$portVersion/single/qt-everywhere-opensource-src-$portVersion.tar.xz"
SOURCE_URI_2="https://download.qt.io/community_releases/5.7/$portVersion/qtwebkit-opensource-src-$portVersion.tar.xz"
CHECKSUM_SHA256="46ebca977deb629c5e69c2545bc5fe13f7e40012e5e2e451695c583bd33502fa"
CHECKSUM_SHA256_2="a46cf7c89339645f94a5777e8ae5baccf75c5fc87ab52c9dafc25da3327b5f03"
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:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DExtras$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickExtras$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickInput$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickRender$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DRender$secondaryArchSuffix = $portVersion compat >= 5
# qtcharts
lib:libQt5Charts$secondaryArchSuffix = $portVersion compat >= 5
# qtconnectivity
lib:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5
# qtdatavis3d
lib:libQt5DataVisualization$secondaryArchSuffix = $portVersion compat >= 5
# qtdeclarative
lib:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5Quick$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5QuickControls2$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5QuickTemplates2$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5
# qtgamepad
lib:libQt5Gamepad$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
# 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
# qtpurchasing
lib:libQt5Purchasing$secondaryArchSuffix = $portVersion compat >= 5
# qtscxml
lib:libQt5Scxml$secondaryArchSuffix = $portVersion compat >= 5
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libglu$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$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: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: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:libQt5PacketProtocol$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5Qml$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5QmlDebug$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
# 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: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
# qtpurchasing
devel:libQt5Purchasing$secondaryArchSuffix = $portVersion compat >= 5
# qtscxml
devel:libQt5Scxml$secondaryArchSuffix = $portVersion compat >= 5
devel:libQtpng$secondaryArchSuffix = $portVersion
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:qgltf$secondaryArchSuffix = $portVersion compat >= 5
cmd:qhelpconverter$secondaryArchSuffix = $portVersion compat >= 5
cmd:qhelpgenerator$secondaryArchSuffix = $portVersion compat >= 5
cmd:qlalr$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:qscxmlc$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
"
REQUIRES_docs="
qt5${secondaryArchSuffix}_devel == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$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 \
-no-rpath -system-sqlite
make $jobArgs
# build qtwebkit
cd $sourceDir2
PATH=$PATH:$sourceDir/qtbase/bin
qmake .
make $jobArgs
}
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 libQt5Positioning libQt5Nfc \
libQt5MultimediaWidgets libQt5MultimediaQuick_p libQt5Multimedia \
libQt5Location libQt5Help libQt5Designer libQt5DesignerComponents \
libQt5CLucene libQt5Bluetooth \
libQt53DQuick libQt53DLogic libQt53DInput libQt53DCore \
libQt53DQuickRender libQt53DRender libQt5PacketProtocol \
libQt5QmlDebug libqtpng libQt5Scxml libQt5Purchasing
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 qscxmlc 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
}