Date: Saturday, December 30, 2017 @ 22:11:04 Author: svenstaro Revision: 277498
archrelease: copy trunk to community-x86_64 Added: telegram-desktop/repos/community-x86_64/CMakeLists.inj (from rev 277497, telegram-desktop/trunk/CMakeLists.inj) telegram-desktop/repos/community-x86_64/PKGBUILD (from rev 277497, telegram-desktop/trunk/PKGBUILD) telegram-desktop/repos/community-x86_64/libtgvoip.patch (from rev 277497, telegram-desktop/trunk/libtgvoip.patch) telegram-desktop/repos/community-x86_64/tdesktop.patch (from rev 277497, telegram-desktop/trunk/tdesktop.patch) telegram-desktop/repos/community-x86_64/telegram-desktop.desktop (from rev 277497, telegram-desktop/trunk/telegram-desktop.desktop) telegram-desktop/repos/community-x86_64/telegram-desktop.install (from rev 277497, telegram-desktop/trunk/telegram-desktop.install) telegram-desktop/repos/community-x86_64/tg.protocol (from rev 277497, telegram-desktop/trunk/tg.protocol) Deleted: telegram-desktop/repos/community-x86_64/CMakeLists.inj telegram-desktop/repos/community-x86_64/PKGBUILD telegram-desktop/repos/community-x86_64/libtgvoip.patch telegram-desktop/repos/community-x86_64/tdesktop.patch telegram-desktop/repos/community-x86_64/telegram-desktop.desktop telegram-desktop/repos/community-x86_64/telegram-desktop.install telegram-desktop/repos/community-x86_64/tg.protocol --------------------------+ CMakeLists.inj | 28 - PKGBUILD | 178 +++--- libtgvoip.patch | 36 - tdesktop.patch | 1152 ++++++++++++++++++++++----------------------- telegram-desktop.desktop | 22 telegram-desktop.install | 20 tg.protocol | 22 7 files changed, 730 insertions(+), 728 deletions(-) Deleted: CMakeLists.inj =================================================================== --- CMakeLists.inj 2017-12-30 22:10:37 UTC (rev 277497) +++ CMakeLists.inj 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,14 +0,0 @@ -# ------------- debian/CMakeLists.inj begin ------------- -# The text will be putted into the appropriate CMakeLists by debian/rules script - -# Avoid rpath compiler parameter -set_target_properties(Telegram PROPERTIES SKIP_BUILD_RPATH TRUE) - -# This makes up for patch of gyp utility, supporting precompiled headers. If -# Telegram/Patches/gyp.diff file will be changed in future, please check these -# lines. -include(../../Telegram/gyp/PrecompiledHeader.cmake) -add_precompiled_header(Telegram ../../Telegram/SourceFiles/stdafx.h) - -# vim: ft=cmake -# -------------- debian/CMakeLists.inj end -------------- Copied: telegram-desktop/repos/community-x86_64/CMakeLists.inj (from rev 277497, telegram-desktop/trunk/CMakeLists.inj) =================================================================== --- CMakeLists.inj (rev 0) +++ CMakeLists.inj 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,14 @@ +# ------------- debian/CMakeLists.inj begin ------------- +# The text will be putted into the appropriate CMakeLists by debian/rules script + +# Avoid rpath compiler parameter +set_target_properties(Telegram PROPERTIES SKIP_BUILD_RPATH TRUE) + +# This makes up for patch of gyp utility, supporting precompiled headers. If +# Telegram/Patches/gyp.diff file will be changed in future, please check these +# lines. +include(../../Telegram/gyp/PrecompiledHeader.cmake) +add_precompiled_header(Telegram ../../Telegram/SourceFiles/stdafx.h) + +# vim: ft=cmake +# -------------- debian/CMakeLists.inj end -------------- Deleted: PKGBUILD =================================================================== --- PKGBUILD 2017-12-30 22:10:37 UTC (rev 277497) +++ PKGBUILD 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,89 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> -# Contributor: hexchain <i...@hexchain.org> - -# Thanks Nicholas Guriev <guriev...@ya.ru> for the patches! -# https://github.com/mymedia2/tdesktop - -pkgname=telegram-desktop -pkgver=1.2.1 -pkgrel=4 -pkgdesc='Official Telegram Desktop client' -arch=('x86_64') -url="https://desktop.telegram.org/" -license=('GPL3') -depends=('ffmpeg' 'hicolor-icon-theme' 'minizip' 'openal' 'qt5-base' 'qt5-imageformats' 'openssl-1.0' 'libappindicator-gtk3') -makedepends=('cmake' 'git' 'gyp' 'libexif' 'libva' 'libwebp' 'mtdev' 'range-v3' 'python' 'python2' 'gtk3' 'dee') -install=telegram-desktop.install -source=( - "tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v$pkgver" - "GSL::git+https://github.com/Microsoft/GSL.git" - "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git" - "variant::git+https://github.com/mapbox/variant.git" - "Catch::git+https://github.com/philsquared/Catch" - "telegram-desktop.desktop" - "tg.protocol" - "CMakeLists.inj" - "tdesktop.patch" - "libtgvoip.patch" -) -sha256sums=('SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'b12b6d25fc2e6fb0a60a14bbab8b600ec71cf4651279180730c1a469afd1173c' - 'd4cdad0d091c7e47811d8a26d55bbee492e7845e968c522e86f120815477e9eb' - '7a06af83609168a8eaec59a65252caa41dcd0ecc805225886435eb65073e9c82' - '35ca9d917254ee71141ebfbae1b8447b8d3a5601f8d3a78db2cceedfe83c54f2' - '0e55b150b91aeeddcb813fb242a62fe4d1977bcac457eb9d65997faef643f075') - -prepare() { - cd "$srcdir/tdesktop" - git submodule init - 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 config submodule.Telegram/ThirdParty/Catch.url "$srcdir/Catch" - git submodule update - patch -Np1 -i "$srcdir/tdesktop.patch" - - cd "Telegram/ThirdParty/libtgvoip" - patch -Np1 -i "$srcdir/libtgvoip.patch" -} - -build() { - cd "$srcdir/tdesktop" - export LANG=en_US.UTF-8 - export GYP_DEFINES="TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME,TDESKTOP_DISABLE_UNITY_INTEGRATION" - export EXTRA_FLAGS="-Winvalid-pch" - export CPPFLAGS="$CPPFLAGS $EXTRA_FLAGS" - export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS" - gyp \ - -Dbuild_defines=${GYP_DEFINES} \ - -Gconfig=Release \ - --depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out Telegram/gyp/Telegram.gyp --format=cmake - NUM=$((`wc -l < out/Release/CMakeLists.txt` - 2)) - sed -i "$NUM r ../CMakeLists.inj" out/Release/CMakeLists.txt - cd "$srcdir/tdesktop/out/Release" - cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release - make -} - -package() { - install -dm755 "$pkgdir/usr/bin" - install -m755 "$srcdir/tdesktop/out/Release/Telegram" "$pkgdir/usr/bin/telegram-desktop" - - install -d "$pkgdir/usr/share/applications" - install -m644 "$srcdir/telegram-desktop.desktop" "$pkgdir/usr/share/applications/telegram-desktop.desktop" - - install -d "$pkgdir/usr/share/kservices5" - install -m644 "$srcdir/tg.protocol" "$pkgdir/usr/share/kservices5/tg.protocol" - - local icon_size icon_dir - for icon_size in 16 32 48 64 128 256 512; do - icon_dir="$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps" - - install -d "$icon_dir" - install -m644 "$srcdir/tdesktop/Telegram/Resources/art/icon${icon_size}.png" "$icon_dir/telegram-desktop.png" - done -} Copied: telegram-desktop/repos/community-x86_64/PKGBUILD (from rev 277497, telegram-desktop/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,89 @@ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +# Contributor: hexchain <i...@hexchain.org> + +# Thanks Nicholas Guriev <guriev...@ya.ru> for the patches! +# https://github.com/mymedia2/tdesktop + +pkgname=telegram-desktop +pkgver=1.2.6 +pkgrel=1 +pkgdesc='Official Telegram Desktop client' +arch=('x86_64') +url="https://desktop.telegram.org/" +license=('GPL3') +depends=('ffmpeg' 'hicolor-icon-theme' 'minizip' 'openal' 'qt5-base' 'qt5-imageformats' 'openssl-1.0' 'libappindicator-gtk3') +makedepends=('cmake' 'git' 'gyp' 'libexif' 'libva' 'libwebp' 'mtdev' 'range-v3' 'python' 'python2' 'gtk3' 'dee') +install=telegram-desktop.install +source=( + "tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v$pkgver" + "GSL::git+https://github.com/Microsoft/GSL.git" + "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git" + "variant::git+https://github.com/mapbox/variant.git" + "Catch::git+https://github.com/philsquared/Catch" + "telegram-desktop.desktop" + "tg.protocol" + "CMakeLists.inj" + "tdesktop.patch" + "libtgvoip.patch" +) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'b12b6d25fc2e6fb0a60a14bbab8b600ec71cf4651279180730c1a469afd1173c' + 'd4cdad0d091c7e47811d8a26d55bbee492e7845e968c522e86f120815477e9eb' + '7a06af83609168a8eaec59a65252caa41dcd0ecc805225886435eb65073e9c82' + '9011d01340549d8a7b6627c44de5355356342a7e83789672e9e0aa92657ee04f' + '0e55b150b91aeeddcb813fb242a62fe4d1977bcac457eb9d65997faef643f075') + +prepare() { + cd "$srcdir/tdesktop" + git submodule init + 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 config submodule.Telegram/ThirdParty/Catch.url "$srcdir/Catch" + git submodule update + patch -Np1 -i "$srcdir/tdesktop.patch" + + cd "Telegram/ThirdParty/libtgvoip" + patch -Np1 -i "$srcdir/libtgvoip.patch" +} + +build() { + cd "$srcdir/tdesktop" + export LANG=en_US.UTF-8 + export GYP_DEFINES="TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME,TDESKTOP_DISABLE_UNITY_INTEGRATION" + export EXTRA_FLAGS="-Winvalid-pch" + export CPPFLAGS="$CPPFLAGS $EXTRA_FLAGS" + export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS" + gyp \ + -Dbuild_defines=${GYP_DEFINES} \ + -Gconfig=Release \ + --depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out Telegram/gyp/Telegram.gyp --format=cmake + NUM=$((`wc -l < out/Release/CMakeLists.txt` - 2)) + sed -i "$NUM r ../CMakeLists.inj" out/Release/CMakeLists.txt + cd "$srcdir/tdesktop/out/Release" + cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + install -dm755 "$pkgdir/usr/bin" + install -m755 "$srcdir/tdesktop/out/Release/Telegram" "$pkgdir/usr/bin/telegram-desktop" + + install -d "$pkgdir/usr/share/applications" + install -m644 "$srcdir/telegram-desktop.desktop" "$pkgdir/usr/share/applications/telegram-desktop.desktop" + + install -d "$pkgdir/usr/share/kservices5" + install -m644 "$srcdir/tg.protocol" "$pkgdir/usr/share/kservices5/tg.protocol" + + local icon_size icon_dir + for icon_size in 16 32 48 64 128 256 512; do + icon_dir="$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps" + + install -d "$icon_dir" + install -m644 "$srcdir/tdesktop/Telegram/Resources/art/icon${icon_size}.png" "$icon_dir/telegram-desktop.png" + done +} Deleted: libtgvoip.patch =================================================================== --- libtgvoip.patch 2017-12-30 22:10:37 UTC (rev 277497) +++ libtgvoip.patch 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,18 +0,0 @@ -diff --git a/libtgvoip.gyp b/libtgvoip.gyp -index 52fbea1..9a4dfb7 100644 ---- a/libtgvoip.gyp -+++ b/libtgvoip.gyp -@@ -13,11 +13,12 @@ - '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', - '<(linux_path_opus_include)', -+ '/usr/include/openssl-1.0' - ], - 'direct_dependent_settings': { - 'include_dirs': [ Copied: telegram-desktop/repos/community-x86_64/libtgvoip.patch (from rev 277497, telegram-desktop/trunk/libtgvoip.patch) =================================================================== --- libtgvoip.patch (rev 0) +++ libtgvoip.patch 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,18 @@ +diff --git a/libtgvoip.gyp b/libtgvoip.gyp +index 52fbea1..9a4dfb7 100644 +--- a/libtgvoip.gyp ++++ b/libtgvoip.gyp +@@ -13,11 +13,12 @@ + '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', + '<(linux_path_opus_include)', ++ '/usr/include/openssl-1.0' + ], + 'direct_dependent_settings': { + 'include_dirs': [ Deleted: tdesktop.patch =================================================================== --- tdesktop.patch 2017-12-30 22:10:37 UTC (rev 277497) +++ tdesktop.patch 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,575 +0,0 @@ -diff --git a/Telegram/Resources/qrc/telegram_linux.qrc b/Telegram/Resources/qrc/telegram_linux.qrc -index 0554fa179..3ea027406 100644 ---- a/Telegram/Resources/qrc/telegram_linux.qrc -+++ b/Telegram/Resources/qrc/telegram_linux.qrc -@@ -1,5 +1,4 @@ - <RCC> - <qresource prefix="/qt"> -- <file alias="etc/qt.conf">../etc/qt_linux.conf</file> - </qresource> - </RCC> -diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp -index c05915976..9b19941df 100644 ---- a/Telegram/SourceFiles/core/launcher.cpp -+++ b/Telegram/SourceFiles/core/launcher.cpp -@@ -43,9 +43,10 @@ void Launcher::init() { - - QCoreApplication::setApplicationName(qsl("TelegramDesktop")); - --#ifndef OS_MAC_OLD -+#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 // OS_MAC_OLD -+#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0 - - initHook(); - } -@@ -63,6 +64,13 @@ int Launcher::exec() { - Logs::start(this); // 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); -+ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943 -+ unsetenv("QT_QPA_PLATFORMTHEME"); -+ - auto result = 0; - { - Application app(this, _argc, _argv); -diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.h b/Telegram/SourceFiles/platform/linux/linux_libs.h -index e9e349be9..d82963fa2 100644 ---- a/Telegram/SourceFiles/platform/linux/linux_libs.h -+++ b/Telegram/SourceFiles/platform/linux/linux_libs.h -@@ -30,7 +30,7 @@ extern "C" { - } // extern "C" - - #ifndef TDESKTOP_DISABLE_UNITY_INTEGRATION --#include <unity/unity/unity.h> -+typedef void UnityLauncherEntry; - #endif // !TDESKTOP_DISABLE_UNITY_INTEGRATION - #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION - -diff --git a/Telegram/SourceFiles/qt_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp -new file mode 100644 -index 000000000..4a722b8d7 ---- /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 b975c7a84..f2f876b30 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/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp -index 710277fe2..5eb4465d6 100644 ---- a/Telegram/SourceFiles/ui/text/text.cpp -+++ b/Telegram/SourceFiles/ui/text/text.cpp -@@ -1707,11 +1707,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_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp -index e435b50dc..893496b4f 100644 ---- a/Telegram/SourceFiles/ui/text/text_block.cpp -+++ b/Telegram/SourceFiles/ui/text/text_block.cpp -@@ -332,7 +332,7 @@ TextBlock::TextBlock(const style::font &font, const QString &str, QFixed minResi - CrashReports::SetAnnotationRef("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 a78af59dd..feee450ea 100644 ---- a/Telegram/SourceFiles/ui/twidget.cpp -+++ b/Telegram/SourceFiles/ui/twidget.cpp -@@ -234,9 +234,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 5d6830e96..c3f08d3f6 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 31480945b..fd300ad19 100644 ---- a/Telegram/gyp/Telegram.gyp -+++ b/Telegram/gyp/Telegram.gyp -@@ -82,12 +82,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)")', -@@ -96,15 +94,7 @@ - 'include_dirs': [ - '<(src_loc)', - '<(SHARED_INTERMEDIATE_DIR)', -- '<(libs_loc)/breakpad/src', -- '<(libs_loc)/lzma/C', -- '<(libs_loc)/zlib', -- '<(libs_loc)/ffmpeg', -- '<(libs_loc)/openal-soft/include', -- '<(libs_loc)/opus/include', -- '<(libs_loc)/range-v3/include', -- '<(minizip_loc)', -- '<(sp_media_key_tap_loc)', -+ '/usr/include/minizip', - '<(emoji_suggestions_loc)', - '<(submodules_loc)/GSL/include', - '<(submodules_loc)/variant/include', -diff --git a/Telegram/gyp/linux_glibc_wraps.gyp b/Telegram/gyp/linux_glibc_wraps.gyp -index 07a8276f0..99ac4cacb 100644 ---- a/Telegram/gyp/linux_glibc_wraps.gyp -+++ b/Telegram/gyp/linux_glibc_wraps.gyp -@@ -27,7 +27,7 @@ - 'sources': [ - '../SourceFiles/platform/linux/linux_glibc_wraps.c', - ], -- 'conditions': [[ '"<!(uname -p)" == "x86_64"', { -+ 'conditions': [[ '"<!(uname -m)" == "x86_64"', { - 'sources': [ - '../SourceFiles/platform/linux/linux_glibc_wraps_64.c', - ], -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi -index dea127a33..62c95e682 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%': '<!(echo /usr/include/qt/QtCore/*/ | grep -Po "\d+\.\d+\.\d+")', - }] - ], - }, - '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,13 @@ - ], - }], - [ '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 +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%': '/usr/local/ssl/lib/libssl.a', -- 'linux_lib_crypto%': '/usr/local/ssl/lib/libcrypto.a', -- 'linux_lib_icu%': 'libicutu.a libicui18n.a libicuuc.a libicudata.a', - }, - - 'configurations': { -@@ -193,14 +165,14 @@ - }, - - 'include_dirs': [ -- '<(qt_loc)/include', -- '<(qt_loc)/include/QtCore', -- '<(qt_loc)/include/QtGui', -- '<(qt_loc)/include/QtDBus', -- '<(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/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', - ], - 'library_dirs': [ - '<(qt_loc)/lib', -@@ -225,17 +197,10 @@ - ], - 'libraries': [ - '<(PRODUCT_DIR)/obj.target/liblinux_glibc_wraps.a', -- '<(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)")', -- '-lxcb', -+ '-lcrypto', - '-lX11', -- '-lX11-xcb', -- '-ldbus-1', - '-ldl', -- '-lgthread-2.0', - '-lglib-2.0', - '-lpthread', - ], -@@ -243,7 +208,6 @@ - '<(qt_loc)/mkspecs/linux-g++', - ], - 'ldflags': [ -- '-static-libstdc++', - '-pthread', - '-rdynamic', - ], -diff --git a/Telegram/gyp/qt_moc.gypi b/Telegram/gyp/qt_moc.gypi -index fae668dcb..99e184a37 100644 ---- a/Telegram/gyp/qt_moc.gypi -+++ b/Telegram/gyp/qt_moc.gypi -@@ -25,7 +25,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 eebc69676..19a346fe1 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 b93bace41..0fcdfd566 100644 ---- a/Telegram/gyp/settings_linux.gypi -+++ b/Telegram/gyp/settings_linux.gypi -@@ -24,7 +24,6 @@ - 'linux_common_flags': [ - '-pipe', - '-Wall', -- '-Werror', - '-W', - '-fPIC', - '-Wno-unused-variable', -@@ -38,7 +37,7 @@ - ], - }, - 'conditions': [ -- [ '"<!(uname -p)" == "x86_64"', { -+ [ '"<!(uname -m)" == "x86_64"', { - 'defines': [ - 'Q_OS_LINUX64', - ], -@@ -60,7 +59,6 @@ - ], - 'defines': [ - '_REENTRANT', -- 'QT_STATICPLUGIN', - 'QT_PLUGIN', - ], - 'cflags_c': [ -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi -index f6918c224..50f0d8c7c 100644 ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -33,10 +33,11 @@ - 'linux_path_va%': '/usr/local', - 'linux_path_vdpau%': '/usr/local', - 'linux_path_breakpad%': '/usr/local', -- 'linux_path_opus_include%': '<(libs_loc)/opus/include', -+ 'linux_path_opus_include%': '/usr/include/opus', - 'linux_path_range%': '/usr/local', - }, - 'include_dirs': [ -+ '/usr/include/openssl-1.0', - '/usr/local/include', - '<(linux_path_ffmpeg)/include', - '<(linux_path_openal)/include', -@@ -45,6 +46,7 @@ - '<(linux_path_range)/include', - ], - 'library_dirs': [ -+ '/usr/lib/openssl-1.0', - '/usr/local/lib', - '<(linux_path_ffmpeg)/lib', - '<(linux_path_openal)/lib', -@@ -53,25 +55,15 @@ - '<(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': [ -@@ -99,7 +91,7 @@ - }, - }, - 'conditions': [ -- [ '"<!(uname -p)" == "x86_64"', { -+ [ '"<!(uname -m)" == "x86_64"', { - # 32 bit version can't be linked with debug info or LTO, - # virtual memory exhausted :( - 'cflags_c': [ '-g' ], -@@ -118,9 +110,8 @@ - ], - }], ['not_need_gtk!="True"', { - '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)', - ], - }] -diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt -index bbf2b2ade..2d380810f 100644 ---- a/Telegram/gyp/telegram_sources.txt -+++ b/Telegram/gyp/telegram_sources.txt -@@ -693,14 +693,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 Copied: telegram-desktop/repos/community-x86_64/tdesktop.patch (from rev 277497, telegram-desktop/trunk/tdesktop.patch) =================================================================== --- tdesktop.patch (rev 0) +++ tdesktop.patch 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,577 @@ +diff --git a/Telegram/Resources/qrc/telegram_linux.qrc b/Telegram/Resources/qrc/telegram_linux.qrc +index 0554fa17..3ea02740 100644 +--- a/Telegram/Resources/qrc/telegram_linux.qrc ++++ b/Telegram/Resources/qrc/telegram_linux.qrc +@@ -1,5 +1,4 @@ + <RCC> + <qresource prefix="/qt"> +- <file alias="etc/qt.conf">../etc/qt_linux.conf</file> + </qresource> + </RCC> +diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp +index bf21d14d..6b63016e 100644 +--- a/Telegram/SourceFiles/core/launcher.cpp ++++ b/Telegram/SourceFiles/core/launcher.cpp +@@ -44,9 +44,10 @@ void Launcher::init() { + + QCoreApplication::setApplicationName(qsl("TelegramDesktop")); + +-#ifndef OS_MAC_OLD ++#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 // OS_MAC_OLD ++#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0 + + initHook(); + } +@@ -64,6 +65,13 @@ int Launcher::exec() { + Logs::start(this); // 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); ++ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943 ++ unsetenv("QT_QPA_PLATFORMTHEME"); ++ + auto result = executeApplication(); + + DEBUG_LOG(("Telegram finished, result: %1").arg(result)); +diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.h b/Telegram/SourceFiles/platform/linux/linux_libs.h +index e9e349be..d82963fa 100644 +--- a/Telegram/SourceFiles/platform/linux/linux_libs.h ++++ b/Telegram/SourceFiles/platform/linux/linux_libs.h +@@ -30,7 +30,7 @@ extern "C" { + } // extern "C" + + #ifndef TDESKTOP_DISABLE_UNITY_INTEGRATION +-#include <unity/unity/unity.h> ++typedef void UnityLauncherEntry; + #endif // !TDESKTOP_DISABLE_UNITY_INTEGRATION + #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION + +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 b975c7a8..f2f876b3 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/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp +index 7d34a19b..a4b3d31a 100644 +--- a/Telegram/SourceFiles/ui/text/text.cpp ++++ b/Telegram/SourceFiles/ui/text/text.cpp +@@ -1707,11 +1707,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_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp +index a10b5393..4e1eb62d 100644 +--- a/Telegram/SourceFiles/ui/text/text_block.cpp ++++ b/Telegram/SourceFiles/ui/text/text_block.cpp +@@ -333,6 +333,9 @@ TextBlock::TextBlock(const style::font &font, const QString &str, QFixed minResi + + QStackTextEngine engine(part, blockFont->f); + BlockParser parser(&engine, this, minResizeWidth, _from, part); ++ QTextLayout layout(part, blockFont->f); ++ layout.beginLayout(); ++ layout.createLine(); + + CrashReports::ClearAnnotationRef("CrashString"); + } +diff --git a/Telegram/SourceFiles/ui/twidget.cpp b/Telegram/SourceFiles/ui/twidget.cpp +index dacb848a..f64c9b66 100644 +--- a/Telegram/SourceFiles/ui/twidget.cpp ++++ b/Telegram/SourceFiles/ui/twidget.cpp +@@ -248,9 +248,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 84a06153..fd7ca47f 100644 +--- a/Telegram/gyp/Telegram.gyp ++++ b/Telegram/gyp/Telegram.gyp +@@ -82,13 +82,11 @@ + 'codegen.gyp:codegen_numbers', + 'codegen.gyp:codegen_style', + 'tests/tests.gyp:tests', +- 'utils.gyp:Updater', + '../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip', + 'crl.gyp:crl', + ], + + 'defines': [ +- 'AL_LIBTYPE_STATIC', + 'AL_ALEXT_PROTOTYPES', + 'TGVOIP_USE_CXX11_LIB', + '<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")', +@@ -97,15 +95,7 @@ + 'include_dirs': [ + '<(src_loc)', + '<(SHARED_INTERMEDIATE_DIR)', +- '<(libs_loc)/breakpad/src', +- '<(libs_loc)/lzma/C', +- '<(libs_loc)/zlib', +- '<(libs_loc)/ffmpeg', +- '<(libs_loc)/openal-soft/include', +- '<(libs_loc)/opus/include', +- '<(libs_loc)/range-v3/include', +- '<(minizip_loc)', +- '<(sp_media_key_tap_loc)', ++ '/usr/include/minizip', + '<(emoji_suggestions_loc)', + '<(submodules_loc)/GSL/include', + '<(submodules_loc)/variant/include', +diff --git a/Telegram/gyp/linux_glibc_wraps.gyp b/Telegram/gyp/linux_glibc_wraps.gyp +index 07a8276f..99ac4cac 100644 +--- a/Telegram/gyp/linux_glibc_wraps.gyp ++++ b/Telegram/gyp/linux_glibc_wraps.gyp +@@ -27,7 +27,7 @@ + 'sources': [ + '../SourceFiles/platform/linux/linux_glibc_wraps.c', + ], +- 'conditions': [[ '"<!(uname -p)" == "x86_64"', { ++ 'conditions': [[ '"<!(uname -m)" == "x86_64"', { + 'sources': [ + '../SourceFiles/platform/linux/linux_glibc_wraps_64.c', + ], +diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi +index dea127a3..62c95e68 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%': '<!(echo /usr/include/qt/QtCore/*/ | grep -Po "\d+\.\d+\.\d+")', + }] + ], + }, + '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,13 @@ + ], + }], + [ '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 +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%': '/usr/local/ssl/lib/libssl.a', +- 'linux_lib_crypto%': '/usr/local/ssl/lib/libcrypto.a', +- 'linux_lib_icu%': 'libicutu.a libicui18n.a libicuuc.a libicudata.a', + }, + + 'configurations': { +@@ -193,14 +165,14 @@ + }, + + 'include_dirs': [ +- '<(qt_loc)/include', +- '<(qt_loc)/include/QtCore', +- '<(qt_loc)/include/QtGui', +- '<(qt_loc)/include/QtDBus', +- '<(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/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', + ], + 'library_dirs': [ + '<(qt_loc)/lib', +@@ -225,17 +197,10 @@ + ], + 'libraries': [ + '<(PRODUCT_DIR)/obj.target/liblinux_glibc_wraps.a', +- '<(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)")', +- '-lxcb', ++ '-lcrypto', + '-lX11', +- '-lX11-xcb', +- '-ldbus-1', + '-ldl', +- '-lgthread-2.0', + '-lglib-2.0', + '-lpthread', + ], +@@ -243,7 +208,6 @@ + '<(qt_loc)/mkspecs/linux-g++', + ], + 'ldflags': [ +- '-static-libstdc++', + '-pthread', + '-rdynamic', + ], +diff --git a/Telegram/gyp/qt_moc.gypi b/Telegram/gyp/qt_moc.gypi +index fae668dc..99e184a3 100644 +--- a/Telegram/gyp/qt_moc.gypi ++++ b/Telegram/gyp/qt_moc.gypi +@@ -25,7 +25,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 b93bace4..0fcdfd56 100644 +--- a/Telegram/gyp/settings_linux.gypi ++++ b/Telegram/gyp/settings_linux.gypi +@@ -24,7 +24,6 @@ + 'linux_common_flags': [ + '-pipe', + '-Wall', +- '-Werror', + '-W', + '-fPIC', + '-Wno-unused-variable', +@@ -38,7 +37,7 @@ + ], + }, + 'conditions': [ +- [ '"<!(uname -p)" == "x86_64"', { ++ [ '"<!(uname -m)" == "x86_64"', { + 'defines': [ + 'Q_OS_LINUX64', + ], +@@ -60,7 +59,6 @@ + ], + 'defines': [ + '_REENTRANT', +- 'QT_STATICPLUGIN', + 'QT_PLUGIN', + ], + 'cflags_c': [ +diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi +index f6918c22..50f0d8c7 100644 +--- a/Telegram/gyp/telegram_linux.gypi ++++ b/Telegram/gyp/telegram_linux.gypi +@@ -33,10 +33,11 @@ + 'linux_path_va%': '/usr/local', + 'linux_path_vdpau%': '/usr/local', + 'linux_path_breakpad%': '/usr/local', +- 'linux_path_opus_include%': '<(libs_loc)/opus/include', ++ 'linux_path_opus_include%': '/usr/include/opus', + 'linux_path_range%': '/usr/local', + }, + 'include_dirs': [ ++ '/usr/include/openssl-1.0', + '/usr/local/include', + '<(linux_path_ffmpeg)/include', + '<(linux_path_openal)/include', +@@ -45,6 +46,7 @@ + '<(linux_path_range)/include', + ], + 'library_dirs': [ ++ '/usr/lib/openssl-1.0', + '/usr/local/lib', + '<(linux_path_ffmpeg)/lib', + '<(linux_path_openal)/lib', +@@ -53,25 +55,15 @@ + '<(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': [ +@@ -99,7 +91,7 @@ + }, + }, + 'conditions': [ +- [ '"<!(uname -p)" == "x86_64"', { ++ [ '"<!(uname -m)" == "x86_64"', { + # 32 bit version can't be linked with debug info or LTO, + # virtual memory exhausted :( + 'cflags_c': [ '-g' ], +@@ -118,9 +110,8 @@ + ], + }], ['not_need_gtk!="True"', { + '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)', + ], + }] +diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt +index 5d2f627e..defd475d 100644 +--- a/Telegram/gyp/telegram_sources.txt ++++ b/Telegram/gyp/telegram_sources.txt +@@ -713,14 +713,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 Deleted: telegram-desktop.desktop =================================================================== --- telegram-desktop.desktop 2017-12-30 22:10:37 UTC (rev 277497) +++ telegram-desktop.desktop 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Telegram -Comment=Official desktop version of Telegram messaging app -Categories=Network; -Keywords=messaging -TryExec=/usr/bin/telegram-desktop -Exec=/usr/bin/telegram-desktop -- %u -Icon=telegram-desktop -MimeType=x-scheme-handler/tg; Copied: telegram-desktop/repos/community-x86_64/telegram-desktop.desktop (from rev 277497, telegram-desktop/trunk/telegram-desktop.desktop) =================================================================== --- telegram-desktop.desktop (rev 0) +++ telegram-desktop.desktop 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Telegram +Comment=Official desktop version of Telegram messaging app +Categories=Network; +Keywords=messaging +TryExec=/usr/bin/telegram-desktop +Exec=/usr/bin/telegram-desktop -- %u +Icon=telegram-desktop +MimeType=x-scheme-handler/tg; Deleted: telegram-desktop.install =================================================================== --- telegram-desktop.install 2017-12-30 22:10:37 UTC (rev 277497) +++ telegram-desktop.install 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,10 +0,0 @@ -post_install () { - cat <<EOF -Telegram will crash if you only have libappindicator-gtk2 installed. -Either remove libappindicator-gtk2, or install libappindicator-gtk3 to avoid the crash. -EOF -} - -post_upgrade () { - post_install -} Copied: telegram-desktop/repos/community-x86_64/telegram-desktop.install (from rev 277497, telegram-desktop/trunk/telegram-desktop.install) =================================================================== --- telegram-desktop.install (rev 0) +++ telegram-desktop.install 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,10 @@ +post_install () { + cat <<EOF +Telegram will crash if you only have libappindicator-gtk2 installed. +Either remove libappindicator-gtk2, or install libappindicator-gtk3 to avoid the crash. +EOF +} + +post_upgrade () { + post_install +} Deleted: tg.protocol =================================================================== --- tg.protocol 2017-12-30 22:10:37 UTC (rev 277497) +++ tg.protocol 2017-12-30 22:11:04 UTC (rev 277498) @@ -1,11 +0,0 @@ -[Protocol] -exec=/usr/bin/telegram-desktop -- %u -protocol=tg -input=none -output=none -helper=true -listing=false -reading=false -writing=false -makedir=false -deleting=false Copied: telegram-desktop/repos/community-x86_64/tg.protocol (from rev 277497, telegram-desktop/trunk/tg.protocol) =================================================================== --- tg.protocol (rev 0) +++ tg.protocol 2017-12-30 22:11:04 UTC (rev 277498) @@ -0,0 +1,11 @@ +[Protocol] +exec=/usr/bin/telegram-desktop -- %u +protocol=tg +input=none +output=none +helper=true +listing=false +reading=false +writing=false +makedir=false +deleting=false