Date: Friday, August 9, 2019 @ 19:18:31 Author: farseerfc Revision: 498564
archrelease: copy trunk to community-x86_64 Added: telegram-desktop/repos/community-x86_64/CMakeLists.inj (from rev 498563, telegram-desktop/trunk/CMakeLists.inj) telegram-desktop/repos/community-x86_64/PKGBUILD (from rev 498563, telegram-desktop/trunk/PKGBUILD) telegram-desktop/repos/community-x86_64/Use-system-wide-font.patch (from rev 498563, telegram-desktop/trunk/Use-system-wide-font.patch) telegram-desktop/repos/community-x86_64/demibold.patch (from rev 498563, telegram-desktop/trunk/demibold.patch) telegram-desktop/repos/community-x86_64/libtgvoip.patch (from rev 498563, telegram-desktop/trunk/libtgvoip.patch) telegram-desktop/repos/community-x86_64/no-gtk2.patch (from rev 498563, telegram-desktop/trunk/no-gtk2.patch) telegram-desktop/repos/community-x86_64/tdesktop.patch (from rev 498563, telegram-desktop/trunk/tdesktop.patch) telegram-desktop/repos/community-x86_64/tdesktop_lottie_animation_qtdebug.patch (from rev 498563, telegram-desktop/trunk/tdesktop_lottie_animation_qtdebug.patch) telegram-desktop/repos/community-x86_64/tg.protocol (from rev 498563, 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/Use-system-wide-font.patch telegram-desktop/repos/community-x86_64/demibold.patch telegram-desktop/repos/community-x86_64/issue6219.patch telegram-desktop/repos/community-x86_64/libtgvoip.patch telegram-desktop/repos/community-x86_64/no-gtk2.patch telegram-desktop/repos/community-x86_64/tdesktop.patch telegram-desktop/repos/community-x86_64/tdesktop_lottie_animation_qtdebug.patch telegram-desktop/repos/community-x86_64/tg.protocol -----------------------------------------+ CMakeLists.inj | 37 - PKGBUILD | 255 +++---- Use-system-wide-font.patch | 68 - demibold.patch | 54 - issue6219.patch | 172 ---- libtgvoip.patch | 36 - no-gtk2.patch | 58 - tdesktop.patch | 1064 +++++++++++++++--------------- tdesktop_lottie_animation_qtdebug.patch | 26 tg.protocol | 22 10 files changed, 809 insertions(+), 983 deletions(-) Deleted: CMakeLists.inj =================================================================== --- CMakeLists.inj 2019-08-09 19:17:14 UTC (rev 498563) +++ CMakeLists.inj 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,18 +0,0 @@ -# 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-x86_64/CMakeLists.inj (from rev 498563, telegram-desktop/trunk/CMakeLists.inj) =================================================================== --- CMakeLists.inj (rev 0) +++ CMakeLists.inj 2019-08-09 19:18:31 UTC (rev 498564) @@ -0,0 +1,19 @@ +# 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) +add_precompiled_header(lib_mtproto ../../Telegram/SourceFiles/mtproto/mtp_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 Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-08-09 19:17:14 UTC (rev 498563) +++ PKGBUILD 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,129 +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.7.14 -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" - "rlottie::git+https://github.com/john-preston/rlottie.git" - "tg.protocol" - "CMakeLists.inj" - "tdesktop.patch" - "no-gtk2.patch" - "libtgvoip.patch" - "demibold.patch" - "Use-system-wide-font.patch" - "tdesktop_lottie_animation_qtdebug.patch" - "issue6219.patch" -) -sha512sums=('SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d' - 'b20674f61ff6378749d1f59a6a0da194d33ccc786bd783f6ed62027924a3a8a8d27c9763bf376480432d6536896b0c7eeb8c495c5b8cefff7cf5fe84da50947e' - '3b6a0450f7981c2ce5f90c1ea46d9fb504194609f357b957b5c4a741681d3c531252394df116f8b77780a3a110783c047c9a081f9651e0792e7423573e390392' - 'a8f1708616a598fea3cb94e3b63b02a7b13b55abd129a5dc02ad502529f4ebe7a673b6a350b669290fd26135358d21e2e10bf4a11d88f58f0685b7c4ab515bc5' - 'd60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39' - '6d0bac5aa4c4992b5400a9a9318f7a4e92d5eab961917cf0b05cdd251ab66a77c52ec8fbef246e8019606a7624d7b5420b87f8153e071e9724c7d2f5c94e47c0' - 'ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653' - 'a83b80668b2dc2cc77c857069fdb45b487793fda01ad8a63bab66c6a1c71e5d032050e4ec7efb5b4c3216badc5377c856ef1f4a59c2e02b24ee53b1d83124bf3' - 'f3ec62dfcace74e0b07396427fa6cdfa849c3feab251bdf629512984bbb2ad4b0389a2543ae6d299a5b3788609e4aeabb0dabc1fa51a3a099287c1b199626ec0') - -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/rlottie.url "$srcdir/rlottie" - 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" - - # backport from https://github.com/telegramdesktop/tdesktop/commit/0710dde4d5526454318b2748331e887c01ecfdce - # as discussed in https://github.com/telegramdesktop/tdesktop/issues/6219 - patch -Np1 -i "$srcdir/issue6219.patch" - - # disable static-qt for rlottie - sed "/RLOTTIE_WITH_STATIC_QT/d" -i "$srcdir/tdesktop/Telegram/gyp/lib_rlottie.gyp" - - 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 -UTDESKTOP_OFFICIAL_TARGET - 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-x86_64/PKGBUILD (from rev 498563, telegram-desktop/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-08-09 19:18:31 UTC (rev 498564) @@ -0,0 +1,126 @@ +# 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.8.0 +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') +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" + "rlottie::git+https://github.com/john-preston/rlottie.git" + "tg.protocol" + "CMakeLists.inj" + "tdesktop.patch" + "no-gtk2.patch" + "libtgvoip.patch" + "demibold.patch" + "Use-system-wide-font.patch" + "tdesktop_lottie_animation_qtdebug.patch" + "revert-private-headers.patch::https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch" +) +sha512sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d' + '16874fabcb0d04d6bf8db1ee2fd77fbd09eeb6acc28bb5fd915d378f7a5ed7ebf4aae01c390e516695572cf9ef0e2cb59493e21a35643fd63ddf3fec446858a6' + '3b6a0450f7981c2ce5f90c1ea46d9fb504194609f357b957b5c4a741681d3c531252394df116f8b77780a3a110783c047c9a081f9651e0792e7423573e390392' + 'a8f1708616a598fea3cb94e3b63b02a7b13b55abd129a5dc02ad502529f4ebe7a673b6a350b669290fd26135358d21e2e10bf4a11d88f58f0685b7c4ab515bc5' + 'd60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39' + '6d0bac5aa4c4992b5400a9a9318f7a4e92d5eab961917cf0b05cdd251ab66a77c52ec8fbef246e8019606a7624d7b5420b87f8153e071e9724c7d2f5c94e47c0' + 'ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653' + 'a83b80668b2dc2cc77c857069fdb45b487793fda01ad8a63bab66c6a1c71e5d032050e4ec7efb5b4c3216badc5377c856ef1f4a59c2e02b24ee53b1d83124bf3' + 'e25dc1c54d6001a7a3740c6cee40a12a2313a3fd2e41986268f0ee5d9d8bf2d34812f539efb0eb5d26d3f263b2e4a7849016711532bf215aa9ff38da30175557') + +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/rlottie.url "$srcdir/rlottie" + 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" + patch -R -Np1 -i "$srcdir/revert-private-headers.patch" + + # disable static-qt for rlottie + sed "/RLOTTIE_WITH_STATIC_QT/d" -i "$srcdir/tdesktop/Telegram/gyp/lib_rlottie.gyp" + + 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 -UTDESKTOP_OFFICIAL_TARGET + 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 +} Deleted: Use-system-wide-font.patch =================================================================== --- Use-system-wide-font.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ Use-system-wide-font.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,34 +0,0 @@ -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...@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-x86_64/Use-system-wide-font.patch (from rev 498563, telegram-desktop/trunk/Use-system-wide-font.patch) =================================================================== --- Use-system-wide-font.patch (rev 0) +++ Use-system-wide-font.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -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...@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. Deleted: demibold.patch =================================================================== --- demibold.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ demibold.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,27 +0,0 @@ -commit 310c68a744ae8163c96b88944d96a6f6b14b3cdf -Author: John Preston <johnprestonm...@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-x86_64/demibold.patch (from rev 498563, telegram-desktop/trunk/demibold.patch) =================================================================== --- demibold.patch (rev 0) +++ demibold.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -0,0 +1,27 @@ +commit 310c68a744ae8163c96b88944d96a6f6b14b3cdf +Author: John Preston <johnprestonm...@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); Deleted: issue6219.patch =================================================================== --- issue6219.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ issue6219.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,172 +0,0 @@ -From 0710dde4d5526454318b2748331e887c01ecfdce Mon Sep 17 00:00:00 2001 -From: John Preston <johnprestonm...@gmail.com> -Date: Tue, 9 Jul 2019 13:43:57 +0200 -Subject: [PATCH] Use private Qt color API only in official build. - -Fixes #6219. ---- - .../SourceFiles/ffmpeg/ffmpeg_utility.cpp | 100 ++++++++++++------ - Telegram/gyp/lib_ffmpeg.gyp | 6 +- - 2 files changed, 71 insertions(+), 35 deletions(-) - -diff --git a/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp b/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp -index 5d0e50926..3775f7503 100644 ---- a/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp -+++ b/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp -@@ -11,7 +11,10 @@ For license and copyright information please follow this link: - #include "logs.h" - - #include <QImage> -+ -+#ifdef TDESKTOP_OFFICIAL_TARGET - #include <private/qdrawhelper_p.h> -+#endif // TDESKTOP_OFFICIAL_TARGET - - extern "C" { - #include <libavutil/opt.h> -@@ -44,6 +47,58 @@ void AlignedImageBufferCleanupHandler(void* data) { - && !(image.bytesPerLine() % kAlignImageBy); - } - -+void UnPremultiplyLine(uchar *dst, const uchar *src, int intsCount) { -+#ifdef TDESKTOP_OFFICIAL_TARGET -+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32]; -+ const auto convert = layout->convertFromARGB32PM; -+#else // TDESKTOP_OFFICIAL_TARGET -+ const auto layout = nullptr; -+ const auto convert = []( -+ uint *dst, -+ const uint *src, -+ int count, -+ std::nullptr_t, -+ std::nullptr_t) { -+ for (auto i = 0; i != count; ++i) { -+ dst[i] = qUnpremultiply(src[i]); -+ } -+ }; -+#endif // TDESKTOP_OFFICIAL_TARGET -+ -+ convert( -+ reinterpret_cast<uint*>(dst), -+ reinterpret_cast<const uint*>(src), -+ intsCount, -+ layout, -+ nullptr); -+} -+ -+void PremultiplyLine(uchar *dst, const uchar *src, int intsCount) { -+#ifdef TDESKTOP_OFFICIAL_TARGET -+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32]; -+ const auto convert = layout->convertToARGB32PM; -+#else // TDESKTOP_OFFICIAL_TARGET -+ const auto layout = nullptr; -+ const auto convert = []( -+ uint *dst, -+ const uint *src, -+ int count, -+ std::nullptr_t, -+ std::nullptr_t) { -+ for (auto i = 0; i != count; ++i) { -+ dst[i] = qPremultiply(src[i]); -+ } -+ }; -+#endif // TDESKTOP_OFFICIAL_TARGET -+ -+ convert( -+ reinterpret_cast<uint*>(dst), -+ reinterpret_cast<const uint*>(src), -+ intsCount, -+ layout, -+ nullptr); -+} -+ - } // namespace - - IOPointer MakeIOPointer( -@@ -360,58 +415,35 @@ void UnPremultiply(QImage &to, const QImage &from) { - if (!GoodStorageForFrame(to, from.size())) { - to = CreateFrameStorage(from.size()); - } -- -- const auto layout = &qPixelLayouts[QImage::Format_ARGB32]; -- const auto convert = layout->convertFromARGB32PM; - const auto fromPerLine = from.bytesPerLine(); - const auto toPerLine = to.bytesPerLine(); - const auto width = from.width(); -+ const auto height = from.height(); -+ auto fromBytes = from.bits(); -+ auto toBytes = to.bits(); - if (fromPerLine != width * 4 || toPerLine != width * 4) { -- auto fromBytes = from.bits(); -- auto toBytes = to.bits(); -- for (auto i = 0; i != to.height(); ++i) { -- convert( -- reinterpret_cast<uint*>(toBytes), -- reinterpret_cast<const uint*>(fromBytes), -- width, -- layout, -- nullptr); -+ for (auto i = 0; i != height; ++i) { -+ UnPremultiplyLine(toBytes, fromBytes, width); - fromBytes += fromPerLine; - toBytes += toPerLine; - } - } else { -- convert( -- reinterpret_cast<uint*>(to.bits()), -- reinterpret_cast<const uint*>(from.bits()), -- from.width() * from.height(), -- layout, -- nullptr); -+ UnPremultiplyLine(toBytes, fromBytes, width * height); - } - } - - void PremultiplyInplace(QImage &image) { -- const auto layout = &qPixelLayouts[QImage::Format_ARGB32]; -- const auto convert = layout->convertToARGB32PM; - const auto perLine = image.bytesPerLine(); - const auto width = image.width(); -+ const auto height = image.height(); -+ auto bytes = image.bits(); - if (perLine != width * 4) { -- auto bytes = image.bits(); -- for (auto i = 0; i != image.height(); ++i) { -- convert( -- reinterpret_cast<uint*>(bytes), -- reinterpret_cast<const uint*>(bytes), -- width, -- layout, -- nullptr); -+ for (auto i = 0; i != height; ++i) { -+ PremultiplyLine(bytes, bytes, width); - bytes += perLine; - } - } else { -- convert( -- reinterpret_cast<uint*>(image.bits()), -- reinterpret_cast<const uint*>(image.bits()), -- image.width() * image.height(), -- layout, -- nullptr); -+ PremultiplyLine(bytes, bytes, width * height); - } - } - -diff --git a/Telegram/gyp/lib_ffmpeg.gyp b/Telegram/gyp/lib_ffmpeg.gyp -index 9971d76ae..b9ada5362 100644 ---- a/Telegram/gyp/lib_ffmpeg.gyp -+++ b/Telegram/gyp/lib_ffmpeg.gyp -@@ -46,7 +46,11 @@ - '<(src_loc)/ffmpeg/ffmpeg_utility.cpp', - '<(src_loc)/ffmpeg/ffmpeg_utility.h', - ], -- 'conditions': [[ 'build_macold', { -+ 'conditions': [[ '"<(official_build_target)" != ""', { -+ 'defines': [ -+ 'TDESKTOP_OFFICIAL_TARGET=<(official_build_target)', -+ ], -+ }], [ 'build_macold', { - 'xcode_settings': { - 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ], - }, Deleted: libtgvoip.patch =================================================================== --- libtgvoip.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ libtgvoip.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -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' - ], - 'direct_dependent_settings': { - 'include_dirs': [ Copied: telegram-desktop/repos/community-x86_64/libtgvoip.patch (from rev 498563, telegram-desktop/trunk/libtgvoip.patch) =================================================================== --- libtgvoip.patch (rev 0) +++ libtgvoip.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -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': [ Deleted: no-gtk2.patch =================================================================== --- no-gtk2.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ no-gtk2.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,29 +0,0 @@ -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-x86_64/no-gtk2.patch (from rev 498563, telegram-desktop/trunk/no-gtk2.patch) =================================================================== --- no-gtk2.patch (rev 0) +++ no-gtk2.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -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) { Deleted: tdesktop.patch =================================================================== --- tdesktop.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ tdesktop.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,532 +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 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-x86_64/tdesktop.patch (from rev 498563, telegram-desktop/trunk/tdesktop.patch) =================================================================== --- tdesktop.patch (rev 0) +++ tdesktop.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -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 Deleted: tdesktop_lottie_animation_qtdebug.patch =================================================================== --- tdesktop_lottie_animation_qtdebug.patch 2019-08-09 19:17:14 UTC (rev 498563) +++ tdesktop_lottie_animation_qtdebug.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -1,13 +0,0 @@ -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 <rlottie.h> - #include <crl/crl_async.h> - #include <crl/crl_on_main.h> - Copied: telegram-desktop/repos/community-x86_64/tdesktop_lottie_animation_qtdebug.patch (from rev 498563, telegram-desktop/trunk/tdesktop_lottie_animation_qtdebug.patch) =================================================================== --- tdesktop_lottie_animation_qtdebug.patch (rev 0) +++ tdesktop_lottie_animation_qtdebug.patch 2019-08-09 19:18:31 UTC (rev 498564) @@ -0,0 +1,13 @@ +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 <rlottie.h> + #include <crl/crl_async.h> + #include <crl/crl_on_main.h> + Deleted: tg.protocol =================================================================== --- tg.protocol 2019-08-09 19:17:14 UTC (rev 498563) +++ tg.protocol 2019-08-09 19:18:31 UTC (rev 498564) @@ -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 498563, telegram-desktop/trunk/tg.protocol) =================================================================== --- tg.protocol (rev 0) +++ tg.protocol 2019-08-09 19:18:31 UTC (rev 498564) @@ -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