telegram-desktop: update to 1.4.3

[ci skip]
This commit is contained in:
John 2018-09-01 17:14:20 +02:00 committed by Helmut Pozimski
parent 715fcaf709
commit ad16ea6cae
8 changed files with 106 additions and 42 deletions

View file

@ -19,6 +19,7 @@ option(BUILD_TESTS "Build all available test suites" OFF)
option(ENABLE_CRASH_REPORTS "Enable crash reports" ON) option(ENABLE_CRASH_REPORTS "Enable crash reports" ON)
option(ENABLE_GTK_INTEGRATION "Enable GTK integration" ON) option(ENABLE_GTK_INTEGRATION "Enable GTK integration" ON)
option(USE_LIBATOMIC "Link Statically against libatomic.a" OFF) option(USE_LIBATOMIC "Link Statically against libatomic.a" OFF)
option(USE_CUSTOM_API_ID "Use a custom Telegram API ID" OFF)
find_package(LibLZMA REQUIRED) find_package(LibLZMA REQUIRED)
find_package(OpenAL REQUIRED) find_package(OpenAL REQUIRED)
@ -96,6 +97,8 @@ file(GLOB FLAT_SOURCE_FILES
SourceFiles/profile/*.cpp SourceFiles/profile/*.cpp
SourceFiles/settings/*.cpp SourceFiles/settings/*.cpp
SourceFiles/storage/*.cpp SourceFiles/storage/*.cpp
SourceFiles/storage/cache/*.cpp
SourceFiles/support/*cpp
${THIRD_PARTY_DIR}/emoji_suggestions/*.cpp ${THIRD_PARTY_DIR}/emoji_suggestions/*.cpp
) )
file(GLOB FLAT_EXTRA_FILES file(GLOB FLAT_EXTRA_FILES
@ -104,6 +107,9 @@ file(GLOB FLAT_EXTRA_FILES
SourceFiles/base/tests_main.cpp SourceFiles/base/tests_main.cpp
SourceFiles/passport/passport_edit_identity_box.cpp SourceFiles/passport/passport_edit_identity_box.cpp
SourceFiles/passport/passport_form_row.cpp SourceFiles/passport/passport_form_row.cpp
SourceFiles/storage/*_tests.cpp
SourceFiles/storage/*_win.cpp
SourceFiles/storage/cache/*_tests.cpp
) )
list(REMOVE_ITEM FLAT_SOURCE_FILES ${FLAT_EXTRA_FILES}) list(REMOVE_ITEM FLAT_SOURCE_FILES ${FLAT_EXTRA_FILES})
@ -122,6 +128,7 @@ add_executable(Telegram WIN32 ${QRC_FILES} ${FLAT_SOURCE_FILES} ${SUBDIRS_SOURCE
set(TELEGRAM_COMPILE_DEFINITIONS set(TELEGRAM_COMPILE_DEFINITIONS
TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
TDESKTOP_DISABLE_UNITY_INTEGRATION TDESKTOP_DISABLE_UNITY_INTEGRATION
NOMINMAX
__STDC_FORMAT_MACROS __STDC_FORMAT_MACROS
) )
@ -139,6 +146,7 @@ set(TELEGRAM_INCLUDE_DIRS
) )
set(TELEGRAM_LINK_LIBRARIES set(TELEGRAM_LINK_LIBRARIES
xxhash
crl crl
tgvoip tgvoip
OpenSSL::Crypto OpenSSL::Crypto
@ -189,6 +197,12 @@ else()
) )
endif() endif()
if(USE_CUSTOM_API_ID)
list(APPEND TELEGRAM_COMPILE_DEFINITIONS
CUSTOM_API_ID
)
endif()
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
list(APPEND TELEGRAM_COMPILE_DEFINITIONS list(APPEND TELEGRAM_COMPILE_DEFINITIONS
Q_OS_LINUX64 Q_OS_LINUX64

View file

@ -7,6 +7,8 @@ file(GLOB CRL_SOURCE_FILES
src/crl/dispatch/*.cpp src/crl/dispatch/*.cpp
src/crl/qt/*.cpp src/crl/qt/*.cpp
src/crl/winapi/*.cpp src/crl/winapi/*.cpp
src/crl/linux/*.cpp
src/crl/crl_time.cpp
) )
add_library(${PROJECT_NAME} STATIC ${CRL_SOURCE_FILES}) add_library(${PROJECT_NAME} STATIC ${CRL_SOURCE_FILES})

View file

@ -14,6 +14,7 @@ file(GLOB TGVOIP_SOURCE_FILES
os/posix/*.cpp os/posix/*.cpp
) )
file(GLOB TGVOIP_EXTRA_FILES file(GLOB TGVOIP_EXTRA_FILES
audio/AudioIOCallback.cpp
BufferInputStream.cpp BufferInputStream.cpp
BufferOutputStream.cpp BufferOutputStream.cpp
BufferPool.cpp BufferPool.cpp
@ -30,7 +31,7 @@ else()
os/linux/PulseAudioLoader.cpp os/linux/PulseAudioLoader.cpp
) )
list(REMOVE_ITEM TGVOIP_SOURCE_FILES ${PULSEAUDIO_SOURCE_FILES}) list(REMOVE_ITEM TGVOIP_SOURCE_FILES ${PULSEAUDIO_SOURCE_FILES})
list(APPEND TGVOIP_COMPILE_DEFINITIONS TGVOIP_DISABLE_PULSEAUDIO) list(APPEND TGVOIP_COMPILE_DEFINITIONS WITHOUT_PULSE)
endif() endif()
add_library(${PROJECT_NAME} STATIC ${TGVOIP_SOURCE_FILES} $<TARGET_OBJECTS:webrtc>) add_library(${PROJECT_NAME} STATIC ${TGVOIP_SOURCE_FILES} $<TARGET_OBJECTS:webrtc>)

View file

@ -1,27 +0,0 @@
From dc1e61d09c9193386a32f70821ff841819c88379 Mon Sep 17 00:00:00 2001
From: Nicholas Guriev <guriev-ns@ya.ru>
Date: Fri, 31 Aug 2018 00:28:27 +0300
Subject: [PATCH] Workaround internal compiler error in GCC
Fixes: #5111
---
Telegram/SourceFiles/apiwrap.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp
index 3301b6f04..286d2b55c 100644
--- Telegram/SourceFiles/apiwrap.cpp
+++ Telegram/SourceFiles/apiwrap.cpp
@@ -2390,7 +2390,11 @@ void ApiWrap::requestFileReference(
request(std::move(data)).done([=](const auto &result) {
const auto parsed = Data::GetFileReferences(result);
- for (const auto &[origin, reference] : parsed) {
+ for (const auto &p : parsed) {
+ // Unpack here the parsed pair by hand to workaround a GCC bug.
+ // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87122
+ const FileLocationId &origin = p.first;
+ const QByteArray &reference = p.second;
const auto documentId = base::get_if<DocumentFileLocationId>(
&origin);
if (documentId) {

View file

@ -0,0 +1,10 @@
--- Telegram/SourceFiles/storage/cache/storage_cache_database_object.cpp 2018-09-01 17:56:09.000000000 +0200
+++ - 2018-09-02 01:01:28.812511733 +0200
@@ -14,6 +14,7 @@
#include "storage/storage_encrypted_file.h"
#include "base/flat_map.h"
#include "base/algorithm.h"
+#include "base/openssl_help.h"
#include <crl/crl.h>
#include <xxhash.h>
#include <QtCore/QDir>

View file

@ -23,8 +23,8 @@ index 0a80695..550b9f7 100644
Comment=Official desktop version of Telegram messaging app Comment=Official desktop version of Telegram messaging app
-Exec=telegram-desktop -- %u -Exec=telegram-desktop -- %u
-Icon=telegram -Icon=telegram
+Exec=env QT_QPA_PLATFORMTHEME= SESSION_MANAGER= Telegram -externalupdater -- %u +Exec=env SESSION_MANAGER= Telegram -externalupdater -- %u
+Icon=telegram-desktop +Icon=telegram
Terminal=false Terminal=false
StartupWMClass=TelegramDesktop StartupWMClass=TelegramDesktop
Type=Application Type=Application

View file

@ -0,0 +1,51 @@
From 6645b23021d169c8d3fc0f4522e1725571ace288 Mon Sep 17 00:00:00 2001
From: John Zimmermann <johnz@posteo.net>
Date: Wed, 26 Sep 2018 20:36:13 +0200
Subject: [PATCH 2/7] Fix a few bugs that are caused by dynamic linking to qt5.
---
Telegram/SourceFiles/core/launcher.cpp | 8 ++++++++
Telegram/SourceFiles/qt_static_plugins.cpp | 9 ---------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git Telegram/SourceFiles/core/launcher.cpp Telegram/SourceFiles/core/launcher.cpp
index d4bdadc17..bf9066274 100644
--- Telegram/SourceFiles/core/launcher.cpp
+++ Telegram/SourceFiles/core/launcher.cpp
@@ -59,6 +59,14 @@ int Launcher::exec() {
Logs::start(this); // must be started before Platform is started
Platform::start(); // must be started before QApplication is created
+
+ // I don't know why path is not in QT_PLUGIN_PATH by default
+ QCoreApplication::addLibraryPath("/usr/lib/qt/plugins");
+ // without this Telegram doesn't start on Ubuntu 17.04 due GTK errors
+ setenv("QT_STYLE_OVERRIDE", "qwerty", false);
+ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943
+ unsetenv("QT_QPA_PLATFORMTHEME");
+
auto result = executeApplication();
DEBUG_LOG(("Telegram finished, result: %1").arg(result));
diff --git Telegram/SourceFiles/qt_static_plugins.cpp Telegram/SourceFiles/qt_static_plugins.cpp
index e29f348c8..122ff0f5d 100644
--- Telegram/SourceFiles/qt_static_plugins.cpp
+++ Telegram/SourceFiles/qt_static_plugins.cpp
@@ -15,13 +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)
#endif // Q_OS_WIN | Q_OS_MAC | Q_OS_LINUX
--
2.19.0

View file

@ -1,22 +1,23 @@
# Template file for 'telegram-desktop' # Template file for 'telegram-desktop'
pkgname=telegram-desktop pkgname=telegram-desktop
version=1.3.14 version=1.4.3
revision=3 revision=1
_libtgvoip_commit=bfa1e6ab76a467c6c6bff7eabb7c213acc7a1b34 _libtgvoip_commit=9b292fdbc84f148f736407176facc920e20592f9
_GSL_commit=d846fe50a3f0bb7767c7e087a05f4be95f4da0ec _GSL_commit=d846fe50a3f0bb7767c7e087a05f4be95f4da0ec
_variant_commit=550ac2f159ca883d360c196149b466955c77a573 _variant_commit=550ac2f159ca883d360c196149b466955c77a573
_crl_commit=527ad273b683d52c5adf5b45b73c6466aa0d0cf0 _crl_commit=4291015efab76bda5886a56b5007f4531be17d46
_Catch_commit=5ca44b68721833ae3731802ed99af67c6f38a53a _Catch_commit=5ca44b68721833ae3731802ed99af67c6f38a53a
build_style=cmake build_style=cmake
create_wrksrc=yes create_wrksrc=yes
build_wrksrc="tdesktop-${version}/Telegram" build_wrksrc="tdesktop-${version}/Telegram"
cmake_builddir=build-telegram cmake_builddir=build-telegram
configure_args="-DENABLE_CRASH_REPORTS=OFF -DENABLE_GTK_INTEGRATION=ON configure_args="-DENABLE_CRASH_REPORTS=OFF -DENABLE_GTK_INTEGRATION=ON
-DENABLE_PULSEAUDIO=ON" -DENABLE_PULSEAUDIO=$(vopt_if pulseaudio 'ON' 'OFF')
-DUSE_CUSTOM_API_ID=$(vopt_if custom_api_id 'ON' 'OFF')"
hostmakedepends="pkg-config qt5-qmake qt5-host-tools python" hostmakedepends="pkg-config qt5-qmake qt5-host-tools python"
makedepends="alsa-lib-devel ffmpeg-devel gtk+3-devel libappindicator-devel makedepends="alsa-lib-devel ffmpeg-devel gtk+3-devel libappindicator-devel
libdbusmenu-glib-devel libopenal-devel minizip-devel opus-devel libdbusmenu-glib-devel libopenal-devel minizip-devel opus-devel xxHash-devel
pulseaudio-devel qt5-devel range-v3 libva-devel" $(vopt_if pulseaudio 'pulseaudio-devel') qt5-devel range-v3 libva-devel"
depends="qt5-imageformats" depends="qt5-imageformats"
short_desc="Telegram Desktop messaging app" short_desc="Telegram Desktop messaging app"
maintainer="John <johnz@posteo.net>" maintainer="John <johnz@posteo.net>"
@ -29,14 +30,15 @@ distfiles="https://github.com/telegramdesktop/tdesktop/archive/v${version}.tar.g
https://github.com/mapbox/variant/archive/${_variant_commit}.tar.gz https://github.com/mapbox/variant/archive/${_variant_commit}.tar.gz
https://github.com/telegramdesktop/crl/archive/${_crl_commit}.tar.gz https://github.com/telegramdesktop/crl/archive/${_crl_commit}.tar.gz
https://github.com/catchorg/Catch2/archive/${_Catch_commit}.tar.gz" https://github.com/catchorg/Catch2/archive/${_Catch_commit}.tar.gz"
checksum="83daeded641f79bd370b5e83be88242ab57520e7754f1371a9e5c1f3d9863f2a checksum="bc57654d3d014252dd128c8b5699ca843b8b6dbb926a3e31d10221be16826cc8
74cf9046687e88ab6074e8f8946da53d95b11abb34a51db1f042ab0ae14f1b91 cbfb0955ee56be06b519418b8d22c5a27538e2e9ae5382d558f85f78c9ca761a
be81db4ab1b57102a0fa1cd0c4a6469294eb9daf24294347592245b754f65ff6 be81db4ab1b57102a0fa1cd0c4a6469294eb9daf24294347592245b754f65ff6
aa794dfefe0a90501587e36d977b958d0df888503117a8d9aa43dc14f8526d9d aa794dfefe0a90501587e36d977b958d0df888503117a8d9aa43dc14f8526d9d
d7e64fc8a2e284a5be8c0b0c6e7bfbaf951751081919829cb3bb290544c732e8 aee42a2fe003888d0d0133cd208a1524f5d95af6af506c1cd7e07e268d0d9081
d24e6d9df2b8aa5739d3b9077c6b0ff0ef4d5ef8acc52c3a57e32893854d8d18" d24e6d9df2b8aa5739d3b9077c6b0ff0ef4d5ef8acc52c3a57e32893854d8d18"
build_options=clang build_options="clang custom_api_id pulseaudio"
build_options_default="pulseaudio custom_api_id"
if [ "$build_option_clang" ]; then if [ "$build_option_clang" ]; then
CFLAGS="-fPIE -fPIC -fstack-protector-strong" CFLAGS="-fPIE -fPIC -fstack-protector-strong"
@ -87,6 +89,17 @@ post_extract() {
mkdir -p ${build_wrksrc}/native mkdir -p ${build_wrksrc}/native
cp ${FILESDIR}/TelegramCodegenTools.cmake ${build_wrksrc}/native/CMakeLists.txt cp ${FILESDIR}/TelegramCodegenTools.cmake ${build_wrksrc}/native/CMakeLists.txt
mkdir ${wrksrc}/TelegramPrivate
if [ -r "$FILESDIR/custom_api_id.h" ]; then
cp "${FILESDIR}/custom_api_id.h" "${wrksrc}/TelegramPrivate"
else
# This Keys are only intended for use in Void Linux
cat > ${wrksrc}/TelegramPrivate/custom_api_id.h <<_EOF
static const int32 ApiId = 209235;
static const char *ApiHash= "169ee702e1df4b6e66d80311db36cc43";
_EOF
fi
# change wrksrc temporarily so that patches can be applied # change wrksrc temporarily so that patches can be applied
wrksrc="${wrksrc}/tdesktop-${version}" wrksrc="${wrksrc}/tdesktop-${version}"
} }
@ -99,6 +112,6 @@ pre_configure() {
post_install() { post_install() {
for i in 16 32 48 64 128 256 512; do for i in 16 32 48 64 128 256 512; do
vinstall Resources/art/icon$i.png 644 usr/share/icons/hicolor/${i}x${i} telegram-desktop.png vinstall Resources/art/icon$i.png 644 usr/share/icons/hicolor/${i}x${i} telegram.png
done done
} }