commit: 907f97de835f80f910789dcbd7d9623671e0df5d Author: Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com> AuthorDate: Thu Nov 20 22:19:01 2025 +0000 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org> CommitDate: Sun Nov 23 09:47:00 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=907f97de
net-im/telegram-desktop: Drop old Closes: https://github.com/gentoo/gentoo/pull/44707 Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com> Signed-off-by: Yixun Lan <dlan <AT> gentoo.org> net-im/telegram-desktop/Manifest | 2 - .../files/tdesktop-4.10.0-system-cppgir.patch | 32 --- .../tdesktop-4.2.4-jemalloc-only-telegram-r1.patch | 43 ---- .../files/tdesktop-5.12.3-qt-namechange.patch | 30 --- .../telegram-desktop-5.12.3-r6.ebuild | 217 ------------------- .../telegram-desktop/telegram-desktop-6.1.3.ebuild | 239 --------------------- 6 files changed, 563 deletions(-) diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest index 498fb9675036..941d2b9f972b 100644 --- a/net-im/telegram-desktop/Manifest +++ b/net-im/telegram-desktop/Manifest @@ -1,5 +1,3 @@ -DIST tdesktop-5.12.3-full.tar.gz 72628307 BLAKE2B 2a625d5e71c3a583c7acf1419ff3f31173446a1475514e981c6483aa18a88ff7e1aa57252412bab3c3e9b162bc9ac6286718f2c96c2f0758f635678086469a99 SHA512 cd366f6cecfc72396ae2b8453d015e85f1f579c60212f0b77f84057ba6caf6aa97d7ed08fde2ab8bf2f29017fdd7c0b617392ec74537be4f8445ef81ea135e5c DIST tdesktop-6.0.2-full.tar.gz 75218745 BLAKE2B 186850a32049a1750233f46697b798b7f59d4f539b40fd93f518933a380cf5a521dfb81196df5a14b0e8161a3deedc590fe5febe9460a31d7cc963688b8e4776 SHA512 782e2c1f508e9328532622d84ff9c48fac700d3f8022d86b224ac791103e2a534ae0b51c79673102760af0e2a855bee17f3eb7c68662af460617f08a8f073fce -DIST tdesktop-6.1.3-full.tar.gz 75264355 BLAKE2B 7ce6b26473177aa54c2ae757ebefcbccbc5d3eaae734adfc0571046f5d057119b53da114e84e783fe8258dd6e8bbea22ddcd40c193edc063d0ef46fb30066fc4 SHA512 951fbf4a9e0a5929130614aefdf2ac18d8d8e65b2d8d4d55da857136f17114e6a17677db9bb0585cfed121c3fe73e13b4db47b6da30fca7c276f33127eb3dba7 DIST tdesktop-6.2.4-full.tar.gz 75402815 BLAKE2B 92e6abc5e7f1bb91dd5ab3eb8104d22b2d8f8f40b69a310589c7d78fff2b044431ccab7fa5a2195ab37cf0b6ffe516d95b70b57265cfb458d74c13eecabf7006 SHA512 8cbeb3ff205959a26c6b2da71984c01584207645eb73b4548f77ecd487f3cef6c27d5be7c730e9c0e046ac4327b551f7e740ffe138028b1a3247640431f6c3d8 DIST tdesktop-6.3.3-full.tar.gz 76164590 BLAKE2B 5a8795a464b488d99bd9fee3eab0e08a1f8a9ec08bdd41d784d1df4cdb88ec5a51fdaafd8e2567398c48a5a8f2907671ffbcf16ec9027e7a4f09d078a339252c SHA512 6756132a69caa1f6a8da8aea0efae521d32fadd4dec8dfb89a7d34f8a30ad8f3c416151cd1d3d0f60ee4de53258571a91ec5b350e948becc15a5fed19b61da8e diff --git a/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch b/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch deleted file mode 100644 index 39f30ff0d2d2..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch +++ /dev/null @@ -1,32 +0,0 @@ -Use system cppgir - -https://github.com/desktop-app/cmake_helpers/issues/282 -https://github.com/desktop-app/cmake_helpers/pull/305 ---- tdesktop-4.10.0-full.orig/cmake/external/glib/CMakeLists.txt -+++ tdesktop-4.10.0-full/cmake/external/glib/CMakeLists.txt -@@ -7,14 +7,6 @@ - add_library(external_glib INTERFACE IMPORTED GLOBAL) - add_library(desktop-app::external_glib ALIAS external_glib) - --function(add_cppgir) # isolate scope -- set(BUILD_TESTING OFF) -- set(BUILD_DOC OFF) -- set(BUILD_EXAMPLES OFF) -- add_subdirectory(cppgir EXCLUDE_FROM_ALL) --endfunction() --add_cppgir() -- - include(generate_cppgir.cmake) - generate_cppgir(external_glib Gio-2.0) - ---- tdesktop-4.10.0-full.orig/cmake/external/glib/generate_cppgir.cmake -+++ tdesktop-4.10.0-full/cmake/external/glib/generate_cppgir.cmake -@@ -4,6 +4,8 @@ - # For license and copyright information please follow this link: - # https://github.com/desktop-app/legal/blob/master/LEGAL - -+find_package(CppGir REQUIRED) -+ - function(generate_cppgir target_name gir) - # cppgir generates all the dependent headers everytime, better to have a global folder - set(gen_dst ${CMAKE_BINARY_DIR}/gen) diff --git a/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch b/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch deleted file mode 100644 index d56bacea69f8..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch +++ /dev/null @@ -1,43 +0,0 @@ -Only link jemalloc for the Telegram binary - -Some combination of factors is making the different codegen tools hang when -jemalloc is linked for those, and they're ran under portage's sandbox. Since -this is only used during build-time, and jemalloc is merely necessary to -improve runtime memory use, it's unnecessary to use it for anything else. - -https://bugs.gentoo.org/802624 - ---- tdesktop-4.2.4-full.orig/Telegram/CMakeLists.txt -+++ tdesktop-4.2.4-full/Telegram/CMakeLists.txt -@@ -1478,6 +1478,14 @@ - desktop-app::external_wayland_client - ) - endif() -+ -+ if (NOT DESKTOP_APP_DISABLE_JEMALLOC) -+ target_link_libraries(Telegram -+ PRIVATE -+ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper> -+ $<LINK_ONLY:desktop-app::external_jemalloc> -+ ) -+ endif() - endif() - - if (build_macstore) ---- tdesktop-4.2.4-full.orig/cmake/options_linux.cmake -+++ tdesktop-4.2.4-full/cmake/options_linux.cmake -@@ -78,14 +78,6 @@ - ) - endif() - --if (NOT DESKTOP_APP_DISABLE_JEMALLOC) -- target_link_libraries(common_options -- INTERFACE -- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper> -- $<LINK_ONLY:desktop-app::external_jemalloc> -- ) --endif() -- - if (DESKTOP_APP_USE_ALLOCATION_TRACER) - target_link_options(common_options - INTERFACE diff --git a/net-im/telegram-desktop/files/tdesktop-5.12.3-qt-namechange.patch b/net-im/telegram-desktop/files/tdesktop-5.12.3-qt-namechange.patch deleted file mode 100644 index 7e84b4664ca5..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-5.12.3-qt-namechange.patch +++ /dev/null @@ -1,30 +0,0 @@ -Qt 6.9.0 has renamed a couple of files, meaning telegram-desktop fails to build - -https://bugs.gentoo.org/959247 - ---- tdesktop-5.12.3-full/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp 2025-06-29 10:42:13.725912379 +0100 -+++ tdesktop-5.12.3-full-new/Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.cpp 2025-06-29 10:52:41.097335188 +0100 -@@ -16,7 +16,11 @@ - #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) - #include <qpa/qplatformintegration.h> - #include <private/qguiapplication_p.h> -+#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) -+#include <private/qdesktopunixservices_p.h> -+#else - #include <private/qgenericunixservices_p.h> -+#endif // Qt >= 6.9.0 - #endif // Qt >= 6.5.0 - - #include <sstream> -@@ -39,7 +43,11 @@ - } - - #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) -+#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0) -+ if (const auto services = dynamic_cast<QDesktopUnixServices*>( -+#else - if (const auto services = dynamic_cast<QGenericUnixServices*>( -+#endif // Qt >= 6.9.0 - QGuiApplicationPrivate::platformIntegration()->services())) { - return services->portalWindowIdentifier(window).toStdString(); - } diff --git a/net-im/telegram-desktop/telegram-desktop-5.12.3-r6.ebuild b/net-im/telegram-desktop/telegram-desktop-5.12.3-r6.ebuild deleted file mode 100644 index b0f6948aedec..000000000000 --- a/net-im/telegram-desktop/telegram-desktop-5.12.3-r6.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit xdg cmake python-any-r1 optfeature flag-o-matic - -DESCRIPTION="Official desktop client for Telegram" -HOMEPAGE="https://desktop.telegram.org https://github.com/telegramdesktop/tdesktop" - -MY_P="tdesktop-${PV}-full" -SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~loong ~riscv" -IUSE="dbus enchant +fonts +jemalloc +libdispatch screencast wayland webkit +X" - -CDEPEND=" - !net-im/telegram-desktop-bin - app-arch/lz4:= - dev-cpp/abseil-cpp:= - dev-cpp/ada:= - >=dev-cpp/glibmm-2.77:2.68 - dev-libs/glib:2 - dev-libs/openssl:= - >=dev-libs/protobuf-21.12 - dev-libs/xxhash - >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,ssl,wayland?,widgets,X?] - >=dev-qt/qtimageformats-6.5:6 - >=dev-qt/qtsvg-6.5:6 - media-libs/libjpeg-turbo:= - ~media-libs/libtgvoip-2.4.4_p20240706 - media-libs/openal - media-libs/opus - media-libs/rnnoise - ~media-libs/tg_owt-0_pre20241202:=[screencast=,X=] - >=media-video/ffmpeg-6:=[opus,vpx] - virtual/minizip:= - kde-frameworks/kcoreaddons:6 - !enchant? ( >=app-text/hunspell-1.7:= ) - enchant? ( app-text/enchant:= ) - jemalloc? ( dev-libs/jemalloc:= ) - libdispatch? ( dev-libs/libdispatch ) - webkit? ( wayland? ( - >=dev-qt/qtdeclarative-6.5:6 - >=dev-qt/qtwayland-6.5:6[compositor(+),qml] - ) ) - X? ( - x11-libs/libxcb:= - x11-libs/xcb-util-keysyms - ) -" -RDEPEND="${CDEPEND} - webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) ) -" -DEPEND="${CDEPEND} - >=dev-cpp/cppgir-2.0_p20240315 - >=dev-cpp/ms-gsl-4.1.0 - dev-cpp/expected-lite - dev-cpp/range-v3 -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/cmake-3.16 - >=dev-cpp/cppgir-2.0_p20240315 - >=dev-libs/gobject-introspection-1.82.0-r2 - dev-util/gdbus-codegen - virtual/pkgconfig - wayland? ( dev-util/wayland-scanner ) -" - -PATCHES=( - "${FILESDIR}"/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch - "${FILESDIR}"/tdesktop-4.10.0-system-cppgir.patch - "${FILESDIR}"/tdesktop-5.2.2-qt6-no-wayland.patch - "${FILESDIR}"/tdesktop-5.2.2-libdispatch.patch - "${FILESDIR}"/tdesktop-5.7.2-cstring.patch - "${FILESDIR}"/tdesktop-5.8.3-cstdint.patch - "${FILESDIR}"/tdesktop-5.12.3-fix-webview.patch - "${FILESDIR}"/tdesktop-5.12.3-qt-namechange.patch -) - -pkg_pretend() { - if has ccache ${FEATURES}; then - ewarn "ccache does not work with ${PN} out of the box" - ewarn "due to usage of precompiled headers" - ewarn "check bug https://bugs.gentoo.org/715114 for more info" - ewarn - fi -} - -src_prepare() { - # Happily fail if libraries aren't found... - find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \ - \! -path './Telegram/lib_webview/CMakeLists.txt' \ - \! -path './cmake/external/expected/CMakeLists.txt' \ - \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \ - \! -path './cmake/external/qt/package.cmake' \ - -print0 | xargs -0 sed -i \ - -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \ - -e '/find_package(/s/)/ REQUIRED)/' || die - # Make sure to check the excluded files for new - # CMAKE_DISABLE_FIND_PACKAGE entries. - - # Control QtDBus dependency from here, to avoid messing with QtGui. - # QtGui will use find_package to find QtDbus as well, which - # conflicts with the -DCMAKE_DISABLE_FIND_PACKAGE method. - if ! use dbus; then - sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \ - -i cmake/external/qt/package.cmake || die - fi - - # Control automagic dep only needed when USE="webkit wayland" - if ! use webkit || ! use wayland; then - sed -e 's/QT_CONFIG(wayland_compositor_quick)/0/' \ - -i Telegram/lib_webview/webview/platform/linux/webview_linux_compositor.h || die - fi - - cmake_src_prepare -} - -src_configure() { - # Having user paths sneak into the build environment through the - # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir: - # - bug 909038: can't read from flatpak directories (fixed upstream) - # - bug 920819: system-wide directories ignored when variable is set - export XDG_DATA_DIRS="${ESYSROOT}/usr/share" - - # Evil flag (bug #919201) - filter-flags -fno-delete-null-pointer-checks - - # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep - # the same state across both projects. - # See https://bugs.gentoo.org/866055 - append-cppflags -DNDEBUG - - # https://github.com/telegramdesktop/tdesktop/issues/17437#issuecomment-1001160398 - use !libdispatch && append-cppflags -DCRL_FORCE_QT - - local use_webkit_wayland=$(use webkit && use wayland && echo yes || echo no) - local mycmakeargs=( - -DQT_VERSION_MAJOR=6 - - # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939) - # Upstream never tests this any other way - -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF - - # Control automagic dependencies on certain packages - ## Header-only lib, some git version. - -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=${use_webkit_wayland} - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=${use_webkit_wayland} - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WaylandClient=$(usex !wayland) - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WaylandCompositor=${use_webkit_wayland} - - -DDESKTOP_APP_USE_LIBDISPATCH=$(usex libdispatch) - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) - -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) - ## Enables enchant and disables hunspell - -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) - ## Use system fonts instead of bundled ones - -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts) - ) - - if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then - einfo "Found custom API credentials" - mycmakeargs+=( - -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}" - -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}" - ) - else - # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml - # Building with snapcraft API credentials by default - # Custom API credentials can be obtained here: - # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md - # After getting credentials you can export variables: - # export MY_TDESKTOP_API_ID="17349"" - # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb" - # and restart the build" - # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop - # portage will use custom variable every build automatically - mycmakeargs+=( - -DTDESKTOP_API_ID="611335" - -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c" - ) - fi - - cmake_src_configure -} - -pkg_postinst() { - xdg_pkg_postinst - if ! use X && ! use screencast; then - ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!" - ewarn - fi - if ! use jemalloc && use elibc_glibc; then - # https://github.com/telegramdesktop/tdesktop/issues/16084 - # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003 - ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!" - ewarn "Do NOT report issues about RAM usage without enabling this flag first." - ewarn - fi - if ! use libdispatch; then - ewarn "Disabling USE=libdispatch may cause performance degradation" - ewarn "due to fallback to poor QThreadPool! Please see" - ewarn "https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode" - ewarn - fi - optfeature_header - optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats:6[avif,heif,jpegxl] -} diff --git a/net-im/telegram-desktop/telegram-desktop-6.1.3.ebuild b/net-im/telegram-desktop/telegram-desktop-6.1.3.ebuild deleted file mode 100644 index 50dca6b84203..000000000000 --- a/net-im/telegram-desktop/telegram-desktop-6.1.3.ebuild +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit xdg cmake python-any-r1 optfeature toolchain-funcs flag-o-matic - -DESCRIPTION="Official desktop client for Telegram" -HOMEPAGE="https://desktop.telegram.org https://github.com/telegramdesktop/tdesktop" - -MY_P="tdesktop-${PV}-full" -SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~loong" -IUSE="dbus enchant +fonts +libdispatch screencast wayland webkit +X" - -CDEPEND=" - !net-im/telegram-desktop-bin - app-arch/lz4:= - dev-cpp/abseil-cpp:= - dev-cpp/ada:= - dev-cpp/cld3:= - >=dev-cpp/glibmm-2.77:2.68 - dev-libs/glib:2 - dev-libs/openssl:= - >=dev-libs/protobuf-21.12 - dev-libs/qr-code-generator:= - dev-libs/xxhash - >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,ssl,wayland?,widgets,X?] - >=dev-qt/qtimageformats-6.5:6 - >=dev-qt/qtsvg-6.5:6 - media-libs/libjpeg-turbo:= - media-libs/openal - media-libs/opus - media-libs/rnnoise - >=media-libs/tg_owt-0_pre20241202:=[screencast=,X=] - >=media-video/ffmpeg-4:=[opus,vpx] - net-libs/tdlib:=[tde2e] - virtual/minizip:= - kde-frameworks/kcoreaddons:6 - !enchant? ( >=app-text/hunspell-1.7:= ) - enchant? ( app-text/enchant:= ) - libdispatch? ( dev-libs/libdispatch ) - webkit? ( wayland? ( - >=dev-qt/qtdeclarative-6.5:6 - >=dev-qt/qtwayland-6.5:6[compositor(+),qml] - ) ) - X? ( - x11-libs/libxcb:= - x11-libs/xcb-util-keysyms - ) -" -RDEPEND="${CDEPEND} - webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) ) -" -DEPEND="${CDEPEND} - >=dev-cpp/cppgir-2.0_p20240315 - >=dev-cpp/ms-gsl-4.1.0 - dev-cpp/expected - dev-cpp/expected-lite - dev-cpp/range-v3 -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-build/cmake-3.16 - >=dev-cpp/cppgir-2.0_p20240315 - >=dev-libs/gobject-introspection-1.82.0-r2 - dev-util/gdbus-codegen - virtual/pkgconfig - wayland? ( dev-util/wayland-scanner ) -" -# NOTE: dev-cpp/expected-lite used indirectly by a dev-cpp/cppgir header file - -PATCHES=( - "${FILESDIR}"/tdesktop-5.2.2-qt6-no-wayland.patch - "${FILESDIR}"/tdesktop-5.2.2-libdispatch.patch - "${FILESDIR}"/tdesktop-5.7.2-cstring.patch - "${FILESDIR}"/tdesktop-5.8.3-cstdint.patch - "${FILESDIR}"/tdesktop-5.12.3-fix-webview.patch - "${FILESDIR}"/tdesktop-5.14.3-system-cppgir.patch -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]]; then - if has ccache ${FEATURES}; then - ewarn "ccache does not work with ${PN} out of the box" - ewarn "due to usage of precompiled headers" - ewarn "check bug https://bugs.gentoo.org/715114 for more info" - ewarn - fi - if tc-is-clang && [[ $(tc-get-cxx-stdlib) = libstdc++ ]]; then - ewarn "this package frequently fails to compile with clang" - ewarn "in combination with libstdc++." - ewarn "please use libc++, or build this package with gcc." - ewarn "(if you have a patch or a fix, please open a" - ewarn "bug report about it)" - ewarn - fi - fi -} - -src_prepare() { - # Happily fail if libraries aren't found... - find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \ - \! -path './cmake/external/qt/package.cmake' \ - -print0 | xargs -0 sed -i \ - -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \ - -e '/find_package(/s/)/ REQUIRED)/' \ - -e '/find_library(/s/)/ REQUIRED)/' || die - # Make sure to check the excluded files for new - # CMAKE_DISABLE_FIND_PACKAGE entries. - - # Some packages are found through pkg_check_modules, rather than find_package - sed -e '/find_package(lz4 /d' -i cmake/external/lz4/CMakeLists.txt || die - sed -e '/find_package(Opus /d' -i cmake/external/opus/CMakeLists.txt || die - sed -e '/find_package(xxHash /d' -i cmake/external/xxhash/CMakeLists.txt || die - - # Control QtDBus dependency from here, to avoid messing with QtGui. - # QtGui will use find_package to find QtDbus as well, which - # conflicts with the -DCMAKE_DISABLE_FIND_PACKAGE method. - if ! use dbus; then - sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \ - -i cmake/external/qt/package.cmake || die - fi - - # Control automagic dep only needed when USE="webkit wayland" - if ! use webkit || ! use wayland; then - sed -e 's/QT_CONFIG(wayland_compositor_quick)/0/' \ - -i Telegram/lib_webview/webview/platform/linux/webview_linux_compositor.h || die - fi - - cmake_src_prepare -} - -src_configure() { - # Having user paths sneak into the build environment through the - # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir: - # - bug 909038: can't read from flatpak directories (fixed upstream) - # - bug 920819: system-wide directories ignored when variable is set - export XDG_DATA_DIRS="${ESYSROOT}/usr/share" - - # Evil flag (bug #919201) - filter-flags -fno-delete-null-pointer-checks - - # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep - # the same state across both projects. - # See https://bugs.gentoo.org/866055 - append-cppflags -DNDEBUG - - # https://github.com/telegramdesktop/tdesktop/issues/17437#issuecomment-1001160398 - use !libdispatch && append-cppflags -DCRL_FORCE_QT - - local no_webkit_wayland=$(use webkit && use wayland && echo no || echo yes) - local use_webkit_wayland=$(use webkit && use wayland && echo yes || echo no) - local mycmakeargs=( - -DQT_VERSION_MAJOR=6 - - # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939) - # Upstream never tests this any other way - -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF - - # Control automagic dependencies on certain packages - ## These libraries are only used in lib_webview, for wayland - ## See Telegram/lib_webview/webview/platform/linux/webview_linux_compositor.h - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=${no_webkit_wayland} - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=${no_webkit_wayland} - -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WaylandCompositor=${no_webkit_wayland} - - # Make sure dependencies that aren't patched to be REQUIRED in - # src_prepare, are found. This was suggested to me by the telegram - # devs, in lieu of having explicit flags in the build system. - -DCMAKE_REQUIRE_FIND_PACKAGE_Qt6DBus=$(usex dbus) - -DCMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick=${use_webkit_wayland} - -DCMAKE_REQUIRE_FIND_PACKAGE_Qt6QuickWidgets=${use_webkit_wayland} - -DCMAKE_REQUIRE_FIND_PACKAGE_Qt6WaylandCompositor=${use_webkit_wayland} - - -DDESKTOP_APP_DISABLE_QT_PLUGINS=ON - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - ## Enables enchant and disables hunspell - -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) - ## Use system fonts instead of bundled ones - -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts) - ## See tdesktop-*-libdispatch.patch - -DDESKTOP_APP_USE_LIBDISPATCH=$(usex libdispatch) - ) - - if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then - einfo "Found custom API credentials" - mycmakeargs+=( - -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}" - -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}" - ) - else - # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml - # Building with snapcraft API credentials by default - # Custom API credentials can be obtained here: - # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md - # After getting credentials you can export variables: - # export MY_TDESKTOP_API_ID="17349"" - # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb" - # and restart the build" - # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop - # portage will use custom variable every build automatically - mycmakeargs+=( - -DTDESKTOP_API_ID="611335" - -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c" - ) - fi - - cmake_src_configure -} - -src_compile() { - # There's a bug where sometimes, it will rebuild/relink during src_install - # Make sure that happens here, instead. - cmake_build - cmake_build -} - -pkg_postinst() { - xdg_pkg_postinst - if ! use X && ! use screencast; then - ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!" - ewarn - fi - if ! use libdispatch; then - ewarn "Disabling USE=libdispatch may cause performance degradation" - ewarn "due to fallback to poor QThreadPool! Please see" - ewarn "https://github.com/telegramdesktop/tdesktop/wiki/The-Packaged-Building-Mode" - ewarn - fi - optfeature_header - optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats:6[avif,heif,jpegxl] -}
