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_GTK_INTEGRATION "Enable GTK integration" ON)
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(OpenAL REQUIRED)
@ -96,6 +97,8 @@ file(GLOB FLAT_SOURCE_FILES
SourceFiles/profile/*.cpp
SourceFiles/settings/*.cpp
SourceFiles/storage/*.cpp
SourceFiles/storage/cache/*.cpp
SourceFiles/support/*cpp
${THIRD_PARTY_DIR}/emoji_suggestions/*.cpp
)
file(GLOB FLAT_EXTRA_FILES
@ -104,6 +107,9 @@ file(GLOB FLAT_EXTRA_FILES
SourceFiles/base/tests_main.cpp
SourceFiles/passport/passport_edit_identity_box.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})
@ -122,6 +128,7 @@ add_executable(Telegram WIN32 ${QRC_FILES} ${FLAT_SOURCE_FILES} ${SUBDIRS_SOURCE
set(TELEGRAM_COMPILE_DEFINITIONS
TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
TDESKTOP_DISABLE_UNITY_INTEGRATION
NOMINMAX
__STDC_FORMAT_MACROS
)
@ -139,6 +146,7 @@ set(TELEGRAM_INCLUDE_DIRS
)
set(TELEGRAM_LINK_LIBRARIES
xxhash
crl
tgvoip
OpenSSL::Crypto
@ -189,6 +197,12 @@ else()
)
endif()
if(USE_CUSTOM_API_ID)
list(APPEND TELEGRAM_COMPILE_DEFINITIONS
CUSTOM_API_ID
)
endif()
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
list(APPEND TELEGRAM_COMPILE_DEFINITIONS
Q_OS_LINUX64

View File

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

View File

@ -14,6 +14,7 @@ file(GLOB TGVOIP_SOURCE_FILES
os/posix/*.cpp
)
file(GLOB TGVOIP_EXTRA_FILES
audio/AudioIOCallback.cpp
BufferInputStream.cpp
BufferOutputStream.cpp
BufferPool.cpp
@ -30,7 +31,7 @@ else()
os/linux/PulseAudioLoader.cpp
)
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()
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
-Exec=telegram-desktop -- %u
-Icon=telegram
+Exec=env QT_QPA_PLATFORMTHEME= SESSION_MANAGER= Telegram -externalupdater -- %u
+Icon=telegram-desktop
+Exec=env SESSION_MANAGER= Telegram -externalupdater -- %u
+Icon=telegram
Terminal=false
StartupWMClass=TelegramDesktop
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'
pkgname=telegram-desktop
version=1.3.14
revision=3
_libtgvoip_commit=bfa1e6ab76a467c6c6bff7eabb7c213acc7a1b34
version=1.4.3
revision=1
_libtgvoip_commit=9b292fdbc84f148f736407176facc920e20592f9
_GSL_commit=d846fe50a3f0bb7767c7e087a05f4be95f4da0ec
_variant_commit=550ac2f159ca883d360c196149b466955c77a573
_crl_commit=527ad273b683d52c5adf5b45b73c6466aa0d0cf0
_crl_commit=4291015efab76bda5886a56b5007f4531be17d46
_Catch_commit=5ca44b68721833ae3731802ed99af67c6f38a53a
build_style=cmake
create_wrksrc=yes
build_wrksrc="tdesktop-${version}/Telegram"
cmake_builddir=build-telegram
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"
makedepends="alsa-lib-devel ffmpeg-devel gtk+3-devel libappindicator-devel
libdbusmenu-glib-devel libopenal-devel minizip-devel opus-devel
pulseaudio-devel qt5-devel range-v3 libva-devel"
libdbusmenu-glib-devel libopenal-devel minizip-devel opus-devel xxHash-devel
$(vopt_if pulseaudio 'pulseaudio-devel') qt5-devel range-v3 libva-devel"
depends="qt5-imageformats"
short_desc="Telegram Desktop messaging app"
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/telegramdesktop/crl/archive/${_crl_commit}.tar.gz
https://github.com/catchorg/Catch2/archive/${_Catch_commit}.tar.gz"
checksum="83daeded641f79bd370b5e83be88242ab57520e7754f1371a9e5c1f3d9863f2a
74cf9046687e88ab6074e8f8946da53d95b11abb34a51db1f042ab0ae14f1b91
checksum="bc57654d3d014252dd128c8b5699ca843b8b6dbb926a3e31d10221be16826cc8
cbfb0955ee56be06b519418b8d22c5a27538e2e9ae5382d558f85f78c9ca761a
be81db4ab1b57102a0fa1cd0c4a6469294eb9daf24294347592245b754f65ff6
aa794dfefe0a90501587e36d977b958d0df888503117a8d9aa43dc14f8526d9d
d7e64fc8a2e284a5be8c0b0c6e7bfbaf951751081919829cb3bb290544c732e8
aee42a2fe003888d0d0133cd208a1524f5d95af6af506c1cd7e07e268d0d9081
d24e6d9df2b8aa5739d3b9077c6b0ff0ef4d5ef8acc52c3a57e32893854d8d18"
build_options=clang
build_options="clang custom_api_id pulseaudio"
build_options_default="pulseaudio custom_api_id"
if [ "$build_option_clang" ]; then
CFLAGS="-fPIE -fPIC -fstack-protector-strong"
@ -87,6 +89,17 @@ post_extract() {
mkdir -p ${build_wrksrc}/native
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
wrksrc="${wrksrc}/tdesktop-${version}"
}
@ -99,6 +112,6 @@ pre_configure() {
post_install() {
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
}