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 <jo...@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 <jo...@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 <jo...@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 <farsee...@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 <svenst...@gmail.com> +# Contributor: hexchain <i...@hexchain.org> + +# Thanks Nicholas Guriev <guriev...@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