mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-06 06:58:57 +02:00
Telegram: fix build
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
From 930c73c90b840248cf1fd3a75bb3b672a47a5a0b Mon Sep 17 00:00:00 2001
|
From 9ead81be3d11cff9ae7a7e5e818d3d4706b4444d Mon Sep 17 00:00:00 2001
|
||||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||||
Date: Sun, 23 Sep 2018 23:33:52 +1000
|
Date: Mon, 24 Sep 2018 00:18:28 +1000
|
||||||
Subject: Add Haiku support
|
Subject: Add Haiku support
|
||||||
|
|
||||||
|
|
||||||
@@ -12,6 +12,18 @@ index 0000000..6d80862
|
|||||||
@@ -0,0 +1,2 @@
|
@@ -0,0 +1,2 @@
|
||||||
+[Paths]
|
+[Paths]
|
||||||
+Libraries=:/gui/art
|
+Libraries=:/gui/art
|
||||||
|
diff --git a/Telegram/Resources/qrc/telegram_emoji.qrc b/Telegram/Resources/qrc/telegram_emoji.qrc
|
||||||
|
index bb9ce0a..47a0c05 100644
|
||||||
|
--- a/Telegram/Resources/qrc/telegram_emoji.qrc
|
||||||
|
+++ b/Telegram/Resources/qrc/telegram_emoji.qrc
|
||||||
|
@@ -2,7 +2,5 @@
|
||||||
|
<qresource prefix="/gui">
|
||||||
|
<file alias="art/emoji.webp">../art/emoji.webp</file>
|
||||||
|
<file alias="art/emoji_125x.webp">../art/emoji_125x.webp</file>
|
||||||
|
- <file alias="art/emoji_150x.webp">../art/emoji_150x.webp</file>
|
||||||
|
- <file alias="art/emoji_200x.webp">../art/emoji_200x.webp</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
diff --git a/Telegram/Resources/qrc/telegram_emoji2.qrc b/Telegram/Resources/qrc/telegram_emoji2.qrc
|
diff --git a/Telegram/Resources/qrc/telegram_emoji2.qrc b/Telegram/Resources/qrc/telegram_emoji2.qrc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..e1ddb8d
|
index 0000000..e1ddb8d
|
||||||
@@ -35,6 +47,300 @@ index 0000000..33115f9
|
|||||||
+ <file alias="etc/qt.conf">../etc/qt_haiku.conf</file>
|
+ <file alias="etc/qt.conf">../etc/qt_haiku.conf</file>
|
||||||
+ </qresource>
|
+ </qresource>
|
||||||
+</RCC>
|
+</RCC>
|
||||||
|
diff --git a/Telegram/SourceFiles/base/algorithm_tests.cpp b/Telegram/SourceFiles/base/algorithm_tests.cpp
|
||||||
|
index 9e3df82..3092663 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/algorithm_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/base/algorithm_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "base/index_based_iterator.h"
|
||||||
|
|
||||||
|
@@ -47,4 +51,4 @@ TEST_CASE("index_based_iterator tests", "[base::algorithm]") {
|
||||||
|
auto expected = std::vector<int> { 5 };
|
||||||
|
REQUIRE(v == expected);
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
diff --git a/Telegram/SourceFiles/base/build_config.h b/Telegram/SourceFiles/base/build_config.h
|
||||||
|
index 3bcb595..b97d66a 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/build_config.h
|
||||||
|
+++ b/Telegram/SourceFiles/base/build_config.h
|
||||||
|
@@ -17,13 +17,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
#define OS_LINUX 1
|
||||||
|
#elif defined(_WIN32) // __APPLE__ || __linux__
|
||||||
|
#define OS_WIN 1
|
||||||
|
+#elif defined(__HAIKU__)
|
||||||
|
+#define OS_HAIKU 1
|
||||||
|
#else // __APPLE__ || __linux__ || _WIN32
|
||||||
|
#error Please add support for your platform in base/build_config.h
|
||||||
|
#endif // else for __APPLE__ || __linux__ || _WIN32
|
||||||
|
|
||||||
|
// For access to standard POSIXish features, use OS_POSIX instead of a
|
||||||
|
// more specific macro.
|
||||||
|
-#if defined(OS_MAC) || defined(OS_LINUX)
|
||||||
|
+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_HAIKU)
|
||||||
|
#define OS_POSIX 1
|
||||||
|
#endif // OS_MAC || OS_LINUX
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/base/flags_tests.cpp b/Telegram/SourceFiles/base/flags_tests.cpp
|
||||||
|
index 786dc49..b1ed887 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/flags_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/base/flags_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "base/flags.h"
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/base/flat_map_tests.cpp b/Telegram/SourceFiles/base/flat_map_tests.cpp
|
||||||
|
index b2fc899..429a2c3 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/flat_map_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/base/flat_map_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "base/flat_map.h"
|
||||||
|
#include <string>
|
||||||
|
diff --git a/Telegram/SourceFiles/base/flat_set_tests.cpp b/Telegram/SourceFiles/base/flat_set_tests.cpp
|
||||||
|
index a73f1d2..77d98a6 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/flat_set_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/base/flat_set_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include "base/flat_set.h"
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/base/tests_main.cpp b/Telegram/SourceFiles/base/tests_main.cpp
|
||||||
|
index fbdcb56..0eb0e4f 100644
|
||||||
|
--- a/Telegram/SourceFiles/base/tests_main.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/base/tests_main.cpp
|
||||||
|
@@ -6,8 +6,12 @@ For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
#define CATCH_CONFIG_RUNNER
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
#include "reporters/catch_reporter_compact.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
#include <QFile>
|
||||||
|
|
||||||
|
int (*TestForkedMethod)()/* = nullptr*/;
|
||||||
|
diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp
|
||||||
|
index 8a420c7..0ba85bd 100644
|
||||||
|
--- a/Telegram/SourceFiles/core/launcher.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/core/launcher.cpp
|
||||||
|
@@ -62,6 +62,10 @@ int Launcher::exec() {
|
||||||
|
|
||||||
|
// I don't know why path is not in QT_PLUGIN_PATH by default
|
||||||
|
QCoreApplication::addLibraryPath("/usr/lib/qt/plugins");
|
||||||
|
+#if defined(Q_OS_HAIKU)
|
||||||
|
+ QCoreApplication::addLibraryPath("/boot/system/add-ons/Qt5");
|
||||||
|
+ QCoreApplication::addLibraryPath("/boot/system/add-ons/x86/Qt5");
|
||||||
|
+#endif
|
||||||
|
// without this Telegram doesn't start on Ubuntu 17.04 due GTK errors
|
||||||
|
setenv("QT_STYLE_OVERRIDE", "qwerty", false);
|
||||||
|
// Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943
|
||||||
|
@@ -142,6 +146,9 @@ void Launcher::prepareSettings() {
|
||||||
|
case dbipMacOld:
|
||||||
|
gPlatformString = qsl("MacOSold");
|
||||||
|
break;
|
||||||
|
+ case dbipHaiku:
|
||||||
|
+ gPlatformString = qsl("HaikuDepot");
|
||||||
|
+ break;
|
||||||
|
case dbipLinux64:
|
||||||
|
gPlatformString = qsl("Linux64bit");
|
||||||
|
break;
|
||||||
|
diff --git a/Telegram/SourceFiles/core/update_checker.cpp b/Telegram/SourceFiles/core/update_checker.cpp
|
||||||
|
index 92fc35d..cf29c3a 100644
|
||||||
|
--- a/Telegram/SourceFiles/core/update_checker.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/core/update_checker.cpp
|
||||||
|
@@ -633,6 +633,7 @@ bool ParseCommonMap(
|
||||||
|
case dbipWindows: return "win";
|
||||||
|
case dbipMac: return "mac";
|
||||||
|
case dbipMacOld: return "mac32";
|
||||||
|
+ case dbipHaiku: return "haiku";
|
||||||
|
case dbipLinux64: return "linux";
|
||||||
|
case dbipLinux32: return "linux32";
|
||||||
|
}
|
||||||
|
@@ -2068,6 +2069,9 @@ bool checkReadyUpdate() {
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
QString curUpdater = (cExeDir() + qsl("Updater"));
|
||||||
|
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater"));
|
||||||
|
+#elif defined Q_OS_HAIKU // Q_OS_LINUX
|
||||||
|
+ QString curUpdater = (cExeDir() + qsl("Updater"));
|
||||||
|
+ QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater"));
|
||||||
|
#endif // Q_OS_LINUX
|
||||||
|
if (!updater.exists()) {
|
||||||
|
QFileInfo current(curUpdater);
|
||||||
|
diff --git a/Telegram/SourceFiles/core/utils.h b/Telegram/SourceFiles/core/utils.h
|
||||||
|
index 0cd4059..1047a5f 100644
|
||||||
|
--- a/Telegram/SourceFiles/core/utils.h
|
||||||
|
+++ b/Telegram/SourceFiles/core/utils.h
|
||||||
|
@@ -411,6 +411,7 @@ enum DBIPlatform {
|
||||||
|
dbipLinux64 = 2,
|
||||||
|
dbipLinux32 = 3,
|
||||||
|
dbipMacOld = 4,
|
||||||
|
+ dbipHaiku = 5,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum DBIPeerReportSpamStatus {
|
||||||
|
diff --git a/Telegram/SourceFiles/export/data/export_data_types.cpp b/Telegram/SourceFiles/export/data/export_data_types.cpp
|
||||||
|
index 5f2e3aa..a3cf2c6 100644
|
||||||
|
--- a/Telegram/SourceFiles/export/data/export_data_types.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/export/data/export_data_types.cpp
|
||||||
|
@@ -212,6 +212,8 @@ Image ParseMaxImage(
|
||||||
|
const MTPVector<MTPPhotoSize> &data,
|
||||||
|
const QString &suggestedPath) {
|
||||||
|
auto result = Image();
|
||||||
|
+// GCC7 Segmentation violation for Haiku
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
result.file.suggestedPath = suggestedPath;
|
||||||
|
|
||||||
|
auto maxArea = int64(0);
|
||||||
|
@@ -234,6 +236,7 @@ Image ParseMaxImage(
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -388,6 +391,7 @@ Document ParseDocument(
|
||||||
|
const MTPDocument &data,
|
||||||
|
const QString &suggestedFolder) {
|
||||||
|
auto result = Document();
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
data.match([&](const MTPDdocument &data) {
|
||||||
|
result.id = data.vid.v;
|
||||||
|
result.date = data.vdate.v;
|
||||||
|
@@ -424,6 +428,7 @@ Document ParseDocument(
|
||||||
|
}, [&](const MTPDdocumentEmpty &data) {
|
||||||
|
result.id = data.vid.v;
|
||||||
|
});
|
||||||
|
+#endif
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1017,6 +1022,7 @@ Message ParseMessage(
|
||||||
|
const MTPMessage &data,
|
||||||
|
const QString &mediaFolder) {
|
||||||
|
auto result = Message();
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
data.match([&](const auto &data) {
|
||||||
|
result.id = data.vid.v;
|
||||||
|
if constexpr (!MTPDmessageEmpty::Is<decltype(data)>()) {
|
||||||
|
@@ -1103,6 +1109,7 @@ Message ParseMessage(
|
||||||
|
}, [&](const MTPDmessageEmpty &data) {
|
||||||
|
result.id = data.vid.v;
|
||||||
|
});
|
||||||
|
+#endif
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/export/export_api_wrap.cpp b/Telegram/SourceFiles/export/export_api_wrap.cpp
|
||||||
|
index c882ba8..a1ebad4 100644
|
||||||
|
--- a/Telegram/SourceFiles/export/export_api_wrap.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/export/export_api_wrap.cpp
|
||||||
|
@@ -719,6 +719,8 @@ void ApiWrap::requestUserpics(
|
||||||
|
void ApiWrap::handleUserpicsSlice(const MTPphotos_Photos &result) {
|
||||||
|
Expects(_userpicsProcess != nullptr);
|
||||||
|
|
||||||
|
+// GCC7 Segmentation violation for Haiku
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
result.match([&](const auto &data) {
|
||||||
|
if constexpr (MTPDphotos_photos::Is<decltype(data)>()) {
|
||||||
|
_userpicsProcess->lastSlice = true;
|
||||||
|
@@ -727,6 +729,7 @@ void ApiWrap::handleUserpicsSlice(const MTPphotos_Photos &result) {
|
||||||
|
data.vphotos,
|
||||||
|
_userpicsProcess->processed));
|
||||||
|
});
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void ApiWrap::loadUserpicsFiles(Data::UserpicsSlice &&slice) {
|
||||||
|
@@ -1199,7 +1202,8 @@ void ApiWrap::appendChatsSlice(
|
||||||
|
|
||||||
|
void ApiWrap::requestMessagesSlice() {
|
||||||
|
Expects(_chatProcess != nullptr);
|
||||||
|
-
|
||||||
|
+// GCC7 Segmentation violation for Haiku
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
requestChatMessages(
|
||||||
|
_chatProcess->info.splits[_chatProcess->localSplitIndex],
|
||||||
|
_chatProcess->largestIdPlusOne,
|
||||||
|
@@ -1222,6 +1226,7 @@ void ApiWrap::requestMessagesSlice() {
|
||||||
|
_chatProcess->info.relativePath));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void ApiWrap::requestChatMessages(
|
||||||
|
diff --git a/Telegram/SourceFiles/logs.cpp b/Telegram/SourceFiles/logs.cpp
|
||||||
|
index 74edb3e..bcf4875 100644
|
||||||
|
--- a/Telegram/SourceFiles/logs.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/logs.cpp
|
||||||
|
@@ -333,7 +333,7 @@ void start(not_null<Core::Launcher*> launcher) {
|
||||||
|
if (cBetaVersion()) {
|
||||||
|
SetDebugEnabled(true);
|
||||||
|
workingDirChosen = true;
|
||||||
|
-#if defined Q_OS_MAC || defined Q_OS_LINUX
|
||||||
|
+#if defined Q_OS_MAC || defined Q_OS_LINUX || defined Q_OS_HAIKU
|
||||||
|
} else {
|
||||||
|
#ifdef _DEBUG
|
||||||
|
cForceWorkingDir(cExeDir());
|
||||||
|
diff --git a/Telegram/SourceFiles/media/media_audio.cpp b/Telegram/SourceFiles/media/media_audio.cpp
|
||||||
|
index fb46a00..752e7ef 100644
|
||||||
|
--- a/Telegram/SourceFiles/media/media_audio.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/media/media_audio.cpp
|
||||||
|
@@ -86,6 +86,7 @@ void EnumeratePlaybackDevices() {
|
||||||
|
void EnumerateCaptureDevices() {
|
||||||
|
auto deviceNames = QStringList();
|
||||||
|
auto devices = alcGetString(nullptr, ALC_CAPTURE_DEVICE_SPECIFIER);
|
||||||
|
+#ifndef __HAIKU__
|
||||||
|
Assert(devices != nullptr);
|
||||||
|
while (*devices != 0) {
|
||||||
|
auto deviceName8Bit = QByteArray(devices);
|
||||||
|
@@ -94,7 +95,7 @@ void EnumerateCaptureDevices() {
|
||||||
|
devices += deviceName8Bit.size() + 1;
|
||||||
|
}
|
||||||
|
LOG(("Audio Capture Devices: %1").arg(deviceNames.join(';')));
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
if (auto device = alcGetString(nullptr, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER)) {
|
||||||
|
LOG(("Audio Capture Default Device: %1").arg(QString::fromLocal8Bit(device)));
|
||||||
|
} else {
|
||||||
diff --git a/Telegram/SourceFiles/platform/haiku/file_utilities_haiku.cpp b/Telegram/SourceFiles/platform/haiku/file_utilities_haiku.cpp
|
diff --git a/Telegram/SourceFiles/platform/haiku/file_utilities_haiku.cpp b/Telegram/SourceFiles/platform/haiku/file_utilities_haiku.cpp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..58bc1c3
|
index 0000000..58bc1c3
|
||||||
@@ -1650,6 +1956,173 @@ index 0000000..99d13d5
|
|||||||
+bool linuxMoveFile(const char *from, const char *to);
|
+bool linuxMoveFile(const char *from, const char *to);
|
||||||
+
|
+
|
||||||
+bool psLaunchMaps(const LocationCoords &coords);
|
+bool psLaunchMaps(const LocationCoords &coords);
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_audio.h b/Telegram/SourceFiles/platform/platform_audio.h
|
||||||
|
index 7705b2e..cfc1fc9 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_audio.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_audio.h
|
||||||
|
@@ -19,7 +19,7 @@ void DeInit();
|
||||||
|
|
||||||
|
// Platform dependent implementations.
|
||||||
|
|
||||||
|
-#if defined Q_OS_MAC || defined Q_OS_LINUX
|
||||||
|
+#if defined Q_OS_MAC || defined Q_OS_LINUX || defined(Q_OS_HAIKU)
|
||||||
|
namespace Platform {
|
||||||
|
namespace Audio {
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_file_utilities.h b/Telegram/SourceFiles/platform/platform_file_utilities.h
|
||||||
|
index 68b1058..2839790 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_file_utilities.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_file_utilities.h
|
||||||
|
@@ -47,6 +47,8 @@ bool Get(
|
||||||
|
#include "platform/mac/file_utilities_mac.h"
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
#include "platform/linux/file_utilities_linux.h"
|
||||||
|
+#elif defined Q_OS_HAIKU // Q_OS_LINUX
|
||||||
|
+#include "platform/haiku/file_utilities_haiku.h"
|
||||||
|
#elif defined Q_OS_WINRT || defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
#include "platform/win/file_utilities_win.h"
|
||||||
|
#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || Q_OS_WIN
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_launcher.h b/Telegram/SourceFiles/platform/platform_launcher.h
|
||||||
|
index 27180d0..953b47f 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_launcher.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_launcher.h
|
||||||
|
@@ -25,6 +25,8 @@ namespace Platform {
|
||||||
|
#include "platform/mac/launcher_mac.h"
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
#include "platform/linux/launcher_linux.h"
|
||||||
|
+#elif defined Q_OS_HAIKU
|
||||||
|
+#include "platform/haiku/launcher_haiku.h"
|
||||||
|
#elif defined Q_OS_WINRT || defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
#include "platform/win/launcher_win.h"
|
||||||
|
#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || Q_OS_WIN
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_main_window.h b/Telegram/SourceFiles/platform/platform_main_window.h
|
||||||
|
index 33277c9..4e28b24 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_main_window.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_main_window.h
|
||||||
|
@@ -21,6 +21,8 @@ class MainWindow;
|
||||||
|
#include "platform/mac/main_window_mac.h"
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
#include "platform/linux/main_window_linux.h"
|
||||||
|
-#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
+#elif defined Q_OS_HAIKU // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
+#include "platform/haiku/main_window_haiku.h"
|
||||||
|
+#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX || Q_OS_HAIKU
|
||||||
|
#include "platform/win/main_window_win.h"
|
||||||
|
#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_notifications_manager.h b/Telegram/SourceFiles/platform/platform_notifications_manager.h
|
||||||
|
index 692f4b4..a40f830 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_notifications_manager.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_notifications_manager.h
|
||||||
|
@@ -28,6 +28,8 @@ void FlashBounce();
|
||||||
|
#include "platform/mac/notifications_manager_mac.h"
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
#include "platform/linux/notifications_manager_linux.h"
|
||||||
|
+#elif defined Q_OS_HAIKU // Q_OS_LINUX
|
||||||
|
+#include "platform/haiku/notifications_manager_haiku.h"
|
||||||
|
#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
#include "platform/win/notifications_manager_win.h"
|
||||||
|
#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_specific.h b/Telegram/SourceFiles/platform/platform_specific.h
|
||||||
|
index 92485c7..ebe4a4f 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_specific.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_specific.h
|
||||||
|
@@ -36,6 +36,8 @@ void finish();
|
||||||
|
#include "platform/mac/specific_mac.h"
|
||||||
|
#elif defined Q_OS_LINUX // Q_OS_MAC
|
||||||
|
#include "platform/linux/specific_linux.h"
|
||||||
|
-#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
+#elif defined Q_OS_HAIKU // Q_OS_MAC || Q_OS_LINUX
|
||||||
|
+#include "platform/haiku/specific_haiku.h"
|
||||||
|
+#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX || Q_OS_HAIKU
|
||||||
|
#include "platform/win/specific_win.h"
|
||||||
|
#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
|
||||||
|
diff --git a/Telegram/SourceFiles/platform/platform_window_title.h b/Telegram/SourceFiles/platform/platform_window_title.h
|
||||||
|
index 7aed20b..dc0212c 100644
|
||||||
|
--- a/Telegram/SourceFiles/platform/platform_window_title.h
|
||||||
|
+++ b/Telegram/SourceFiles/platform/platform_window_title.h
|
||||||
|
@@ -25,7 +25,7 @@ void PreviewWindowFramePaint(QImage &preview, const style::palette &palette, QRe
|
||||||
|
#include "platform/mac/window_title_mac.h"
|
||||||
|
#elif defined Q_OS_WIN // Q_OS_MAC
|
||||||
|
#include "platform/win/window_title_win.h"
|
||||||
|
-#elif defined Q_OS_WINRT || defined Q_OS_LINUX // Q_OS_MAC || Q_OS_WIN
|
||||||
|
+#elif defined Q_OS_WINRT || defined Q_OS_LINUX || defined Q_OS_HAIKU // Q_OS_MAC || Q_OS_WIN
|
||||||
|
|
||||||
|
namespace Platform {
|
||||||
|
|
||||||
|
diff --git a/Telegram/SourceFiles/rpl/operators_tests.cpp b/Telegram/SourceFiles/rpl/operators_tests.cpp
|
||||||
|
index 548057f..feee15e 100644
|
||||||
|
--- a/Telegram/SourceFiles/rpl/operators_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/rpl/operators_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include <rpl/rpl.h>
|
||||||
|
#include <string>
|
||||||
|
diff --git a/Telegram/SourceFiles/rpl/producer_tests.cpp b/Telegram/SourceFiles/rpl/producer_tests.cpp
|
||||||
|
index 0267f92..0e783b0 100644
|
||||||
|
--- a/Telegram/SourceFiles/rpl/producer_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/rpl/producer_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include <rpl/producer.h>
|
||||||
|
#include <rpl/event_stream.h>
|
||||||
|
diff --git a/Telegram/SourceFiles/rpl/variable_tests.cpp b/Telegram/SourceFiles/rpl/variable_tests.cpp
|
||||||
|
index 9c697fc..36ddf56 100644
|
||||||
|
--- a/Telegram/SourceFiles/rpl/variable_tests.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/rpl/variable_tests.cpp
|
||||||
|
@@ -5,7 +5,11 @@ the official desktop application for the Telegram messaging service.
|
||||||
|
For license and copyright information please follow this link:
|
||||||
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
*/
|
||||||
|
+#if !defined(Q_OS_HAIKU)
|
||||||
|
#include "catch.hpp"
|
||||||
|
+#else
|
||||||
|
+#include "../ThirdParty/variant/test/include/catch.hpp"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#include <rpl/rpl.h>
|
||||||
|
#include <string>
|
||||||
|
diff --git a/Telegram/SourceFiles/settings.cpp b/Telegram/SourceFiles/settings.cpp
|
||||||
|
index 680f347..cb0d5a3 100644
|
||||||
|
--- a/Telegram/SourceFiles/settings.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/settings.cpp
|
||||||
|
@@ -77,6 +77,8 @@ DBIPlatform gPlatform = dbipWindows;
|
||||||
|
DBIPlatform gPlatform = dbipMacOld;
|
||||||
|
#elif defined Q_OS_MAC
|
||||||
|
DBIPlatform gPlatform = dbipMac;
|
||||||
|
+#elif defined Q_OS_HAIKU
|
||||||
|
+DBIPlatform gPlatform = dbipHaiku;
|
||||||
|
#elif defined Q_OS_LINUX64
|
||||||
|
DBIPlatform gPlatform = dbipLinux64;
|
||||||
|
#elif defined Q_OS_LINUX32
|
||||||
|
diff --git a/Telegram/SourceFiles/settings/settings_notifications_widget.cpp b/Telegram/SourceFiles/settings/settings_notifications_widget.cpp
|
||||||
|
index 62bbe64..f0c06f9 100644
|
||||||
|
--- a/Telegram/SourceFiles/settings/settings_notifications_widget.cpp
|
||||||
|
+++ b/Telegram/SourceFiles/settings/settings_notifications_widget.cpp
|
||||||
|
@@ -69,7 +69,7 @@ void NotificationsWidget::createNotificationsControls() {
|
||||||
|
if (Platform::Notifications::Supported()) {
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
nativeNotificationsLabel = lang(lng_settings_use_windows);
|
||||||
|
-#elif defined Q_OS_LINUX64 || defined Q_OS_LINUX32 // Q_OS_WIN
|
||||||
|
+#elif defined Q_OS_LINUX64 || defined Q_OS_LINUX32 || defined Q_OS_HAIKU // Q_OS_WIN
|
||||||
|
nativeNotificationsLabel = lang(lng_settings_use_native_notifications);
|
||||||
|
#endif // Q_OS_WIN || Q_OS_LINUX64 || Q_OS_LINUX32
|
||||||
|
}
|
||||||
diff --git a/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp b/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp
|
diff --git a/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp b/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp
|
||||||
index 4d522a9..1ca7dd0 100644
|
index 4d522a9..1ca7dd0 100644
|
||||||
--- a/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp
|
--- a/Telegram/SourceFiles/storage/storage_encrypted_file_tests.cpp
|
||||||
@@ -1670,6 +2143,86 @@ index 4d522a9..1ca7dd0 100644
|
|||||||
return "tests_storage";
|
return "tests_storage";
|
||||||
#endif // Q_OS_WIN
|
#endif // Q_OS_WIN
|
||||||
}();
|
}();
|
||||||
|
diff --git a/Telegram/ThirdParty/minizip/ioapi.c b/Telegram/ThirdParty/minizip/ioapi.c
|
||||||
|
index 7f5c191..649255c 100644
|
||||||
|
--- a/Telegram/ThirdParty/minizip/ioapi.c
|
||||||
|
+++ b/Telegram/ThirdParty/minizip/ioapi.c
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(__APPLE__) || defined(IOAPI_NO_64)
|
||||||
|
+#if defined(__APPLE__) || defined(IOAPI_NO_64) || defined(__HAIKU__)
|
||||||
|
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello(stream)
|
||||||
|
diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
|
||||||
|
index 2c6ef58..73da5e1 100644
|
||||||
|
--- a/Telegram/gyp/Telegram.gyp
|
||||||
|
+++ b/Telegram/gyp/Telegram.gyp
|
||||||
|
@@ -61,6 +61,7 @@
|
||||||
|
'telegram_win.gypi',
|
||||||
|
'telegram_mac.gypi',
|
||||||
|
'telegram_linux.gypi',
|
||||||
|
+ 'telegram_haiku.gypi',
|
||||||
|
'openssl.gypi',
|
||||||
|
'qt.gypi',
|
||||||
|
'qt_moc.gypi',
|
||||||
|
@@ -98,7 +99,7 @@
|
||||||
|
'<(libs_loc)/ffmpeg',
|
||||||
|
'<(libs_loc)/openal-soft/include',
|
||||||
|
'<(libs_loc)/opus/include',
|
||||||
|
- '<(libs_loc)/range-v3/include',
|
||||||
|
+ '<(submodules_loc)/range/include',
|
||||||
|
'<(minizip_loc)',
|
||||||
|
'<(sp_media_key_tap_loc)',
|
||||||
|
'<(emoji_suggestions_loc)',
|
||||||
|
diff --git a/Telegram/gyp/common.gypi b/Telegram/gyp/common.gypi
|
||||||
|
index eb90fe2..b12c1d6 100644
|
||||||
|
--- a/Telegram/gyp/common.gypi
|
||||||
|
+++ b/Telegram/gyp/common.gypi
|
||||||
|
@@ -8,6 +8,7 @@
|
||||||
|
'includes': [
|
||||||
|
'settings_win.gypi',
|
||||||
|
'settings_mac.gypi',
|
||||||
|
+ 'settings_haiku.gypi',
|
||||||
|
'settings_linux.gypi',
|
||||||
|
],
|
||||||
|
'variables': {
|
||||||
|
@@ -29,6 +30,11 @@
|
||||||
|
}, {
|
||||||
|
'build_mac': 0,
|
||||||
|
}],
|
||||||
|
+ [ 'build_os == "haiku"', {
|
||||||
|
+ 'build_haiku': 1,
|
||||||
|
+ }, {
|
||||||
|
+ 'build_haiku': 0,
|
||||||
|
+ }],
|
||||||
|
[ 'build_os == "linux"', {
|
||||||
|
'build_linux': 1,
|
||||||
|
}, {
|
||||||
|
@@ -40,11 +46,13 @@
|
||||||
|
'build_win%': '<(build_win)',
|
||||||
|
'build_mac%': '<(build_mac)',
|
||||||
|
'build_linux%': '<(build_linux)',
|
||||||
|
+ 'build_haiku%': '<(build_haiku)',
|
||||||
|
},
|
||||||
|
'build_os%': '<(build_os)',
|
||||||
|
'build_win%': '<(build_win)',
|
||||||
|
'build_mac%': '<(build_mac)',
|
||||||
|
'build_linux%': '<(build_linux)',
|
||||||
|
+ 'build_haiku%': '<(build_haiku)',
|
||||||
|
|
||||||
|
'official_build_target%': '',
|
||||||
|
},
|
||||||
|
@@ -52,6 +60,7 @@
|
||||||
|
'build_win%': '<(build_win)',
|
||||||
|
'build_mac%': '<(build_mac)',
|
||||||
|
'build_linux%': '<(build_linux)',
|
||||||
|
+ 'build_haiku%': '<(build_haiku)',
|
||||||
|
'official_build_target%': '<(official_build_target)',
|
||||||
|
|
||||||
|
# GYP does not support per-configuration libraries :(
|
||||||
diff --git a/Telegram/gyp/lib_base.gyp b/Telegram/gyp/lib_base.gyp
|
diff --git a/Telegram/gyp/lib_base.gyp b/Telegram/gyp/lib_base.gyp
|
||||||
index 1f3e9c3..d96dedd 100644
|
index 1f3e9c3..d96dedd 100644
|
||||||
--- a/Telegram/gyp/lib_base.gyp
|
--- a/Telegram/gyp/lib_base.gyp
|
||||||
@@ -1679,6 +2232,19 @@ index 1f3e9c3..d96dedd 100644
|
|||||||
'<(src_loc)',
|
'<(src_loc)',
|
||||||
'<(SHARED_INTERMEDIATE_DIR)',
|
'<(SHARED_INTERMEDIATE_DIR)',
|
||||||
- '<(libs_loc)/range-v3/include',
|
- '<(libs_loc)/range-v3/include',
|
||||||
|
+ '<(submodules_loc)/range/include',
|
||||||
|
'<(submodules_loc)/GSL/include',
|
||||||
|
'<(submodules_loc)/variant/include',
|
||||||
|
'<(submodules_loc)/crl/src',
|
||||||
|
diff --git a/Telegram/gyp/lib_export.gyp b/Telegram/gyp/lib_export.gyp
|
||||||
|
index 2d1ac6c..d26d7c4 100644
|
||||||
|
--- a/Telegram/gyp/lib_export.gyp
|
||||||
|
+++ b/Telegram/gyp/lib_export.gyp
|
||||||
|
@@ -48,7 +48,7 @@
|
||||||
|
'include_dirs': [
|
||||||
|
'<(src_loc)',
|
||||||
|
'<(SHARED_INTERMEDIATE_DIR)',
|
||||||
|
- '<(libs_loc)/range-v3/include',
|
||||||
+ '<(submodules_loc)/range/include',
|
+ '<(submodules_loc)/range/include',
|
||||||
'<(submodules_loc)/GSL/include',
|
'<(submodules_loc)/GSL/include',
|
||||||
'<(submodules_loc)/variant/include',
|
'<(submodules_loc)/variant/include',
|
||||||
@@ -1696,6 +2262,140 @@ index 5277135..63996cf 100644
|
|||||||
'<(submodules_loc)/GSL/include',
|
'<(submodules_loc)/GSL/include',
|
||||||
'<(submodules_loc)/variant/include',
|
'<(submodules_loc)/variant/include',
|
||||||
'<(submodules_loc)/crl/src',
|
'<(submodules_loc)/crl/src',
|
||||||
|
diff --git a/Telegram/gyp/list_sources.py b/Telegram/gyp/list_sources.py
|
||||||
|
index 9efee62..d978ed6 100644
|
||||||
|
--- a/Telegram/gyp/list_sources.py
|
||||||
|
+++ b/Telegram/gyp/list_sources.py
|
||||||
|
@@ -113,6 +113,8 @@ if input_path != '':
|
||||||
|
platform_rules[file_path] = [ 'mac' ]
|
||||||
|
elif '/platform/linux/' in file_path:
|
||||||
|
platform_rules[file_path] = [ 'linux' ]
|
||||||
|
+ elif '/platform/haiku/' in file_path:
|
||||||
|
+ platform_rules[file_path] = [ 'haiku' ]
|
||||||
|
|
||||||
|
for replace in replaces:
|
||||||
|
replace_parts = replace.split('=', 1)
|
||||||
|
diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi
|
||||||
|
index 3f91776..8f3e531 100644
|
||||||
|
--- a/Telegram/gyp/qt.gypi
|
||||||
|
+++ b/Telegram/gyp/qt.gypi
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
[ 'build_macold', {
|
||||||
|
'qt_version%': '5.3.2',
|
||||||
|
}, {
|
||||||
|
- 'qt_version%': '<!(echo /usr/include/qt/QtCore/*/ | grep -Po "\d+\.\d+\.\d+")',
|
||||||
|
+ 'qt_version%': '<!(pkg-config --modversion Qt5Core)',
|
||||||
|
}]
|
||||||
|
],
|
||||||
|
},
|
||||||
|
@@ -77,6 +77,15 @@
|
||||||
|
'Qt5Core',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
+ [ 'build_haiku', {
|
||||||
|
+ 'qt_lib_prefix': '',
|
||||||
|
+ 'qt_lib_debug_postfix': '',
|
||||||
|
+ 'qt_lib_release_postfix': '',
|
||||||
|
+ 'qt_libs': [
|
||||||
|
+ '<@(qt_libs)',
|
||||||
|
+ 'Qt5Core',
|
||||||
|
+ ],
|
||||||
|
+ }],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'qt_version%': '<(qt_version)',
|
||||||
|
@@ -152,14 +161,13 @@
|
||||||
|
},
|
||||||
|
|
||||||
|
'include_dirs': [
|
||||||
|
- '/usr/include/qt',
|
||||||
|
- '/usr/include/qt/QtCore',
|
||||||
|
- '/usr/include/qt/QtGui',
|
||||||
|
- '/usr/include/qt/QtDBus',
|
||||||
|
- '/usr/include/qt/QtCore/<(qt_version)',
|
||||||
|
- '/usr/include/qt/QtGui/<(qt_version)',
|
||||||
|
- '/usr/include/qt/QtCore/<(qt_version)/QtCore',
|
||||||
|
- '/usr/include/qt/QtGui/<(qt_version)/QtGui',
|
||||||
|
+ '@HAIKU_HEADERS@',
|
||||||
|
+ '@HAIKU_HEADERS@/QtCore',
|
||||||
|
+ '@HAIKU_HEADERS@/QtGui',
|
||||||
|
+ '@HAIKU_HEADERS@/QtCore/<(qt_version)',
|
||||||
|
+ '@HAIKU_HEADERS@/QtGui/<(qt_version)',
|
||||||
|
+ '@HAIKU_HEADERS@/QtCore/<(qt_version)/QtCore',
|
||||||
|
+ '@HAIKU_HEADERS@/QtGui/<(qt_version)/QtGui',
|
||||||
|
],
|
||||||
|
'library_dirs': [
|
||||||
|
'<(qt_loc)/lib',
|
||||||
|
@@ -199,6 +207,24 @@
|
||||||
|
'-rdynamic',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
+ [ 'build_haiku', {
|
||||||
|
+ 'library_dirs': [
|
||||||
|
+ '<(qt_loc)/plugins/platforminputcontexts',
|
||||||
|
+ ],
|
||||||
|
+ 'libraries': [
|
||||||
|
+ '<@(qt_libs_release)',
|
||||||
|
+ '-lcrypto',
|
||||||
|
+ '-lgthread-2.0',
|
||||||
|
+ '-lglib-2.0',
|
||||||
|
+ '-lroot',
|
||||||
|
+ ],
|
||||||
|
+ 'include_dirs': [
|
||||||
|
+ '<(qt_loc)/mkspecs/haiku-g++',
|
||||||
|
+ ],
|
||||||
|
+ 'ldflags': [
|
||||||
|
+ '-g',
|
||||||
|
+ ],
|
||||||
|
+ }],
|
||||||
|
[ 'build_mac', {
|
||||||
|
'xcode_settings': {
|
||||||
|
'OTHER_LDFLAGS': [
|
||||||
|
diff --git a/Telegram/gyp/qt_moc.gypi b/Telegram/gyp/qt_moc.gypi
|
||||||
|
index f350da8..f84a2d2 100644
|
||||||
|
--- a/Telegram/gyp/qt_moc.gypi
|
||||||
|
+++ b/Telegram/gyp/qt_moc.gypi
|
||||||
|
@@ -12,7 +12,7 @@
|
||||||
|
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
|
||||||
|
],
|
||||||
|
'action': [
|
||||||
|
- '/usr/bin/moc',
|
||||||
|
+ 'moc',
|
||||||
|
|
||||||
|
# Silence "Note: No relevant classes found. No output generated."
|
||||||
|
'--no-notes',
|
||||||
|
diff --git a/Telegram/gyp/qt_rcc.gypi b/Telegram/gyp/qt_rcc.gypi
|
||||||
|
index 1129a95..fd1e3bd 100644
|
||||||
|
--- a/Telegram/gyp/qt_rcc.gypi
|
||||||
|
+++ b/Telegram/gyp/qt_rcc.gypi
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
|
||||||
|
],
|
||||||
|
'action': [
|
||||||
|
- '/usr/bin/rcc',
|
||||||
|
+ 'rcc',
|
||||||
|
'-name', '<(RULE_INPUT_ROOT)',
|
||||||
|
'-no-compress',
|
||||||
|
'<(RULE_INPUT_PATH)',
|
||||||
|
diff --git a/Telegram/gyp/refresh.sh b/Telegram/gyp/refresh.sh
|
||||||
|
index b14a916..0d1e0cc 100755
|
||||||
|
--- a/Telegram/gyp/refresh.sh
|
||||||
|
+++ b/Telegram/gyp/refresh.sh
|
||||||
|
@@ -23,6 +23,14 @@ if [ "$MySystem" == "Linux" ]; then
|
||||||
|
cd ../Release
|
||||||
|
cmake .
|
||||||
|
cd ../../Telegram/gyp
|
||||||
|
+elif [ "$MySystem" == "Haiku" ]; then
|
||||||
|
+ gyp --depth=. --generator-output=.. -Goutput_dir=../out \
|
||||||
|
+ -Dofficial_build_target=$BuildTarget Telegram.gyp --format=cmake
|
||||||
|
+ cd ../../out/Debug
|
||||||
|
+ cmake .
|
||||||
|
+ cd ../Release
|
||||||
|
+ cmake .
|
||||||
|
+ cd ../../Telegram/gyp
|
||||||
|
else
|
||||||
|
#gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=ninja
|
||||||
|
#gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=xcode-ninja
|
||||||
diff --git a/Telegram/gyp/settings_haiku.gypi b/Telegram/gyp/settings_haiku.gypi
|
diff --git a/Telegram/gyp/settings_haiku.gypi b/Telegram/gyp/settings_haiku.gypi
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..a1fe2c9
|
index 0000000..a1fe2c9
|
||||||
@@ -1865,6 +2565,73 @@ index 0000000..171c216
|
|||||||
+ 'cmake_precompiled_header_script': 'PrecompiledHeader.cmake',
|
+ 'cmake_precompiled_header_script': 'PrecompiledHeader.cmake',
|
||||||
+ }]],
|
+ }]],
|
||||||
+}
|
+}
|
||||||
|
diff --git a/Telegram/gyp/telegram_qrc.gypi b/Telegram/gyp/telegram_qrc.gypi
|
||||||
|
index 77b126d..6c27563 100644
|
||||||
|
--- a/Telegram/gyp/telegram_qrc.gypi
|
||||||
|
+++ b/Telegram/gyp/telegram_qrc.gypi
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
'qrc_files': [
|
||||||
|
'<(res_loc)/qrc/telegram.qrc',
|
||||||
|
'<(res_loc)/qrc/telegram_emoji.qrc',
|
||||||
|
+ '<(res_loc)/qrc/telegram_emoji2.qrc',
|
||||||
|
'<(res_loc)/qrc/telegram_emoji_large.qrc',
|
||||||
|
'<(res_loc)/qrc/telegram_sounds.qrc',
|
||||||
|
],
|
||||||
|
@@ -21,6 +22,13 @@
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
+ [ 'build_haiku', {
|
||||||
|
+ 'variables': {
|
||||||
|
+ 'qrc_files': [
|
||||||
|
+ '<(res_loc)/qrc/telegram_haiku.qrc',
|
||||||
|
+ ],
|
||||||
|
+ }
|
||||||
|
+ }],
|
||||||
|
[ 'build_mac', {
|
||||||
|
'variables': {
|
||||||
|
'qrc_files': [
|
||||||
|
diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt
|
||||||
|
index 22cf886..fb0c0fa 100644
|
||||||
|
--- a/Telegram/gyp/telegram_sources.txt
|
||||||
|
+++ b/Telegram/gyp/telegram_sources.txt
|
||||||
|
@@ -475,6 +475,18 @@
|
||||||
|
<(src_loc)/platform/linux/notifications_manager_linux.h
|
||||||
|
<(src_loc)/platform/linux/specific_linux.cpp
|
||||||
|
<(src_loc)/platform/linux/specific_linux.h
|
||||||
|
+<(src_loc)/platform/haiku/file_utilities_haiku.cpp
|
||||||
|
+<(src_loc)/platform/haiku/file_utilities_haiku.h
|
||||||
|
+<(src_loc)/platform/haiku/haiku_desktop_environment.cpp
|
||||||
|
+<(src_loc)/platform/haiku/haiku_desktop_environment.h
|
||||||
|
+<(src_loc)/platform/haiku/launcher_haiku.cpp
|
||||||
|
+<(src_loc)/platform/haiku/launcher_haiku.h
|
||||||
|
+<(src_loc)/platform/haiku/notifications_manager_haiku.cpp
|
||||||
|
+<(src_loc)/platform/haiku/notifications_manager_haiku.h
|
||||||
|
+<(src_loc)/platform/haiku/main_window_haiku.cpp
|
||||||
|
+<(src_loc)/platform/haiku/main_window_haiku.h
|
||||||
|
+<(src_loc)/platform/haiku/specific_haiku.cpp
|
||||||
|
+<(src_loc)/platform/haiku/specific_haiku.h
|
||||||
|
<(src_loc)/platform/mac/file_utilities_mac.mm
|
||||||
|
<(src_loc)/platform/mac/file_utilities_mac.h
|
||||||
|
<(src_loc)/platform/mac/launcher_mac.mm
|
||||||
|
diff --git a/Telegram/gyp/utils.gyp b/Telegram/gyp/utils.gyp
|
||||||
|
index 622462e..e3ba800 100644
|
||||||
|
--- a/Telegram/gyp/utils.gyp
|
||||||
|
+++ b/Telegram/gyp/utils.gyp
|
||||||
|
@@ -82,6 +82,13 @@
|
||||||
|
'lzma',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
+ [ 'build_haiku', {
|
||||||
|
+ 'libraries': [
|
||||||
|
+ 'ssl',
|
||||||
|
+ 'crypto',
|
||||||
|
+ 'lzma',
|
||||||
|
+ ],
|
||||||
|
+ }],
|
||||||
|
[ 'build_mac', {
|
||||||
|
'include_dirs': [
|
||||||
|
'<(libs_loc)/openssl/include'
|
||||||
--
|
--
|
||||||
2.19.0
|
2.19.0
|
||||||
|
|
||||||
|
|||||||
@@ -111,9 +111,6 @@ PATCH()
|
|||||||
|
|
||||||
BUILD()
|
BUILD()
|
||||||
{
|
{
|
||||||
# sed -i "s|@HAIKU_HEADERS@|/system/$relativeIncludeDir|" Telegram/gyp/telegram_haiku.gypi
|
|
||||||
# sed -i "s|@HAIKU_HEADERS@|/system/$relativeIncludeDir|" Telegram/gyp/qt.gypi
|
|
||||||
# sed -i "s|@HAIKU_LIBS@|/system/$relativeLibDir|" Telegram/gyp/telegram_haiku.gypi
|
|
||||||
# link submodules
|
# link submodules
|
||||||
rm -rf Telegram/ThirdParty/{libtgvoip,variant,GSL,Catch,crl,range,xxHash}
|
rm -rf Telegram/ThirdParty/{libtgvoip,variant,GSL,Catch,crl,range,xxHash}
|
||||||
ln -sfn $sourceDir2/libtgvoip-$srcGitRev_2 Telegram/ThirdParty/libtgvoip
|
ln -sfn $sourceDir2/libtgvoip-$srcGitRev_2 Telegram/ThirdParty/libtgvoip
|
||||||
|
|||||||
Reference in New Issue
Block a user