[arch-commits] Commit in telegram-desktop/repos (9 files)

Jiachen Yang farseerfc at archlinux.org
Tue Jan 7 04:43:54 UTC 2020


    Date: Tuesday, January 7, 2020 @ 04:43:53
  Author: farseerfc
Revision: 549800

archrelease: copy trunk to community-testing-x86_64

Added:
  telegram-desktop/repos/community-testing-x86_64/
  telegram-desktop/repos/community-testing-x86_64/0001-Dynamic-linking-system-libs.patch
    (from rev 549799, telegram-desktop/trunk/0001-Dynamic-linking-system-libs.patch)
  telegram-desktop/repos/community-testing-x86_64/0002-Dynamic-linking-system-qt.patch
    (from rev 549799, telegram-desktop/trunk/0002-Dynamic-linking-system-qt.patch)
  telegram-desktop/repos/community-testing-x86_64/0004-gtk3.patch
    (from rev 549799, telegram-desktop/trunk/0004-gtk3.patch)
  telegram-desktop/repos/community-testing-x86_64/0005-Use-system-wide-fonts.patch
    (from rev 549799, telegram-desktop/trunk/0005-Use-system-wide-fonts.patch)
  telegram-desktop/repos/community-testing-x86_64/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch
    (from rev 549799, telegram-desktop/trunk/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch)
  telegram-desktop/repos/community-testing-x86_64/PKGBUILD
    (from rev 549799, telegram-desktop/trunk/PKGBUILD)
  telegram-desktop/repos/community-testing-x86_64/series
    (from rev 549799, telegram-desktop/trunk/series)
  telegram-desktop/repos/community-testing-x86_64/tg.protocol
    (from rev 549799, telegram-desktop/trunk/tg.protocol)

----------------------------------------------------------+
 0001-Dynamic-linking-system-libs.patch                   |  340 +++++++++++++
 0002-Dynamic-linking-system-qt.patch                     |  165 ++++++
 0004-gtk3.patch                                          |   22 
 0005-Use-system-wide-fonts.patch                         |   64 ++
 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch |   25 
 PKGBUILD                                                 |  100 +++
 series                                                   |    5 
 tg.protocol                                              |   11 
 8 files changed, 732 insertions(+)

Copied: telegram-desktop/repos/community-testing-x86_64/0001-Dynamic-linking-system-libs.patch (from rev 549799, telegram-desktop/trunk/0001-Dynamic-linking-system-libs.patch)
===================================================================
--- community-testing-x86_64/0001-Dynamic-linking-system-libs.patch	                        (rev 0)
+++ community-testing-x86_64/0001-Dynamic-linking-system-libs.patch	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,340 @@
+From: John Zimmermann <johnz at 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()

Copied: telegram-desktop/repos/community-testing-x86_64/0002-Dynamic-linking-system-qt.patch (from rev 549799, telegram-desktop/trunk/0002-Dynamic-linking-system-qt.patch)
===================================================================
--- community-testing-x86_64/0002-Dynamic-linking-system-qt.patch	                        (rev 0)
+++ community-testing-x86_64/0002-Dynamic-linking-system-qt.patch	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,165 @@
+From 85ae791a9ebf5a2603f12d2a6e2d75549a01d701 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz at 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>

Copied: telegram-desktop/repos/community-testing-x86_64/0004-gtk3.patch (from rev 549799, telegram-desktop/trunk/0004-gtk3.patch)
===================================================================
--- community-testing-x86_64/0004-gtk3.patch	                        (rev 0)
+++ community-testing-x86_64/0004-gtk3.patch	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,22 @@
+From ef30081973681f4f8d261917fa763b00adfbe6e9 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz at 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

Copied: telegram-desktop/repos/community-testing-x86_64/0005-Use-system-wide-fonts.patch (from rev 549799, telegram-desktop/trunk/0005-Use-system-wide-fonts.patch)
===================================================================
--- community-testing-x86_64/0005-Use-system-wide-fonts.patch	                        (rev 0)
+++ community-testing-x86_64/0005-Use-system-wide-fonts.patch	2020-01-07 04:43:53 UTC (rev 549800)
@@ -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>

Copied: telegram-desktop/repos/community-testing-x86_64/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch (from rev 549799, telegram-desktop/trunk/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch)
===================================================================
--- community-testing-x86_64/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch	                        (rev 0)
+++ community-testing-x86_64/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,25 @@
+From b7effa2fd838afc049ec5cc00df3bd0810a95da4 Mon Sep 17 00:00:00 2001
+From: Jiachen YANG <farseerfc at 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);

Copied: telegram-desktop/repos/community-testing-x86_64/PKGBUILD (from rev 549799, telegram-desktop/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,100 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Contributor: hexchain <i at hexchain.org>
+
+# Thanks Nicholas Guriev <guriev-ns at ya.ru> for the patches!
+# https://github.com/mymedia2/tdesktop
+
+pkgname=telegram-desktop
+pkgver=1.9.3
+pkgrel=1
+pkgdesc='Official Telegram Desktop client'
+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=(
+    'libnotify: desktop notifications'
+    'ttf-opensans: default Open Sans font family'
+    'libappindicator-gtk3: AppIndicator-based tray icon'
+)
+source=(
+    "https://github.com/telegramdesktop/tdesktop/releases/download/v${pkgver}/tdesktop-${pkgver}-full.tar.gz"
+    "tg.protocol"
+    "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"
+)
+sha512sums=('af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7'
+            'b87414ceaae19185a8a5749cea1f6d9f3fc3c69b8dd729e3db8790cde00b987c3c827cd30baf0eac579d1884e34aa2f37bb90778c3c0bc9ca211d75a82891b9d'
+            '69fc5b50d2663af0c0bb539a6ac4b3d8996282f1701f484b9d1e29ddbd6eec942c999ee2f77d7effed13d4ecdd62e03e6ff064be0948ff91124962cc17c57143'
+            '5675787e849a811679b24e86b64e651c1aded56853e52c9455d8d914b85c153b63287a0d41aaa4c39c0e805ee1f411132431340d7aba99b11fcd1036e8d37680'
+            '8c3f48536ff3878baa73949057960eb5c8fcf3f152141c42740a7c0f2fc96c1708511a5d4ffe45ae9e20a08f88a3c2c77163a0a2050d7fca4356e4d2a96dfaf1'
+            'd5fa5290b7041cb972c78066ca60d1cbc2bb3de10bf571ca1a639bf05abfa029531ffc0facba0564d39e32f89301960f4879b35bb9ac362ae9264d0a8c5c835c'
+            '41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d'
+            '17d831ce49ef522bae3558c679dda3eb1d84d69be40d9942f1ec2dc9fe32960b1233b072b09c107e5fc704c4a9286010f2cdd5e9830a2bdad97d3cb24b502ebe')
+
+prepare() {
+    cd "$srcdir/tdesktop-$pkgver-full"
+
+    QUILT_PATCHES=.. quilt --quiltrc=/dev/null push -a
+}
+
+build() {
+    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=17349 \
+        -DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb \
+        -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=""
+    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 -d "$pkgdir/usr/share/applications"
+    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"
+
+    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 "Telegram/Resources/art/icon${icon_size}.png" "$icon_dir/telegram.png"
+    done
+}

Copied: telegram-desktop/repos/community-testing-x86_64/series (from rev 549799, telegram-desktop/trunk/series)
===================================================================
--- community-testing-x86_64/series	                        (rev 0)
+++ community-testing-x86_64/series	2020-01-07 04:43:53 UTC (rev 549800)
@@ -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

Copied: telegram-desktop/repos/community-testing-x86_64/tg.protocol (from rev 549799, telegram-desktop/trunk/tg.protocol)
===================================================================
--- community-testing-x86_64/tg.protocol	                        (rev 0)
+++ community-testing-x86_64/tg.protocol	2020-01-07 04:43:53 UTC (rev 549800)
@@ -0,0 +1,11 @@
+[Protocol]
+exec=/usr/bin/telegram-desktop -- %u
+protocol=tg
+input=none
+output=none
+helper=true
+listing=false
+reading=false
+writing=false
+makedir=false
+deleting=false



More information about the arch-commits mailing list