[arch-commits] Commit in telegram-desktop/repos (11 files)

Antonio Rojas arojas at archlinux.org
Wed Jun 19 12:43:27 UTC 2019


    Date: Wednesday, June 19, 2019 @ 12:43:24
  Author: arojas
Revision: 482361

archrelease: copy trunk to community-staging-x86_64

Added:
  telegram-desktop/repos/community-staging-x86_64/
  telegram-desktop/repos/community-staging-x86_64/CMakeLists.inj
    (from rev 482360, telegram-desktop/trunk/CMakeLists.inj)
  telegram-desktop/repos/community-staging-x86_64/PKGBUILD
    (from rev 482360, telegram-desktop/trunk/PKGBUILD)
  telegram-desktop/repos/community-staging-x86_64/Use-system-wide-font.patch
    (from rev 482360, telegram-desktop/trunk/Use-system-wide-font.patch)
  telegram-desktop/repos/community-staging-x86_64/demibold.patch
    (from rev 482360, telegram-desktop/trunk/demibold.patch)
  telegram-desktop/repos/community-staging-x86_64/libtgvoip.patch
    (from rev 482360, telegram-desktop/trunk/libtgvoip.patch)
  telegram-desktop/repos/community-staging-x86_64/no-gtk2.patch
    (from rev 482360, telegram-desktop/trunk/no-gtk2.patch)
  telegram-desktop/repos/community-staging-x86_64/tdesktop.patch
    (from rev 482360, telegram-desktop/trunk/tdesktop.patch)
  telegram-desktop/repos/community-staging-x86_64/tdesktop_lottie_animation_qtdebug.patch
    (from rev 482360, telegram-desktop/trunk/tdesktop_lottie_animation_qtdebug.patch)
  telegram-desktop/repos/community-staging-x86_64/tdesktop_qtlottie_qtdebug.patch
    (from rev 482360, telegram-desktop/trunk/tdesktop_qtlottie_qtdebug.patch)
  telegram-desktop/repos/community-staging-x86_64/tg.protocol
    (from rev 482360, telegram-desktop/trunk/tg.protocol)

-----------------------------------------+
 CMakeLists.inj                          |   18 +
 PKGBUILD                                |  126 +++++++
 Use-system-wide-font.patch              |   34 +
 demibold.patch                          |   27 +
 libtgvoip.patch                         |   18 +
 no-gtk2.patch                           |   29 +
 tdesktop.patch                          |  532 ++++++++++++++++++++++++++++++
 tdesktop_lottie_animation_qtdebug.patch |   12 
 tdesktop_qtlottie_qtdebug.patch         |   12 
 tg.protocol                             |   11 
 10 files changed, 819 insertions(+)

Copied: telegram-desktop/repos/community-staging-x86_64/CMakeLists.inj (from rev 482360, telegram-desktop/trunk/CMakeLists.inj)
===================================================================
--- community-staging-x86_64/CMakeLists.inj	                        (rev 0)
+++ community-staging-x86_64/CMakeLists.inj	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,18 @@
+# The text will be put into the appropriate CMakeLists by the PKGBUILD
+
+# 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)
+add_precompiled_header(lib_base ../../Telegram/SourceFiles/base/base_pch.h)
+add_precompiled_header(lib_export ../../Telegram/SourceFiles/export/export_pch.h)
+add_precompiled_header(lib_storage ../../Telegram/SourceFiles/storage/storage_pch.h)
+
+# You can discover new PCHs using this link:
+# https://github.com/telegramdesktop/tdesktop/search?q=pch_header&unscoped_q=pch_header
+
+# vim: ft=cmake

Copied: telegram-desktop/repos/community-staging-x86_64/PKGBUILD (from rev 482360, telegram-desktop/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,126 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: hexchain <i at hexchain.org>
+
+# Thanks Nicholas Guriev <guriev-ns at ya.ru> for the patches!
+# https://github.com/mymedia2/tdesktop
+
+pkgname=telegram-desktop
+pkgver=1.7.7
+pkgrel=3
+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')
+makedepends=('cmake' 'git' 'gyp' 'range-v3' 'python' 'libappindicator-gtk3')
+optdepends=('libnotify: desktop notifications'
+            'ttf-opensans: default Open Sans font family')
+source=(
+    "tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v$pkgver"
+    "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip"
+    "variant::git+https://github.com/mapbox/variant"
+    "Catch2::git+https://github.com/catchorg/Catch2.git"
+    "GSL::git+https://github.com/Microsoft/GSL.git"
+    "crl::git+https://github.com/telegramdesktop/crl.git"
+    "xxHash::git+https://github.com/Cyan4973/xxHash.git"
+    "qtlottie::git+https://github.com/telegramdesktop/qtlottie.git"
+    "tg.protocol"
+    "CMakeLists.inj"
+    "tdesktop.patch"
+    "no-gtk2.patch"
+    "libtgvoip.patch"
+    "demibold.patch"
+    "Use-system-wide-font.patch"
+    "tdesktop_lottie_animation_qtdebug.patch"
+    "tdesktop_qtlottie_qtdebug.patch"
+)
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d'
+            'b20674f61ff6378749d1f59a6a0da194d33ccc786bd783f6ed62027924a3a8a8d27c9763bf376480432d6536896b0c7eeb8c495c5b8cefff7cf5fe84da50947e'
+            '3b6a0450f7981c2ce5f90c1ea46d9fb504194609f357b957b5c4a741681d3c531252394df116f8b77780a3a110783c047c9a081f9651e0792e7423573e390392'
+            'a8f1708616a598fea3cb94e3b63b02a7b13b55abd129a5dc02ad502529f4ebe7a673b6a350b669290fd26135358d21e2e10bf4a11d88f58f0685b7c4ab515bc5'
+            'd60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39'
+            '6d0bac5aa4c4992b5400a9a9318f7a4e92d5eab961917cf0b05cdd251ab66a77c52ec8fbef246e8019606a7624d7b5420b87f8153e071e9724c7d2f5c94e47c0'
+            'ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653'
+            '5703b8228ab26f736928b56b90947602e78774648ff354ae10a53ad4535289ac12c8b7a049cabaed7591909246987be403dc470d48dd72a9ec1ce776a2977a66'
+            'c101761ff0aa6d4be38d0159bee31d02f66cfda84dbfb614e35e8d1c8f73bd78346636764a823bf1ce33b5364e99ea71330de60e37190f78d55f25a183f0d0cc')
+
+prepare() {
+    cd "$srcdir/tdesktop"
+    git submodule init
+    git config submodule.Telegram/ThirdParty/libtgvoip.url "$srcdir/libtgvoip"
+    git config submodule.Telegram/ThirdParty/variant.url "$srcdir/variant"
+    git config submodule.Telegram/ThirdParty/GSL.url "$srcdir/GSL"
+    git config submodule.Telegram/ThirdParty/Catch.url "$srcdir/Catch2"
+    git config submodule.Telegram/ThirdParty/crl.url "$srcdir/crl"
+    git config submodule.Telegram/ThirdParty/xxHash.url "$srcdir/xxHash"
+    git config submodule.Telegram/ThirdParty/qtlottie.url "$srcdir/qtlottie"
+    git submodule update
+
+    patch -Np1 -i "$srcdir/tdesktop.patch"
+    patch -Np1 -i "$srcdir/no-gtk2.patch"
+    patch -R -Np1 -i "$srcdir/demibold.patch"
+    patch -Np1 -i "$srcdir/Use-system-wide-font.patch"
+    patch -Np1 -i "$srcdir/tdesktop_lottie_animation_qtdebug.patch"
+
+    cd "$srcdir/tdesktop"
+    cd "Telegram/ThirdParty/qtlottie"
+    patch -Np1 -i "$srcdir/tdesktop_qtlottie_qtdebug.patch"
+
+    cd "$srcdir/tdesktop"
+    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_DESKTOP_FILE_GENERATION"
+    export EXTRA_FLAGS="-Winvalid-pch"
+    export CPPFLAGS="$CPPFLAGS $EXTRA_FLAGS"
+    export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS"
+
+    # Telegram requires us to set API_ID and API_HASH for some reason but they do not provide a way to receive a pair
+    # See https://github.com/telegramdesktop/tdesktop/commit/65b2db216033aa08b7bc846df27843e566f08981 and
+    # https://github.com/telegramdesktop/tdesktop/issues/4717
+    # The official API_ID seems to be 2040 while the API_HASH is "b18441a1ff607e10a989891a5462e627".
+    # We're going to use the defaults for now but might at some point use the official ones from the official binaries as noted above.
+
+    gyp \
+        -Dapi_id=17349 \
+        -Dapi_hash=344583e45741c457fe1862106095a5eb \
+        -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/tdesktop/lib/xdg/telegramdesktop.desktop" "$pkgdir/usr/share/applications/telegramdesktop.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.png"
+    done
+}

Copied: telegram-desktop/repos/community-staging-x86_64/Use-system-wide-font.patch (from rev 482360, telegram-desktop/trunk/Use-system-wide-font.patch)
===================================================================
--- community-staging-x86_64/Use-system-wide-font.patch	                        (rev 0)
+++ community-staging-x86_64/Use-system-wide-font.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,34 @@
+Description: Remove links to packaged Open Sans font
+ This makes Telegram Desktop use system-wide fonts.
+ Warnings about non-existent fonts in resources are also disabled.
+Author: Nicholas Guriev <guriev-ns at ya.ru>
+Bug-Debian: https://bugs.debian.org/890341
+Last-Update: Sat, 31 Mar 2018 14:36:39 +0300
+
+--- a/Telegram/Resources/qrc/telegram.qrc
++++ b/Telegram/Resources/qrc/telegram.qrc
+@@ -42,9 +42,6 @@
+     <file alias="js/script.js">../export_html/js/script.js</file>
+   </qresource>
+   <qresource prefix="/gui">
+-    <file alias="fonts/OpenSans-Regular.ttf">../fonts/OpenSans-Regular.ttf</file>
+-    <file alias="fonts/OpenSans-Bold.ttf">../fonts/OpenSans-Bold.ttf</file>
+-    <file alias="fonts/OpenSans-Semibold.ttf">../fonts/OpenSans-Semibold.ttf</file>
+     <file alias="art/bg.jpg">../art/bg.jpg</file>
+     <file alias="art/bg_initial.jpg">../art/bg_initial.jpg</file>
+     <file alias="art/logo_256.png">../art/logo_256.png</file>
+--- a/Telegram/SourceFiles/ui/twidget.cpp
++++ b/Telegram/SourceFiles/ui/twidget.cpp
+@@ -70,9 +70,9 @@ void Start() {
+ 	}
+ 	Started = true;
+ 
+-	auto regular = LoadCustomFont(qsl(":/gui/fonts/OpenSans-Regular.ttf"), qsl("Open Sans"));
+-	auto bold = LoadCustomFont(qsl(":/gui/fonts/OpenSans-Bold.ttf"), qsl("Open Sans"), style::internal::FontBold);
+-	auto semibold = LoadCustomFont(qsl(":/gui/fonts/OpenSans-Semibold.ttf"), qsl("Open Sans Semibold"));
++	auto regular = ValidateFont(qsl("Open Sans"));
++	auto bold = ValidateFont(qsl("Open Sans"), style::internal::FontBold);
++	auto semibold = ValidateFont(qsl("Open Sans Semibold"));
+ 
+ #ifdef Q_OS_WIN
+ 	// Attempt to workaround a strange font bug with Open Sans Semibold not loading.

Copied: telegram-desktop/repos/community-staging-x86_64/demibold.patch (from rev 482360, telegram-desktop/trunk/demibold.patch)
===================================================================
--- community-staging-x86_64/demibold.patch	                        (rev 0)
+++ community-staging-x86_64/demibold.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,27 @@
+commit 310c68a744ae8163c96b88944d96a6f6b14b3cdf
+Author: John Preston <johnprestonmail at gmail.com>
+Date:   Wed Dec 5 14:42:19 2018 +0400
+
+    Disable DemiBold fallback for Semibold.
+    
+    This reverts changes from commit 089c4ceb30.
+    
+    There were complaints that Persian font becomes unreadable :(
+
+diff --git a/Telegram/SourceFiles/ui/style/style_core_font.cpp b/Telegram/SourceFiles/ui/style/style_core_font.cpp
+index a2ab5f89f..d268a71e1 100644
+--- a/Telegram/SourceFiles/ui/style/style_core_font.cpp
++++ b/Telegram/SourceFiles/ui/style/style_core_font.cpp
+@@ -58,9 +58,9 @@ FontData::FontData(int size, uint32 flags, int family, Font *other)
+ 
+ 	f.setPixelSize(size);
+ 	if (_flags & FontBold) {
+-		f.setBold(_flags & FontBold);
+-	} else if (fontFamilies[family] == "Open Sans Semibold") {
+-		f.setWeight(QFont::DemiBold);
++		f.setBold(true);
++	//} else if (fontFamilies[family] == "Open Sans Semibold") {
++	//	f.setWeight(QFont::DemiBold);
+ 	}
+ 	f.setItalic(_flags & FontItalic);
+ 	f.setUnderline(_flags & FontUnderline);

Copied: telegram-desktop/repos/community-staging-x86_64/libtgvoip.patch (from rev 482360, telegram-desktop/trunk/libtgvoip.patch)
===================================================================
--- community-staging-x86_64/libtgvoip.patch	                        (rev 0)
+++ community-staging-x86_64/libtgvoip.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -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'
+         ],
+         'direct_dependent_settings': {
+           'include_dirs': [

Copied: telegram-desktop/repos/community-staging-x86_64/no-gtk2.patch (from rev 482360, telegram-desktop/trunk/no-gtk2.patch)
===================================================================
--- community-staging-x86_64/no-gtk2.patch	                        (rev 0)
+++ community-staging-x86_64/no-gtk2.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,29 @@
+diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.cpp b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
+index f8d74fee1..c9d059fa6 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_libs.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
+@@ -240,24 +240,12 @@ void start() {
+ 			indicatorLoaded = setupAppIndicator(lib_indicator);
+ 		}
+ 	}
+-	if (!gtkLoaded || !indicatorLoaded) {
+-		if (loadLibrary(lib_indicator, "ayatana-appindicator", 1) || loadLibrary(lib_indicator, "appindicator", 1)) {
+-			if (loadLibrary(lib_gtk, "gtk-x11-2.0", 0)) {
+-				gtkLoaded = indicatorLoaded = false;
+-				gtkLoaded = setupGtkBase(lib_gtk);
+-				indicatorLoaded = setupAppIndicator(lib_indicator);
+-			}
+-		}
+-	}
+ 
+ 	// If no appindicator, try at least load gtk.
+ 	if (!gtkLoaded && !indicatorLoaded) {
+ 		if (loadLibrary(lib_gtk, "gtk-3", 0)) {
+ 			gtkLoaded = setupGtkBase(lib_gtk);
+ 		}
+-		if (!gtkLoaded && loadLibrary(lib_gtk, "gtk-x11-2.0", 0)) {
+-			gtkLoaded = setupGtkBase(lib_gtk);
+-		}
+ 	}
+ 
+ 	if (gtkLoaded) {

Copied: telegram-desktop/repos/community-staging-x86_64/tdesktop.patch (from rev 482360, telegram-desktop/trunk/tdesktop.patch)
===================================================================
--- community-staging-x86_64/tdesktop.patch	                        (rev 0)
+++ community-staging-x86_64/tdesktop.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,532 @@
+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 b1246588a..7f522cc86 100644
+--- a/Telegram/SourceFiles/core/launcher.cpp
++++ b/Telegram/SourceFiles/core/launcher.cpp
+@@ -59,6 +60,19 @@ 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");
++
++       // unset QT screen scale related envvars
++	unsetenv("QT_SCREEN_SCALE_FACTORS");
++	unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR");
++	unsetenv("QT_SCALE_FACTOR");
++	unsetenv("QT_DEVICE_PIXEL_RATIO");
++
+ 	auto result = executeApplication();
+ 
+ 	DEBUG_LOG(("Telegram finished, result: %1").arg(result));
+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 a757d085f..122ff0f5d 100644
+--- a/Telegram/SourceFiles/qt_static_plugins.cpp
++++ b/Telegram/SourceFiles/qt_static_plugins.cpp
+@@ -15,14 +15,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)
+-Q_IMPORT_PLUGIN(NimfInputContextPlugin)
+ #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 944f58479..887c1982f 100644
+--- a/Telegram/SourceFiles/ui/text/text.cpp
++++ b/Telegram/SourceFiles/ui/text/text.cpp
+@@ -1750,11 +1750,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 2959cec77..04ad00645 100644
+--- a/Telegram/SourceFiles/ui/text/text_block.cpp
++++ b/Telegram/SourceFiles/ui/text/text_block.cpp
+@@ -332,6 +332,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 71f318229..461f52278 100644
+--- a/Telegram/SourceFiles/ui/twidget.cpp
++++ b/Telegram/SourceFiles/ui/twidget.cpp
+@@ -233,9 +233,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 a0e1e0489..223113081 100644
+--- a/Telegram/gyp/PrecompiledHeader.cmake
++++ b/Telegram/gyp/PrecompiledHeader.cmake
+@@ -114,7 +114,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}" ${_compiler_FLAGS} "$(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)")
+@@ -125,7 +125,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}" ${_compiler_FLAGS} "$(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 header ${_name} for ${_target} (C++)")
+diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
+index 1cab5ae29..465e8276a 100644
+--- a/Telegram/gyp/Telegram.gyp
++++ b/Telegram/gyp/Telegram.gyp
+@@ -75,7 +75,6 @@
+       'codegen.gyp:codegen_numbers',
+       'codegen.gyp:codegen_style',
+       'tests/tests.gyp:tests',
+-      'utils.gyp:Updater',
+       '../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip',
+       'crl.gyp:crl',
+       'lib_base.gyp:lib_base',
+@@ -84,7 +83,6 @@
+     ],
+ 
+     'defines': [
+-      'AL_LIBTYPE_STATIC',
+       'AL_ALEXT_PROTOTYPES',
+       'TGVOIP_USE_CXX11_LIB',
+       'XXH_INLINE_ALL',
+@@ -94,16 +92,8 @@
+     '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)',
+       '<(emoji_suggestions_loc)',
++      '/usr/include/minizip',
+       '<(submodules_loc)/GSL/include',
+       '<(submodules_loc)/variant/include',
+       '<(submodules_loc)/crl/src',
+diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi
+index 0b783ec21..3f917765a 100644
+--- a/Telegram/gyp/qt.gypi
++++ b/Telegram/gyp/qt.gypi
+@@ -14,25 +14,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',
+             }]
+           ]
+         },
+@@ -72,32 +68,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',
+             ],
+           }],
+         ],
+@@ -127,11 +104,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': {
+@@ -180,14 +152,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',
+@@ -212,17 +184,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',
+       ],
+@@ -230,7 +195,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 464d3c818..f350da8f3 100644
+--- a/Telegram/gyp/qt_moc.gypi
++++ b/Telegram/gyp/qt_moc.gypi
+@@ -12,7 +12,7 @@
+       '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
+     ],
+     'action': [
+-      '<(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 f5624a82b..1129a95c5 100644
+--- a/Telegram/gyp/qt_rcc.gypi
++++ b/Telegram/gyp/qt_rcc.gypi
+@@ -15,7 +15,7 @@
+       '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
+     ],
+     'action': [
+-      '<(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 17219fa2c..6853b5c3e 100644
+--- a/Telegram/gyp/settings_linux.gypi
++++ b/Telegram/gyp/settings_linux.gypi
+@@ -11,7 +11,6 @@
+         'linux_common_flags': [
+           '-pipe',
+           '-Wall',
+-          '-Werror',
+           '-W',
+           '-fPIC',
+           '-Wno-unused-variable',
+@@ -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 ffe0e5a96..bd2ed758f 100644
+--- a/Telegram/gyp/telegram_linux.gypi
++++ b/Telegram/gyp/telegram_linux.gypi
+@@ -23,10 +23,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',
+       '/usr/local/include',
+       '<(linux_path_ffmpeg)/include',
+       '<(linux_path_openal)/include',
+@@ -35,6 +36,7 @@
+       '<(linux_path_range)/include',
+     ],
+     'library_dirs': [
++      '/usr/lib/openssl',
+       '/usr/local/lib',
+       '<(linux_path_ffmpeg)/lib',
+       '<(linux_path_openal)/lib',
+@@ -43,26 +45,16 @@
+       '<(linux_path_breakpad)/lib',
+     ],
+     'libraries': [
+-      'breakpad_client',
+-      'composeplatforminputcontextplugin',
+-      'ibusplatforminputcontextplugin',
+-      'fcitxplatforminputcontextplugin',
+-      'himeplatforminputcontextplugin',
+-      'nimfplatforminputcontextplugin',
+-      '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',
++      'lzma',
+ #      '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
+     ],
+     'cflags_cc': [
+@@ -97,9 +89,8 @@
+         ],
+       }], ['not_need_gtk!="True"', {
+         'cflags_cc': [
+-          '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
+-          '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
+-          '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
++          '<!(pkg-config 2> /dev/null --cflags appindicator3-0.1)',
++          '<!(pkg-config 2> /dev/null --cflags gtk+-3.0)',
+         ],
+       }], ['<!(pkg-config ayatana-appindicator3-0.1; echo $?) == 0', {
+         'cflags_cc': [ '<!(pkg-config --cflags ayatana-appindicator3-0.1)' ],
+diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt
+index f02296c8a..46bd016dd 100644
+--- a/Telegram/gyp/telegram_sources.txt
++++ b/Telegram/gyp/telegram_sources.txt
+@@ -755,14 +755,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: win
+ <(res_loc)/winrc/Telegram.rc

Copied: telegram-desktop/repos/community-staging-x86_64/tdesktop_lottie_animation_qtdebug.patch (from rev 482360, telegram-desktop/trunk/tdesktop_lottie_animation_qtdebug.patch)
===================================================================
--- community-staging-x86_64/tdesktop_lottie_animation_qtdebug.patch	                        (rev 0)
+++ community-staging-x86_64/tdesktop_lottie_animation_qtdebug.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,12 @@
+diff --git a/Telegram/SourceFiles/lottie/lottie_animation.cpp b/Telegram/SourceFiles/lottie/lottie_animation.cpp
+index cee1bf7bb..c8adfc343 100644
+--- a/Telegram/SourceFiles/lottie/lottie_animation.cpp
++++ b/Telegram/SourceFiles/lottie/lottie_animation.cpp
+@@ -15,6 +15,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+ #include "logs.h"
+ 
+ #include <QFile>
++#include <QtDebug>
+ #include <crl/crl_async.h>
+ #include <crl/crl_on_main.h>
+ 

Copied: telegram-desktop/repos/community-staging-x86_64/tdesktop_qtlottie_qtdebug.patch (from rev 482360, telegram-desktop/trunk/tdesktop_qtlottie_qtdebug.patch)
===================================================================
--- community-staging-x86_64/tdesktop_qtlottie_qtdebug.patch	                        (rev 0)
+++ community-staging-x86_64/tdesktop_qtlottie_qtdebug.patch	2019-06-19 12:43:24 UTC (rev 482361)
@@ -0,0 +1,12 @@
+diff --git a/src/bodymovin/bmbase.h b/src/bodymovin/bmbase.h
+index 97f5940..a4a3433 100644
+--- a/src/bodymovin/bmbase.h
++++ b/src/bodymovin/bmbase.h
+@@ -29,6 +29,7 @@
+ #pragma once
+ 
+ #include <QList>
++#include <QtDebug>
+ #include <functional>
+ 
+ namespace Lottie {

Copied: telegram-desktop/repos/community-staging-x86_64/tg.protocol (from rev 482360, telegram-desktop/trunk/tg.protocol)
===================================================================
--- community-staging-x86_64/tg.protocol	                        (rev 0)
+++ community-staging-x86_64/tg.protocol	2019-06-19 12:43:24 UTC (rev 482361)
@@ -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



More information about the arch-commits mailing list