summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Elkouby2020-01-18 18:04:29 +0200
committerDan Elkouby2020-01-18 18:40:09 +0200
commitca3cb3f0479901526085f20913bfd51cb0697c47 (patch)
treec943f76e82f5db6b1aebe63267350367d71131b1
parent0964327125a8bc35fe18c2f5e8bc22cf6e57c969 (diff)
downloadaur-ca3cb3f0479901526085f20913bfd51cb0697c47.tar.gz
Update to 1.9.4
-rw-r--r--.SRCINFO65
-rw-r--r--.gitignore9
-rw-r--r--0001-Dynamic-linking-system-libs.patch340
-rw-r--r--0002-Dynamic-linking-system-qt.patch165
-rw-r--r--0004-gtk3.patch22
-rw-r--r--0005-Use-system-wide-fonts.patch64
-rw-r--r--0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch (renamed from Revert-Disable-DemiBold-fallback-for-Semibold.patch)13
-rw-r--r--CMakeLists.inj20
-rw-r--r--PKGBUILD158
-rw-r--r--Revert-Change-some-private-header-includes.patch66
-rw-r--r--Use-system-wide-font.patch32
-rw-r--r--libtgvoip.patch18
-rw-r--r--no-gtk2.patch32
-rw-r--r--series5
-rw-r--r--tdesktop.patch466
-rw-r--r--tdesktop_lottie_animation_qtdebug.patch15
-rw-r--r--tg.protocol11
17 files changed, 689 insertions, 812 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 526bf43433e0..c43772728ad9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,45 +1,36 @@
pkgbase = telegram-desktop9
pkgdesc = Official Telegram Desktop client (personal build)
- pkgver = 1.8.15
+ pkgver = 1.9.3
pkgrel = 1
url = https://desktop.telegram.org/
arch = x86_64
license = GPL3
makedepends = cmake
makedepends = git
- makedepends = gyp
- makedepends = range-v3
- makedepends = python
makedepends = libappindicator-gtk3
- makedepends = dos2unix
+ makedepends = ninja
+ makedepends = python
+ makedepends = quilt
+ makedepends = range-v3
+ depends = enchant
depends = ffmpeg
depends = hicolor-icon-theme
+ depends = lz4
depends = minizip
depends = openal
- depends = qt5-base
depends = qt5-imageformats
- depends = openssl
- optdepends = libnotify: desktop notifications
+ depends = xxhash
optdepends = ttf-opensans: default Open Sans font family
+ optdepends = libappindicator-gtk3: AppIndicator-based tray icon
provides = telegram-desktop
conflicts = telegram-desktop
- source = tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v1.8.15
- source = libtgvoip::git+https://github.com/telegramdesktop/libtgvoip
- source = variant::git+https://github.com/mapbox/variant
- source = Catch2::git+https://github.com/catchorg/Catch2.git
- source = GSL::git+https://github.com/Microsoft/GSL.git
- source = crl::git+https://github.com/telegramdesktop/crl.git
- source = xxHash::git+https://github.com/Cyan4973/xxHash.git
- source = rlottie::git+https://github.com/john-preston/rlottie.git
- source = tg.protocol
- source = CMakeLists.inj
- source = libtgvoip.patch
- source = tdesktop.patch
- source = no-gtk2.patch
- source = Revert-Disable-DemiBold-fallback-for-Semibold.patch
- source = tdesktop_lottie_animation_qtdebug.patch
- source = Revert-Change-some-private-header-includes.patch
- source = Use-system-wide-font.patch
+ source = https://github.com/telegramdesktop/tdesktop/releases/download/v1.9.3/tdesktop-1.9.3-full.tar.gz
+ source = 0001-Dynamic-linking-system-libs.patch
+ source = 0002-Dynamic-linking-system-qt.patch
+ source = 0004-gtk3.patch
+ source = 0005-Use-system-wide-fonts.patch
+ source = 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
+ source = series
source = always_delete_for_everyone.patch
source = always_clear_history_for_everyone.patch
source = always_pin_without_notify.patch
@@ -47,23 +38,13 @@ pkgbase = telegram-desktop9
source = clicky_sticker_panel.patch
source = dont_pulse_mentions.patch
source = no_circles.patch
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d
- sha512sums = b759e45282c7bd04e1fdcbfd0c009773782bebde36d96363db9869a9d78e7fad41314ad311b7afbfa57db4e66c0265da17e9f81f6d62a972466cb71d19d4b47c
- sha512sums = d60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39
- sha512sums = 218f8711eefb5a8115222e099e6d08fc4079584b3aa3594d05a43390f37d5b51fbf1b64511c3a3e7792ef6c32fa6f4c8a65b6188a9efbd340304602552f3a595
- sha512sums = 117b0c2bae3d3d3aa94d41382621be4e05c3314a2831dba59e1bcfb443e7b8ff4bcd0403544fa0cb6def85b444146bf59eef9da25f96b041d3ce8f5429b4a867
- sha512sums = d5cd7ecb5583258462c21a9ae3d4e8ae8c709d47d7ce2c45f8ae23100d24993398b8372021957b9a4607b3988f366e1c0cf64d724d901cb70212665c481217e9
- sha512sums = 79fcbee94f09df6b443c2b967afe4cba367985af13004b130da27f7bdf20974f76148a8056e98ce92000fabed80a1ff3cb2d332f6f8c70eed8aa909281533cd5
- sha512sums = 087dd821690dfedf1c275f264a0223b123e31ab9ee95050023930470bc9c866958cae00e2fd9132e6f7efbc4f1dfc3fdc20f8fba1fc9472d92bd702eaa60adb0
- sha512sums = 2c1bb75449b4634befa3edaac5d20e4b29ede21119549d9a3895dda9d4723f618dd950ee32133e04186fa65d07f80081ba3e3d5585209ba9112aa754d06fbb5c
+ sha512sums = af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7
+ sha512sums = 69fc5b50d2663af0c0bb539a6ac4b3d8996282f1701f484b9d1e29ddbd6eec942c999ee2f77d7effed13d4ecdd62e03e6ff064be0948ff91124962cc17c57143
+ sha512sums = 5675787e849a811679b24e86b64e651c1aded56853e52c9455d8d914b85c153b63287a0d41aaa4c39c0e805ee1f411132431340d7aba99b11fcd1036e8d37680
+ sha512sums = 8c3f48536ff3878baa73949057960eb5c8fcf3f152141c42740a7c0f2fc96c1708511a5d4ffe45ae9e20a08f88a3c2c77163a0a2050d7fca4356e4d2a96dfaf1
+ sha512sums = d5fa5290b7041cb972c78066ca60d1cbc2bb3de10bf571ca1a639bf05abfa029531ffc0facba0564d39e32f89301960f4879b35bb9ac362ae9264d0a8c5c835c
+ sha512sums = 41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d
+ sha512sums = 17d831ce49ef522bae3558c679dda3eb1d84d69be40d9942f1ec2dc9fe32960b1233b072b09c107e5fc704c4a9286010f2cdd5e9830a2bdad97d3cb24b502ebe
sha512sums = 83af5f5d18bc26d2de5318b97f31956f34ceb0c14efa8cf36c310a543c8c7d3a448c4c448f2fac1e552b40816273bb5139666ff2fa20e2762148ee69ac20d4cb
sha512sums = d32c2e0544b858842317b704e58016e028555a3baad6b22226e826c11dac8a412c808ffe8a7ea0f3f23c00c591e1a6e652c2ba63d8369491e188560f8296d0cb
sha512sums = 91a0edab6408a223db77b75df5a913ffd36efa79340e8d78fa01ac2c3b6e09d5a5fc7fa214ccd40473093809f86b7aef199cebf56a1d5821c20083c4a3e5780b
diff --git a/.gitignore b/.gitignore
index a1d8ee9f96bf..4dc28d4386b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,4 @@
-Catch2
-GSL
-crl
-libtgvoip
-rlottie
-tdesktop
-variant
-xxHash
+tdesktop-*-full.tar.gz
src
pkg
diff --git a/0001-Dynamic-linking-system-libs.patch b/0001-Dynamic-linking-system-libs.patch
new file mode 100644
index 000000000000..fe525d2db436
--- /dev/null
+++ b/0001-Dynamic-linking-system-libs.patch
@@ -0,0 +1,340 @@
+From: John Zimmermann <johnz@posteo.net>
+--- a/cmake/external/crash_reports/CMakeLists.txt
++++ b/cmake/external/crash_reports/CMakeLists.txt
+@@ -7,6 +7,7 @@
+ add_library(external_crash_reports INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_crash_reports ALIAS external_crash_reports)
+
++if(NOT DESKTOP_APP_DISABLE_CRASH_REPORTS)
+ if (WIN32 OR LINUX OR build_macstore)
+ add_subdirectory(breakpad)
+ target_link_libraries(external_crash_reports
+@@ -20,3 +21,4 @@
+ desktop-app::external_crashpad
+ )
+ endif()
++endif()
+--- a/cmake/external/ffmpeg/CMakeLists.txt
++++ b/cmake/external/ffmpeg/CMakeLists.txt
+@@ -7,6 +7,18 @@
+ add_library(external_ffmpeg INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_ffmpeg ALIAS external_ffmpeg)
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(FFMPEG REQUIRED libavcodec libavformat libavutil libswresample libswscale)
++ target_link_libraries(external_ffmpeg
++ INTERFACE
++ ${FFMPEG_LIBRARIES}
++ )
++ target_include_directories(external_ffmpeg SYSTEM
++ INTERFACE
++ ${FFMPEG_INCLUDE_DIRS}
++ )
++else()
+ target_include_directories(external_ffmpeg SYSTEM
+ INTERFACE
+ ${libs_loc}/ffmpeg
+@@ -36,3 +48,4 @@
+ Xrender
+ )
+ endif()
++endif()
+--- a/cmake/external/openal/CMakeLists.txt
++++ b/cmake/external/openal/CMakeLists.txt
+@@ -7,6 +7,21 @@
+ add_library(external_openal INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_openal ALIAS external_openal)
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_package(OpenAL REQUIRED)
++ target_include_directories(external_openal SYSTEM
++ INTERFACE
++ ${OPENAL_INCLUDE_DIR}
++ )
++ target_link_libraries(external_openal
++ INTERFACE
++ ${OPENAL_LIBRARY}
++ )
++ target_compile_definitions(external_openal
++ INTERFACE
++ AL_ALEXT_PROTOTYPES
++ )
++else()
+ if (WIN32)
+ target_include_directories(external_openal SYSTEM
+ INTERFACE
+@@ -41,3 +56,4 @@
+ AL_LIBTYPE_STATIC
+ AL_ALEXT_PROTOTYPES
+ )
++endif()
+--- a/cmake/external/openssl/CMakeLists.txt
++++ b/cmake/external/openssl/CMakeLists.txt
+@@ -7,7 +7,13 @@
+ add_library(external_openssl INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_openssl ALIAS external_openssl)
+
+-if (LINUX)
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_package(OpenSSL REQUIRED)
++ target_include_directories(external_openssl SYSTEM
++ INTERFACE
++ ${OPENSSL_INCLUDE_DIR}
++ )
++elseif (LINUX)
+ target_include_directories(external_openssl SYSTEM
+ INTERFACE
+ /usr/local/desktop-app/openssl-1.1.1/include
+@@ -24,6 +30,13 @@
+ )
+ endif()
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ target_link_libraries(external_openssl
++ INTERFACE
++ OpenSSL::Crypto
++ OpenSSL::SSL
++ )
++else()
+ if (WIN32)
+ set(openssl_lib_ext lib)
+ set(openssl_lib_loc ${libs_loc}/openssl_1_1_1/out32$<$<CONFIG:Debug>:.dbg>)
+@@ -45,6 +58,7 @@
+ ${openssl_lib_loc}/libssl.${openssl_lib_ext}
+ ${openssl_lib_loc}/libcrypto.${openssl_lib_ext}
+ )
++endif()
+
+ if (LINUX)
+ if (DESKTOP_APP_USE_GLIBC_WRAPS)
+--- a/cmake/external/opus/CMakeLists.txt
++++ b/cmake/external/opus/CMakeLists.txt
+@@ -7,6 +7,18 @@
+ add_library(external_opus INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_opus ALIAS external_opus)
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(OPUS REQUIRED opus)
++ target_include_directories(external_opus SYSTEM
++ INTERFACE
++ ${OPUS_INCLUDE_DIRS}
++ )
++ target_link_libraries(external_opus
++ INTERFACE
++ ${OPUS_LIBRARIES}
++ )
++else()
+ target_include_directories(external_opus SYSTEM
+ INTERFACE
+ ${libs_loc}/opus/include
+@@ -43,3 +55,4 @@
+ opus
+ )
+ endif()
++endif()
+--- a/cmake/external/qt/CMakeLists.txt
++++ b/cmake/external/qt/CMakeLists.txt
+@@ -15,6 +15,36 @@
+ endif()
+ endif()
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ get_target_property(QTCORE_INCLUDE_DIRS Qt5::Core INTERFACE_INCLUDE_DIRECTORIES)
++ list(GET QTCORE_INCLUDE_DIRS 0 QT_INCLUDE_DIR)
++
++ foreach(__qt_module IN ITEMS QtCore QtGui)
++ list(APPEND QT_PRIVATE_INCLUDE_DIRS
++ ${QT_INCLUDE_DIR}/${__qt_module}/${Qt5_VERSION}
++ ${QT_INCLUDE_DIR}/${__qt_module}/${Qt5_VERSION}/${__qt_module}
++ )
++ endforeach()
++ message(STATUS "Using Qt private include directories: ${QT_PRIVATE_INCLUDE_DIRS}")
++ target_include_directories(external_qt SYSTEM
++ INTERFACE
++ ${QT_PRIVATE_INCLUDE_DIRS}
++ )
++ target_link_libraries(external_qt
++ INTERFACE
++ Qt5::DBus
++ Qt5::Network
++ Qt5::Widgets
++ desktop-app::external_zlib
++ xcb
++ X11
++ X11-xcb
++ dbus-1
++ dl
++ glib-2.0
++ pthread
++ )
++else()
+ target_include_directories(external_qt SYSTEM
+ INTERFACE
+ ${qt_loc}/include
+@@ -215,3 +245,4 @@
+ pthread
+ )
+ endif()
++endif()
+--- a/cmake/external/qt/package.cmake
++++ b/cmake/external/qt/package.cmake
+@@ -4,6 +4,9 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++
++else()
+ if (NOT APPLE OR NOT build_osx)
+ set(qt_version 5.12.5)
+ else()
+@@ -17,6 +20,7 @@
+ endif()
+
+ set(Qt5_DIR ${qt_loc}/lib/cmake/Qt5)
++endif()
+
+ find_package(Qt5 COMPONENTS Core Gui Widgets Network REQUIRED)
+
+--- a/cmake/external/ranges/CMakeLists.txt
++++ b/cmake/external/ranges/CMakeLists.txt
+@@ -9,7 +9,7 @@
+
+ target_include_directories(external_ranges SYSTEM
+ INTERFACE
+- ${libs_loc}/range-v3/include
++ /usr/include
+ )
+
+ if (WIN32)
+@@ -18,4 +18,4 @@
+ /experimental:preprocessor # need for range-v3 see https://github.com/ericniebler/range-v3#supported-compilers
+ /wd5105 # needed for `/experimental:preprocessor`, suppressing C5105 "macro expansion producing 'defined' has undefined behavior"
+ )
+-endif()
+\ No newline at end of file
++endif()
+--- a/cmake/external/zlib/CMakeLists.txt
++++ b/cmake/external/zlib/CMakeLists.txt
+@@ -7,6 +7,18 @@
+ add_library(external_zlib INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_zlib ALIAS external_zlib)
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_package(ZLIB REQUIRED)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(MINIZIP REQUIRED minizip)
++ find_library(minizip_LIBRARY minizip)
++ target_link_libraries(external_zlib INTERFACE ZLIB::ZLIB ${minizip_LIBRARY})
++ target_include_directories(external_zlib SYSTEM
++ INTERFACE
++ ${ZLIB_INCLUDE_DIR}
++ ${MINIZIP_INCLUDE_DIRS}
++ )
++else()
+ if (NOT WIN32)
+ add_library(external_minizip STATIC)
+ init_target(external_minizip "(external)")
+@@ -49,3 +61,4 @@
+ else()
+ target_link_static_libraries(external_zlib INTERFACE z)
+ endif()
++endif()
+--- a/cmake/init_target.cmake
++++ b/cmake/init_target.cmake
+@@ -27,7 +27,7 @@
+ endif()
+ target_link_libraries(${target_name} PUBLIC desktop-app::common_options)
+ set_target_properties(${target_name} PROPERTIES
+- LINK_SEARCH_START_STATIC 1
++ LINK_SEARCH_START_STATIC 0
+ XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_WEAK YES
+ XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN YES
+ XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
+--- a/cmake/options_linux.cmake
++++ b/cmake/options_linux.cmake
+@@ -25,6 +25,9 @@
+ -Wno-stringop-overflow
+ -Wno-maybe-uninitialized
+ -Wno-error=class-memaccess
++ -Wno-error=deprecated-copy
++ -Wno-error=deprecated-declarations
++ -Wno-error=redundant-move
+ )
+ target_link_options(common_options
+ INTERFACE
+@@ -33,8 +36,5 @@
+ if (build_linux32)
+ target_compile_options(common_options INTERFACE -g0)
+ target_link_options(common_options INTERFACE -g0)
+-else()
+- target_compile_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto>)
+- target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
+ endif()
+
+--- a/cmake/variables.cmake
++++ b/cmake/variables.cmake
+@@ -10,6 +10,7 @@
+ option(DESKTOP_APP_LOTTIE_USE_CACHE "Use caching in lottie animations." ON)
+ option(DESKTOP_APP_USE_GLIBC_WRAPS "Use wraps for new GLIBC features." OFF)
+ option(DESKTOP_APP_USE_PACKAGED "Find libraries using CMake instead of exact paths." ON)
++option(DESKTOP_APP_USE_SYSTEM_LIBS "Use system libs where possible." OFF)
+
+ function(report_bad_special_target)
+ message(FATAL_ERROR "Bad special target '${DESKTOP_APP_SPECIAL_TARGET}'")
+@@ -59,8 +60,7 @@
+ set(DESKTOP_APP_USE_GLIBC_WRAPS OFF)
+ else()
+ set(LINUX 1)
+- execute_process(COMMAND uname -m OUTPUT_VARIABLE machine_uname)
+- if (NOT ${machine_uname} MATCHES "x86_64" AND NOT ${machine_uname} MATCHES "aarch64")
++ if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(build_linux32 1)
+ endif()
+ if (DESKTOP_APP_SPECIAL_TARGET STREQUAL "linux")
+--- a/cmake/external/lz4/CMakeLists.txt
++++ b/cmake/external/lz4/CMakeLists.txt
+@@ -4,8 +4,18 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ add_library(external_lz4 INTERFACE IMPORTED GLOBAL)
++ add_library(desktop-app::external_lz4 ALIAS external_lz4)
++
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(LZ4 REQUIRED liblz4)
++ target_link_libraries(external_lz4 INTERFACE ${LZ4_LIBRARIES})
++ target_include_directories(external_lz4 SYSTEM INTERFACE ${LZ4_INCLUDE_DIRS})
++else()
+ add_library(external_lz4 OBJECT)
+ add_library(desktop-app::external_lz4 ALIAS external_lz4)
++
+ init_target(external_lz4 "(external)")
+
+ set(lz4_loc ${third_party_loc}/lz4/lib)
+@@ -27,3 +37,4 @@
+ PUBLIC
+ ${lz4_loc}
+ )
++endif()
+--- a/cmake/external/xxhash/CMakeLists.txt
++++ b/cmake/external/xxhash/CMakeLists.txt
+@@ -7,6 +7,10 @@
+ add_library(external_xxhash INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_xxhash ALIAS external_xxhash)
+
++if(DESKTOP_APP_USE_SYSTEM_LIBS)
++ find_library(xxhash_LIBRARIES xxhash)
++ target_link_libraries(external_xxhash INTERFACE ${xxhash_LIBRARIES})
++else()
+ target_include_directories(external_xxhash SYSTEM
+ INTERFACE
+ ${third_party_loc}/xxHash
+@@ -16,3 +20,4 @@
+ INTERFACE
+ XXH_INLINE_ALL
+ )
++endif()
diff --git a/0002-Dynamic-linking-system-qt.patch b/0002-Dynamic-linking-system-qt.patch
new file mode 100644
index 000000000000..9ed03e874589
--- /dev/null
+++ b/0002-Dynamic-linking-system-qt.patch
@@ -0,0 +1,165 @@
+From 85ae791a9ebf5a2603f12d2a6e2d75549a01d701 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz@posteo.net>
+Date: Thu, 2 Jan 2020 12:38:39 +0100
+Subject: [PATCH] Dynamic linking
+
+---
+ Telegram/CMakeLists.txt | 7 +-
+ Telegram/SourceFiles/core/launcher.cpp | 8 +++
+ Telegram/SourceFiles/qt_functions.cpp | 96 ++++++++++++++++++++++++++
+ 3 files changed, 107 insertions(+), 4 deletions(-)
+ create mode 100644 Telegram/SourceFiles/qt_functions.cpp
+
+--- a/Telegram/CMakeLists.txt
++++ b/Telegram/CMakeLists.txt
+@@ -934,9 +934,9 @@
+ mainwidget.h
+ mainwindow.cpp
+ mainwindow.h
++ qt_functions.cpp
+ observer_peer.cpp
+ observer_peer.h
+- qt_static_plugins.cpp
+ settings.cpp
+ settings.h
+ )
+@@ -1104,13 +1104,12 @@
+ PRIVATE
+ TDESKTOP_API_ID=${TDESKTOP_API_ID}
+ TDESKTOP_API_HASH=${TDESKTOP_API_HASH}
+- AL_LIBTYPE_STATIC
+ AL_ALEXT_PROTOTYPES
+ )
+
+-if (${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode|Ninja)")
++if ((${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode)") OR ((${CMAKE_GENERATOR} MATCHES "(Ninja)") AND (NOT ${DESKTOP_APP_SPECIAL_TARGET} STREQUAL "")))
+ set(output_folder ${CMAKE_BINARY_DIR})
+-elseif((${CMAKE_GENERATOR} MATCHES "(Unix Makefiles)") AND DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
++elseif((${CMAKE_GENERATOR} MATCHES "(Unix Makefiles|Ninja)") AND DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
+ set(output_folder ${CMAKE_BINARY_DIR}/bin)
+ else()
+ set(output_folder ${CMAKE_BINARY_DIR}/$<IF:$<CONFIG:Debug>,Debug,Release>)
+--- /dev/null
++++ b/Telegram/SourceFiles/qt_functions.cpp
+@@ -0,0 +1,96 @@
++/****************************************************************************
++**
++** 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$
++**
++****************************************************************************/
++
++#include <private/qfontengine_p.h>
++
++/* 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;
++}
+--- a/Telegram/SourceFiles/main.cpp
++++ b/Telegram/SourceFiles/main.cpp
+@@ -8,6 +8,13 @@
+ #include "core/launcher.h"
+
+ int main(int argc, char *argv[]) {
++ // Telegram doesn't start when platform theme is set, see launchpad.net/bugs/1680943
++ unsetenv("QT_QPA_PLATFORMTHEME");
++ // unset QT screen scale related envvars, see bugs.archlinux.org/task/62594
++ unsetenv("QT_SCREEN_SCALE_FACTORS");
++ unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR");
++ unsetenv("QT_SCALE_FACTOR");
++ unsetenv("QT_DEVICE_PIXEL_RATIO");
+ const auto launcher = Core::Launcher::Create(argc, argv);
+ return launcher ? launcher->exec() : 1;
+ }
+--- a/Telegram/lib_ui/qt_conf/linux.qrc
++++ b/Telegram/lib_ui/qt_conf/linux.qrc
+@@ -1,6 +1,5 @@
+ <RCC>
+ <qresource prefix="/qt/etc">
+- <file alias="qt.conf">qt_linux.conf</file>
+ </qresource>
+ <qresource prefix="/fc">
+ <file>fc-custom.conf</file>
diff --git a/0004-gtk3.patch b/0004-gtk3.patch
new file mode 100644
index 000000000000..8ca79a293239
--- /dev/null
+++ b/0004-gtk3.patch
@@ -0,0 +1,22 @@
+From ef30081973681f4f8d261917fa763b00adfbe6e9 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz@posteo.net>
+Date: Thu, 2 Jan 2020 13:10:31 +0100
+Subject: [PATCH] gtk3
+
+---
+ Telegram/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Telegram/CMakeLists.txt
++++ b/Telegram/CMakeLists.txt
+@@ -1018,8 +1018,8 @@
+ if (NOT TDESKTOP_DISABLE_GTK_INTEGRATION)
+ find_package(PkgConfig REQUIRED)
+
+- pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
+- target_include_directories(Telegram PRIVATE ${GTK2_INCLUDE_DIRS})
++ pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
++ target_include_directories(Telegram PRIVATE ${GTK3_INCLUDE_DIRS})
+ target_compile_options(Telegram PRIVATE -Wno-register)
+
+ set(appindicator_packages
diff --git a/0005-Use-system-wide-fonts.patch b/0005-Use-system-wide-fonts.patch
new file mode 100644
index 000000000000..c5d09bb676a1
--- /dev/null
+++ b/0005-Use-system-wide-fonts.patch
@@ -0,0 +1,64 @@
+Do not force custom fontconfig configuration.
+--- a/Telegram/lib_ui/fonts/fonts.qrc
++++ b/Telegram/lib_ui/fonts/fonts.qrc
+@@ -1,10 +1,4 @@
+ <RCC>
+ <qresource prefix="/gui/fonts">
+- <file>DAOpenSansRegular.ttf</file>
+- <file>DAOpenSansRegularItalic.ttf</file>
+- <file>DAOpenSansBold.ttf</file>
+- <file>DAOpenSansBoldItalic.ttf</file>
+- <file>DAOpenSansSemibold.ttf</file>
+- <file>DAOpenSansSemiboldItalic.ttf</file>
+ </qresource>
+ </RCC>
+--- a/Telegram/lib_ui/ui/style/style_core_font.cpp
++++ b/Telegram/lib_ui/ui/style/style_core_font.cpp
+@@ -94,12 +94,12 @@
+ FontTypesCount,
+ };
+ QString FontTypeNames[FontTypesCount] = {
+- "DAOpenSansRegular",
+- "DAOpenSansRegularItalic",
+- "DAOpenSansBold",
+- "DAOpenSansBoldItalic",
+- "DAOpenSansSemibold",
+- "DAOpenSansSemiboldItalic",
++ "Open Sans",
++ "Open Sans",
++ "Open Sans",
++ "Open Sans",
++ "Open Sans Semibold",
++ "Open Sans Semibold",
+ };
+ int32 FontTypeFlags[FontTypesCount] = {
+ 0,
+@@ -135,7 +135,7 @@
+ for (auto i = 0; i != FontTypesCount; ++i) {
+ const auto name = FontTypeNames[i];
+ const auto flags = FontTypeFlags[i];
+- areGood[i] = LoadCustomFont(":/gui/fonts/" + name + ".ttf", name, flags);
++ areGood[i] = ValidateFont(name, flags);
+ Overrides[i] = name;
+ #ifdef Q_OS_WIN
+ // Attempt to workaround a strange font bug with Open Sans Semibold not loading.
+--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
++++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
+@@ -82,8 +82,6 @@
+ return;
+ }
+ }
+-
+- QFile(":/fc/fc-custom.conf").copy(custom);
+ #endif // TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
+ }
+
+--- a/Telegram/lib_ui/qt_conf/linux.qrc
++++ b/Telegram/lib_ui/qt_conf/linux.qrc
+@@ -2,6 +2,5 @@
+ <qresource prefix="/qt/etc">
+ </qresource>
+ <qresource prefix="/fc">
+- <file>fc-custom.conf</file>
+ </qresource>
+ </RCC>
diff --git a/Revert-Disable-DemiBold-fallback-for-Semibold.patch b/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
index c94043709e00..689dd8352506 100644
--- a/Revert-Disable-DemiBold-fallback-for-Semibold.patch
+++ b/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
@@ -5,14 +5,12 @@ Subject: [PATCH 3/6] Revert "Disable DemiBold fallback for Semibold."
This reverts commit 310c68a744ae8163c96b88944d96a6f6b14b3cdf.
---
- Telegram/SourceFiles/ui/style/style_core_font.cpp | 6 +++---
+ Telegram/lib_ui/ui/style/style_core_font.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/Telegram/SourceFiles/ui/style/style_core_font.cpp b/Telegram/SourceFiles/ui/style/style_core_font.cpp
-index 653dbfff0..22ccfea7e 100644
---- a/Telegram/SourceFiles/ui/style/style_core_font.cpp
-+++ b/Telegram/SourceFiles/ui/style/style_core_font.cpp
-@@ -161,9 +161,9 @@ FontData::FontData(int size, uint32 flags, int family, Font *other)
+--- a/Telegram/lib_ui/ui/style/style_core_font.cpp
++++ b/Telegram/lib_ui/ui/style/style_core_font.cpp
+@@ -225,9 +225,9 @@
f.setPixelSize(size);
if (_flags & FontBold) {
@@ -25,6 +23,3 @@ index 653dbfff0..22ccfea7e 100644
}
f.setItalic(_flags & FontItalic);
f.setUnderline(_flags & FontUnderline);
---
-2.23.0
-
diff --git a/CMakeLists.inj b/CMakeLists.inj
deleted file mode 100644
index e6cfed4cf6dd..000000000000
--- a/CMakeLists.inj
+++ /dev/null
@@ -1,20 +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)
-add_precompiled_header(lib_mtproto ../../Telegram/SourceFiles/mtproto/mtp_pch.h)
-add_precompiled_header(lib_ui ../../Telegram/SourceFiles/ui/ui_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
diff --git a/PKGBUILD b/PKGBUILD
index 73622ec7211f..ef22129955dc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,37 +6,45 @@
# https://github.com/mymedia2/tdesktop
pkgname=telegram-desktop9
-pkgver=1.8.15
+pkgver=1.9.3
pkgrel=1
pkgdesc='Official Telegram Desktop client (personal build)'
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' 'dos2unix')
-optdepends=('libnotify: desktop notifications'
- 'ttf-opensans: default Open Sans font family')
+depends=(
+ 'enchant'
+ 'ffmpeg'
+ 'hicolor-icon-theme'
+ 'lz4'
+ 'minizip'
+ 'openal'
+ 'qt5-imageformats'
+ 'xxhash'
+)
+makedepends=(
+ 'cmake'
+ 'git'
+ 'libappindicator-gtk3'
+ 'ninja'
+ 'python'
+ 'quilt'
+ 'range-v3'
+)
+optdepends=(
+ 'ttf-opensans: default Open Sans font family'
+ 'libappindicator-gtk3: AppIndicator-based tray icon'
+)
provides=('telegram-desktop')
conflicts=('telegram-desktop')
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"
- "libtgvoip.patch"
-
- "tdesktop.patch"
- "no-gtk2.patch"
- "Revert-Disable-DemiBold-fallback-for-Semibold.patch"
- "tdesktop_lottie_animation_qtdebug.patch"
- "Revert-Change-some-private-header-includes.patch"
- "Use-system-wide-font.patch"
+ "https://github.com/telegramdesktop/tdesktop/releases/download/v${pkgver}/tdesktop-${pkgver}-full.tar.gz"
+ "0001-Dynamic-linking-system-libs.patch"
+ "0002-Dynamic-linking-system-qt.patch"
+ "0004-gtk3.patch"
+ "0005-Use-system-wide-fonts.patch"
+ "0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch"
+ "series"
"always_delete_for_everyone.patch"
"always_clear_history_for_everyone.patch"
@@ -46,23 +54,13 @@ source=(
"dont_pulse_mentions.patch"
"no_circles.patch"
)
-sha512sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d'
- 'b759e45282c7bd04e1fdcbfd0c009773782bebde36d96363db9869a9d78e7fad41314ad311b7afbfa57db4e66c0265da17e9f81f6d62a972466cb71d19d4b47c'
- 'd60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39'
- '218f8711eefb5a8115222e099e6d08fc4079584b3aa3594d05a43390f37d5b51fbf1b64511c3a3e7792ef6c32fa6f4c8a65b6188a9efbd340304602552f3a595'
- '117b0c2bae3d3d3aa94d41382621be4e05c3314a2831dba59e1bcfb443e7b8ff4bcd0403544fa0cb6def85b444146bf59eef9da25f96b041d3ce8f5429b4a867'
- 'd5cd7ecb5583258462c21a9ae3d4e8ae8c709d47d7ce2c45f8ae23100d24993398b8372021957b9a4607b3988f366e1c0cf64d724d901cb70212665c481217e9'
- '79fcbee94f09df6b443c2b967afe4cba367985af13004b130da27f7bdf20974f76148a8056e98ce92000fabed80a1ff3cb2d332f6f8c70eed8aa909281533cd5'
- '087dd821690dfedf1c275f264a0223b123e31ab9ee95050023930470bc9c866958cae00e2fd9132e6f7efbc4f1dfc3fdc20f8fba1fc9472d92bd702eaa60adb0'
- '2c1bb75449b4634befa3edaac5d20e4b29ede21119549d9a3895dda9d4723f618dd950ee32133e04186fa65d07f80081ba3e3d5585209ba9112aa754d06fbb5c'
+sha512sums=('af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7'
+ '69fc5b50d2663af0c0bb539a6ac4b3d8996282f1701f484b9d1e29ddbd6eec942c999ee2f77d7effed13d4ecdd62e03e6ff064be0948ff91124962cc17c57143'
+ '5675787e849a811679b24e86b64e651c1aded56853e52c9455d8d914b85c153b63287a0d41aaa4c39c0e805ee1f411132431340d7aba99b11fcd1036e8d37680'
+ '8c3f48536ff3878baa73949057960eb5c8fcf3f152141c42740a7c0f2fc96c1708511a5d4ffe45ae9e20a08f88a3c2c77163a0a2050d7fca4356e4d2a96dfaf1'
+ 'd5fa5290b7041cb972c78066ca60d1cbc2bb3de10bf571ca1a639bf05abfa029531ffc0facba0564d39e32f89301960f4879b35bb9ac362ae9264d0a8c5c835c'
+ '41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d'
+ '17d831ce49ef522bae3558c679dda3eb1d84d69be40d9942f1ec2dc9fe32960b1233b072b09c107e5fc704c4a9286010f2cdd5e9830a2bdad97d3cb24b502ebe'
'83af5f5d18bc26d2de5318b97f31956f34ceb0c14efa8cf36c310a543c8c7d3a448c4c448f2fac1e552b40816273bb5139666ff2fa20e2762148ee69ac20d4cb'
'd32c2e0544b858842317b704e58016e028555a3baad6b22226e826c11dac8a412c808ffe8a7ea0f3f23c00c591e1a6e652c2ba63d8369491e188560f8296d0cb'
'91a0edab6408a223db77b75df5a913ffd36efa79340e8d78fa01ac2c3b6e09d5a5fc7fa214ccd40473093809f86b7aef199cebf56a1d5821c20083c4a3e5780b'
@@ -72,25 +70,9 @@ sha512sums=('SKIP'
'048c6784fb0bb9182d07916fdfab9f9952cdcb1998b0f780ce74bf03b61ae62774611819db7de5fec5019b9158b42c3912ca28797aeca41a881493e5822afcd8')
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
-
- dos2unix "$srcdir/tdesktop/.appveyor/install.bat"
+ cd "$srcdir/tdesktop-$pkgver-full"
- patch -Np1 -i "$srcdir/tdesktop.patch"
- patch -Np1 -i "$srcdir/no-gtk2.patch"
- patch -Np1 -i "$srcdir/Revert-Disable-DemiBold-fallback-for-Semibold.patch"
- patch -Np1 -i "$srcdir/tdesktop_lottie_animation_qtdebug.patch"
- patch -Np1 -i "$srcdir/Revert-Change-some-private-header-includes.patch"
- patch -Np1 -i "$srcdir/Use-system-wide-font.patch"
+ QUILT_PATCHES=.. quilt --quiltrc=/dev/null push -a
patch -Np1 -i "$srcdir/always_delete_for_everyone.patch"
patch -Np1 -i "$srcdir/always_clear_history_for_everyone.patch"
@@ -99,57 +81,47 @@ prepare() {
patch -Np1 -i "$srcdir/clicky_sticker_panel.patch"
patch -Np1 -i "$srcdir/dont_pulse_mentions.patch"
patch -Np1 -i "$srcdir/no_circles.patch"
-
- unix2dos "$srcdir/tdesktop/.appveyor/install.bat"
- # 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,TDESKTOP_FORCE_GTK_FILE_DIALOG"
- 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".
-
- gyp \
- -Dapi_id=2040 \
- -Dapi_hash=b18441a1ff607e10a989891a5462e627 \
- -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
+ cd "$srcdir/tdesktop-$pkgver-full"
+ mkdir build
+ export CXXFLAGS="$CXXFLAGS -ffile-prefix-map=$srcdir/tdesktop-$pkgver-full="
+ cmake -B build -G Ninja . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DTDESKTOP_API_ID=2040 \
+ -DTDESKTOP_API_HASH=b18441a1ff607e10a989891a5462e627 \
+ -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \
+ -DDESKTOP_APP_USE_SYSTEM_LIBS=ON \
+ -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
+ -DTDESKTOP_DISABLE_AUTOUPDATE=ON \
+ -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON \
+ -DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON \
+ -DDESKTOP_APP_SPECIAL_TARGET="" \
+ -DTDESKTOP_FORCE_GTK_FILE_DIALOG=ON
+ ninja -C build
}
package() {
+ cd "$srcdir/tdesktop-$pkgver-full/"
install -dm755 "$pkgdir/usr/bin"
- install -m755 "$srcdir/tdesktop/out/Release/Telegram" "$pkgdir/usr/bin/telegram-desktop"
+ install -m755 "build/bin/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 -m644 "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"
+ install -m644 "lib/xdg/tg.protocol" "$pkgdir/usr/share/kservices5/tg.protocol"
+
+ install -d "$pkgdir/usr/share/metainfo/"
+ install -m644 "lib/xdg/telegramdesktop.appdata.xml" "$pkgdir/usr/share/metainfo/telegramdesktop.appdata.xml"
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"
+ install -m644 "Telegram/Resources/art/icon${icon_size}.png" "$icon_dir/telegram.png"
done
}
diff --git a/Revert-Change-some-private-header-includes.patch b/Revert-Change-some-private-header-includes.patch
deleted file mode 100644
index 85611998311e..000000000000
--- a/Revert-Change-some-private-header-includes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 46a55ed8f7ef4ee99ebccf1bdded3d5ccaef33af Mon Sep 17 00:00:00 2001
-From: Jiachen YANG <farseerfc@gmail.com>
-Date: Fri, 4 Oct 2019 17:00:48 +0900
-Subject: [PATCH 5/6] Revert "Change some private header includes."
-
-This reverts commit b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.
----
- Telegram/SourceFiles/ui/text/text.cpp | 1 -
- Telegram/SourceFiles/ui/text/text.h | 2 +-
- Telegram/SourceFiles/ui/text/text_block.cpp | 2 --
- Telegram/SourceFiles/ui/text/text_block.h | 1 +
- 4 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp
-index eaeb52b35..2c55f1123 100644
---- a/Telegram/SourceFiles/ui/text/text.cpp
-+++ b/Telegram/SourceFiles/ui/text/text.cpp
-@@ -14,7 +14,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
- #include "ui/ui_integration.h"
- #include "platform/platform_info.h"
-
--#include <private/qfontengine_p.h>
- #include <private/qharfbuzz_p.h>
-
- namespace Ui {
-diff --git a/Telegram/SourceFiles/ui/text/text.h b/Telegram/SourceFiles/ui/text/text.h
-index 5d7c2cd07..3a2de5d3e 100644
---- a/Telegram/SourceFiles/ui/text/text.h
-+++ b/Telegram/SourceFiles/ui/text/text.h
-@@ -12,7 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
- #include "ui/click_handler.h"
- #include "base/flags.h"
-
--#include <private/qfixed_p.h>
-+#include <private/qfontengine_p.h>
-
- static const QChar TextCommand(0x0010);
- enum TextCommands {
-diff --git a/Telegram/SourceFiles/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp
-index 8e6914197..d83073085 100644
---- a/Telegram/SourceFiles/ui/text/text_block.cpp
-+++ b/Telegram/SourceFiles/ui/text/text_block.cpp
-@@ -9,8 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
-
- #include "styles/style_basic.h"
-
--#include <private/qfontengine_p.h>
--
- // COPIED FROM qtextlayout.cpp AND MODIFIED
- namespace Ui {
- namespace Text {
-diff --git a/Telegram/SourceFiles/ui/text/text_block.h b/Telegram/SourceFiles/ui/text/text_block.h
-index 6fcf1cd51..27d724ee8 100644
---- a/Telegram/SourceFiles/ui/text/text_block.h
-+++ b/Telegram/SourceFiles/ui/text/text_block.h
-@@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
- #include "ui/emoji_config.h"
-
- #include <private/qfixed_p.h>
-+#include <private/qfontengine_p.h>
-
- namespace Ui {
- namespace Text {
---
-2.23.0
-
diff --git a/Use-system-wide-font.patch b/Use-system-wide-font.patch
deleted file mode 100644
index e08edb5a0569..000000000000
--- a/Use-system-wide-font.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/Telegram/Resources/qrc/fonts.qrc b/Telegram/Resources/qrc/fonts.qrc
-index 233b8d572..122d89140 100644
---- a/Telegram/Resources/qrc/fonts.qrc
-+++ b/Telegram/Resources/qrc/fonts.qrc
-@@ -1,7 +1,4 @@
- <RCC>
- <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>
- </qresource>
- </RCC>
-diff --git a/Telegram/SourceFiles/ui/style/style_core_font.cpp b/Telegram/SourceFiles/ui/style/style_core_font.cpp
-index 22ccfea7e..36f271f93 100644
---- a/Telegram/SourceFiles/ui/style/style_core_font.cpp
-+++ b/Telegram/SourceFiles/ui/style/style_core_font.cpp
-@@ -84,9 +84,9 @@ void StartFonts() {
- }
- Started = true;
-
-- auto regular = LoadCustomFont(":/gui/fonts/OpenSans-Regular.ttf", "Open Sans");
-- auto bold = LoadCustomFont(":/gui/fonts/OpenSans-Bold.ttf", "Open Sans", style::internal::FontBold);
-- auto semibold = LoadCustomFont(":/gui/fonts/OpenSans-Semibold.ttf", "Open Sans Semibold");
-+ auto regular = ValidateFont("Open Sans");
-+ auto bold = ValidateFont("Open Sans", style::internal::FontBold);
-+ auto semibold = ValidateFont("Open Sans Semibold");
-
- #ifdef Q_OS_WIN
- // Attempt to workaround a strange font bug with Open Sans Semibold not loading.
---
-2.23.0
-
diff --git a/libtgvoip.patch b/libtgvoip.patch
deleted file mode 100644
index 8e838df34ba1..000000000000
--- a/libtgvoip.patch
+++ /dev/null
@@ -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': [
diff --git a/no-gtk2.patch b/no-gtk2.patch
deleted file mode 100644
index e60038d0e828..000000000000
--- a/no-gtk2.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.cpp b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
-index 5071d63d1..671d0e661 100644
---- a/Telegram/SourceFiles/platform/linux/linux_libs.cpp
-+++ b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
-@@ -243,24 +243,12 @@ void start() {
- indicatorLoaded = setupAppIndicator(lib_indicator);
- }
- }
-- if ((!gtkLoaded || !indicatorLoaded) && !isWayland) {
-- 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 && !isWayland && loadLibrary(lib_gtk, "gtk-x11-2.0", 0)) {
-- gtkLoaded = setupGtkBase(lib_gtk);
-- }
- }
-
- if (gtkLoaded) {
---
-2.23.0
-
diff --git a/series b/series
new file mode 100644
index 000000000000..003fff65cc78
--- /dev/null
+++ b/series
@@ -0,0 +1,5 @@
+0001-Dynamic-linking-system-libs.patch
+0002-Dynamic-linking-system-qt.patch
+0004-gtk3.patch
+0005-Use-system-wide-fonts.patch
+0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
diff --git a/tdesktop.patch b/tdesktop.patch
deleted file mode 100644
index b59eb7f43cd6..000000000000
--- a/tdesktop.patch
+++ /dev/null
@@ -1,466 +0,0 @@
-diff --git a/Telegram/Resources/qrc/linux.qrc b/Telegram/Resources/qrc/linux.qrc
-index 164e8d4f2..12319be14 100644
---- a/Telegram/Resources/qrc/linux.qrc
-+++ b/Telegram/Resources/qrc/linux.qrc
-@@ -1,6 +1,5 @@
- <RCC>
- <qresource prefix="/qt">
-- <file alias="etc/qt.conf">../etc/qt_linux.conf</file>
- </qresource>
- <qresource prefix="/fc">
- <file alias="fc-custom.conf">../fc-custom.conf</file>
-diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp
-index 3ba28309b..e280c44fa 100644
---- a/Telegram/SourceFiles/core/launcher.cpp
-+++ b/Telegram/SourceFiles/core/launcher.cpp
-@@ -272,6 +272,19 @@ int Launcher::exec() {
- Logs::start(this); // must be started before Platform is started
- Platform::start(); // must be started before Sandbox 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 7891995be..eaeb52b35 100644
---- a/Telegram/SourceFiles/ui/text/text.cpp
-+++ b/Telegram/SourceFiles/ui/text/text.cpp
-@@ -1968,11 +1968,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 29173c5c2..b47a53d76 100644
---- a/Telegram/SourceFiles/ui/text/text_block.cpp
-+++ b/Telegram/SourceFiles/ui/text/text_block.cpp
-@@ -334,6 +334,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();
- }
- }
-
-diff --git a/Telegram/gyp/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake
-index dfe1193be..0b13fc098 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/common/linux.gypi b/Telegram/gyp/common/linux.gypi
-index cdcdef1dc..667fbb7f3 100644
---- a/Telegram/gyp/common/linux.gypi
-+++ b/Telegram/gyp/common/linux.gypi
-@@ -11,7 +11,6 @@
- 'linux_common_flags': [
- '-pipe',
- '-Wall',
-- '-Werror',
- '-W',
- '-fPIC',
- '-Wno-unused-variable',
-@@ -86,7 +85,6 @@
- ],
- 'defines': [
- '_REENTRANT',
-- 'QT_STATICPLUGIN',
- 'QT_PLUGIN',
- ],
- 'cflags_c': [
-diff --git a/Telegram/gyp/modules/qt.gypi b/Telegram/gyp/modules/qt.gypi
-index 0b783ec21..3f917765a 100644
---- a/Telegram/gyp/modules/qt.gypi
-+++ b/Telegram/gyp/modules/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/modules/qt_moc.gypi b/Telegram/gyp/modules/qt_moc.gypi
-index ebee90a15..75424d4bb 100644
---- a/Telegram/gyp/modules/qt_moc.gypi
-+++ b/Telegram/gyp/modules/qt_moc.gypi
-@@ -15,7 +15,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/modules/qt_rcc.gypi b/Telegram/gyp/modules/qt_rcc.gypi
-index f5624a82b..1129a95c5 100644
---- a/Telegram/gyp/modules/qt_rcc.gypi
-+++ b/Telegram/gyp/modules/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/telegram/linux.gypi b/Telegram/gyp/telegram/linux.gypi
-index 385f2b89f..f3ddf7e83 100644
---- a/Telegram/gyp/telegram/linux.gypi
-+++ b/Telegram/gyp/telegram/linux.gypi
-@@ -19,27 +19,21 @@
- #'xkbcommon',
- ],
- },
-+ 'library_dirs': [
-+ '/usr/lib',
-+ '/usr/lib/openssl',
-+ ],
- 'libraries': [
-- '-lbreakpad_client',
-- '-lcomposeplatforminputcontextplugin',
-- '-libusplatforminputcontextplugin',
-- '-lfcitxplatforminputcontextplugin',
-- '-lhimeplatforminputcontextplugin',
-- '-lnimfplatforminputcontextplugin',
-- '-llzma',
- '-lopenal',
- '-lavformat',
- '-lavcodec',
- '-lswresample',
- '-lswscale',
- '-lavutil',
-+ '-lminizip',
- '-lopus',
-- '-lva-x11',
-- '-lva-drm',
-- '-lva',
-- '-lvdpau',
-- '-ldrm',
- '-lz',
-+ '-llzma',
- # '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
- ],
- 'cflags_cc': [
-@@ -51,7 +45,6 @@
- '-Wl,-wrap,secure_getenv',
- '-Wl,-wrap,clock_gettime',
- '-Wl,--no-as-needed,-lrt',
-- '-Wl,-Bstatic',
- ],
- 'configurations': {
- 'Release': {
-@@ -75,9 +68,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 38d9d0e64..459919abf 100644
---- a/Telegram/gyp/telegram/sources.txt
-+++ b/Telegram/gyp/telegram/sources.txt
-@@ -863,14 +863,7 @@
- <(src_loc)/settings.cpp
- <(src_loc)/settings.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
---
-2.23.0
-
diff --git a/tdesktop_lottie_animation_qtdebug.patch b/tdesktop_lottie_animation_qtdebug.patch
deleted file mode 100644
index 55a2e35520fe..000000000000
--- a/tdesktop_lottie_animation_qtdebug.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Telegram/SourceFiles/lottie/lottie_animation.cpp b/Telegram/SourceFiles/lottie/lottie_animation.cpp
-index f681c9220..8f80640e1 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>
---
-2.23.0
-
diff --git a/tg.protocol b/tg.protocol
deleted file mode 100644
index a4b083acb1b0..000000000000
--- a/tg.protocol
+++ /dev/null
@@ -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