Telegram: add recipe for version 1.1.23

* doesn't build yet
* help wanted
This commit is contained in:
Sergei Reznikov
2017-09-09 11:57:44 +03:00
parent ff9f5ab9c2
commit a1d217084f
4 changed files with 1040 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Telegram",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E6369660402000602AA1FDE2C7A79AC7A79AA1FDE381FF938D5310037AEE2FF"
$"1E96C803C8DAEA03A9C9DD020006022941342B1B22AB1B222941343A6EF23B0A"
$"2A00EFF7FCFFFFFFFF040204BFB220B89620C6CE20CC64BFB2CC64B896CC64C6"
$"CEBFB2CC64C6CECC64B896CC6420BFB220C6CE20B8960404AFBD5EC584BD5EC5"
$"84BCF5C584BCE2C4F8BD07C55CBCE2C4F8BBADC0FDC4FCBB760404AFBD5EC584"
$"BD5EC584BDAFC584BE01C532BDD3C55FBE01C532BFB2C38DBD95C247040AFEBF"
$"0FBD95C247C2B3C60FC2B3C60FC349C661C3DAC584C3B5C637C3DAC584C5EFBB"
$"B3C5EFBBB3C626BAD9C50DBAB6C59CBA75C50DBAB6B8D2BF6EB8D2BF6EB7FCBF"
$"C3B8ABC070B7FDC03BB8ABC070BBCEC16AC312BCD5C312BCD5C36ABCA0C379BC"
$"F7C3BBBCBCC379BCF7040A000100000A010101000A020102000A03010300"
};

View File

@@ -0,0 +1,764 @@
From bdb1098d693f85cb87e049dd3878cf2cb401dc80 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Sat, 9 Sep 2017 02:14:52 +0300
Subject: Haiku fixes
diff --git a/Telegram/SourceFiles/base/build_config.h b/Telegram/SourceFiles/base/build_config.h
index 1731630..3a93c27 100644
--- a/Telegram/SourceFiles/base/build_config.h
+++ b/Telegram/SourceFiles/base/build_config.h
@@ -30,13 +30,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#define OS_LINUX 1
#elif defined(_WIN32) // __APPLE__ || __linux__
#define OS_WIN 1
+#elif defined(__HAIKU__) // __APPLE__ || __linux__
+#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 f2da24d..d19add1 100644
--- a/Telegram/SourceFiles/base/flags_tests.cpp
+++ b/Telegram/SourceFiles/base/flags_tests.cpp
@@ -18,7 +18,7 @@ to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
-#include "catch.hpp"
+#include "../ThirdParty/variant/test/include/catch.hpp"
#include "base/flags.h"
diff --git a/Telegram/SourceFiles/base/flat_map_tests.cpp b/Telegram/SourceFiles/base/flat_map_tests.cpp
index 88a83a2..6551667 100644
--- a/Telegram/SourceFiles/base/flat_map_tests.cpp
+++ b/Telegram/SourceFiles/base/flat_map_tests.cpp
@@ -18,7 +18,7 @@ to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
-#include "catch.hpp"
+#include "../ThirdParty/variant/test/include/catch.hpp"
#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 675b0bd..ecef629 100644
--- a/Telegram/SourceFiles/base/flat_set_tests.cpp
+++ b/Telegram/SourceFiles/base/flat_set_tests.cpp
@@ -18,7 +18,7 @@ to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
-#include "catch.hpp"
+#include "../ThirdParty/variant/test/include/catch.hpp"
#include "base/flat_set.h"
diff --git a/Telegram/SourceFiles/base/tests_main.cpp b/Telegram/SourceFiles/base/tests_main.cpp
index 0696e47..02bf016 100644
--- a/Telegram/SourceFiles/base/tests_main.cpp
+++ b/Telegram/SourceFiles/base/tests_main.cpp
@@ -19,8 +19,8 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#define CATCH_CONFIG_RUNNER
-#include "catch.hpp"
-#include "reporters/catch_reporter_compact.hpp"
+#include "../ThirdParty/variant/test/include/catch.hpp"
+//#include "reporters/catch_reporter_compact.hpp"
#include <QFile>
namespace Catch {
diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h
index 633c4e4..0d09e7d 100644
--- a/Telegram/SourceFiles/config.h
+++ b/Telegram/SourceFiles/config.h
@@ -272,6 +272,8 @@ inline const char *cApiDeviceModel() {
return "Mac";
#elif defined Q_OS_LINUX
return "PC";
+#elif defined Q_OS_HAIKU
+ return "PC";
#endif
}
inline const char *cApiSystemVersion() {
@@ -281,6 +283,8 @@ inline const char *cApiSystemVersion() {
return "OS X";
#elif defined Q_OS_LINUX
return "Linux";
+#elif defined Q_OS_Haiku
+ return "Haiku";
#endif
}
diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp
index 6e85f27..4684e2a 100644
--- a/Telegram/SourceFiles/main.cpp
+++ b/Telegram/SourceFiles/main.cpp
@@ -23,9 +23,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#include "storage/localstorage.h"
int main(int argc, char *argv[]) {
-#ifndef Q_OS_MAC // Retina display support is working fine, others are not.
+#if !defined(Q_OS_MAC) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
+ // Retina display support is working fine, others are not.
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
-#endif // Q_OS_MAC
+#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0
QCoreApplication::setApplicationName(qsl("TelegramDesktop"));
InitFromCommandLine(argc, argv);
@@ -39,6 +40,11 @@ int main(int argc, char *argv[]) {
Logs::start(); // must be started before Platform is started
Platform::start(); // must be started before QApplication is created
+ // I don't know why path is not in QT_PLUGIN_PATH by default
+ QCoreApplication::addLibraryPath("/boot/system/add-ons/Qt");
+ // without this Telegram doesn't start on Ubuntu 17.04 due GTK errors
+ setenv("QT_STYLE_OVERRIDE", "qwerty", false);
+
int result = 0;
{
Application app(argc, argv);
diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.h b/Telegram/SourceFiles/platform/linux/linux_libs.h
index a8bf969..7559354 100644
--- a/Telegram/SourceFiles/platform/linux/linux_libs.h
+++ b/Telegram/SourceFiles/platform/linux/linux_libs.h
@@ -29,7 +29,7 @@ extern "C" {
} // extern "C"
#ifndef TDESKTOP_DISABLE_UNITY_INTEGRATION
-#include <unity/unity/unity.h>
+typedef void UnityLauncherEntry;
#endif // !TDESKTOP_DISABLE_UNITY_INTEGRATION
namespace Platform {
diff --git a/Telegram/SourceFiles/qt_static_plugins.cpp b/Telegram/SourceFiles/qt_static_plugins.cpp
index b975c7a..f2f876b 100644
--- a/Telegram/SourceFiles/qt_static_plugins.cpp
+++ b/Telegram/SourceFiles/qt_static_plugins.cpp
@@ -28,13 +28,4 @@ Q_IMPORT_PLUGIN(QWebpPlugin)
Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)
Q_IMPORT_PLUGIN(QGenericEnginePlugin)
#elif defined Q_OS_LINUX // Q_OS_WIN | Q_OS_MAC
-Q_IMPORT_PLUGIN(QWebpPlugin)
-Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
-Q_IMPORT_PLUGIN(QConnmanEnginePlugin)
-Q_IMPORT_PLUGIN(QGenericEnginePlugin)
-Q_IMPORT_PLUGIN(QNetworkManagerEnginePlugin)
-Q_IMPORT_PLUGIN(QComposePlatformInputContextPlugin)
-Q_IMPORT_PLUGIN(QIbusPlatformInputContextPlugin)
-Q_IMPORT_PLUGIN(QFcitxPlatformInputContextPlugin)
-Q_IMPORT_PLUGIN(QHimePlatformInputContextPlugin)
#endif // Q_OS_WIN | Q_OS_MAC | Q_OS_LINUX
diff --git a/Telegram/SourceFiles/ui/effects/panel_animation.h b/Telegram/SourceFiles/ui/effects/panel_animation.h
index 2e35ece..2a879a0 100644
--- a/Telegram/SourceFiles/ui/effects/panel_animation.h
+++ b/Telegram/SourceFiles/ui/effects/panel_animation.h
@@ -20,7 +20,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "styles/style_widgets.h"
+//#include "styles/style_widgets.h"
namespace Ui {
diff --git a/Telegram/SourceFiles/ui/emoji_config.h b/Telegram/SourceFiles/ui/emoji_config.h
index d580ba7..3d844a4 100644
--- a/Telegram/SourceFiles/ui/emoji_config.h
+++ b/Telegram/SourceFiles/ui/emoji_config.h
@@ -21,7 +21,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#pragma once
#include "ui/text/text.h"
-#include "emoji.h"
+//#include "emoji.h"
namespace Ui {
namespace Emoji {
diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp
index d18a8ea..2c58287 100644
--- a/Telegram/SourceFiles/ui/text/text.cpp
+++ b/Telegram/SourceFiles/ui/text/text.cpp
@@ -1689,11 +1689,11 @@ private:
if (item == -1)
return;
-#ifdef OS_MAC_OLD
+#if defined(OS_MAC_OLD) || QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
auto end = _e->findItem(line.from + line.length - 1);
-#else // OS_MAC_OLD
+#else
auto end = _e->findItem(line.from + line.length - 1, item);
-#endif // OS_MAC_OLD
+#endif
auto blockIndex = _lineStartBlock;
auto currentBlock = _t->_blocks[blockIndex].get();
diff --git a/Telegram/SourceFiles/ui/text/text.h b/Telegram/SourceFiles/ui/text/text.h
index f5bcd66..272dbc8 100644
--- a/Telegram/SourceFiles/ui/text/text.h
+++ b/Telegram/SourceFiles/ui/text/text.h
@@ -20,7 +20,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "private/qfontengine_p.h"
+//#include "private/qfontengine_p.h"
#include "core/click_handler.h"
#include "ui/text/text_entity.h"
diff --git a/Telegram/SourceFiles/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp
index f89644e..35230cf 100644
--- a/Telegram/SourceFiles/ui/text/text_block.cpp
+++ b/Telegram/SourceFiles/ui/text/text_block.cpp
@@ -330,7 +330,7 @@ TextBlock::TextBlock(const style::font &font, const QString &str, QFixed minResi
SignalHandlers::setCrashAnnotationRef("CrashString", &part);
QStackTextEngine engine(part, blockFont->f);
- QTextLayout layout(&engine);
+ QTextLayout layout(part, blockFont->f);
layout.beginLayout();
layout.createLine();
diff --git a/Telegram/SourceFiles/ui/twidget.cpp b/Telegram/SourceFiles/ui/twidget.cpp
index e9848ef..dcee47e 100644
--- a/Telegram/SourceFiles/ui/twidget.cpp
+++ b/Telegram/SourceFiles/ui/twidget.cpp
@@ -191,9 +191,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::Type type, Qt::MouseButton
, button
, QGuiApplication::mouseButtons() | button
, QGuiApplication::keyboardModifiers()
-#ifndef OS_MAC_OLD
+#if !defined(OS_MAC_OLD) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
, Qt::MouseEventSynthesizedByApplication
-#endif // OS_MAC_OLD
+#endif
);
ev.setTimestamp(getms());
QGuiApplication::sendEvent(windowHandle, &ev);
diff --git a/Telegram/SourceFiles/ui/widgets/shadow.h b/Telegram/SourceFiles/ui/widgets/shadow.h
index fcce8cc..f844881 100644
--- a/Telegram/SourceFiles/ui/widgets/shadow.h
+++ b/Telegram/SourceFiles/ui/widgets/shadow.h
@@ -17,7 +17,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "styles/style_widgets.h"
+//#include "styles/style_widgets.h"
namespace Ui {
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/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake
index 5d6830e..c3f08d3 100644
--- a/Telegram/gyp/PrecompiledHeader.cmake
+++ b/Telegram/gyp/PrecompiledHeader.cmake
@@ -112,7 +112,7 @@ function(add_precompiled_header _target _input)
set(_compiler_FLAGS "@${_pch_c_flags_file}")
add_custom_command(
OUTPUT "${_output_c}"
- COMMAND "${CMAKE_C_COMPILER}" ${_compiler_FLAGS} -x c-header -o "${_output_c}" -c "${_pchfile}"
+ COMMAND "${CMAKE_C_COMPILER}" "$(C_DEFINES)" "$(C_INCLUDES)" "$(C_FLAGS)" -x c-header -o "${_output_c}" -c "${_pchfile}"
DEPENDS "${_pchfile}" "${_pch_c_flags_file}"
IMPLICIT_DEPENDS C "${_pch_header}"
COMMENT "Precompiling ${_name} for ${_target} (C)")
@@ -123,7 +123,7 @@ function(add_precompiled_header _target _input)
set(_compiler_FLAGS "@${_pch_cpp_flags_file}")
add_custom_command(
OUTPUT "${_output_cxx}"
- COMMAND "${CMAKE_CXX_COMPILER}" ${_compiler_FLAGS} -x c++-header -o "${_output_cxx}" -c "${_pchfile}"
+ COMMAND "${CMAKE_CXX_COMPILER}" "$(CXX_DEFINES)" "$(CXX_INCLUDES)" "$(CXX_FLAGS)" -x c++-header -o "${_output_cxx}" -c "${_pchfile}"
DEPENDS "${_pchfile}" "${_pch_cpp_flags_file}"
IMPLICIT_DEPENDS CXX "${_pch_header}"
COMMENT "Precompiling ${_name} for ${_target} (C++)")
diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
index 0d1f38a..91ffc3c 100644
--- a/Telegram/gyp/Telegram.gyp
+++ b/Telegram/gyp/Telegram.gyp
@@ -80,12 +80,10 @@
'codegen.gyp:codegen_numbers',
'codegen.gyp:codegen_style',
'tests/tests.gyp:tests',
- 'utils.gyp:Updater',
'../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip',
],
'defines': [
- 'AL_LIBTYPE_STATIC',
'AL_ALEXT_PROTOTYPES',
'TGVOIP_USE_CXX11_LIB',
'<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")',
@@ -94,14 +92,7 @@
'include_dirs': [
'<(src_loc)',
'<(SHARED_INTERMEDIATE_DIR)',
- '<(libs_loc)/breakpad/src',
- '<(libs_loc)/lzma/C',
- '<(libs_loc)/libexif-0.6.20',
- '<(libs_loc)/zlib-1.2.8',
- '<(libs_loc)/ffmpeg',
- '<(libs_loc)/openal-soft/include',
- '<(libs_loc)/opus/include',
- '<(minizip_loc)',
+ '/boot/system/develop/headers/minizip',
'<(sp_media_key_tap_loc)',
'<(emoji_suggestions_loc)',
'<(submodules_loc)/GSL/include',
diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi
index 6032d06..54775ab 100644
--- a/Telegram/gyp/qt.gypi
+++ b/Telegram/gyp/qt.gypi
@@ -27,25 +27,21 @@
[ 'build_macold', {
'qt_version%': '5.3.2',
}, {
- 'qt_version%': '5.6.2',
+ 'qt_version%': '5.9.1',
}]
],
},
'qt_libs': [
- 'qwebp',
- 'Qt5PrintSupport',
- 'Qt5PlatformSupport',
'Qt5Network',
'Qt5Widgets',
'Qt5Gui',
- 'qtharfbuzzng',
],
'qt_version%': '<(qt_version)',
'conditions': [
[ 'build_macold', {
'linux_path_qt%': '/usr/local/macold/Qt-<(qt_version)',
}, {
- 'linux_path_qt%': '/usr/local/tdesktop/Qt-<(qt_version)',
+ 'linux_path_qt%': '/usr/lib/qt',
}]
]
},
@@ -85,32 +81,12 @@
],
}],
[ 'build_linux', {
- 'qt_lib_prefix': 'lib',
- 'qt_lib_debug_postfix': '.a',
- 'qt_lib_release_postfix': '.a',
+ 'qt_lib_prefix': '',
+ 'qt_lib_debug_postfix': '',
+ 'qt_lib_release_postfix': '',
'qt_libs': [
- 'qxcb',
- 'Qt5XcbQpa',
- 'qconnmanbearer',
- 'qgenericbearer',
- 'qnmbearer',
'<@(qt_libs)',
- 'Qt5DBus',
'Qt5Core',
- 'qtpcre',
- 'Xi',
- 'Xext',
- 'Xfixes',
- 'SM',
- 'ICE',
- 'fontconfig',
- 'expat',
- 'freetype',
- 'z',
- 'xcb-shm',
- 'xcb-xfixes',
- 'xcb-render',
- 'xcb-static',
],
}],
],
@@ -140,11 +116,6 @@
# '<!@(python <(DEPTH)/list_sources.py [sources] <(qt_moc_list_sources_arg))'
# where [sources] contains all your source files
'qt_moc_list_sources_arg': '--moc-prefix SHARED_INTERMEDIATE_DIR/<(_target_name)/moc/moc_',
-
- 'linux_path_xkbcommon%': '/usr/local',
- 'linux_lib_ssl%': '/usr/local/ssl/lib/libssl.a',
- 'linux_lib_crypto%': '/usr/local/ssl/lib/libcrypto.a',
- 'linux_lib_icu%': '/usr/lib/libicutu.a /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a',
},
'configurations': {
@@ -193,13 +164,13 @@
},
'include_dirs': [
- '<(qt_loc)/include',
- '<(qt_loc)/include/QtCore',
- '<(qt_loc)/include/QtGui',
- '<(qt_loc)/include/QtCore/<(qt_version)',
- '<(qt_loc)/include/QtGui/<(qt_version)',
- '<(qt_loc)/include/QtCore/<(qt_version)/QtCore',
- '<(qt_loc)/include/QtGui/<(qt_version)/QtGui',
+ '/boot/system/develop/headers',
+ '/boot/system/develop/headers/QtCore',
+ '/boot/system/develop/headers/QtGui',
+ '/boot/system/develop/headers/QtCore/<(qt_version)',
+ '/boot/system/develop/headers/QtGui/<(qt_version)',
+ '/boot/system/develop/headers/QtCore/<(qt_version)/QtCore',
+ '/boot/system/develop/headers/QtGui/<(qt_version)/QtGui',
],
'library_dirs': [
'<(qt_loc)/lib',
@@ -220,16 +191,9 @@
'<(qt_loc)/plugins/platforminputcontexts',
],
'libraries': [
- '<(linux_path_xkbcommon)/lib/libxkbcommon.a',
'<@(qt_libs_release)',
- '<(linux_lib_ssl)',
- '<(linux_lib_crypto)',
- '<!@(python -c "for s in \'<(linux_lib_icu)\'.split(\' \'): print(s)")',
+ '-lcrypto',
'-lxcb',
- '-lX11',
- '-lX11-xcb',
- '-ldbus-1',
- '-ldl',
'-lgthread-2.0',
'-lglib-2.0',
'-lpthread',
@@ -238,10 +202,7 @@
'<(qt_loc)/mkspecs/linux-g++',
],
'ldflags': [
- '-static-libstdc++',
- '-pthread',
'-g',
- '-rdynamic',
],
}],
[ 'build_mac', {
@@ -260,7 +221,7 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
],
'action': [
- '<(qt_loc)/bin/moc<(exe_ext)',
+ '/bin/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 eebc696..392b124 100644
--- a/Telegram/gyp/qt_rcc.gypi
+++ b/Telegram/gyp/qt_rcc.gypi
@@ -28,7 +28,7 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
],
'action': [
- '<(qt_loc)/bin/rcc<(exe_ext)',
+ '/bin/rcc',
'-name', '<(RULE_INPUT_ROOT)',
'-no-compress',
'<(RULE_INPUT_PATH)',
diff --git a/Telegram/gyp/refresh.sh b/Telegram/gyp/refresh.sh
index d9e90a1..69fc7b6 100755
--- a/Telegram/gyp/refresh.sh
+++ b/Telegram/gyp/refresh.sh
@@ -23,6 +23,14 @@ if [ "$MySystem" == "Linux" ]; then
cd ../Release
../../../Libraries/cmake-3.6.2/bin/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_linux.gypi b/Telegram/gyp/settings_linux.gypi
index fde88dc..ca149b8 100644
--- a/Telegram/gyp/settings_linux.gypi
+++ b/Telegram/gyp/settings_linux.gypi
@@ -25,7 +25,6 @@
'-pipe',
'-g',
'-Wall',
- '-Werror',
'-W',
'-fPIC',
'-Wno-unused-variable',
@@ -61,7 +60,6 @@
],
'defines': [
'_REENTRANT',
- 'QT_STATICPLUGIN',
'QT_PLUGIN',
],
'cflags_c': [
diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi
index 2c46492..3064f26 100644
--- a/Telegram/gyp/telegram_linux.gypi
+++ b/Telegram/gyp/telegram_linux.gypi
@@ -33,9 +33,10 @@
'linux_path_va%': '/usr/local',
'linux_path_vdpau%': '/usr/local',
'linux_path_breakpad%': '<(libs_loc)/breakpad',
- 'linux_path_opus_include%': '<(libs_loc)/opus/include',
+ 'linux_path_opus_include%': '/boot/system/develop/headers/opus',
},
'include_dirs': [
+ '/usr/include/openssl-1.0',
'/usr/local/include',
'<(linux_path_ffmpeg)/include',
'<(linux_path_openal)/include',
@@ -43,6 +44,7 @@
'<(linux_path_opus_include)',
],
'library_dirs': [
+ '/usr/lib/openssl-1.0',
'/usr/local/lib',
'<(linux_path_ffmpeg)/lib',
'<(linux_path_openal)/lib',
@@ -52,32 +54,22 @@
'<(linux_path_breakpad)/lib',
],
'libraries': [
- 'breakpad_client',
- 'composeplatforminputcontextplugin',
- 'ibusplatforminputcontextplugin',
- 'fcitxplatforminputcontextplugin',
- 'himeplatforminputcontextplugin',
- 'liblzma.a',
- 'libopenal.a',
- 'libavformat.a',
- 'libavcodec.a',
- 'libswresample.a',
- 'libswscale.a',
- 'libavutil.a',
- 'libopus.a',
- 'libva-x11.a',
- 'libva-drm.a',
- 'libva.a',
- 'libvdpau.a',
- 'libdrm.a',
- 'libz.a',
+ 'openal',
+ 'avformat',
+ 'avcodec',
+ 'swresample',
+ 'swscale',
+ 'avutil',
+ 'minizip',
+ 'opus',
+ 'z',
# '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
],
'cflags_cc': [
- '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
- '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
- '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
- '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
+# '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
+# '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
+# '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
+# '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
],
'configurations': {
'Release': {
diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt
index ef66965..81852d1 100644
--- a/Telegram/gyp/telegram_sources.txt
+++ b/Telegram/gyp/telegram_sources.txt
@@ -598,14 +598,7 @@
<(emoji_suggestions_loc)/emoji_suggestions.cpp
<(emoji_suggestions_loc)/emoji_suggestions.h
-platforms: !win
-<(minizip_loc)/crypt.h
-<(minizip_loc)/ioapi.c
-<(minizip_loc)/ioapi.h
-<(minizip_loc)/zip.c
-<(minizip_loc)/zip.h
-<(minizip_loc)/unzip.c
-<(minizip_loc)/unzip.h
+<(src_loc)/qt_functions.cpp
platforms: mac
<(sp_media_key_tap_loc)/SPMediaKeyTap.m
--
2.13.1
From 65a214d83477e921c76a85c789792ffae03c7c82 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Sat, 9 Sep 2017 04:49:22 +0300
Subject: missing file
diff --git a/Telegram/SourceFiles/qt_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp
new file mode 100644
index 0000000..4a722b8
--- /dev/null
+++ b/Telegram/SourceFiles/qt_functions.cpp
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file contains some parts of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/* TODO: find a dynamic library with these symbols. */
+
+/* Debian maintainer: this function is taken from qfiledialog.cpp */
+/*
+ Makes a list of filters from ;;-separated text.
+ Used by the mac and windows implementations
+*/
+QStringList qt_make_filter_list(const QString &filter)
+{
+ QString f(filter);
+
+ if (f.isEmpty())
+ return QStringList();
+
+ QString sep(QLatin1String(";;"));
+ int i = f.indexOf(sep, 0);
+ if (i == -1) {
+ if (f.indexOf(QLatin1Char('\n'), 0) != -1) {
+ sep = QLatin1Char('\n');
+ i = f.indexOf(sep, 0);
+ }
+ }
+
+ return f.split(sep);
+}
+
+/* Debian maintainer: this constructor is taken from qtextengine.cpp for TextPainter::drawLine */
+QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars_, int numChars, QFontEngine *fe, const QTextCharFormat &format)
+ : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline), charFormat(format),
+ num_chars(numChars), chars(chars_), logClusters(0), f(font), glyphs(g), fontEngine(fe)
+{
+}
+
+/* Debian maintainer: this method is also taken from qtextengine.cpp */
+// Fix up flags and underlineStyle with given info
+void QTextItemInt::initWithScriptItem(const QScriptItem &si)
+{
+ // explicitly initialize flags so that initFontAttributes can be called
+ // multiple times on the same TextItem
+ flags = 0;
+ if (si.analysis.bidiLevel %2)
+ flags |= QTextItem::RightToLeft;
+ ascent = si.ascent;
+ descent = si.descent;
+
+ if (charFormat.hasProperty(QTextFormat::TextUnderlineStyle)) {
+ underlineStyle = charFormat.underlineStyle();
+ } else if (charFormat.boolProperty(QTextFormat::FontUnderline)
+ || f->d->underline) {
+ underlineStyle = QTextCharFormat::SingleUnderline;
+ }
+
+ // compat
+ if (underlineStyle == QTextCharFormat::SingleUnderline)
+ flags |= QTextItem::Underline;
+
+ if (f->d->overline || charFormat.fontOverline())
+ flags |= QTextItem::Overline;
+ if (f->d->strikeOut || charFormat.fontStrikeOut())
+ flags |= QTextItem::StrikeOut;
+}
diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
index 91ffc3c..d4fe27a 100644
--- a/Telegram/gyp/Telegram.gyp
+++ b/Telegram/gyp/Telegram.gyp
@@ -25,7 +25,7 @@
'target_name': 'Telegram',
'variables': {
'variables': {
- 'libs_loc': '../../../Libraries',
+ 'libs_loc': '../../../LibrariesHERE',
},
'libs_loc': '<(libs_loc)',
'src_loc': '../SourceFiles',
diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi
index 3064f26..8e2feb2 100644
--- a/Telegram/gyp/telegram_linux.gypi
+++ b/Telegram/gyp/telegram_linux.gypi
@@ -33,7 +33,7 @@
'linux_path_va%': '/usr/local',
'linux_path_vdpau%': '/usr/local',
'linux_path_breakpad%': '<(libs_loc)/breakpad',
- 'linux_path_opus_include%': '/boot/system/develop/headers/opus',
+ 'linux_path_opus_include%': '/system/develop/headers/opus',
},
'include_dirs': [
'/usr/include/openssl-1.0',
diff --git a/Telegram/gyp/utils.gyp b/Telegram/gyp/utils.gyp
index 209c737..fe09416 100644
--- a/Telegram/gyp/utils.gyp
+++ b/Telegram/gyp/utils.gyp
@@ -24,7 +24,7 @@
'targets': [{
'target_name': 'Updater',
'variables': {
- 'libs_loc': '../../../Libraries',
+ 'libs_loc': '../../../LibrariesHERE2',
'src_loc': '../SourceFiles',
'res_loc': '../Resources',
},
--
2.13.1

View File

@@ -0,0 +1,128 @@
diff --git a/Telegram/SourceFiles/base/build_config.h b/Telegram/SourceFiles/base/build_config.h
index 17316303..3a93c274 100644
--- a/Telegram/SourceFiles/base/build_config.h
+++ b/Telegram/SourceFiles/base/build_config.h
@@ -30,13 +30,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#define OS_LINUX 1
#elif defined(_WIN32) // __APPLE__ || __linux__
#define OS_WIN 1
+#elif defined(__HAIKU__) // __APPLE__ || __linux__
+#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/config.h b/Telegram/SourceFiles/config.h
index 633c4e4a..0d09e7d2 100644
--- a/Telegram/SourceFiles/config.h
+++ b/Telegram/SourceFiles/config.h
@@ -272,6 +272,8 @@ inline const char *cApiDeviceModel() {
return "Mac";
#elif defined Q_OS_LINUX
return "PC";
+#elif defined Q_OS_HAIKU
+ return "PC";
#endif
}
inline const char *cApiSystemVersion() {
@@ -281,6 +283,8 @@ inline const char *cApiSystemVersion() {
return "OS X";
#elif defined Q_OS_LINUX
return "Linux";
+#elif defined Q_OS_Haiku
+ return "Haiku";
#endif
}
diff --git a/Telegram/SourceFiles/ui/effects/panel_animation.h b/Telegram/SourceFiles/ui/effects/panel_animation.h
index 2e35ece1..2a879a0d 100644
--- a/Telegram/SourceFiles/ui/effects/panel_animation.h
+++ b/Telegram/SourceFiles/ui/effects/panel_animation.h
@@ -20,7 +20,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "styles/style_widgets.h"
+//#include "styles/style_widgets.h"
namespace Ui {
diff --git a/Telegram/SourceFiles/ui/emoji_config.h b/Telegram/SourceFiles/ui/emoji_config.h
index d580ba7a..3d844a43 100644
--- a/Telegram/SourceFiles/ui/emoji_config.h
+++ b/Telegram/SourceFiles/ui/emoji_config.h
@@ -21,7 +21,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#pragma once
#include "ui/text/text.h"
-#include "emoji.h"
+//#include "emoji.h"
namespace Ui {
namespace Emoji {
diff --git a/Telegram/SourceFiles/ui/text/text.h b/Telegram/SourceFiles/ui/text/text.h
index f5bcd66d..272dbc80 100644
--- a/Telegram/SourceFiles/ui/text/text.h
+++ b/Telegram/SourceFiles/ui/text/text.h
@@ -20,7 +20,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "private/qfontengine_p.h"
+//#include "private/qfontengine_p.h"
#include "core/click_handler.h"
#include "ui/text/text_entity.h"
diff --git a/Telegram/SourceFiles/ui/widgets/shadow.h b/Telegram/SourceFiles/ui/widgets/shadow.h
index fcce8cc1..f844881f 100644
--- a/Telegram/SourceFiles/ui/widgets/shadow.h
+++ b/Telegram/SourceFiles/ui/widgets/shadow.h
@@ -17,7 +17,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
#pragma once
-#include "styles/style_widgets.h"
+//#include "styles/style_widgets.h"
namespace Ui {
diff --git a/Telegram/ThirdParty/minizip/ioapi.c b/Telegram/ThirdParty/minizip/ioapi.c
index 7f5c191b..649255c5 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_linux.gypi b/Telegram/gyp/telegram_linux.gypi
index 2c464928..d97715c9 100644
--- a/Telegram/gyp/telegram_linux.gypi
+++ b/Telegram/gyp/telegram_linux.gypi
@@ -74,10 +74,10 @@
# '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
],
'cflags_cc': [
- '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
- '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
- '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
- '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
+# '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
+# '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
+# '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
+# '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
],
'configurations': {
'Release': {

View File

@@ -0,0 +1,119 @@
SUMMARY="Telegram Desktop Messenger"
DESCRIPTION="Official desktop version of Telegram messaging app."
HOMEPAGE="https://www.telegram.org/"
COPYRIGHT="2013-2017 Telegram"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/telegramdesktop/tdesktop/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="56b7fce84adf85a4af1c3174353169f32d0b0c052a4e7a284fc741fa96b04030"
COMMIT_2="757a5d8ec31aadcf387ac3cb135256152c18de1c"
SOURCE_URI_2="https://github.com/telegramdesktop/libtgvoip/archive/$COMMIT_2.zip"
CHECKSUM_SHA256_2="afd82dde02fb43c0e66e462a3da1d9e84ae76aa3e71d37e696c261aa151d3cdd"
COMMIT_3="550ac2f159ca883d360c196149b466955c77a573"
SOURCE_URI_3="https://github.com/mapbox/variant/archive/$COMMIT_3.zip"
CHECKSUM_SHA256_3="ab8f86c9234cbd976d71923e080ca70f698dd29a388e05a43f112117ceea418b"
COMMIT_4="c5851a8161938798c5594a66420cb814fea92711"
SOURCE_URI_4="https://github.com/Microsoft/GSL/archive/$COMMIT_4.zip"
CHECKSUM_SHA256_4="2fe4befdd1cd69de435797c8c50cd7ce749d140982f2260eead90f31721d2c95"
COMMIT_5="5ca44b68721833ae3731802ed99af67c6f38a53a"
SOURCE_URI_5="https://github.com/philsquared/Catch/archive/$COMMIT_5.zip"
ADDITIONAL_FILES="tdesktop.rdef.in"
PATCHES="tdesktop-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 ?x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
telegram$secondaryArchSuffix = $portVersion
app:Telegram$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgthread_2.0$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Multimedia$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5Sql$secondaryArchSuffix
lib:libQt5WebKit$secondaryArchSuffix
lib:libQt5WebKitWidgets$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgthread_2.0$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Multimedia$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5PrintSupport$secondaryArchSuffix
devel:libQt5Sql$secondaryArchSuffix
devel:libQt5WebKit$secondaryArchSuffix
devel:libQt5WebKitWidgets$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix
devel:libxcb$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gyp
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
# link submodules
ln -sfn $sourceDir2 Telegram/ThirdParty/libtgvoip
ln -sfn $sourceDir3 Telegram/ThirdParty/variant
ln -sfn $sourceDir4 Telegram/ThirdParty/GSL
ln -sfn $sourceDir5 Telegram/ThirdParty/Catch
# ln -sfn $sourceDir2/libtgvoip-$COMMIT_2 Telegram/ThirdParty/libtgvoip
# ln -sfn $sourceDir3/variant-$COMMIT_3 Telegram/ThirdParty/variant
# ln -sfn $sourceDir4/GSL-$COMMIT_4 Telegram/ThirdParty/GSL
# ln -sfn $sourceDir5/Catch-$COMMIT_5 Telegram/ThirdParty/Catch
# ln -sfn ../../../../sources-2/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c Telegram/ThirdParty/libtgvoip
# ln -sfn ../../../../sources-3/variant-550ac2f159ca883d360c196149b466955c77a573 Telegram/ThirdParty/variant
# ln -sfn ../../../../sources-4/GSL-c5851a8161938798c5594a66420cb814fea92711 Telegram/ThirdParty/GSL
# ln -sfn ../../../../sources-5/Catch-5ca44b68721833ae3731802ed99af67c6f38a53a Telegram/ThirdParty/Catch
cd Telegram ; gyp/refresh.sh
cd ../out/Release
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir
cp out/Release/Telegram $appsDir
local APP_SIGNATURE="application/x-vnd.telegram"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/telegram.rdef.in > telegram.rdef
addResourcesToBinaries telegram.rdef $appsDir/Telegram
addAppDeskbarSymlink $appsDir/Telegram
}