mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
Create recipe for qt5base.
This commit is contained in:
394
dev-qt/qt5base/patches/qt5base-5.5.patchset
Normal file
394
dev-qt/qt5base/patches/qt5base-5.5.patchset
Normal file
@@ -0,0 +1,394 @@
|
||||
From 8f27586b1e96ad377ac84bc6853fd522cdd09af2 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Fri, 13 Feb 2015 14:04:34 +0000
|
||||
Subject: [PATCH] Haiku: Fix tst_qfileselector.cpp unit test
|
||||
|
||||
Add the missing test data for haiku platform selector
|
||||
and adapt unit test to use them.
|
||||
|
||||
Change-Id: I578e7f7e04f2a4c68f23d5356ea201e9562dbe6c
|
||||
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
tests/auto/corelib/io/qfileselector/platforms/+haiku/test | 0
|
||||
tests/auto/corelib/io/qfileselector/platforms/+haiku/test2 | 0
|
||||
tests/auto/corelib/io/qfileselector/platforms/+unix/+haiku/test | 0
|
||||
tests/auto/corelib/io/qfileselector/qfileselector.qrc | 3 +++
|
||||
tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp | 2 +-
|
||||
5 files changed, 4 insertions(+), 1 deletion(-)
|
||||
create mode 100644 tests/auto/corelib/io/qfileselector/platforms/+haiku/test
|
||||
create mode 100644 tests/auto/corelib/io/qfileselector/platforms/+haiku/test2
|
||||
create mode 100644 tests/auto/corelib/io/qfileselector/platforms/+unix/+haiku/test
|
||||
|
||||
diff --git a/tests/auto/corelib/io/qfileselector/platforms/+haiku/test b/tests/auto/corelib/io/qfileselector/platforms/+haiku/test
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/auto/corelib/io/qfileselector/platforms/+haiku/test2 b/tests/auto/corelib/io/qfileselector/platforms/+haiku/test2
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/auto/corelib/io/qfileselector/platforms/+unix/+haiku/test b/tests/auto/corelib/io/qfileselector/platforms/+unix/+haiku/test
|
||||
new file mode 100644
|
||||
index 0000000..e69de29
|
||||
diff --git a/tests/auto/corelib/io/qfileselector/qfileselector.qrc b/tests/auto/corelib/io/qfileselector/qfileselector.qrc
|
||||
index 661647f..6e26997 100644
|
||||
--- a/tests/auto/corelib/io/qfileselector/qfileselector.qrc
|
||||
+++ b/tests/auto/corelib/io/qfileselector/qfileselector.qrc
|
||||
@@ -19,6 +19,7 @@
|
||||
<file>platforms/+unix/+darwin/+mac/+osx/test</file>
|
||||
<file>platforms/+unix/+darwin/+mac/test</file>
|
||||
<file>platforms/+unix/+darwin/test</file>
|
||||
+ <file>platforms/+unix/+haiku/test</file>
|
||||
<file>platforms/+unix/+linux/test</file>
|
||||
<file>platforms/+unix/test</file>
|
||||
<file>platforms/+windows/+wince/test</file>
|
||||
@@ -30,6 +31,7 @@
|
||||
<file>platforms/+osx/test</file>
|
||||
<file>platforms/+darwin/test</file>
|
||||
<file>platforms/+mac/test</file>
|
||||
+ <file>platforms/+haiku/test</file>
|
||||
<file>platforms/+linux/test</file>
|
||||
<file>platforms/+wince/test</file>
|
||||
|
||||
@@ -39,6 +41,7 @@
|
||||
<file>platforms/+blackberry/test2</file>
|
||||
<file>platforms/+ios/test2</file>
|
||||
<file>platforms/+osx/test2</file>
|
||||
+ <file>platforms/+haiku/test2</file>
|
||||
<file>platforms/+linux/test2</file>
|
||||
<file>platforms/+wince/test2</file>
|
||||
<file>platforms/+winnt/test2</file>
|
||||
diff --git a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp
|
||||
index b3767b4..87381f4 100644
|
||||
--- a/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp
|
||||
+++ b/tests/auto/corelib/io/qfileselector/tst_qfileselector.cpp
|
||||
@@ -89,7 +89,7 @@ void tst_QFileSelector::basicTest_data()
|
||||
QString expectedPlatform2File(""); //Only the last selector
|
||||
QString expectedPlatform3File; // Only the first selector (the family)
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_BLACKBERRY) && \
|
||||
- !defined(Q_OS_DARWIN) && !defined(Q_OS_LINUX)
|
||||
+ !defined(Q_OS_DARWIN) && !defined(Q_OS_LINUX) && !defined(Q_OS_HAIKU)
|
||||
/* We are only aware of specific unixes, and do not have test files for any of the others.
|
||||
However those unixes can get a selector added from the result of a uname call, so this will
|
||||
lead to a case where we don't have that file so we can't expect the concatenation of platform
|
||||
---
|
||||
git 2.2.2
|
||||
|
||||
|
||||
From 7dd5726380f5d5422edd4b71c6beba6d02b4e3df Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Fri, 20 Feb 2015 15:47:02 +0000
|
||||
Subject: [PATCH] Haiku: Fix clipboard implementation
|
||||
|
||||
Fix the behavior of the clipboard implementation
|
||||
to pass the unit test.
|
||||
|
||||
Change-Id: Ia8d5428eebf17a626565e8f4a4d895a67f35b20b
|
||||
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/haiku/qhaikuclipboard.cpp | 45 ++++++++++++++++++++-----
|
||||
src/plugins/platforms/haiku/qhaikuclipboard.h | 4 +++
|
||||
2 files changed, 40 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/haiku/qhaikuclipboard.cpp b/src/plugins/platforms/haiku/qhaikuclipboard.cpp
|
||||
index f3aa9dc..a2d7e96 100644
|
||||
--- a/src/plugins/platforms/haiku/qhaikuclipboard.cpp
|
||||
+++ b/src/plugins/platforms/haiku/qhaikuclipboard.cpp
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <Clipboard.h>
|
||||
|
||||
QHaikuClipboard::QHaikuClipboard()
|
||||
+ : m_systemMimeData(Q_NULLPTR)
|
||||
+ , m_userMimeData(Q_NULLPTR)
|
||||
{
|
||||
if (be_clipboard)
|
||||
be_clipboard->StartWatching(BMessenger(this));
|
||||
@@ -50,17 +52,26 @@ QHaikuClipboard::~QHaikuClipboard()
|
||||
{
|
||||
if (be_clipboard)
|
||||
be_clipboard->StopWatching(BMessenger(this));
|
||||
+
|
||||
+ delete m_userMimeData;
|
||||
+ delete m_systemMimeData;
|
||||
}
|
||||
|
||||
QMimeData *QHaikuClipboard::mimeData(QClipboard::Mode mode)
|
||||
{
|
||||
- QMimeData *mimeData = new QMimeData();
|
||||
-
|
||||
if (mode != QClipboard::Clipboard)
|
||||
- return mimeData;
|
||||
+ return 0;
|
||||
+
|
||||
+ if (m_userMimeData)
|
||||
+ return m_userMimeData;
|
||||
|
||||
if (!be_clipboard->Lock())
|
||||
- return mimeData;
|
||||
+ return 0;
|
||||
+
|
||||
+ if (!m_systemMimeData)
|
||||
+ m_systemMimeData = new QMimeData();
|
||||
+ else
|
||||
+ m_systemMimeData->clear();
|
||||
|
||||
const BMessage *clipboard = be_clipboard->Data();
|
||||
if (clipboard) {
|
||||
@@ -76,11 +87,11 @@ QMimeData *QHaikuClipboard::mimeData(QClipboard::Mode mode)
|
||||
if (dataLen && (status == B_OK)) {
|
||||
const QString format = QString::fromLatin1(name);
|
||||
if (format == QStringLiteral("text/plain")) {
|
||||
- mimeData->setText(QString::fromLocal8Bit(reinterpret_cast<const char*>(data), dataLen));
|
||||
+ m_systemMimeData->setText(QString::fromLocal8Bit(reinterpret_cast<const char*>(data), dataLen));
|
||||
} else if (format == QStringLiteral("text/html")) {
|
||||
- mimeData->setHtml(QString::fromLocal8Bit(reinterpret_cast<const char*>(data), dataLen));
|
||||
+ m_systemMimeData->setHtml(QString::fromLocal8Bit(reinterpret_cast<const char*>(data), dataLen));
|
||||
} else {
|
||||
- mimeData->setData(format, QByteArray(reinterpret_cast<const char*>(data), dataLen));
|
||||
+ m_systemMimeData->setData(format, QByteArray(reinterpret_cast<const char*>(data), dataLen));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,7 +99,7 @@ QMimeData *QHaikuClipboard::mimeData(QClipboard::Mode mode)
|
||||
|
||||
be_clipboard->Unlock();
|
||||
|
||||
- return mimeData;
|
||||
+ return m_systemMimeData;
|
||||
}
|
||||
|
||||
void QHaikuClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode)
|
||||
@@ -96,6 +107,14 @@ void QHaikuClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode)
|
||||
if (mode != QClipboard::Clipboard)
|
||||
return;
|
||||
|
||||
+ if (mimeData) {
|
||||
+ if (m_systemMimeData == mimeData)
|
||||
+ return;
|
||||
+
|
||||
+ if (m_userMimeData == mimeData)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (!be_clipboard->Lock())
|
||||
return;
|
||||
|
||||
@@ -115,6 +134,10 @@ void QHaikuClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode)
|
||||
qWarning("Unable to store mime data on clipboard");
|
||||
|
||||
be_clipboard->Unlock();
|
||||
+
|
||||
+ m_userMimeData = mimeData;
|
||||
+
|
||||
+ emitChanged(QClipboard::Clipboard);
|
||||
}
|
||||
|
||||
bool QHaikuClipboard::supportsMode(QClipboard::Mode mode) const
|
||||
@@ -131,8 +154,12 @@ bool QHaikuClipboard::ownsMode(QClipboard::Mode mode) const
|
||||
|
||||
void QHaikuClipboard::MessageReceived(BMessage* message)
|
||||
{
|
||||
- if (message->what == B_CLIPBOARD_CHANGED)
|
||||
+ if (message->what == B_CLIPBOARD_CHANGED) {
|
||||
+ delete m_userMimeData;
|
||||
+ m_userMimeData = Q_NULLPTR;
|
||||
+
|
||||
emitChanged(QClipboard::Clipboard);
|
||||
+ }
|
||||
|
||||
BHandler::MessageReceived(message);
|
||||
}
|
||||
diff --git a/src/plugins/platforms/haiku/qhaikuclipboard.h b/src/plugins/platforms/haiku/qhaikuclipboard.h
|
||||
index 0dc2bfd..3c1f92c 100644
|
||||
--- a/src/plugins/platforms/haiku/qhaikuclipboard.h
|
||||
+++ b/src/plugins/platforms/haiku/qhaikuclipboard.h
|
||||
@@ -55,6 +55,10 @@ class QHaikuClipboard : public QPlatformClipboard, public BHandler
|
||||
|
||||
// override from BHandler to catch change notifications from Haiku clipboard
|
||||
void MessageReceived(BMessage* message) Q_DECL_OVERRIDE;
|
||||
+
|
||||
+private:
|
||||
+ QMimeData *m_systemMimeData;
|
||||
+ QMimeData *m_userMimeData;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
---
|
||||
git 2.2.2
|
||||
|
||||
|
||||
From 8a51ca091873d099a2816b3d19f21fef618d9ab8 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Sat, 2 May 2015 12:29:00 +0000
|
||||
Subject: [PATCH] Haiku: Fix compilation after QPA API change
|
||||
|
||||
Remove the calls to QWindowSystemInterface::setSynchronousWindowsSystemEvents
|
||||
in the Haiku QPA plugin, because the method was renamed in latest QPA API and
|
||||
we do not really have to call them anyway (was a copy&paste leftover from QNX QPA).
|
||||
|
||||
Change-Id: I67db43e89c093e5679f11d967d609846008cad0d
|
||||
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/haiku/qhaikuwindow.cpp | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/haiku/qhaikuwindow.cpp b/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
index 5768e1c..140b79a 100644
|
||||
--- a/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
+++ b/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
@@ -306,10 +306,8 @@ void QHaikuWindow::haikuWindowMoved(const QPoint &pos)
|
||||
const QRect newGeometry(pos, geometry().size());
|
||||
|
||||
QPlatformWindow::setGeometry(newGeometry);
|
||||
- QWindowSystemInterface::setSynchronousWindowsSystemEvents(true);
|
||||
QWindowSystemInterface::handleGeometryChange(window(), newGeometry);
|
||||
QWindowSystemInterface::handleExposeEvent(window(), newGeometry);
|
||||
- QWindowSystemInterface::setSynchronousWindowsSystemEvents(false);
|
||||
}
|
||||
|
||||
void QHaikuWindow::haikuWindowResized(const QSize &size, bool zoomInProgress)
|
||||
@@ -317,10 +315,8 @@ void QHaikuWindow::haikuWindowResized(const QSize &size, bool zoomInProgress)
|
||||
const QRect newGeometry(geometry().topLeft(), size);
|
||||
|
||||
QPlatformWindow::setGeometry(newGeometry);
|
||||
- QWindowSystemInterface::setSynchronousWindowsSystemEvents(true);
|
||||
QWindowSystemInterface::handleGeometryChange(window(), newGeometry);
|
||||
QWindowSystemInterface::handleExposeEvent(window(), newGeometry);
|
||||
- QWindowSystemInterface::setSynchronousWindowsSystemEvents(false);
|
||||
|
||||
if ((m_windowState == Qt::WindowMaximized) && !zoomInProgress) {
|
||||
// the user has resized the window while maximized -> reset maximized flag
|
||||
---
|
||||
git 2.2.2
|
||||
|
||||
|
||||
From 85d9403a129100c00ef096baa01c3c024d0f705a Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Fri, 27 Feb 2015 18:24:43 +0000
|
||||
Subject: [PATCH] Haiku: Enable FreeType2/FontConfig support
|
||||
|
||||
Pass the correct include path to the config test, otherwise compilation
|
||||
will fail.
|
||||
|
||||
Change-Id: I6723cad41ec289b051dcc9c47b3b1d67af7c5879
|
||||
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
||||
---
|
||||
config.tests/unix/freetype/freetype.pri | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
|
||||
index be2fc33..05299ed 100644
|
||||
--- a/config.tests/unix/freetype/freetype.pri
|
||||
+++ b/config.tests/unix/freetype/freetype.pri
|
||||
@@ -2,6 +2,7 @@
|
||||
TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
|
||||
# LSB doesn't allow using headers from /include or /usr/include
|
||||
linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
|
||||
+ haiku:TRY_INCLUDEPATHS += /system/develop/headers
|
||||
for(p, TRY_INCLUDEPATHS) {
|
||||
p = $$join(p, "", "", "/freetype2")
|
||||
exists($$p):INCLUDEPATH *= $$p
|
||||
---
|
||||
git 2.2.2
|
||||
|
||||
|
||||
From 5f21aa22fbc224cdd4102ae6a7797574a463af3b Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Sat, 2 May 2015 12:50:25 +0000
|
||||
Subject: [PATCH] Haiku: Fix reported geometry of platform window
|
||||
|
||||
Report the proper window geometry and adapt the
|
||||
geometry parameters of expose events to be relative
|
||||
to the window coordinate system.
|
||||
|
||||
Change-Id: Ifb32b2663fdf41df0c9783e76e0ebc5e5cf978a3
|
||||
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/haiku/qhaikuwindow.cpp | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/haiku/qhaikuwindow.cpp b/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
index 140b79a..9622d12 100644
|
||||
--- a/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
+++ b/src/plugins/platforms/haiku/qhaikuwindow.cpp
|
||||
@@ -130,6 +130,7 @@ QHaikuWindow::QHaikuWindow(QWindow *window)
|
||||
if (!m_window)
|
||||
qFatal("QHaikuWindow: failed to create window");
|
||||
|
||||
+ setGeometry(rect);
|
||||
setWindowFlags(window->flags());
|
||||
}
|
||||
|
||||
@@ -164,13 +165,13 @@ void QHaikuWindow::setVisible(bool visible)
|
||||
{
|
||||
if (visible) {
|
||||
m_window->Show();
|
||||
+
|
||||
+ window()->requestActivate();
|
||||
+
|
||||
+ QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), window()->geometry().size()));
|
||||
} else {
|
||||
m_window->Hide();
|
||||
}
|
||||
-
|
||||
- window()->requestActivate();
|
||||
-
|
||||
- QWindowSystemInterface::handleExposeEvent(window(), window()->geometry());
|
||||
}
|
||||
|
||||
bool QHaikuWindow::isExposed() const
|
||||
@@ -307,7 +308,7 @@ void QHaikuWindow::haikuWindowMoved(const QPoint &pos)
|
||||
|
||||
QPlatformWindow::setGeometry(newGeometry);
|
||||
QWindowSystemInterface::handleGeometryChange(window(), newGeometry);
|
||||
- QWindowSystemInterface::handleExposeEvent(window(), newGeometry);
|
||||
+ QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), newGeometry.size()));
|
||||
}
|
||||
|
||||
void QHaikuWindow::haikuWindowResized(const QSize &size, bool zoomInProgress)
|
||||
@@ -316,7 +317,7 @@ void QHaikuWindow::haikuWindowResized(const QSize &size, bool zoomInProgress)
|
||||
|
||||
QPlatformWindow::setGeometry(newGeometry);
|
||||
QWindowSystemInterface::handleGeometryChange(window(), newGeometry);
|
||||
- QWindowSystemInterface::handleExposeEvent(window(), newGeometry);
|
||||
+ QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), newGeometry.size()));
|
||||
|
||||
if ((m_windowState == Qt::WindowMaximized) && !zoomInProgress) {
|
||||
// the user has resized the window while maximized -> reset maximized flag
|
||||
---
|
||||
git 2.2.2
|
||||
|
||||
|
||||
From f80b103910cc936e16c247fefb2daa781e09d17e Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Koenig <tobias.koenig@kdab.com>
|
||||
Date: Thu, 19 Feb 2015 14:10:53 +0000
|
||||
Subject: [PATCH] Haiku: Fix QWaitCondition on Haiku
|
||||
|
||||
The latest version of Haiku provides the implementation
|
||||
for pthread_condattr_setclock, so we can enable the code
|
||||
in QWaitCondition again to make it use the monotonic clock
|
||||
correctly.
|
||||
|
||||
Change-Id: Ibb9ad33d873c3b34f2c516087c4e0aeac04cc83f
|
||||
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
---
|
||||
src/corelib/thread/qwaitcondition_unix.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp
|
||||
index fd6af7d..89bf523 100644
|
||||
--- a/src/corelib/thread/qwaitcondition_unix.cpp
|
||||
+++ b/src/corelib/thread/qwaitcondition_unix.cpp
|
||||
@@ -77,7 +77,7 @@ void qt_initialize_pthread_cond(pthread_cond_t *cond, const char *where)
|
||||
#if defined(Q_OS_ANDROID)
|
||||
if (local_condattr_setclock && QElapsedTimer::clockType() == QElapsedTimer::MonotonicClock)
|
||||
local_condattr_setclock(&condattr, CLOCK_MONOTONIC);
|
||||
-#elif !defined(Q_OS_MAC) && !defined(Q_OS_HAIKU)
|
||||
+#elif !defined(Q_OS_MAC)
|
||||
if (QElapsedTimer::clockType() == QElapsedTimer::MonotonicClock)
|
||||
pthread_condattr_setclock(&condattr, CLOCK_MONOTONIC);
|
||||
#endif
|
||||
--
|
||||
git 2.2.2
|
||||
229
dev-qt/qt5base/qt5base-5.5.0.recipe
Normal file
229
dev-qt/qt5base/qt5base-5.5.0.recipe
Normal file
@@ -0,0 +1,229 @@
|
||||
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"
|
||||
|
||||
REVISION="1"
|
||||
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="
|
||||
libqt4$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()
|
||||
{
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user