diff options
author | Peter Cai | 2017-05-15 21:00:08 +0800 |
---|---|---|
committer | Peter Cai | 2017-05-15 21:00:08 +0800 |
commit | 215adfd009f3c100f7d4ee808cd50d203dbe5de0 (patch) | |
tree | 9bedd42bb9d20cb431546ae827ed7466b508edad | |
parent | 8e546fac26e89cf28f23d41aea029902f08fcbda (diff) | |
download | aur-215adfd009f3c100f7d4ee808cd50d203dbe5de0.tar.gz |
1.1
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Avoid-depending-on-static-libraries.patch | 246 | ||||
-rw-r--r-- | Correct-MOC-path.patch | 13 | ||||
-rw-r--r-- | Downgrade-Qt-version.patch | 53 | ||||
-rw-r--r-- | Fix-rcc-path.patch | 13 | ||||
-rw-r--r-- | Flags-for-precompiled-header-and-MOC.patch | 36 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | Reduce-number-of-libraries.patch | 109 | ||||
-rw-r--r-- | Remove-Werror-flag.patch | 17 | ||||
-rw-r--r-- | Use-gtk3-headers.patch | 16 | ||||
-rw-r--r-- | libtgvoip.patch | 13 | ||||
-rw-r--r-- | qt_functions.cpp | 94 | ||||
-rw-r--r-- | tdesktop.patch | 511 |
14 files changed, 557 insertions, 653 deletions
@@ -1,14 +1,14 @@ pkgbase = telegram-desktop-systemqt-notoemoji pkgdesc = Experimental build of Telegram Desktop (using system Qt, emojis replaced with those from Noto Color Emoji) - pkgver = 1.0.29 - pkgrel = 2 + pkgver = 1.1.0 + pkgrel = 1 url = https://desktop.telegram.org/ install = telegram-desktop.install arch = i686 arch = x86_64 license = GPL3 makedepends = cmake - makedepends = libappindicator-gtk3 + makedepends = libappindicator-gtk2 makedepends = dee makedepends = git makedepends = gyp-git @@ -25,23 +25,18 @@ pkgbase = telegram-desktop-systemqt-notoemoji depends = qt5-base depends = qt5-imageformats optdepends = libappindicator-gtk3: AppIndicator tray icon + optdepends = libappindicator-gtk2: AppIndicator tray icon provides = telegram-desktop conflicts = telegram-desktop - source = tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v1.0.29 + source = tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v1.1.0 source = GSL::git+https://github.com/Microsoft/GSL.git#commit=16a6a41690325433976d843e13ec676d6f9ab091 source = variant::git+https://github.com/mapbox/variant#tag=v1.1.3 + source = libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git#commit=ccf715b626246990bf57068102bc04014f4ac385 source = telegramdesktop.desktop source = tg.protocol - source = Avoid-depending-on-static-libraries.patch - source = Remove-Werror-flag.patch - source = Downgrade-Qt-version.patch - source = Flags-for-precompiled-header-and-MOC.patch - source = Fix-rcc-path.patch - source = Use-gtk3-headers.patch - source = Reduce-number-of-libraries.patch - source = Correct-MOC-path.patch source = CMakeLists.inj - source = qt_functions.cpp + source = tdesktop.patch + source = libtgvoip.patch source = emoji.webp_db4c66e311a160b3f849d6c76890932c50701bf8::https://github.com/PeterCxy/tdesktop/raw/db4c66e311a160b3f849d6c76890932c50701bf8/Telegram/Resources/art/emoji.webp source = emoji_125x.webp_db4c66e311a160b3f849d6c76890932c50701bf8::https://github.com/PeterCxy/tdesktop/raw/db4c66e311a160b3f849d6c76890932c50701bf8/Telegram/Resources/art/emoji_125x.webp source = emoji_150x.webp_db4c66e311a160b3f849d6c76890932c50701bf8::https://github.com/PeterCxy/tdesktop/raw/db4c66e311a160b3f849d6c76890932c50701bf8/Telegram/Resources/art/emoji_150x.webp @@ -50,18 +45,12 @@ pkgbase = telegram-desktop-systemqt-notoemoji sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP + sha256sums = SKIP sha256sums = 41c22fae6ae757936741e63aec3d0f17cafe86b2d6153cdd1d01a5581e871f17 sha256sums = d4cdad0d091c7e47811d8a26d55bbee492e7845e968c522e86f120815477e9eb - sha256sums = 8da40e3d8bbec2c8dc653cc8c5071b5a7a6e899befac75d6b996536703da4ce6 - sha256sums = c47633e0c1e86cd4488c1533d5742245c5f9e910300f93083101d54597c00c3a - sha256sums = c05175c418354f3202f4a031ca4133769a37640c920e9e4ff91025f9fc58a015 - sha256sums = 5b5a41a852d4d5b84466a19a04684dc7e43dfc6d6494dbcbe41341807bae52b3 - sha256sums = cf4dbb293afdbfd226861a00a42790a15b23bea296eccf35853d104e07ea345a - sha256sums = 5f3ac7c08df0293bed626293dbfb6040764abf28899db7681572cfb1d8bcaa6e - sha256sums = 2990be2c71bdc6b8add19fb4d7638d03610989fe2c299c0ef776d526487deef1 - sha256sums = 75dcda4aa2d6032f4931cf99e1d915defb4d960ee42725f3b54bbb7dd4ab8531 sha256sums = 7a06af83609168a8eaec59a65252caa41dcd0ecc805225886435eb65073e9c82 - sha256sums = 8fa4115ae60a87ee6c846f82d5cc4b90d0ba2b2016e1bd36634772230903af31 + sha256sums = 64356cbf94dd13cc81df1f8c3cb48a51a0f9b05a3c6b112ad452252c7348cfec + sha256sums = 3d72e09b9054ff75785a85c9f24ee82d48a2b9bf0ce8515156717b20157a45b3 sha256sums = fccd084805b4621e3614d2a0584bb78a0ad44f502a79b4a4534e901881677555 sha256sums = 668a2371c3dae8e95187f0c9f8fec9b0e535157482747d2f9c6034c6b9eefa16 sha256sums = d84537063ccf42904ab35ea2624263419f7d17671d24b17d02d02020d9af8be2 diff --git a/.gitignore b/.gitignore index bad6d07cc30e..026b0c08ef52 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ tdesktop *.webp_* GSL variant +libtgvoip diff --git a/Avoid-depending-on-static-libraries.patch b/Avoid-depending-on-static-libraries.patch deleted file mode 100644 index aa64b05389ee..000000000000 --- a/Avoid-depending-on-static-libraries.patch +++ /dev/null @@ -1,246 +0,0 @@ -Description: Eliminates dependencies from static Qt and other libraries -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-03-31 - -diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp ---- a/Telegram/SourceFiles/main.cpp -+++ b/Telegram/SourceFiles/main.cpp -@@ -39,6 +39,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("/usr/lib/qt/plugins"); -+ // 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 ---- 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 ---- a/Telegram/SourceFiles/qt_static_plugins.cpp -+++ b/Telegram/SourceFiles/qt_static_plugins.cpp -@@ -28,12 +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) - #endif // Q_OS_WIN | Q_OS_MAC | Q_OS_LINUX -diff --git a/Telegram/SourceFiles/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp ---- 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/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp ---- a/Telegram/gyp/Telegram.gyp -+++ b/Telegram/gyp/Telegram.gyp -@@ -81,20 +82,13 @@ - ], - - 'defines': [ -- 'AL_LIBTYPE_STATIC', - '<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")', - ], - - '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', -- '<(minizip_loc)', -+ '/usr/include/minizip', - '<(sp_media_key_tap_loc)', - '<(submodules_loc)/GSL/include', - '<(submodules_loc)/variant/include', -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -27,7 +27,7 @@ - [ 'build_macold', { - 'qt_version%': '5.3.2', - }, { -- 'qt_version%': '5.6.2', -+ 'qt_version%': '<!(echo /usr/include/qt/QtCore/*/ | grep -Po "\d+\.\d+\.\d+")', - }] - ], - }, -@@ -45,7 +45,7 @@ - [ '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,9 +85,9 @@ - ], - }], - [ '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', -@@ -141,9 +141,9 @@ - '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', -+ 'linux_lib_ssl%': 'ssl', -+ 'linux_lib_crypto%': 'crypto', -+ 'linux_lib_icu%': 'icutu icui18n icuuc icudata', - }, - - 'configurations': { -@@ -192,13 +192,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', -+ '/usr/include/qt', -+ '/usr/include/qt/QtCore', -+ '/usr/include/qt/QtGui', -+ '/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', - ], - 'library_dirs': [ - '<(qt_loc)/lib', -@@ -219,11 +219,8 @@ - '<(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)")', -+ 'crypto', - 'xcb', - 'X11', - 'X11-xcb', -@@ -237,7 +234,6 @@ - '<(qt_loc)/mkspecs/linux-g++', - ], - 'ldflags': [ -- '-static-libstdc++', - '-pthread', - '-g', - '-rdynamic', -diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi ---- a/Telegram/gyp/settings_linux.gypi -+++ b/Telegram/gyp/settings_linux.gypi -@@ -61,7 +61,6 @@ - ], - 'defines': [ - '_REENTRANT', -- 'QT_STATICPLUGIN', - 'QT_PLUGIN', - ], - 'cflags_c': [ -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -50,24 +50,21 @@ - '<(linux_path_breakpad)/lib', - ], - 'libraries': [ -- 'breakpad_client', -- 'composeplatforminputcontextplugin', -- 'ibusplatforminputcontextplugin', -- 'fcitxplatforminputcontextplugin', -- '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', -+ 'lzma', -+ 'openal', -+ 'avformat', -+ 'avcodec', -+ 'swresample', -+ 'swscale', -+ 'avutil', -+ 'opus', -+ 'va-x11', -+ 'va-drm', -+ 'va', -+ 'vdpau', -+ 'drm', -+ 'z', -+ 'minizip', - # '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))', - ], - 'cflags_cc': [ -diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt ---- a/Telegram/gyp/telegram_sources.txt -+++ b/Telegram/gyp/telegram_sources.txt -@@ -511,14 +511,7 @@ - <(src_loc)/structs.cpp - <(src_loc)/structs.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 -+../../debian/qt_functions.cpp - - platforms: mac - <(sp_media_key_tap_loc)/SPMediaKeyTap.m diff --git a/Correct-MOC-path.patch b/Correct-MOC-path.patch deleted file mode 100644 index 8f1f4bc089de..000000000000 --- a/Correct-MOC-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi -index 897cfa69..5f55135e 100644 ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -223,7 +223,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp', - ], - 'action': [ -- '<(qt_loc)/bin/moc<(exe_ext)', -+ '/usr/bin/moc<(exe_ext)', - - # Silence "Note: No relevant classes found. No output generated." - '--no-notes', diff --git a/Downgrade-Qt-version.patch b/Downgrade-Qt-version.patch deleted file mode 100644 index 903bf181b3b9..000000000000 --- a/Downgrade-Qt-version.patch +++ /dev/null @@ -1,53 +0,0 @@ -Description: Downgrade Qt version -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-03-31 - -diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp ---- 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")); - - settingsParseArgs(argc, argv); -diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp ---- a/Telegram/SourceFiles/ui/text/text.cpp -+++ b/Telegram/SourceFiles/ui/text/text.cpp -@@ -1692,11 +1692,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 - - int blockIndex = _lineStartBlock; - ITextBlock *currentBlock = _t->_blocks[blockIndex]; -diff --git a/Telegram/SourceFiles/ui/twidget.cpp b/Telegram/SourceFiles/ui/twidget.cpp ---- a/Telegram/SourceFiles/ui/twidget.cpp -+++ b/Telegram/SourceFiles/ui/twidget.cpp -@@ -107,9 +107,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/Fix-rcc-path.patch b/Fix-rcc-path.patch deleted file mode 100644 index 76a7719aee84..000000000000 --- a/Fix-rcc-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Telegram/gyp/qt_rcc.gypi b/Telegram/gyp/qt_rcc.gypi -index eebc6967..19a346fe 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)', -+ '/usr/bin/rcc', - '-name', '<(RULE_INPUT_ROOT)', - '-no-compress', - '<(RULE_INPUT_PATH)', diff --git a/Flags-for-precompiled-header-and-MOC.patch b/Flags-for-precompiled-header-and-MOC.patch deleted file mode 100644 index c6df3258963f..000000000000 --- a/Flags-for-precompiled-header-and-MOC.patch +++ /dev/null @@ -1,36 +0,0 @@ -Description: Specify preprocessor and compiler flags for precompiled header and Qt object files -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-03-31 - -diff --git a/Telegram/gyp/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake ---- 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/qt.gypi b/Telegram/gyp/qt.gypi ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -228,6 +228,7 @@ - # Silence "Note: No relevant classes found. No output generated." - '--no-notes', - -+ '<!@(echo $CPPFLAGS | grep -Po "[-]([IDU]\s*\S*|E)")', - '<!@(python -c "for s in \'<@(_defines)\'.split(\' \'): print(\'-D\' + s)")', - # '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")', - '<(RULE_INPUT_PATH)', @@ -7,36 +7,34 @@ _emoji_res_commit="db4c66e311a160b3f849d6c76890932c50701bf8" pkgname=telegram-desktop-systemqt-notoemoji -pkgver=1.0.29 -pkgrel=2 +pkgver=1.1.0 +pkgrel=1 pkgdesc='Experimental build of Telegram Desktop (using system Qt, emojis replaced with those from Noto Color Emoji)' arch=('i686' 'x86_64') url="https://desktop.telegram.org/" license=('GPL3') depends=('ffmpeg' 'hicolor-icon-theme' 'minizip' 'openal' 'qt5-base' 'qt5-imageformats') -makedepends=('cmake' 'libappindicator-gtk3' 'dee' 'git' 'gyp-git' 'libexif' 'libva' 'libwebp' 'mtdev' 'python' 'python2') -optdepends=('libappindicator-gtk3: AppIndicator tray icon') +makedepends=('cmake' 'libappindicator-gtk2' 'dee' 'git' 'gyp-git' 'libexif' 'libva' 'libwebp' 'mtdev' 'python' 'python2') +optdepends=( + 'libappindicator-gtk3: AppIndicator tray icon' + 'libappindicator-gtk2: AppIndicator tray icon' +) conflicts=('telegram-desktop') provides=('telegram-desktop') install="telegram-desktop.install" _variant_ver="1.1.3" _GSL_commit="16a6a41690325433976d843e13ec676d6f9ab091" +_libtgvoip_commit="ccf715b626246990bf57068102bc04014f4ac385" source=( "tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v$pkgver" "GSL::git+https://github.com/Microsoft/GSL.git#commit=${_GSL_commit}" "variant::git+https://github.com/mapbox/variant#tag=v${_variant_ver}" + "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git#commit=${_libtgvoip_commit}" "telegramdesktop.desktop" "tg.protocol" - "Avoid-depending-on-static-libraries.patch" - "Remove-Werror-flag.patch" - "Downgrade-Qt-version.patch" - "Flags-for-precompiled-header-and-MOC.patch" - "Fix-rcc-path.patch" - "Use-gtk3-headers.patch" - "Reduce-number-of-libraries.patch" - "Correct-MOC-path.patch" "CMakeLists.inj" - "qt_functions.cpp" + "tdesktop.patch" + "libtgvoip.patch" "emoji.webp_${_emoji_res_commit}::https://github.com/PeterCxy/tdesktop/raw/${_emoji_res_commit}/Telegram/Resources/art/emoji.webp" "emoji_125x.webp_${_emoji_res_commit}::https://github.com/PeterCxy/tdesktop/raw/${_emoji_res_commit}/Telegram/Resources/art/emoji_125x.webp" "emoji_150x.webp_${_emoji_res_commit}::https://github.com/PeterCxy/tdesktop/raw/${_emoji_res_commit}/Telegram/Resources/art/emoji_150x.webp" @@ -46,18 +44,12 @@ source=( sha256sums=('SKIP' 'SKIP' 'SKIP' + 'SKIP' '41c22fae6ae757936741e63aec3d0f17cafe86b2d6153cdd1d01a5581e871f17' 'd4cdad0d091c7e47811d8a26d55bbee492e7845e968c522e86f120815477e9eb' - '8da40e3d8bbec2c8dc653cc8c5071b5a7a6e899befac75d6b996536703da4ce6' - 'c47633e0c1e86cd4488c1533d5742245c5f9e910300f93083101d54597c00c3a' - 'c05175c418354f3202f4a031ca4133769a37640c920e9e4ff91025f9fc58a015' - '5b5a41a852d4d5b84466a19a04684dc7e43dfc6d6494dbcbe41341807bae52b3' - 'cf4dbb293afdbfd226861a00a42790a15b23bea296eccf35853d104e07ea345a' - '5f3ac7c08df0293bed626293dbfb6040764abf28899db7681572cfb1d8bcaa6e' - '2990be2c71bdc6b8add19fb4d7638d03610989fe2c299c0ef776d526487deef1' - '75dcda4aa2d6032f4931cf99e1d915defb4d960ee42725f3b54bbb7dd4ab8531' '7a06af83609168a8eaec59a65252caa41dcd0ecc805225886435eb65073e9c82' - '8fa4115ae60a87ee6c846f82d5cc4b90d0ba2b2016e1bd36634772230903af31' + '64356cbf94dd13cc81df1f8c3cb48a51a0f9b05a3c6b112ad452252c7348cfec' + '3d72e09b9054ff75785a85c9f24ee82d48a2b9bf0ce8515156717b20157a45b3' 'fccd084805b4621e3614d2a0584bb78a0ad44f502a79b4a4534e901881677555' '668a2371c3dae8e95187f0c9f8fec9b0e535157482747d2f9c6034c6b9eefa16' 'd84537063ccf42904ab35ea2624263419f7d17671d24b17d02d02020d9af8be2' @@ -67,22 +59,17 @@ sha256sums=('SKIP' prepare() { cd "$srcdir/tdesktop" git submodule init - git config submodule.third_party/GSL.url "$srcdir/GSL" - git config submodule.third_party/variant.url "$srcdir/variant" + git config submodule.Telegram/ThirdParty/GSL.url "$srcdir/GSL" + git config submodule.Telegram/ThirdParty/variant.url "$srcdir/variant" + git config submodule.Telegram/ThirdParty/libtgvoip.url "$srcdir/libtgvoip" git submodule update - git apply "$srcdir/Avoid-depending-on-static-libraries.patch" - git apply "$srcdir/Remove-Werror-flag.patch" - git apply "$srcdir/Downgrade-Qt-version.patch" - git apply "$srcdir/Flags-for-precompiled-header-and-MOC.patch" - git apply "$srcdir/Fix-rcc-path.patch" - git apply "$srcdir/Use-gtk3-headers.patch" - git apply "$srcdir/Reduce-number-of-libraries.patch" - git apply "$srcdir/Correct-MOC-path.patch" + patch -Np1 -i "$srcdir/tdesktop.patch" + pushd "Telegram/ThirdParty/libtgvoip" + patch -Np1 -i "$srcdir/libtgvoip.patch" + popd for x in "" "_125x" "_150x" "_200x" "_250x"; do cp "$srcdir/emoji$x.webp_${_emoji_res_commit}" "$srcdir/tdesktop/Telegram/Resources/art/emoji$x.webp" done - mkdir -p debian - cp "$srcdir/qt_functions.cpp" debian/ } build() { diff --git a/Reduce-number-of-libraries.patch b/Reduce-number-of-libraries.patch deleted file mode 100644 index 48704554223e..000000000000 --- a/Reduce-number-of-libraries.patch +++ /dev/null @@ -1,109 +0,0 @@ -Description: Remove linking of unused libraries -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-04-05 - -diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp ---- a/Telegram/gyp/Telegram.gyp -+++ b/Telegram/gyp/Telegram.gyp -@@ -78,7 +78,6 @@ - 'codegen.gyp:codegen_style', - 'codegen.gyp:codegen_numbers', - 'codegen.gyp:MetaLang', -- 'utils.gyp:Updater', - ], - - 'defines': [ -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -32,13 +32,9 @@ - ], - }, - 'qt_libs': [ -- 'qwebp', -- 'Qt5PrintSupport', -- 'Qt5PlatformSupport', - 'Qt5Network', - 'Qt5Widgets', - 'Qt5Gui', -- 'qtharfbuzzng', - ], - 'qt_version%': '<(qt_version)', - 'conditions': [ -@@ -89,28 +86,8 @@ - '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', - ], - }], - ], -@@ -139,11 +117,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%': 'ssl', -- 'linux_lib_crypto%': 'crypto', -- 'linux_lib_icu%': 'icutu icui18n icuuc icudata', - }, - - 'configurations': { -@@ -221,12 +194,7 @@ icudata.a', - 'libraries': [ - '<@(qt_libs_release)', - 'crypto', -- 'xcb', - 'X11', -- 'X11-xcb', -- 'dbus-1', -- 'dl', -- 'gthread-2.0', - 'glib-2.0', - 'pthread', - ], -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -50,19 +50,12 @@ - '<(linux_path_breakpad)/lib', - ], - 'libraries': [ -- 'lzma', - 'openal', - 'avformat', - 'avcodec', - 'swresample', - 'swscale', - 'avutil', -- 'opus', -- 'va-x11', -- 'va-drm', -- 'va', -- 'vdpau', -- 'drm', - 'z', - 'minizip', - # '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))', diff --git a/Remove-Werror-flag.patch b/Remove-Werror-flag.patch deleted file mode 100644 index 9c8dab4ba747..000000000000 --- a/Remove-Werror-flag.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: Remove -Werror flag - This flag is removed because of fatal warnings in Qt -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-03-31 - -diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi -index 9050ab2..82bd931 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', diff --git a/Use-gtk3-headers.patch b/Use-gtk3-headers.patch deleted file mode 100644 index f124dc31c653..000000000000 --- a/Use-gtk3-headers.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi -index 29386a9b..06dd1abc 100644 ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -68,9 +68,8 @@ - # '<!(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 appindicator3-0.1)', -+ '<!(pkg-config 2> /dev/null --cflags gtk+-3.0)', - '<!(pkg-config 2> /dev/null --cflags dee-1.0)', - ], - 'configurations': { diff --git a/libtgvoip.patch b/libtgvoip.patch new file mode 100644 index 000000000000..afb96146ef40 --- /dev/null +++ b/libtgvoip.patch @@ -0,0 +1,13 @@ +diff --git a/libtgvoip.gyp b/libtgvoip.gyp +index 58dc6bf..98a09d7 100644 +--- a/libtgvoip.gyp ++++ b/libtgvoip.gyp +@@ -13,7 +13,7 @@ + 'variables': { + 'tgvoip_src_loc': '.', + 'official_build_target%': '', +- 'linux_path_opus_include%': '<(DEPTH)/../../../Libraries/opus/include', ++ 'linux_path_opus_include%': '/usr/include/opus', + }, + 'include_dirs': [ + '<(tgvoip_src_loc)/webrtc_dsp', diff --git a/qt_functions.cpp b/qt_functions.cpp deleted file mode 100644 index 4a722b8d70ee..000000000000 --- a/qt_functions.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/**************************************************************************** -** -** 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/tdesktop.patch b/tdesktop.patch new file mode 100644 index 000000000000..9e3684f8aeff --- /dev/null +++ b/tdesktop.patch @@ -0,0 +1,511 @@ +diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp +index 6cd942ec..d8ce29b9 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")); + + settingsParseArgs(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("/usr/lib/qt/plugins"); ++ // 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 a8bf969c..75593540 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_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp +new file mode 100644 +index 00000000..4a722b8d +--- /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/SourceFiles/qt_static_plugins.cpp b/Telegram/SourceFiles/qt_static_plugins.cpp +index 1d4896a6..f2f876b3 100644 +--- a/Telegram/SourceFiles/qt_static_plugins.cpp ++++ b/Telegram/SourceFiles/qt_static_plugins.cpp +@@ -28,12 +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) + #endif // Q_OS_WIN | Q_OS_MAC | Q_OS_LINUX +diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp +index dbc2b0db..61fa93c9 100644 +--- a/Telegram/SourceFiles/ui/text/text.cpp ++++ b/Telegram/SourceFiles/ui/text/text.cpp +@@ -1692,11 +1692,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 + + int blockIndex = _lineStartBlock; + ITextBlock *currentBlock = _t->_blocks[blockIndex]; +diff --git a/Telegram/SourceFiles/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp +index f89644e1..35230cfc 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 04fad32b..688cd8e0 100644 +--- a/Telegram/SourceFiles/ui/twidget.cpp ++++ b/Telegram/SourceFiles/ui/twidget.cpp +@@ -187,9 +187,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/gyp/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake +index 5d6830e9..c3f08d3f 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 80160d16..8789e874 100644 +--- a/Telegram/gyp/Telegram.gyp ++++ b/Telegram/gyp/Telegram.gyp +@@ -78,12 +78,10 @@ + 'codegen.gyp:codegen_lang', + 'codegen.gyp:codegen_numbers', + 'codegen.gyp:codegen_style', +- '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)")', +@@ -92,14 +90,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)', ++ '/usr/include/minizip', + '<(sp_media_key_tap_loc)', + '<(submodules_loc)/GSL/include', + '<(submodules_loc)/variant/include', +diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi +index 81c13a18..1af2e86e 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.8.0', + }] + ], + }, + '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', ++ '/usr/include/qt', ++ '/usr/include/qt/QtCore', ++ '/usr/include/qt/QtGui', ++ '/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', + ], + 'library_dirs': [ + '<(qt_loc)/lib', +@@ -220,11 +191,8 @@ + '<(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)")', ++ 'crypto', + 'xcb', + 'X11', + 'X11-xcb', +@@ -238,7 +206,6 @@ + '<(qt_loc)/mkspecs/linux-g++', + ], + 'ldflags': [ +- '-static-libstdc++', + '-pthread', + '-g', + '-rdynamic', +@@ -260,7 +227,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp', + ], + 'action': [ +- '<(qt_loc)/bin/moc<(exe_ext)', ++ '/usr/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 eebc6967..19a346fe 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)', ++ '/usr/bin/rcc', + '-name', '<(RULE_INPUT_ROOT)', + '-no-compress', + '<(RULE_INPUT_PATH)', +diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi +index fde88dcd..ca149b85 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 b8866ec2..b505a67d 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%': '/usr/include/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,30 +54,20 @@ + '<(linux_path_breakpad)/lib', + ], + 'libraries': [ +- 'breakpad_client', +- 'composeplatforminputcontextplugin', +- 'ibusplatforminputcontextplugin', +- 'fcitxplatforminputcontextplugin', +- '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 gtk+-3.0)', + '<!(pkg-config 2> /dev/null --cflags dee-1.0)', + ], + 'configurations': { +diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt +index c970f984..cb5f225c 100644 +--- a/Telegram/gyp/telegram_sources.txt ++++ b/Telegram/gyp/telegram_sources.txt +@@ -552,14 +552,7 @@ + <(src_loc)/structs.cpp + <(src_loc)/structs.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 |