commit: ba3e19059ebe0e6eb6a05e53fd42fff5bdf8e5fd Author: Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com> AuthorDate: Tue Aug 3 21:07:49 2021 +0000 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> CommitDate: Wed Aug 4 08:29:27 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba3e1905
net-im/telegram-desktop: Fix running with QT_QPA_PLATFORMTHEME=gtk2 Closes: https://bugs.gentoo.org/806292 See-also: https://bugs.archlinux.org/task/71541 Thanks-to: Ilia Durov <ildurrx <AT> mail.ru> Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com> Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> .../tdesktop-2.8.11-load-gtk-with-qlibrary.patch | 112 +++++++++++++++++++++ .../telegram-desktop-2.8.11.ebuild | 3 +- 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/net-im/telegram-desktop/files/tdesktop-2.8.11-load-gtk-with-qlibrary.patch b/net-im/telegram-desktop/files/tdesktop-2.8.11-load-gtk-with-qlibrary.patch new file mode 100644 index 00000000000..91e3f859eeb --- /dev/null +++ b/net-im/telegram-desktop/files/tdesktop-2.8.11-load-gtk-with-qlibrary.patch @@ -0,0 +1,112 @@ +Fix running with QT_QPA_PLATFORMTHEME=gtk2 + +From: https://bugs.archlinux.org/task/71541 + +--- tdesktop-2.8.11-full.orig/Telegram/CMakeLists.txt ++++ tdesktop-2.8.11-full/Telegram/CMakeLists.txt +@@ -114,25 +114,16 @@ + endif() + + if (NOT DESKTOP_APP_DISABLE_GTK_INTEGRATION) +- target_link_libraries(Telegram PRIVATE rt) + find_package(PkgConfig REQUIRED) + +- if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY) +- pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0) +- target_link_libraries(Telegram PRIVATE PkgConfig::GTK3) +- +- if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) +- pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11) +- target_link_libraries(Telegram PRIVATE PkgConfig::X11) +- endif() +- else() +- pkg_check_modules(GTK REQUIRED gtk+-3.0) +- target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS}) ++ pkg_check_modules(GTK REQUIRED gtk+-3.0) ++ target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS}) + +- if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) +- target_link_libraries(Telegram PRIVATE X11) +- endif() ++ if (NOT DESKTOP_APP_DISABLE_X11_INTEGRATION) ++ target_link_libraries(Telegram PRIVATE X11) + endif() ++ ++ target_link_libraries(Telegram PRIVATE rt) + endif() + endif() + +--- tdesktop-2.8.11-full.orig/Telegram/lib_base/CMakeLists.txt ++++ tdesktop-2.8.11-full/Telegram/lib_base/CMakeLists.txt +@@ -254,13 +254,8 @@ + if (NOT DESKTOP_APP_DISABLE_GTK_INTEGRATION) + find_package(PkgConfig REQUIRED) + +- if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY) +- pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0) +- target_link_libraries(lib_base PUBLIC PkgConfig::GTK3) +- else() +- pkg_check_modules(GTK REQUIRED gtk+-3.0) +- target_include_directories(lib_base PUBLIC ${GTK_INCLUDE_DIRS}) +- endif() ++ pkg_check_modules(GTK REQUIRED gtk+-3.0) ++ target_include_directories(lib_base PUBLIC ${GTK_INCLUDE_DIRS}) + endif() + endif() + +--- tdesktop-2.8.11-full.orig/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration_p.h ++++ tdesktop-2.8.11-full/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration_p.h +@@ -13,15 +13,7 @@ + #include <gdk/gdk.h> + } // extern "C" + +-#if defined DESKTOP_APP_USE_PACKAGED && !defined DESKTOP_APP_USE_PACKAGED_LAZY +-#define LINK_TO_GTK +-#endif // DESKTOP_APP_USE_PACKAGED && !DESKTOP_APP_USE_PACKAGED_LAZY +- +-#ifdef LINK_TO_GTK +-#define LOAD_GTK_SYMBOL(lib, func) (func = ::func) +-#else // LINK_TO_GTK + #define LOAD_GTK_SYMBOL LOAD_LIBRARY_SYMBOL +-#endif // !LINK_TO_GTK + + namespace base { + namespace Platform { +@@ -31,11 +23,7 @@ + QLibrary &lib, + const char *name, + std::optional<int> version = std::nullopt) { +-#ifdef LINK_TO_GTK +- return true; +-#else // LINK_TO_GTK + return LoadLibrary(lib, name, version); +-#endif // LINK_TO_GTK + } + + inline gboolean (*gtk_init_check)(int *argc, char ***argv) = nullptr; +--- tdesktop-2.8.11-full.orig/Telegram/lib_webview/CMakeLists.txt ++++ tdesktop-2.8.11-full/Telegram/lib_webview/CMakeLists.txt +@@ -51,19 +51,11 @@ + if (NOT DESKTOP_APP_DISABLE_WEBKIT) + find_package(PkgConfig REQUIRED) + +- if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY) +- pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0) +- target_link_libraries(lib_webview PUBLIC PkgConfig::GTK3) ++ pkg_check_modules(GTK3 REQUIRED gtk+-3.0) ++ target_include_directories(lib_webview PUBLIC ${GTK3_INCLUDE_DIRS}) + +- pkg_check_modules(WEBKIT REQUIRED IMPORTED_TARGET webkit2gtk-4.0) +- target_link_libraries(lib_webview PUBLIC PkgConfig::WEBKIT) +- else() +- pkg_check_modules(GTK3 REQUIRED gtk+-3.0) +- target_include_directories(lib_webview PUBLIC ${GTK3_INCLUDE_DIRS}) +- +- pkg_check_modules(WEBKIT REQUIRED webkit2gtk-4.0) +- target_include_directories(lib_webview PUBLIC ${WEBKIT_INCLUDE_DIRS}) +- endif() ++ pkg_check_modules(WEBKIT REQUIRED webkit2gtk-4.0) ++ target_include_directories(lib_webview PUBLIC ${WEBKIT_INCLUDE_DIRS}) + else() + remove_target_sources(lib_webview ${src_loc} + webview/platform/linux/webview_linux_webkit_gtk.cpp diff --git a/net-im/telegram-desktop/telegram-desktop-2.8.11.ebuild b/net-im/telegram-desktop/telegram-desktop-2.8.11.ebuild index 3e3603edd15..c82d78ed253 100644 --- a/net-im/telegram-desktop/telegram-desktop-2.8.11.ebuild +++ b/net-im/telegram-desktop/telegram-desktop-2.8.11.ebuild @@ -76,8 +76,9 @@ PATCHES=( "${FILESDIR}/tdesktop-2.8.9-disable-webkit-separately.patch" # Not a proper fix, not upstreamed "${FILESDIR}/tdesktop-2.8.9-webview-fix-glib.patch" - # Not upstreamed (yet) "${FILESDIR}/tdesktop-2.8.10-jemalloc-only-telegram.patch" + # Already upstream + "${FILESDIR}/tdesktop-2.8.11-load-gtk-with-qlibrary.patch" ) pkg_pretend() {
