summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO24
-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.patch25
-rw-r--r--PKGBUILD101
-rw-r--r--series5
-rw-r--r--telegram-desktop.sh3
9 files changed, 47 insertions, 702 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c43772728ad9..f9a9519f91b9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,14 @@
pkgbase = telegram-desktop9
pkgdesc = Official Telegram Desktop client (personal build)
- pkgver = 1.9.3
+ pkgver = 1.9.8
pkgrel = 1
url = https://desktop.telegram.org/
arch = x86_64
license = GPL3
makedepends = cmake
makedepends = git
- makedepends = libappindicator-gtk3
makedepends = ninja
makedepends = python
- makedepends = quilt
makedepends = range-v3
depends = enchant
depends = ffmpeg
@@ -20,17 +18,12 @@ pkgbase = telegram-desktop9
depends = openal
depends = qt5-imageformats
depends = xxhash
+ depends = libappindicator-gtk3
optdepends = ttf-opensans: default Open Sans font family
- optdepends = libappindicator-gtk3: AppIndicator-based tray icon
provides = telegram-desktop
conflicts = telegram-desktop
- 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 = https://github.com/telegramdesktop/tdesktop/releases/download/v1.9.8/tdesktop-1.9.8-full.tar.gz
+ source = telegram-desktop.sh
source = always_delete_for_everyone.patch
source = always_clear_history_for_everyone.patch
source = always_pin_without_notify.patch
@@ -38,13 +31,8 @@ pkgbase = telegram-desktop9
source = clicky_sticker_panel.patch
source = dont_pulse_mentions.patch
source = no_circles.patch
- sha512sums = af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7
- sha512sums = 69fc5b50d2663af0c0bb539a6ac4b3d8996282f1701f484b9d1e29ddbd6eec942c999ee2f77d7effed13d4ecdd62e03e6ff064be0948ff91124962cc17c57143
- sha512sums = 5675787e849a811679b24e86b64e651c1aded56853e52c9455d8d914b85c153b63287a0d41aaa4c39c0e805ee1f411132431340d7aba99b11fcd1036e8d37680
- sha512sums = 8c3f48536ff3878baa73949057960eb5c8fcf3f152141c42740a7c0f2fc96c1708511a5d4ffe45ae9e20a08f88a3c2c77163a0a2050d7fca4356e4d2a96dfaf1
- sha512sums = d5fa5290b7041cb972c78066ca60d1cbc2bb3de10bf571ca1a639bf05abfa029531ffc0facba0564d39e32f89301960f4879b35bb9ac362ae9264d0a8c5c835c
- sha512sums = 41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d
- sha512sums = 17d831ce49ef522bae3558c679dda3eb1d84d69be40d9942f1ec2dc9fe32960b1233b072b09c107e5fc704c4a9286010f2cdd5e9830a2bdad97d3cb24b502ebe
+ sha512sums = 5562eb99812a8faec74fe073323d6e04e36311c1e4ce984035212ecfed8bd5d12df92cd0f0022401201136315fb5556971b267b4bf47edf4eeddc9926c7969dc
+ sha512sums = 3c21c871e28bac365400f7bc439a16ad1a9a8d87590ad764ce262f1db968c10387caed372d4e064cb50f43da726cebaa9b24bcbcc7c6d5489515620f44dbf56b
sha512sums = 83af5f5d18bc26d2de5318b97f31956f34ceb0c14efa8cf36c310a543c8c7d3a448c4c448f2fac1e552b40816273bb5139666ff2fa20e2762148ee69ac20d4cb
sha512sums = d32c2e0544b858842317b704e58016e028555a3baad6b22226e826c11dac8a412c808ffe8a7ea0f3f23c00c591e1a6e652c2ba63d8369491e188560f8296d0cb
sha512sums = 91a0edab6408a223db77b75df5a913ffd36efa79340e8d78fa01ac2c3b6e09d5a5fc7fa214ccd40473093809f86b7aef199cebf56a1d5821c20083c4a3e5780b
diff --git a/0001-Dynamic-linking-system-libs.patch b/0001-Dynamic-linking-system-libs.patch
deleted file mode 100644
index fe525d2db436..000000000000
--- a/0001-Dynamic-linking-system-libs.patch
+++ /dev/null
@@ -1,340 +0,0 @@
-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
deleted file mode 100644
index 9ed03e874589..000000000000
--- a/0002-Dynamic-linking-system-qt.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-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
deleted file mode 100644
index 8ca79a293239..000000000000
--- a/0004-gtk3.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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
deleted file mode 100644
index c5d09bb676a1..000000000000
--- a/0005-Use-system-wide-fonts.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-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/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch b/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
deleted file mode 100644
index 689dd8352506..000000000000
--- a/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b7effa2fd838afc049ec5cc00df3bd0810a95da4 Mon Sep 17 00:00:00 2001
-From: Jiachen YANG <farseerfc@gmail.com>
-Date: Fri, 4 Oct 2019 16:59:26 +0900
-Subject: [PATCH 3/6] Revert "Disable DemiBold fallback for Semibold."
-
-This reverts commit 310c68a744ae8163c96b88944d96a6f6b14b3cdf.
----
- Telegram/lib_ui/ui/style/style_core_font.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- 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) {
-- f.setBold(true);
-- //} else if (fontFamilies[family] == "Open Sans Semibold") {
-- // f.setWeight(QFont::DemiBold);
-+ f.setBold(_flags & FontBold);
-+ } else if (fontFamilies[family] == "Open Sans Semibold") {
-+ f.setWeight(QFont::DemiBold);
- }
- f.setItalic(_flags & FontItalic);
- f.setUnderline(_flags & FontUnderline);
diff --git a/PKGBUILD b/PKGBUILD
index ef22129955dc..bb16ae38a3fd 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,61 +6,32 @@
# https://github.com/mymedia2/tdesktop
pkgname=telegram-desktop9
-pkgver=1.9.3
+pkgver=1.9.8
pkgrel=1
pkgdesc='Official Telegram Desktop client (personal build)'
arch=('x86_64')
url="https://desktop.telegram.org/"
license=('GPL3')
-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'
-)
+depends=('enchant' 'ffmpeg' 'hicolor-icon-theme' 'lz4' 'minizip' 'openal'
+ 'qt5-imageformats' 'xxhash' 'libappindicator-gtk3')
+# for libappindicator-gtk3 see https://bugs.archlinux.org/task/65080
+
+makedepends=('cmake' 'git' 'ninja' 'python' 'range-v3')
+optdepends=('ttf-opensans: default Open Sans font family')
provides=('telegram-desktop')
conflicts=('telegram-desktop')
-source=(
- "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"
+source=("https://github.com/telegramdesktop/tdesktop/releases/download/v${pkgver}/tdesktop-${pkgver}-full.tar.gz"
+ telegram-desktop.sh
- "always_delete_for_everyone.patch"
- "always_clear_history_for_everyone.patch"
- "always_pin_without_notify.patch"
- "always_send_as_photo_or_album.patch"
- "clicky_sticker_panel.patch"
- "dont_pulse_mentions.patch"
- "no_circles.patch"
-)
-sha512sums=('af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7'
- '69fc5b50d2663af0c0bb539a6ac4b3d8996282f1701f484b9d1e29ddbd6eec942c999ee2f77d7effed13d4ecdd62e03e6ff064be0948ff91124962cc17c57143'
- '5675787e849a811679b24e86b64e651c1aded56853e52c9455d8d914b85c153b63287a0d41aaa4c39c0e805ee1f411132431340d7aba99b11fcd1036e8d37680'
- '8c3f48536ff3878baa73949057960eb5c8fcf3f152141c42740a7c0f2fc96c1708511a5d4ffe45ae9e20a08f88a3c2c77163a0a2050d7fca4356e4d2a96dfaf1'
- 'd5fa5290b7041cb972c78066ca60d1cbc2bb3de10bf571ca1a639bf05abfa029531ffc0facba0564d39e32f89301960f4879b35bb9ac362ae9264d0a8c5c835c'
- '41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d'
- '17d831ce49ef522bae3558c679dda3eb1d84d69be40d9942f1ec2dc9fe32960b1233b072b09c107e5fc704c4a9286010f2cdd5e9830a2bdad97d3cb24b502ebe'
+ "always_delete_for_everyone.patch"
+ "always_clear_history_for_everyone.patch"
+ "always_pin_without_notify.patch"
+ "always_send_as_photo_or_album.patch"
+ "clicky_sticker_panel.patch"
+ "dont_pulse_mentions.patch"
+ "no_circles.patch")
+sha512sums=('5562eb99812a8faec74fe073323d6e04e36311c1e4ce984035212ecfed8bd5d12df92cd0f0022401201136315fb5556971b267b4bf47edf4eeddc9926c7969dc'
+ '3c21c871e28bac365400f7bc439a16ad1a9a8d87590ad764ce262f1db968c10387caed372d4e064cb50f43da726cebaa9b24bcbcc7c6d5489515620f44dbf56b'
'83af5f5d18bc26d2de5318b97f31956f34ceb0c14efa8cf36c310a543c8c7d3a448c4c448f2fac1e552b40816273bb5139666ff2fa20e2762148ee69ac20d4cb'
'd32c2e0544b858842317b704e58016e028555a3baad6b22226e826c11dac8a412c808ffe8a7ea0f3f23c00c591e1a6e652c2ba63d8369491e188560f8296d0cb'
'91a0edab6408a223db77b75df5a913ffd36efa79340e8d78fa01ac2c3b6e09d5a5fc7fa214ccd40473093809f86b7aef199cebf56a1d5821c20083c4a3e5780b'
@@ -72,15 +43,14 @@ sha512sums=('af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465
prepare() {
cd "$srcdir/tdesktop-$pkgver-full"
- 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"
- patch -Np1 -i "$srcdir/always_pin_without_notify.patch"
- patch -Np1 -i "$srcdir/always_send_as_photo_or_album.patch"
- patch -Np1 -i "$srcdir/clicky_sticker_panel.patch"
- patch -Np1 -i "$srcdir/dont_pulse_mentions.patch"
- patch -Np1 -i "$srcdir/no_circles.patch"
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ msg2 "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
}
build() {
@@ -88,34 +58,39 @@ build() {
mkdir build
export CXXFLAGS="$CXXFLAGS -ffile-prefix-map=$srcdir/tdesktop-$pkgver-full="
cmake -B build -G Ninja . \
+ -Ddisable_autoupdate=1 \
-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_USE_PACKAGED=ON \
+ -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF \
-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
- -DTDESKTOP_DISABLE_AUTOUPDATE=ON \
-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON \
-DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON \
+ -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \
-DDESKTOP_APP_SPECIAL_TARGET="" \
+ -DTDESKTOP_LAUNCHER_BASENAME="telegramdesktop" \
-DTDESKTOP_FORCE_GTK_FILE_DIALOG=ON
ninja -C build
}
package() {
- cd "$srcdir/tdesktop-$pkgver-full/"
install -dm755 "$pkgdir/usr/bin"
- install -m755 "build/bin/Telegram" "$pkgdir/usr/bin/telegram-desktop"
+ install -m755 telegram-desktop.sh "$pkgdir/usr/bin/telegram-desktop"
+
+ cd tdesktop-$pkgver-full
+ install -m755 build/bin/telegram-desktop "$pkgdir/usr/bin/telegram-desktop-bin"
install -d "$pkgdir/usr/share/applications"
- install -m644 "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 "lib/xdg/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"
+ 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
diff --git a/series b/series
deleted file mode 100644
index 003fff65cc78..000000000000
--- a/series
+++ /dev/null
@@ -1,5 +0,0 @@
-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/telegram-desktop.sh b/telegram-desktop.sh
new file mode 100644
index 000000000000..6611ff848fc2
--- /dev/null
+++ b/telegram-desktop.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/sh
+unset QT_QPA_PLATFORMTHEME
+exec /usr/bin/telegram-desktop-bin "$@"