qt5: add recipe for version 5.9.1.

This commit is contained in:
Jerome Duval
2017-07-04 23:52:27 +02:00
parent 317c7f94ea
commit a4b7b3283c
3 changed files with 6187 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,180 @@
From 243c45b09329138bad208ce12ca968c0bc8aa642 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.12.2
From dd78d57061e497e78fd67b4b2edf12a13ddb1bf5 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 77375c6..b79046c 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.12.2

478
dev-qt/qt5/qt5-5.9.1.recipe Normal file
View File

@@ -0,0 +1,478 @@
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-2017 The Qt Company Ltd."
LICENSE="GNU LGPL v2.1
GNU LGPL v3"
REVISION="1"
SOURCE_URI="http://download.qt.io/official_releases/qt/5.9/5.9.1/single/qt-everywhere-opensource-src-${portVersion/\~/-}.tar.xz"
SOURCE_URI_2="http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-${portVersion/\~/-}.tar.xz"
CHECKSUM_SHA256="7b41a37d4fe5e120cdb7114862c0153f86c07abbec8db71500443d2ce0c89795"
CHECKSUM_SHA256_2="28a560becd800a4229bfac317c2e5407cd3cc95308bc4c3ca90dba2577b052cf"
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
"
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
# qt3d
lib:libQt53DAnimation$secondaryArchSuffix = $portVersion compat >= 5
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:libQt53DQuickAnimation$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickExtras$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickInput$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickRender$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt53DQuickScene2D$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
# qtnetworkauth
lib:libQt5NetworkAuth$secondaryArchSuffix = $portVersion compat >= 5
# qtpurchasing
lib:libQt5Purchasing$secondaryArchSuffix = $portVersion compat >= 5
# qtremoteobjects
lib:libQt5RemoteObjects$secondaryArchSuffix = $portVersion compat >= 5
# qtscript
lib:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5
# qtscxml
lib:libQt5Scxml$secondaryArchSuffix = $portVersion compat >= 5
# qtsensors
lib:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5
# qtserialport
lib:libQt5SerialBus$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5
# qtspeech
lib:libQt5TextToSpeech$secondaryArchSuffix = $portVersion compat >= 5
# qtsvg
lib:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5
# qttools
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
# qtwebkit
lib:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5
lib:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5
# qtwebsockets
lib:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5
# qtxmlpatterns
lib:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libdouble_conversion$secondaryArchSuffix
lib:libegl$secondaryArchSuffix
lib:libflite$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:libpcre2_16$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: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
# qt3d
devel:libQt53DAnimation$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DCore$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DExtras$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DInput$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DLogic$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuick$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuickAnimation$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuickExtras$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuickInput$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuickRender$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DQuickScene2D$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt53DRender$secondaryArchSuffix = $portVersion compat >= 5
# qtcharts
devel:libQt5Charts$secondaryArchSuffix = $portVersion compat >= 5
# qtconnectivity
devel:libQt5Bluetooth$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5Nfc$secondaryArchSuffix = $portVersion compat >= 5
# qtdatavis3d
devel:libQt5DataVisualization$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:libQt5QuickControls2$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5QuickParticles$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5QuickTemplates2$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5QuickTest$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5QuickWidgets$secondaryArchSuffix = $portVersion compat >= 5
# qtgamepad
devel:libQt5Gamepad$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
# qtnetworkauth
devel:libQt5NetworkAuth$secondaryArchSuffix = $portVersion compat >= 5
# qtpurchasing
devel:libQt5Purchasing$secondaryArchSuffix = $portVersion compat >= 5
# qtquick1
devel:libQt5QmlDevTools$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5UiTools$secondaryArchSuffix = $portVersion compat >= 5
# qtremoteobjects
devel:libQt5RemoteObjects$secondaryArchSuffix = $portVersion compat >= 5
# qtscript
devel:libQt5Script$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5ScriptTools$secondaryArchSuffix = $portVersion compat >= 5
# qtscxml
devel:libQt5Scxml$secondaryArchSuffix = $portVersion compat >= 5
# qtsensors
devel:libQt5Sensors$secondaryArchSuffix = $portVersion compat >= 5
# qtserialport
devel:libQt5SerialBus$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5SerialPort$secondaryArchSuffix = $portVersion compat >= 5
# qtspeech
devel:libQt5TextToSpeech$secondaryArchSuffix = $portVersion compat >= 5
# qtsvg
devel:libQt5Svg$secondaryArchSuffix = $portVersion compat >= 5
# qttools
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
# qtwebkit
devel:libQt5WebKit$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5WebKitWidgets$secondaryArchSuffix = $portVersion compat >= 5
# qtwebsockets
devel:libQt5WebSockets$secondaryArchSuffix = $portVersion compat >= 5
# qtxmlpatterns
devel:libQt5XmlPatterns$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5AccessibilitySupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5DeviceDiscoverySupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5EventDispatcherSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5FbSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5FontDatabaseSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5PlatformCompositorSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5ServiceSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5ThemeSupport$secondaryArchSuffix = $portVersion compat >= 5
devel:libQt5EGLSupport$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: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:qmlcachegen$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:qscxmlc$secondaryArchSuffix = $portVersion compat >= 5
cmd:qtattributionsscanner$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:repc$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
devel:libgl$secondaryArchSuffix
"
PROVIDES_docs="
qt5${secondaryArchSuffix}_docs = $portVersion
"
REQUIRES_docs="
qt5${secondaryArchSuffix}_devel == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libdouble_conversion$secondaryArchSuffix
devel:libegl$secondaryArchSuffix
devel:libflite$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpcre2_16$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()
{
CPPFLAGS=-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-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 libQt5NetworkAuth libQt5PrintSupport libQt5OpenGL \
libQt5Sql libQt5Test libQt5Widgets libQt5Xml \
libQt5XmlPatterns libQt5WebSockets libQt5WebKitWidgets \
libQt5WebKit libQt5WebChannel libQt5Svg libQt5SerialBus \
libQt5SerialPort libQt5Sensors libQt5ScriptTools libQt5Script \
libQt5QuickWidgets libQt5QuickTest libQt5QuickParticles \
libQt5Quick libQt5QuickControls2 libQt5QuickTemplates2 \
libQt5Qml libQt5Positioning libQt5Nfc libQt5Gamepad \
libQt5MultimediaWidgets libQt5MultimediaQuick_p libQt5Multimedia \
libQt5Location libQt5Help libQt5Designer libQt5DesignerComponents \
libQt5Bluetooth libQt5TextToSpeech \
libQt5Charts libQt5DataVisualization libQt53DQuickInput \
libQt53DQuickExtras libQt53DExtras \
libQt53DQuick libQt53DLogic libQt53DInput libQt53DCore \
libQt53DQuickRender libQt53DRender libQt53DQuickScene2D libQt5PacketProtocol \
libQt5QmlDebug libQt5Scxml libQt5Purchasing libQt5AccessibilitySupport \
libQt5DeviceDiscoverySupport libQt5EventDispatcherSupport \
libQt5FbSupport libQt5FontDatabaseSupport \
libQt5PlatformCompositorSupport libQt5ServiceSupport\
libQt5ThemeSupport libQt53DAnimation libQt53DQuickAnimation \
libQt5RemoteObjects
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/libQt5OpenGLExtensions* $developLibDir/
devCommands="assistant canbusutil designer fixqt4headers.pl linguist
lconvert lrelease lupdate pixeltool qcollectiongenerator qdbusviewer
qdbus qgltf qhelpconverter qhelpgenerator qml qmlcachegen qmleasing
qmlimportscanner qmllint qmlmin qmlplugindump qmlprofiler qmlscene
qmltestrunner qtattributionsscanner qtdiag qtpaths qtplugininfo
xmlpatterns xmlpatternsvalidator
moc qdbuscpp2xml qdbusxml2cpp qdoc qlalr qmake qscxmlc rcc syncqt.pl
uic repc"
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="0"
local VARIETY="B_APPV_DEVELOPMENT"
iconFiles="assistant designer linguist qdbusviewer qhelpconverter"
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/qhelpconverter "Qt/Qt Help Converter"
packageEntries docs \
$docDir/Qt5
packageEntries devel \
$developDir \
$devPackageCommands \
${DIR_QT_DEVELOP_DESKBAR} \
$libDir/cmake \
$dataDir/Qt5/mkspecs
}