qt5-5.13.2.patchset revision a1f5ad86
1From 45ffbaaa25c68ba5301c6709d301fe9b126ad205 Mon Sep 17 00:00:00 2001
2From: Gerasim Troeglazov <3dEyes@gmail.com>
3Date: Mon, 11 Feb 2019 15:51:31 +1000
4Subject: Fix Haiku build
5
6
7diff --git a/qtdeclarative/src/3rdparty/masm/wtf/PageBlock.cpp b/qtdeclarative/src/3rdparty/masm/wtf/PageBlock.cpp
8index e715ed2..1362a13 100644
9--- a/qtdeclarative/src/3rdparty/masm/wtf/PageBlock.cpp
10+++ b/qtdeclarative/src/3rdparty/masm/wtf/PageBlock.cpp
11@@ -40,7 +40,14 @@ namespace WTF {
12 static size_t s_pageSize;
13 static size_t s_pageMask;
14 
15-#if OS(UNIX)
16+#if OS(HAIKU)
17+
18+inline size_t systemPageSize()
19+{
20+    return 4096;
21+}
22+
23+#elif OS(UNIX)
24 
25 inline size_t systemPageSize()
26 {
27diff --git a/qtdeclarative/src/3rdparty/masm/wtf/Platform.h b/qtdeclarative/src/3rdparty/masm/wtf/Platform.h
28index d5f6992..c2a1e4f 100644
29--- a/qtdeclarative/src/3rdparty/masm/wtf/Platform.h
30+++ b/qtdeclarative/src/3rdparty/masm/wtf/Platform.h
31@@ -418,6 +418,11 @@
32 #define WTF_OS_QNX 1
33 #endif
34 
35+/* OS(HAIKU) - Haiku */
36+#if defined(__HAIKU__)
37+#define WTF_OS_HAIKU 1
38+#endif
39+
40 /* OS(SOLARIS) - Solaris */
41 #if defined(sun) || defined(__sun)
42 #define WTF_OS_SOLARIS 1
43@@ -448,6 +453,7 @@
44     || OS(HURD)             \
45     || OS(INTEGRITY)        \
46     || OS(LINUX)            \
47+    || OS(HAIKU)            \
48     || OS(NETBSD)           \
49     || OS(OPENBSD)          \
50     || OS(QNX)              \
51-- 
522.23.0
53
54
55From f4752625faaf74622f89062da0a02eb9519a8800 Mon Sep 17 00:00:00 2001
56From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
57Date: Mon, 11 Feb 2019 15:53:20 +1000
58Subject: Add filteredDeviceFilePaths for Haiku's /dev/ports/*
59
60
61diff --git a/qtserialport/src/serialport/qserialportinfo_unix.cpp b/qtserialport/src/serialport/qserialportinfo_unix.cpp
62index 105d10a..80932e9 100644
63--- a/qtserialport/src/serialport/qserialportinfo_unix.cpp
64+++ b/qtserialport/src/serialport/qserialportinfo_unix.cpp
65@@ -79,13 +79,20 @@ static QStringList filteredDeviceFilePaths()
66     << QStringLiteral("cu*");
67 #elif defined(Q_OS_QNX)
68     << QStringLiteral("ser*");
69+#elif defined(Q_OS_HAIKU)
70+    << QStringLiteral("*serial*")
71+    << QStringLiteral("usb*");
72 #else
73     ;
74 #endif
75 
76     QStringList result;
77 
78+#if defined(Q_OS_HAIKU)
79+    QDir deviceDir(QStringLiteral("/dev/ports"));
80+#else
81     QDir deviceDir(QStringLiteral("/dev"));
82+#endif
83     if (deviceDir.exists()) {
84         deviceDir.setNameFilters(deviceFileNameFilterList);
85         deviceDir.setFilter(QDir::Files | QDir::System | QDir::NoSymLinks);
86-- 
872.23.0
88
89
90From 3b00bdebb7c14547038b323a2babb779fa487b03 Mon Sep 17 00:00:00 2001
91From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
92Date: Mon, 11 Feb 2019 15:53:49 +1000
93Subject: Make sure libs are searched in the develop/ dir by CMake
94
95Static libs at least are not in the lib[/x86] dirs...
96
97diff --git a/qtbase/mkspecs/features/create_cmake.prf b/qtbase/mkspecs/features/create_cmake.prf
98index 376a7de..e153a55 100644
99--- a/qtbase/mkspecs/features/create_cmake.prf
100+++ b/qtbase/mkspecs/features/create_cmake.prf
101@@ -109,6 +109,9 @@ win32:!static:!staticlib {
102         CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
103         CMAKE_DLL_DIR_IS_ABSOLUTE = True
104     }
105+} else:haiku {
106+    CMAKE_DLL_DIR = develop/$$CMAKE_LIB_DIR
107+    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
108 } else {
109     CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
110     CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
111-- 
1122.23.0
113
114
115From c0d5cec605b50cd7891ad5254cc0dcdfd6ddd0d0 Mon Sep 17 00:00:00 2001
116From: Gerasim Troeglazov <3dEyes@gmail.com>
117Date: Mon, 11 Feb 2019 15:55:08 +1000
118Subject: Disable built-in haiku QPA plugin
119
120
121diff --git a/qtbase/src/plugins/platforms/platforms.pro b/qtbase/src/plugins/platforms/platforms.pro
122index acc55ad..a36c18e 100644
123--- a/qtbase/src/plugins/platforms/platforms.pro
124+++ b/qtbase/src/plugins/platforms/platforms.pro
125@@ -42,10 +42,6 @@ freebsd {
126     SUBDIRS += bsdfb
127 }
128 
129-haiku {
130-    SUBDIRS += haiku
131-}
132-
133 wasm: SUBDIRS += wasm
134 
135 qtConfig(mirclient): SUBDIRS += mirclient
136-- 
1372.23.0
138
139
140From 626d40ce70a4adf92ca742d9d5c40706a1f4c601 Mon Sep 17 00:00:00 2001
141From: Gerasim Troeglazov <3dEyes@gmail.com>
142Date: Mon, 11 Feb 2019 15:55:38 +1000
143Subject: disable mapbox-gl-native on Haiku.
144
145
146diff --git a/qtlocation/src/plugins/geoservices/geoservices.pro b/qtlocation/src/plugins/geoservices/geoservices.pro
147index b81ad34..7b642c0 100644
148--- a/qtlocation/src/plugins/geoservices/geoservices.pro
149+++ b/qtlocation/src/plugins/geoservices/geoservices.pro
150@@ -8,7 +8,7 @@ qtConfig(geoservices_esri): SUBDIRS += esri
151 qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
152 qtConfig(geoservices_osm): SUBDIRS += osm
153 
154-qtConfig(geoservices_mapboxgl) {
155+qtConfig(geoservices_mapboxgl):!haiku {
156     !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
157         warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
158     } else {
159-- 
1602.23.0
161
162
163From bc250710ce2440a53edd85f97c7c4d63ce1dc83d Mon Sep 17 00:00:00 2001
164From: Gerasim Troeglazov <3dEyes@gmail.com>
165Date: Mon, 11 Feb 2019 15:56:12 +1000
166Subject: Fix QStandartPaths for Haiku
167
168
169diff --git a/qtbase/src/corelib/io/qstandardpaths_haiku.cpp b/qtbase/src/corelib/io/qstandardpaths_haiku.cpp
170index 044d69f..1f255a9 100644
171--- a/qtbase/src/corelib/io/qstandardpaths_haiku.cpp
172+++ b/qtbase/src/corelib/io/qstandardpaths_haiku.cpp
173@@ -145,22 +145,22 @@ QString QStandardPaths::writableLocation(StandardLocation type)
174         return haikuStandardPath(B_USER_NONPACKAGED_BIN_DIRECTORY);
175     case TempLocation:
176         return haikuStandardPath(B_SYSTEM_TEMP_DIRECTORY);
177-    case AppDataLocation: // fall through
178+    case AppDataLocation:
179+    	return haikuAppStandardPath(B_SYSTEM_CACHE_DIRECTORY);
180     case AppLocalDataLocation:
181-        return haikuAppStandardPath(B_USER_NONPACKAGED_DATA_DIRECTORY);
182+        return haikuAppStandardPath(B_USER_CACHE_DIRECTORY);
183     case GenericDataLocation:
184-        return haikuStandardPath(B_USER_NONPACKAGED_DATA_DIRECTORY);
185+        return haikuAppStandardPath(B_SYSTEM_CACHE_DIRECTORY);
186     case CacheLocation:
187         return haikuAppStandardPath(B_USER_CACHE_DIRECTORY);
188     case GenericCacheLocation:
189-        return haikuStandardPath(B_USER_CACHE_DIRECTORY);
190-    case ConfigLocation: // fall through
191+        return haikuStandardPath(B_SYSTEM_CACHE_DIRECTORY);
192+    case ConfigLocation:
193     case AppConfigLocation:
194-        return haikuAppStandardPath(B_USER_SETTINGS_DIRECTORY);
195     case GenericConfigLocation:
196-        return haikuStandardPath(B_USER_SETTINGS_DIRECTORY);
197+        return haikuAppStandardPath(B_USER_SETTINGS_DIRECTORY);
198     default:
199-        return QString();
200+        return haikuAppStandardPath(B_USER_SETTINGS_DIRECTORY);
201     }
202 }
203 
204@@ -179,7 +179,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
205     case MoviesLocation:
206     case DownloadLocation:
207     case HomeLocation:
208-        paths += haikuStandardPath(B_USER_NONPACKAGED_DIRECTORY);
209+        paths += haikuStandardPath(B_USER_DIRECTORY);
210         break;
211     case FontsLocation:
212         paths += haikuStandardPaths(B_FIND_PATH_FONTS_DIRECTORY);
213@@ -203,7 +203,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
214         break;
215     case ConfigLocation: // fall through
216     case AppConfigLocation:
217-        paths += haikuAppStandardPath(B_SYSTEM_SETTINGS_DIRECTORY);
218+        paths += haikuAppStandardPath(B_USER_SETTINGS_DIRECTORY);
219         break;
220     case GenericConfigLocation:
221         paths += haikuStandardPath(B_SYSTEM_SETTINGS_DIRECTORY);
222-- 
2232.23.0
224
225
226From 77b8f96ef7c5fc2a9dc878d75856c51a054cb5fa Mon Sep 17 00:00:00 2001
227From: Gerasim Troeglazov <3dEyes@gmail.com>
228Date: Mon, 11 Feb 2019 15:56:39 +1000
229Subject: QSslSocketPrivate::unixRootCertDirectories(): add ssl path for Haiku.
230
231
232diff --git a/qtbase/src/network/ssl/qsslsocket.cpp b/qtbase/src/network/ssl/qsslsocket.cpp
233index e164217..ad0317a 100644
234--- a/qtbase/src/network/ssl/qsslsocket.cpp
235+++ b/qtbase/src/network/ssl/qsslsocket.cpp
236@@ -2866,6 +2866,7 @@ QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
237                                << "/usr/local/ssl/certs/" // Solaris
238                                << "/etc/openssl/certs/" // BlackBerry
239                                << "/opt/openssl/certs/" // HP-UX
240+                               << "/system/data/ssl/" // Haiku
241                                << "/etc/ssl/"; // OpenBSD
242 }
243 
244-- 
2452.23.0
246
247
248From 8dc3120d2c66a4618ca67e4850c55bf92868afd3 Mon Sep 17 00:00:00 2001
249From: Gerasim Troeglazov <3dEyes@gmail.com>
250Date: Mon, 11 Feb 2019 15:56:59 +1000
251Subject: Fix build for Haiku platform
252
253
254diff --git a/qtbase/mkspecs/features/toolchain.prf b/qtbase/mkspecs/features/toolchain.prf
255index 03612e5..866ad17 100644
256--- a/qtbase/mkspecs/features/toolchain.prf
257+++ b/qtbase/mkspecs/features/toolchain.prf
258@@ -254,7 +254,7 @@ isEmpty($${target_prefix}.INCDIRS) {
259                 }
260             }
261         }
262-        if(!darwin:clang)|intel_icc {
263+        if(!darwin:clang)|haiku|intel_icc {
264             # Clang on a non-Apple system (that is, a system without ld64 -- say, with GNU ld
265             # or gold under Linux) will not print any library search path. Need to use another
266             # invocation with different options (which in turn doesn't print include search
267-- 
2682.23.0
269
270
271From 6ef4365e955bf55647a6743d7de6ad9a1a31cb58 Mon Sep 17 00:00:00 2001
272From: Gerasim Troeglazov <3dEyes@gmail.com>
273Date: Mon, 11 Feb 2019 15:57:25 +1000
274Subject: Fix build qt3d zip module
275
276
277diff --git a/qt3d/src/3rdparty/assimp/contrib/zip/src/miniz.h b/qt3d/src/3rdparty/assimp/contrib/zip/src/miniz.h
278index 2e4e223..6436df5 100644
279--- a/qt3d/src/3rdparty/assimp/contrib/zip/src/miniz.h
280+++ b/qt3d/src/3rdparty/assimp/contrib/zip/src/miniz.h
281@@ -2917,7 +2917,7 @@ void *tdefl_write_image_to_png_file_in_memory(const void *pImage, int w, int h,
282     #define MZ_FFLUSH fflush
283     #define MZ_FREOPEN(f, m, s) freopen(f, m, s)
284     #define MZ_DELETE_FILE remove
285-  #elif defined(__GNUC__) && _LARGEFILE64_SOURCE
286+  #elif defined(__GNUC__) && _LARGEFILE64_SOURCE && !defined(__HAIKU__)
287     #ifndef MINIZ_NO_TIME
288       #include <utime.h>
289     #endif
290-- 
2912.23.0
292
293
294From b026abbfbad05a429e2d3470aff91af3ac515b13 Mon Sep 17 00:00:00 2001
295From: Gerasim Troeglazov <3dEyes@gmail.com>
296Date: Mon, 11 Feb 2019 15:57:54 +1000
297Subject: Fix endian detection
298
299
300diff --git a/qtbase/src/3rdparty/sha3/brg_endian.h b/qtbase/src/3rdparty/sha3/brg_endian.h
301index 09d2a8b..49d74ae 100644
302--- a/qtbase/src/3rdparty/sha3/brg_endian.h
303+++ b/qtbase/src/3rdparty/sha3/brg_endian.h
304@@ -39,10 +39,10 @@ Changes for ARM 9/9/2010 [Downstream relative to Gladman's GitHub, upstream to Q
305 #elif defined( BSD ) && ( BSD >= 199103 ) || defined( __APPLE__ ) || \
306       defined( __CYGWIN32__ ) || defined( __DJGPP__ ) || defined( __osf__ )
307 #  include <machine/endian.h>
308-#elif defined( __linux__ ) || defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
309+#elif defined( __linux__ ) || defined( __HAIKU__ ) || defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
310 #  if !defined( __MINGW32__ ) && !defined( _AIX ) && !defined(Q_OS_QNX)
311 #    include <endian.h>
312-#    if !defined( __BEOS__ )
313+#    if !defined( __BEOS__ ) && !defined( __HAIKU__ )
314 #      include <byteswap.h>
315 #    endif
316 #  endif
317-- 
3182.23.0
319
320
321From 4ab4274b80b5323bb98b61f64741be3f3212556d Mon Sep 17 00:00:00 2001
322From: Gerasim Troeglazov <3dEyes@gmail.com>
323Date: Sat, 27 Apr 2019 17:47:23 +1000
324Subject: Add dnslookup query function for Haiku
325
326
327diff --git a/qtbase/src/network/kernel/kernel.pri b/qtbase/src/network/kernel/kernel.pri
328index 7074fcd..2ff1ab7 100644
329--- a/qtbase/src/network/kernel/kernel.pri
330+++ b/qtbase/src/network/kernel/kernel.pri
331@@ -53,6 +53,11 @@ android:qtConfig(dnslookup) {
332     SOURCES += kernel/qdnslookup_android.cpp
333 }
334 
335+haiku:qtConfig(dnslookup) {
336+    SOURCES -= kernel/qdnslookup_unix.cpp
337+    SOURCES += kernel/qdnslookup_haiku.cpp
338+}
339+
340 win32: {
341     SOURCES += kernel/qhostinfo_win.cpp
342 
343diff --git a/qtbase/src/network/kernel/qdnslookup_haiku.cpp b/qtbase/src/network/kernel/qdnslookup_haiku.cpp
344new file mode 100644
345index 0000000..0b387df
346--- /dev/null
347+++ b/qtbase/src/network/kernel/qdnslookup_haiku.cpp
348@@ -0,0 +1,56 @@
349+/****************************************************************************
350+**
351+** Copyright (C) 2019 Gerasim Troeglazov <3dEyes@gmail.com>
352+** Contact: https://www.qt.io/licensing/
353+**
354+** This file is part of the QtNetwork module of the Qt Toolkit.
355+**
356+** $QT_BEGIN_LICENSE:LGPL$
357+** Commercial License Usage
358+** Licensees holding valid commercial Qt licenses may use this file in
359+** accordance with the commercial license agreement provided with the
360+** Software or, alternatively, in accordance with the terms contained in
361+** a written agreement between you and The Qt Company. For licensing terms
362+** and conditions see https://www.qt.io/terms-conditions. For further
363+** information use the contact form at https://www.qt.io/contact-us.
364+**
365+** GNU Lesser General Public License Usage
366+** Alternatively, this file may be used under the terms of the GNU Lesser
367+** General Public License version 3 as published by the Free Software
368+** Foundation and appearing in the file LICENSE.LGPL3 included in the
369+** packaging of this file. Please review the following information to
370+** ensure the GNU Lesser General Public License version 3 requirements
371+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
372+**
373+** GNU General Public License Usage
374+** Alternatively, this file may be used under the terms of the GNU
375+** General Public License version 2.0 or (at your option) the GNU General
376+** Public license version 3 or any later version approved by the KDE Free
377+** Qt Foundation. The licenses are as published by the Free Software
378+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
379+** included in the packaging of this file. Please review the following
380+** information to ensure the GNU General Public License requirements will
381+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
382+** https://www.gnu.org/licenses/gpl-3.0.html.
383+**
384+** $QT_END_LICENSE$
385+**
386+****************************************************************************/
387+
388+#include "qdnslookup_p.h"
389+
390+QT_BEGIN_NAMESPACE
391+
392+void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestName, const QHostAddress &nameserver, QDnsLookupReply *reply)
393+{
394+    Q_UNUSED(requestType);
395+    Q_UNUSED(requestName);
396+    Q_UNUSED(nameserver);
397+    Q_UNUSED(reply);
398+    qWarning("Not yet supported on Haiku");
399+    reply->error = QDnsLookup::ResolverError;
400+    reply->errorString = tr("Not yet supported on Haiku");
401+    return;
402+}
403+
404+QT_END_NAMESPACE
405-- 
4062.23.0
407
408
409From b00f4824e6daca1335414e014a8a2696717ef298 Mon Sep 17 00:00:00 2001
410From: Gerasim Troeglazov <3dEyes@gmail.com>
411Date: Mon, 24 Jun 2019 21:20:17 +1000
412Subject: Disable LibResolv for Haiku
413
414
415diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp
416index e4810d6..04f5fa7 100644
417--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp
418+++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp
419@@ -98,7 +98,7 @@ typedef void (*res_nclose_proto)(res_state_ptr);
420 static res_nclose_proto local_res_nclose = 0;
421 static res_state_ptr local_res = 0;
422 
423-#if QT_CONFIG(library) && !defined(Q_OS_QNX)
424+#if QT_CONFIG(library) && !defined(Q_OS_QNX) && !defined(Q_OS_HAIKU)
425 namespace {
426 struct LibResolv
427 {
428-- 
4292.23.0
430
431
432From f38ba1fc85dde4d5941fbf27813088e2839b3769 Mon Sep 17 00:00:00 2001
433From: Gerasim Troeglazov <3dEyes@gmail.com>
434Date: Sun, 8 Sep 2019 00:17:19 +1000
435Subject: Don't use ifaddrs for Haiku
436
437
438diff --git a/qtbase/src/network/kernel/qnetworkinterface_unix.cpp b/qtbase/src/network/kernel/qnetworkinterface_unix.cpp
439index c28c5ea..ea07283 100644
440--- a/qtbase/src/network/kernel/qnetworkinterface_unix.cpp
441+++ b/qtbase/src/network/kernel/qnetworkinterface_unix.cpp
442@@ -51,7 +51,7 @@
443 #  include "qdatetime.h"
444 #endif
445 
446-#if defined(QT_LINUXBASE)
447+#if defined(QT_LINUXBASE) || defined(Q_OS_HAIKU)
448 #  define QT_NO_GETIFADDRS
449 #endif
450 
451-- 
4522.23.0
453
454
455From a5b02fd5debeda09e032307e58d6a6f29351858d Mon Sep 17 00:00:00 2001
456From: Gerasim Troeglazov <3dEyes@gmail.com>
457Date: Sun, 8 Sep 2019 18:32:05 +1000
458Subject: Add platform plugins installer
459
460
461diff --git a/qtbase/src/gui/gui.pro b/qtbase/src/gui/gui.pro
462index edf8124..ad11511 100644
463--- a/qtbase/src/gui/gui.pro
464+++ b/qtbase/src/gui/gui.pro
465@@ -34,6 +34,7 @@ testcocoon {
466 
467 osx: LIBS_PRIVATE += -framework AppKit
468 darwin: LIBS_PRIVATE += -framework CoreGraphics
469+haiku: LIBS_PRIVATE += -lbe
470 
471 CONFIG += simd optimize_full
472 
473diff --git a/qtbase/src/gui/kernel/qguiapplication.cpp b/qtbase/src/gui/kernel/qguiapplication.cpp
474index f6e67e0..79651ad 100644
475--- a/qtbase/src/gui/kernel/qguiapplication.cpp
476+++ b/qtbase/src/gui/kernel/qguiapplication.cpp
477@@ -115,6 +115,11 @@
478 #  include <QtCore/QLibraryInfo>
479 #endif // Q_OS_WIN
480 
481+#if defined(Q_OS_HAIKU)
482+#include <Application.h>
483+#include <Alert.h>
484+#endif
485+
486 #ifdef Q_OS_WASM
487 #include <emscripten.h>
488 #endif
489@@ -1214,6 +1219,27 @@ static void init_platform(const QString &pluginNamesWithArguments, const QString
490         if (!availablePlugins.isEmpty())
491             fatalMessage += QStringLiteral("\nAvailable platform plugins are: %1.\n").arg(availablePlugins.join(QLatin1String(", ")));
492 
493+#if defined(Q_OS_HAIKU)
494+		BApplication bApp("application/x-vnd.qt5-qtbase");
495+		QString errorMessage = QStringLiteral("Qt platform plugins package is required but not installed.\n\n"
496+			"Do you want to install it now?");
497+		int32 index = (new BAlert("Error", errorMessage.toUtf8().constData(),
498+			"Install", "Cancel", NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
499+		if (index == 0) {
500+#if defined(__INTEL__) && defined(__i386__) && !defined(__x86_64__)
501+			int ret = system ("pkgman install qthaikuplugins_x86 -y");
502+#else
503+			int ret = system ("pkgman install qthaikuplugins -y");
504+#endif
505+			if (ret == 0)
506+				(new BAlert("Information", "Platform plugins has been succesfully installed.\nTry running this application again.",
507+					"Ok", NULL, NULL, B_WIDTH_AS_USUAL, B_INFO_ALERT))->Go();
508+			else
509+				(new BAlert("Error", "Platform plugins is not installed.", "Close", NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
510+		}
511+		exit(-1);
512+#endif // Q_OS_HAIKU
513+
514 #if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
515         // Windows: Display message box unless it is a console application
516         // or debug build showing an assert box.
517-- 
5182.23.0
519
520