From 7852f1427cb691ebdc5a7c7239734f7ff5332984cdbbbf7656a6f3983c66ff5b Mon Sep 17 00:00:00 2001 From: Marcel Kuehlhorn Date: Wed, 22 Jan 2020 11:30:17 +0000 Subject: [PATCH 1/2] Accepting request 765395 from home:tux93 - Update to 1.9.4 * Bug fixes and other minor improvements. - Removed patches, option to use distribution libraries added upstream: * 0001-Dynamic-linking-system-libs.patch * 0002-Dynamic-linking-system-qt.patch * 0004-gtk3.patch - Added patches for dependencies not available from repos: * 0001-use-bundled-range.patch * 0002-use-bundled-rlottie.patch OBS-URL: https://build.opensuse.org/request/show/765395 OBS-URL: https://build.opensuse.org/package/show/server:messaging/telegram-desktop?expand=0&rev=119 --- 0001-Dynamic-linking-system-libs.patch | 322 ------------------------- 0001-use-bundled-range.patch | 29 +++ 0002-Dynamic-linking-system-qt.patch | 165 ------------- 0002-use-bundled-rlottie.patch | 21 ++ 0004-gtk3.patch | 22 -- 0005-Use-system-wide-fonts.patch | 16 +- tdesktop-1.9.3-full.tar.gz | 3 - tdesktop-1.9.4-full.tar.gz | 3 + telegram-desktop.changes | 14 ++ telegram-desktop.spec | 11 +- 10 files changed, 80 insertions(+), 526 deletions(-) delete mode 100644 0001-Dynamic-linking-system-libs.patch create mode 100644 0001-use-bundled-range.patch delete mode 100644 0002-Dynamic-linking-system-qt.patch create mode 100644 0002-use-bundled-rlottie.patch delete mode 100644 0004-gtk3.patch delete mode 100644 tdesktop-1.9.3-full.tar.gz create mode 100644 tdesktop-1.9.4-full.tar.gz diff --git a/0001-Dynamic-linking-system-libs.patch b/0001-Dynamic-linking-system-libs.patch deleted file mode 100644 index 38f31ac..0000000 --- a/0001-Dynamic-linking-system-libs.patch +++ /dev/null @@ -1,322 +0,0 @@ -From: John Zimmermann ---- 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$<$:.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/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 $,,-g -flto>) -- target_link_options(common_options INTERFACE $,,-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/0001-use-bundled-range.patch b/0001-use-bundled-range.patch new file mode 100644 index 0000000..33015ef --- /dev/null +++ b/0001-use-bundled-range.patch @@ -0,0 +1,29 @@ +--- a/cmake/external/ranges/CMakeLists.txt.orig 2020-01-17 21:56:04.561905759 +0100 ++++ b/cmake/external/ranges/CMakeLists.txt 2020-01-17 21:56:46.034629133 +0100 +@@ -7,15 +7,10 @@ + add_library(external_ranges INTERFACE IMPORTED GLOBAL) + add_library(desktop-app::external_ranges ALIAS external_ranges) + +-if (DESKTOP_APP_USE_PACKAGED) +- find_package(range-v3 REQUIRED) +- target_link_libraries(external_ranges INTERFACE range-v3::range-v3) +-else() +- target_include_directories(external_ranges SYSTEM +- INTERFACE +- ${libs_loc}/range-v3/include +- ) +-endif() ++target_include_directories(external_ranges SYSTEM ++INTERFACE ++ ${libs_loc}/range-v3/include ++) + + if (WIN32) + target_compile_options(external_ranges +@@ -23,4 +18,4 @@ if (WIN32) + /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() diff --git a/0002-Dynamic-linking-system-qt.patch b/0002-Dynamic-linking-system-qt.patch deleted file mode 100644 index 238180c..0000000 --- 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 -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}/$,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 -+ -+/* 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 @@ - - -- qt_linux.conf - - - fc-custom.conf diff --git a/0002-use-bundled-rlottie.patch b/0002-use-bundled-rlottie.patch new file mode 100644 index 0000000..2de4951 --- /dev/null +++ b/0002-use-bundled-rlottie.patch @@ -0,0 +1,21 @@ +--- a/cmake/external/rlottie/CMakeLists.txt.orig 2020-01-17 22:04:09.334361126 +0100 ++++ b/cmake/external/rlottie/CMakeLists.txt 2020-01-17 22:04:58.239214120 +0100 +@@ -4,13 +4,6 @@ + # For license and copyright information please follow this link: + # https://github.com/desktop-app/legal/blob/master/LEGAL + +-if (DESKTOP_APP_USE_PACKAGED_RLOTTIE) +- add_library(external_rlottie INTERFACE IMPORTED GLOBAL) +- add_library(desktop-app::external_rlottie ALIAS external_rlottie) +- +- find_package(rlottie REQUIRED) +- target_link_libraries(external_rlottie INTERFACE rlottie::rlottie) +-else() + add_library(external_rlottie OBJECT) + add_library(desktop-app::external_rlottie ALIAS external_rlottie) + init_target(external_rlottie "(external)") +@@ -123,4 +116,3 @@ else() + /w44251 # needs to have dll-interface to be used by clients of class + ) + endif() +-endif() diff --git a/0004-gtk3.patch b/0004-gtk3.patch deleted file mode 100644 index 7f278bc..0000000 --- a/0004-gtk3.patch +++ /dev/null @@ -1,22 +0,0 @@ -From ef30081973681f4f8d261917fa763b00adfbe6e9 Mon Sep 17 00:00:00 2001 -From: John Zimmermann -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 index 2e29d08..05fcc00 100644 --- a/0005-Use-system-wide-fonts.patch +++ b/0005-Use-system-wide-fonts.patch @@ -42,21 +42,21 @@ Do not force custom fontconfig configuration. 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 @@ +--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp.orig 2020-01-17 22:34:25.882017929 +0100 ++++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp 2020-01-17 22:34:56.362548378 +0100 +@@ -82,8 +82,6 @@ void FallbackFontConfig() { return; } } - - QFile(":/fc/fc-custom.conf").copy(custom); - #endif // TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION + #endif // !DESKTOP_APP_USE_PACKAGED } ---- a/Telegram/lib_ui/qt_conf/linux.qrc -+++ b/Telegram/lib_ui/qt_conf/linux.qrc -@@ -2,6 +2,5 @@ - +--- a/Telegram/lib_ui/qt_conf/linux.qrc.orig 2020-01-17 22:38:50.902630063 +0100 ++++ b/Telegram/lib_ui/qt_conf/linux.qrc 2020-01-17 22:39:09.298950213 +0100 +@@ -3,6 +3,5 @@ + qt_linux.conf - fc-custom.conf diff --git a/tdesktop-1.9.3-full.tar.gz b/tdesktop-1.9.3-full.tar.gz deleted file mode 100644 index ab1e3c6..0000000 --- a/tdesktop-1.9.3-full.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca9c67369140952d5ffe404ca082517193e3832b2c21ba1af791f078e4d9a7bb -size 25256433 diff --git a/tdesktop-1.9.4-full.tar.gz b/tdesktop-1.9.4-full.tar.gz new file mode 100644 index 0000000..59f9b4b --- /dev/null +++ b/tdesktop-1.9.4-full.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ef7ac0e97629dec7ff68aea54f517a40c4a41fa9197f205bd4431d0e37abad1 +size 25262385 diff --git a/telegram-desktop.changes b/telegram-desktop.changes index effba0c..346899b 100644 --- a/telegram-desktop.changes +++ b/telegram-desktop.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Fri Jan 17 20:12:33 UTC 2020 - Marcel Kuehlhorn + +- Update to 1.9.4 + * Bug fixes and other minor improvements. +- Removed patches, option to use distribution libraries + added upstream: + * 0001-Dynamic-linking-system-libs.patch + * 0002-Dynamic-linking-system-qt.patch + * 0004-gtk3.patch +- Added patches for dependencies not available from repos: + * 0001-use-bundled-range.patch + * 0002-use-bundled-rlottie.patch + ------------------------------------------------------------------- Thu Jan 16 01:47:32 UTC 2020 - Xu Zhao diff --git a/telegram-desktop.spec b/telegram-desktop.spec index 897f3bf..0133990 100644 --- a/telegram-desktop.spec +++ b/telegram-desktop.spec @@ -29,7 +29,7 @@ %endif Name: telegram-desktop -Version: 1.9.3 +Version: 1.9.4 Release: 0 Summary: Messaging application with a focus on speed and security License: GPL-3.0-only @@ -39,9 +39,8 @@ Source0: https://github.com/telegramdesktop/tdesktop/releases/download/v% # curl https://codeload.github.com/ericniebler/range-v3/zip/master -o range-v3-master.zip Source1: range-v3-master.zip Patch0: 0000-gtk2-default.patch -Patch1: 0001-Dynamic-linking-system-libs.patch -Patch2: 0002-Dynamic-linking-system-qt.patch -Patch3: 0004-gtk3.patch +Patch1: 0001-use-bundled-range.patch +Patch2: 0002-use-bundled-rlottie.patch Patch4: 0005-Use-system-wide-fonts.patch Patch5: 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch BuildRequires: chrpath @@ -146,7 +145,6 @@ mv %{_builddir}/Libraries/range-v3-master %{_builddir}/Libraries/range-v3 %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 @@ -162,7 +160,8 @@ cmake -B build -G Ninja . \ -DTDESKTOP_API_ID=340630 \ -DTDESKTOP_API_HASH=98a22f733eac40f1bd187a30d19271de \ -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \ - -DDESKTOP_APP_USE_SYSTEM_LIBS=ON \ + -DDESKTOP_APP_USE_PACKAGED=ON \ + -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \ -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \ -DTDESKTOP_DISABLE_AUTOUPDATE=ON \ -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON \ From 17e12b4eff52d89fd4aca4a128088123774df19a553a7907e200c7e91181be46 Mon Sep 17 00:00:00 2001 From: Marcel Kuehlhorn Date: Fri, 24 Jan 2020 22:44:24 +0000 Subject: [PATCH 2/2] Accepting request 766976 from home:tux93 - Update to 1.9.8 * Bug fixes and other minor improvements. - Update to 1.9.7 * Create three new kinds of polls. * See who voted for what in polls with visible votes. * Vote for several options in polls that allow multiple answers. * Guess the correct answer in quiz-style polls. * Explore various ways of combining the different poll options. * Add polls from the '...' menu in any group or channel. * Use bots like @quizbot to create quizzes with several questions and media attachments. * Schedule messages to be sent when your recipient comes online (only works if you know their online status). - Clean up spec file - Update to 1.9.6 * Bug fixes and other minor improvements. - Removed 0005-Use-system-wide-fonts.patch and 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch, option to use system fonts added upstream OBS-URL: https://build.opensuse.org/request/show/766976 OBS-URL: https://build.opensuse.org/package/show/server:messaging/telegram-desktop?expand=0&rev=120 --- 0005-Use-system-wide-fonts.patch | 64 --------------- ...sable-DemiBold-fallback-for-Semibold.patch | 25 ------ tdesktop-1.9.4-full.tar.gz | 3 - tdesktop-1.9.8-full.tar.gz | 3 + telegram-desktop.changes | 31 ++++++++ telegram-desktop.spec | 77 +++++-------------- 6 files changed, 55 insertions(+), 148 deletions(-) delete mode 100644 0005-Use-system-wide-fonts.patch delete mode 100644 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch delete mode 100644 tdesktop-1.9.4-full.tar.gz create mode 100644 tdesktop-1.9.8-full.tar.gz diff --git a/0005-Use-system-wide-fonts.patch b/0005-Use-system-wide-fonts.patch deleted file mode 100644 index 05fcc00..0000000 --- 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 @@ - - -- DAOpenSansRegular.ttf -- DAOpenSansRegularItalic.ttf -- DAOpenSansBold.ttf -- DAOpenSansBoldItalic.ttf -- DAOpenSansSemibold.ttf -- DAOpenSansSemiboldItalic.ttf - - ---- 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.orig 2020-01-17 22:34:25.882017929 +0100 -+++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp 2020-01-17 22:34:56.362548378 +0100 -@@ -82,8 +82,6 @@ void FallbackFontConfig() { - return; - } - } -- -- QFile(":/fc/fc-custom.conf").copy(custom); - #endif // !DESKTOP_APP_USE_PACKAGED - } - ---- a/Telegram/lib_ui/qt_conf/linux.qrc.orig 2020-01-17 22:38:50.902630063 +0100 -+++ b/Telegram/lib_ui/qt_conf/linux.qrc 2020-01-17 22:39:09.298950213 +0100 -@@ -3,6 +3,5 @@ - qt_linux.conf - - -- fc-custom.conf - - 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 3a40df9..0000000 --- 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 -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/tdesktop-1.9.4-full.tar.gz b/tdesktop-1.9.4-full.tar.gz deleted file mode 100644 index 59f9b4b..0000000 --- a/tdesktop-1.9.4-full.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ef7ac0e97629dec7ff68aea54f517a40c4a41fa9197f205bd4431d0e37abad1 -size 25262385 diff --git a/tdesktop-1.9.8-full.tar.gz b/tdesktop-1.9.8-full.tar.gz new file mode 100644 index 0000000..7c60f72 --- /dev/null +++ b/tdesktop-1.9.8-full.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dcf14cff65777a176a4552b982e67fa802668f29d212025b0c05342010a03e7 +size 25225784 diff --git a/telegram-desktop.changes b/telegram-desktop.changes index 346899b..796bde6 100644 --- a/telegram-desktop.changes +++ b/telegram-desktop.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Fri Jan 24 17:48:01 UTC 2020 - Marcel Kuehlhorn + +- Update to 1.9.8 + * Bug fixes and other minor improvements. + +------------------------------------------------------------------- +Thu Jan 23 16:51:20 UTC 2020 - Marcel Kuehlhorn + +- Update to 1.9.7 + * Create three new kinds of polls. + * See who voted for what in polls with visible votes. + * Vote for several options in polls that allow multiple answers. + * Guess the correct answer in quiz-style polls. + * Explore various ways of combining the different poll options. + * Add polls from the '...' menu in any group or channel. + * Use bots like @quizbot to create quizzes with several questions + and media attachments. + * Schedule messages to be sent when your recipient comes online + (only works if you know their online status). +- Clean up spec file + +------------------------------------------------------------------- +Wed Jan 22 10:24:14 UTC 2020 - Marcel Kuehlhorn + +- Update to 1.9.6 + * Bug fixes and other minor improvements. +- Removed 0005-Use-system-wide-fonts.patch and + 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch, + option to use system fonts added upstream + ------------------------------------------------------------------- Fri Jan 17 20:12:33 UTC 2020 - Marcel Kuehlhorn diff --git a/telegram-desktop.spec b/telegram-desktop.spec index 0133990..9b6845c 100644 --- a/telegram-desktop.spec +++ b/telegram-desktop.spec @@ -16,20 +16,15 @@ # -# We need at least gcc8 or higher to build -%if 0%{?suse_version} < 01550 && 0%{?is_opensuse} -%bcond_without gcc8 -%else -%bcond_with gcc8 -%endif - # Disable LTO on TW due to build failures %if 0%{?suse_version} > 01500 %define _lto_cflags %{nil} %endif +%define __builder ninja + Name: telegram-desktop -Version: 1.9.4 +Version: 1.9.8 Release: 0 Summary: Messaging application with a focus on speed and security License: GPL-3.0-only @@ -38,22 +33,17 @@ URL: https://github.com/telegramdesktop/tdesktop Source0: https://github.com/telegramdesktop/tdesktop/releases/download/v%{version}/tdesktop-%{version}-full.tar.gz # curl https://codeload.github.com/ericniebler/range-v3/zip/master -o range-v3-master.zip Source1: range-v3-master.zip -Patch0: 0000-gtk2-default.patch -Patch1: 0001-use-bundled-range.patch -Patch2: 0002-use-bundled-rlottie.patch -Patch4: 0005-Use-system-wide-fonts.patch -Patch5: 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch +Patch0: 0000-gtk2-default.patch +Patch1: 0001-use-bundled-range.patch +Patch2: 0002-use-bundled-rlottie.patch +BuildRequires: appstream-glib BuildRequires: chrpath BuildRequires: cmake BuildRequires: desktop-file-utils +BuildRequires: enchant-devel BuildRequires: ffmpeg-devel BuildRequires: freetype-devel -%if %{with gcc8} -BuildRequires: gcc8-c++ -%else BuildRequires: gcc-c++ -%endif -BuildRequires: enchant-devel BuildRequires: glibc-devel BuildRequires: libQt5Core-private-headers-devel BuildRequires: libQt5Gui-private-headers-devel @@ -61,6 +51,7 @@ BuildRequires: libjpeg-devel BuildRequires: liblz4-devel BuildRequires: libqt5-qtbase-common-devel BuildRequires: libqt5-qtimageformats-devel +BuildRequires: memory-constraints BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: unzip @@ -145,16 +136,11 @@ mv %{_builddir}/Libraries/range-v3-master %{_builddir}/Libraries/range-v3 %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch4 -p1 -%patch5 -p1 %build -%if %{with gcc8} -export CC=/usr/bin/gcc-8 -export CXX=/usr/bin/g++-8 -%endif +%limit_build -m 2048 -cmake -B build -G Ninja . \ +%cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DTDESKTOP_API_ID=340630 \ @@ -162,46 +148,25 @@ cmake -B build -G Ninja . \ -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \ -DDESKTOP_APP_USE_PACKAGED=ON \ -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \ + -DDESKTOP_APP_USE_PACKAGED_FONTS=ON \ -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \ -DTDESKTOP_DISABLE_AUTOUPDATE=ON \ - -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON \ - -DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON \ + -DTDESKTOP_LAUNCHER_BASENAME=%{name} \ -DDESKTOP_APP_SPECIAL_TARGET="" -ninja -C build +%cmake_build %install -# Install binary -install -dm755 %{buildroot}%{_bindir} -install -m755 build/bin/Telegram %{buildroot}%{_bindir}/%{name} +%cmake_install -# Install desktop file -install -d %{buildroot}%{_datadir}/applications -desktop-file-install \ - --dir %{buildroot}%{_datadir}/applications \ - --add-category InstantMessaging \ - lib/xdg/telegramdesktop.desktop - -# Install protocol -install -d %{buildroot}%{_datadir}/kservices5 -install -m644 lib/xdg/tg.protocol \ - %{buildroot}%{_datadir}/kservices5/tg.protocol - -# Install icons -for icon_size in 16 32 48 64 128 256 512; do - icon_dir="%{buildroot}%{_datadir}/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 +appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml %files -%license LICENSE -%doc README.md +%license LICENSE LEGAL +%doc README.md changelog.txt %{_bindir}/%{name} -%{_datadir}/applications/telegramdesktop.desktop -%dir %{_datadir}/kservices5 -%{_datadir}/kservices5/tg.protocol -%{_datadir}/icons/hicolor/*/apps/telegram.png +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/*.png +%{_datadir}/metainfo/*.appdata.xml %changelog