summaryrefslogtreecommitdiff
path: root/net-im/telegram-desktop
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-15 00:01:28 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-15 00:01:28 +0100
commit514c44bb9cc421df9c323acbad430cbb6ee5b89a (patch)
tree22621125c9bc9177d5339f093f57cb928531f33f /net-im/telegram-desktop
parent59c2499e0c9720169c9d5a02168c51c807a21467 (diff)
gentoo auto-resync : 15:05:2024 - 00:01:27
Diffstat (limited to 'net-im/telegram-desktop')
-rw-r--r--net-im/telegram-desktop/Manifest9
-rw-r--r--net-im/telegram-desktop/files/tdesktop-5.0.1-qt6-no-wayland.patch95
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild237
-rw-r--r--net-im/telegram-desktop/telegram-desktop-5.0.0.ebuild246
-rw-r--r--net-im/telegram-desktop/telegram-desktop-5.0.1.ebuild (renamed from net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild)7
5 files changed, 103 insertions, 491 deletions
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index 8ea5d0f429c6..9a5d016eb20f 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -1,12 +1,9 @@
AUX tdesktop-4.10.0-system-cppgir.patch 1150 BLAKE2B d8a6e1320c2ccfd4f1c3f63bfda11f58a499df3880f262adf3f1b74f217dc8c4cc62a8c250d71ff809fb67c797948b53fac5a4d5c584a116b1609ea432662d73 SHA512 0fd213f9aec3a6ff9be11654934126960309cb8e1241dd694852bffeb7a37a08d3c78a332a5bb7e6529358df69bfddb7ccb58138e6dc331f20dd5337ddc9a1c1
AUX tdesktop-4.10.5-qt_compare.patch 381 BLAKE2B 5a5ceea9163f5c2a4cda0df5d10e4013a9634e11a3a3694e1d09166ec311c1089f75b48fa6d618965b722daae40d1f297484ea954341ef8420c7259425eb0ef8 SHA512 d37fea06e9178c778560d2f46b2953794b1605635bdcbf1343a5077c1270d7ec56e5cbb00bdf6caf7eafe21a3c44faa719b9376b8d317d2a109308107fae4226
AUX tdesktop-4.2.4-jemalloc-only-telegram-r1.patch 1307 BLAKE2B b27f65973a6fa8c83469e0c6419a600ca04ebbf35f6c4a406129867eee644082c4f0164fb71afbc6ae729bb4037d0cf6c68ea1ad78f6268bfe245b83e4290400 SHA512 d2c33dd18e354ebe6cb7143b58e9f61dc4cd664bb1e7ad9c60f562efbb05cc72d5b36270af96b866583b366b59cc34cadee3a62dcbd40433276b80b2511e1fcb
+AUX tdesktop-5.0.1-qt6-no-wayland.patch 4071 BLAKE2B 941a0b874ecd5983179586c796990e23548c117a200c0a2ad714046ee6ccfccf9f5427b0a6452517007a1c2569c79cb9728dc056a2559aaacf648081f141b50a SHA512 5e3ce484290d46e9460ace719abc5afb6a33c4c0d4ec4647d3428a31d6b6f7aafead59ee3219e0083ead567467a078ed0aa011d4243fce82636a7319e83430d2
DIST tdesktop-4.15.0-full.tar.gz 68286818 BLAKE2B 2bd4d59370a4f97aa3c1b1d64fa7eea114539edcff46ea30a5361cefeeb1de8a1954be91a1a420ddc1b1a30970944387c2cd3749badaa494e53862066c624ac3 SHA512 95aa5f14a9a88b9c6421049445f59f1c5c5d7ab4ca4e8b8f4ab7389bdb8f3cc6b29fea270574881633035acec769ba271261f84ec269010c63af28a03719da98
-DIST tdesktop-4.15.2-full.tar.gz 69539402 BLAKE2B 95d6cd3eead56f7cb2aeafd0cc1a05d740ec243644e6d318f415a7fa6c8ad94d3a95cfc9082ba04507a024c81bfc15700ad6adcbfd932ca1993a3310744ac196 SHA512 6e65183d5e77d17e11d0c70e1654373e69f6243f2879cf403701e23acd5aed9df6c6892a1c7c83fd975a858e90e20d73824d0754a2f96ad5af6e3de6515e2627
-DIST tdesktop-4.16.8-full.tar.gz 70436084 BLAKE2B 5e64372de39a94b2fb7d4b0b8cb4896e9f4bb9eb1421898f30b686a6ce02141cebc42e2be280107ccbbda771f868de365267248dbdab393d88e204fa197f5e3d SHA512 7d9d8ab4c62cf9e4f44ff879953f3d543427f7fd80682f6d08b58fb3dec481b0082086c3958e38b809b886359a76b1f5450142dbcfb58c867014d78f5fa19f60
-DIST tdesktop-5.0.0-full.tar.gz 69454950 BLAKE2B 3bea8eb50cc5a86b12cbc8a1e6ccd537be7ecc0b90427a4325ee8e9b18469575c0026763e469241f0c71f0e9f0a1be799dfadc62d4177a00d804845c81fae1cc SHA512 9e674cf8b8bbb94cc7bd0fd9493c435f25314a317086e8c102fe0309bdcd5805b605257883831eb8548825597aab5b9f8f0b5074689b630b63f301506402323d
+DIST tdesktop-5.0.1-full.tar.gz 69454563 BLAKE2B 0bbb0ee0c096a344b00091795c2bfadd71272b01966daed8f44fd7010c4c4ecfb265c80ecd773934dd0636be1e703bbadc0038befdefd6da93dfadea40e53fba SHA512 45b7833f20f01d78c09163e205af7d68afffcfc88075ba6af35dc6cbbce1f0205c0150b137ca09e6bdaf271240e4d1336411ad427bc27a2b2ad42dc435ee0ec2
EBUILD telegram-desktop-4.15.0-r2.ebuild 7396 BLAKE2B f869a09a351aed1d0a9f9978085b2999f5e4150a124d117dc281dce0bd7e0537eed3b6c380ff5c7ebfdd842b54f9dbd6add2fc345ff8e45cfc91d2d842e2618e SHA512 6c4f6571992d97fc4cc54cf4db03ad376affc61a78f137f9a9ca59ab3c44af2a5155261bb523bbfd5ea117b7bd9a99adb649639f20772b2293d73d2611db26b0
-EBUILD telegram-desktop-4.15.2-r1.ebuild 7397 BLAKE2B 80f9511ffdd2c5827bc00ce5574bc0af59d299d1bc2d09953c3736f4a873513d94d4b65ee523af84b5c60b876013b07277d8eeed13dd00d0f9a051b90c9495d7 SHA512 3092a3e3d6dedcd5b32046573e36894a80da73ab251394e6ece32a8f4a23fa6369b4282a04eb18270f6be22de084e13cf5bd3012f695044330ca62be90ea4a0c
-EBUILD telegram-desktop-4.16.8.ebuild 7870 BLAKE2B b5e806de593763d87959d1ce775433e6c070a83c46d4e1e9d16230fc2ff6c1abf8f4da83a226c9e241006d989822687aa6cae14533bfcaf7f38801804bbd3e74 SHA512 86207eaaa1222a6538a20506034178f662cb1cb748bb3d097d72ffb026223e46b4e9e641249f29d34835b4c72be6128bd6fb7407a8b5b4ef79fea2f7b31794eb
-EBUILD telegram-desktop-5.0.0.ebuild 7870 BLAKE2B b5e806de593763d87959d1ce775433e6c070a83c46d4e1e9d16230fc2ff6c1abf8f4da83a226c9e241006d989822687aa6cae14533bfcaf7f38801804bbd3e74 SHA512 86207eaaa1222a6538a20506034178f662cb1cb748bb3d097d72ffb026223e46b4e9e641249f29d34835b4c72be6128bd6fb7407a8b5b4ef79fea2f7b31794eb
+EBUILD telegram-desktop-5.0.1.ebuild 8060 BLAKE2B 088de521ebe31c3cea5b54c9839411d144cb3c678166ad1d604750a6c1c12ee845cebb50aa5d55b7e99903a34a75ba32d2ab3d15cb9cd35ebd0dfe12e478284d SHA512 a9c61e090497346b7dac7b7c819ed39fd01452079b14ef5bb5a2871818bb2315fbc5370cdd65c88fe7ce9b3dbd07d9df80c8c7bcf8043c078bca23f55316e649
MISC metadata.xml 1307 BLAKE2B 13008e6d601f7e537bbfa6c65091f442a68320858ec0f1433f31ef69890dbdd730464a1e9d5dfc125982895a4fdfaa48edb643670fffba538dcdd44ceffa9cf4 SHA512 a7e0db84964fd04ab37641a23d9b722191d1c5731b946d7e4859c6b0dd2f5a53eadb88297fd24dadd66c5ee097aa0622adafae74d8819e940b1aa9e612ab1e38
diff --git a/net-im/telegram-desktop/files/tdesktop-5.0.1-qt6-no-wayland.patch b/net-im/telegram-desktop/files/tdesktop-5.0.1-qt6-no-wayland.patch
new file mode 100644
index 000000000000..10a8743a0d31
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-5.0.1-qt6-no-wayland.patch
@@ -0,0 +1,95 @@
+Allow disabling wayland integration for Qt6 builds
+
+Upstream has removed the required toggle for wayland integration, and instead
+is forcing it when the program is being built with Qt6 version 6.5.0 or higher.
+
+Currently this is simple to work around, but its future feasibility remains to
+be seen, depending on what upstream thinks about this.
+
+https://bugs.gentoo.org/928451
+https://github.com/desktop-app/cmake_helpers/commit/a428df5440e76a726abc30924766ac7da0cb381c
+
+--- tdesktop-5.0.1-full.orig/Telegram/lib_base/base/platform/linux/base_linux_xdg_activation_token.cpp
++++ tdesktop-5.0.1-full/Telegram/lib_base/base/platform/linux/base_linux_xdg_activation_token.cpp
+@@ -15,7 +15,7 @@
+ namespace base::Platform {
+
+ void RunWithXdgActivationToken(Fn<void(QString)> callback) {
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ const auto window = QGuiApplication::focusWindow();
+ if (!window) {
+ callback({});
+--- tdesktop-5.0.1-full.orig/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
++++ tdesktop-5.0.1-full/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
+@@ -413,7 +413,7 @@
+ }
+ #endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
+
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_X11_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ void ShowWaylandWindowMenu(not_null<QWidget*> widget, const QPoint &point) {
+ static const auto wl_proxy_marshal_array = [] {
+ void (*result)(
+@@ -533,7 +533,7 @@
+ }
+
+ bool WindowMarginsSupported() {
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ static const auto WaylandResult = [] {
+ using namespace QNativeInterface::Private;
+ QWindow window;
+@@ -560,7 +560,7 @@
+ }
+
+ void SetWindowMargins(not_null<QWidget*> widget, const QMargins &margins) {
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ using namespace QNativeInterface::Private;
+ const auto window = not_null(widget->windowHandle());
+ const auto platformWindow = not_null(window->handle());
+@@ -582,7 +582,7 @@
+ }
+
+ void UnsetWindowMargins(not_null<QWidget*> widget) {
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ using namespace QNativeInterface::Private;
+ if (const auto native = not_null(widget->windowHandle())
+ ->nativeInterface<QWaylandWindow>()) {
+@@ -600,7 +600,7 @@
+ }
+
+ void ShowWindowMenu(not_null<QWidget*> widget, const QPoint &point) {
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
++#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
+ if (::Platform::IsWayland()) {
+ ShowWaylandWindowMenu(widget, point);
+ return;
+--- tdesktop-5.0.1-full.orig/cmake/options.cmake
++++ tdesktop-5.0.1-full/cmake/options.cmake
+@@ -23,6 +23,13 @@
+ )
+ endif()
+
++if (DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
++ target_compile_definitions(common_options
++ INTERFACE
++ DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
++ )
++endif()
++
+ if (WIN32)
+ include(cmake/options_win.cmake)
+ elseif (APPLE)
+--- tdesktop-5.0.1-full.orig/cmake/variables.cmake
++++ tdesktop-5.0.1-full/cmake/variables.cmake
+@@ -21,6 +21,7 @@
+
+ option(DESKTOP_APP_LOTTIE_USE_CACHE "Use caching in lottie animations." ON)
+ cmake_dependent_option(DESKTOP_APP_DISABLE_X11_INTEGRATION "Disable all code for X11 integration." OFF LINUX ON)
++cmake_dependent_option(DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION "Disable all code for Wayland integration." OFF LINUX ON)
+ cmake_dependent_option(DESKTOP_APP_USE_ALLOCATION_TRACER "Use simple allocation tracer." OFF LINUX OFF)
+ cmake_dependent_option(DESKTOP_APP_USE_PACKAGED_LAZY "Bundle recommended Qt plugins for self-contained packages." OFF LINUX OFF)
+ option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled patched ones." OFF)
diff --git a/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild
deleted file mode 100644
index a33208b90fa5..000000000000
--- a/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit xdg cmake python-any-r1 optfeature flag-o-matic
-
-DESCRIPTION="Official desktop client for Telegram"
-HOMEPAGE="https://desktop.telegram.org"
-
-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 ~ppc64 ~riscv"
-IUSE="dbus enchant +fonts screencast qt6 qt6-imageformats wayland webkit +X"
-REQUIRED_USE="
- qt6-imageformats? ( qt6 )
-"
-
-KIMAGEFORMATS_RDEPEND="
- media-libs/libavif:=
- media-libs/libheif:=
- >=media-libs/libjxl-0.8.0:=
-"
-CDEPEND="
- !net-im/telegram-desktop-bin
- app-arch/lz4:=
- dev-cpp/abseil-cpp:=
- >=dev-cpp/glibmm-2.77:2.68
- dev-libs/glib:2
- dev-libs/libdispatch
- dev-libs/openssl:=
- dev-libs/protobuf
- dev-libs/xxhash
- media-libs/libjpeg-turbo:=
- ~media-libs/libtgvoip-2.4.4_p20221208
- media-libs/openal
- media-libs/opus
- media-libs/rnnoise
- ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
- media-video/ffmpeg:=[opus,vpx]
- sys-libs/zlib:=[minizip]
- !enchant? ( >=app-text/hunspell-1.7:= )
- enchant? ( app-text/enchant:= )
- !qt6? (
- >=dev-qt/qtcore-5.15:5=
- >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
- >=dev-qt/qtimageformats-5.15:5
- >=dev-qt/qtnetwork-5.15:5[ssl]
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5[png,X?]
- kde-frameworks/kcoreaddons:5
- webkit? (
- >=dev-qt/qtdeclarative-5.15:5
- >=dev-qt/qtwayland-5.15:5
- )
- )
- qt6? (
- >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
- >=dev-qt/qtimageformats-6.5:6
- >=dev-qt/qtsvg-6.5:6
- webkit? (
- >=dev-qt/qtdeclarative-6.5:6
- >=dev-qt/qtwayland-6.5:6[compositor]
- )
- qt6-imageformats? (
- >=dev-qt/qtimageformats-6.5:6=
- ${KIMAGEFORMATS_RDEPEND}
- )
- )
- 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-0_p20240110
- >=dev-cpp/ms-gsl-4
- dev-cpp/expected-lite
- dev-cpp/range-v3
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-build/cmake-3.16
- >=dev-cpp/cppgir-0_p20230926
- dev-util/gdbus-codegen
- virtual/pkgconfig
- wayland? ( dev-util/wayland-scanner )
-"
-
-PATCHES=(
- "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
- "${FILESDIR}/tdesktop-4.10.5-qt_compare.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() {
- # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
- # build in gentoo right now.
- if use qt6-imageformats; then
- sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
- cmake/external/kimageformats/CMakeLists.txt || die
- printf '%s\n' \
- 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
- 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
- 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
- >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
- fi
- # kde-frameworks/kcoreaddons is bundled when using qt6.
-
- # 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.
- if ! use dbus; then
- sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
- -i cmake/external/qt/package.cmake || 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="${EPREFIX}/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'
-
- local qt=$(usex qt6 6 5)
- local mycmakeargs=(
- -DQT_VERSION_MAJOR=${qt}
-
- # 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_Qt${qt}Quick=$(usex !webkit)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
- ## Only used in Telegram/lib_webview/CMakeLists.txt
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
- ## KF6CoreAddons is currently unavailable in ::gentoo
- -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
-
- -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
- -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
- ## 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 wayland && ! use qt6; then
- ewarn "Wayland-specific integrations have been deprecated with Qt5."
- ewarn "The app will continue to function under wayland, but some"
- ewarn "functionality may be reduced."
- ewarn "These integrations are only supported when built with Qt6."
- ewarn
- fi
- if use qt6 && ! use qt6-imageformats; then
- elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
- elog
- fi
- optfeature_header
- if ! use qt6; then
- optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
- fi
-}
diff --git a/net-im/telegram-desktop/telegram-desktop-5.0.0.ebuild b/net-im/telegram-desktop/telegram-desktop-5.0.0.ebuild
deleted file mode 100644
index 96d25257595e..000000000000
--- a/net-im/telegram-desktop/telegram-desktop-5.0.0.ebuild
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit xdg cmake python-any-r1 optfeature flag-o-matic
-
-DESCRIPTION="Official desktop client for Telegram"
-HOMEPAGE="https://desktop.telegram.org"
-
-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 ~ppc64 ~riscv"
-IUSE="dbus enchant +fonts +jemalloc screencast qt6 qt6-imageformats wayland webkit +X"
-REQUIRED_USE="
- qt6-imageformats? ( qt6 )
-"
-
-KIMAGEFORMATS_RDEPEND="
- media-libs/libavif:=
- media-libs/libheif:=
- >=media-libs/libjxl-0.8.0:=
-"
-CDEPEND="
- !net-im/telegram-desktop-bin
- app-arch/lz4:=
- dev-cpp/abseil-cpp:=
- >=dev-cpp/glibmm-2.77:2.68
- dev-libs/glib:2
- dev-libs/libdispatch
- dev-libs/openssl:=
- dev-libs/protobuf
- dev-libs/xxhash
- media-libs/libjpeg-turbo:=
- ~media-libs/libtgvoip-2.4.4_p20221208
- media-libs/openal
- media-libs/opus
- media-libs/rnnoise
- ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
- media-video/ffmpeg:=[opus,vpx]
- sys-libs/zlib:=[minizip]
- !enchant? ( >=app-text/hunspell-1.7:= )
- enchant? ( app-text/enchant:= )
- jemalloc? ( dev-libs/jemalloc:= )
- !qt6? (
- >=dev-qt/qtcore-5.15:5=
- >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
- >=dev-qt/qtimageformats-5.15:5
- >=dev-qt/qtnetwork-5.15:5[ssl]
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5[png,X?]
- kde-frameworks/kcoreaddons:5
- webkit? (
- >=dev-qt/qtdeclarative-5.15:5
- >=dev-qt/qtwayland-5.15:5
- )
- )
- qt6? (
- >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
- >=dev-qt/qtimageformats-6.5:6
- >=dev-qt/qtsvg-6.5:6
- webkit? (
- >=dev-qt/qtdeclarative-6.5:6
- >=dev-qt/qtwayland-6.5:6[compositor]
- )
- qt6-imageformats? (
- >=dev-qt/qtimageformats-6.5:6=
- ${KIMAGEFORMATS_RDEPEND}
- )
- )
- 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
- dev-cpp/expected-lite
- dev-cpp/range-v3
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-build/cmake-3.16
- >=dev-cpp/cppgir-2.0_p20240315
- 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"
-)
-
-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() {
- # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
- # build in gentoo right now.
- if use qt6-imageformats; then
- sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
- cmake/external/kimageformats/CMakeLists.txt || die
- printf '%s\n' \
- 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
- 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
- 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
- >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
- fi
- # kde-frameworks/kcoreaddons is bundled when using qt6.
-
- # 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.
- if ! use dbus; then
- sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
- -i cmake/external/qt/package.cmake || 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="${EPREFIX}/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'
-
- local qt=$(usex qt6 6 5)
- local mycmakeargs=(
- -DQT_VERSION_MAJOR=${qt}
-
- # 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_Qt${qt}Quick=$(usex !webkit)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
- ## Only used in Telegram/lib_webview/CMakeLists.txt
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
- ## KF6CoreAddons is currently unavailable in ::gentoo
- -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
-
- -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 wayland && ! use qt6; then
- ewarn "Wayland-specific integrations have been deprecated with Qt5."
- ewarn "The app will continue to function under wayland, but some"
- ewarn "functionality may be reduced."
- ewarn "These integrations are only supported when built with Qt6."
- ewarn
- fi
- if use qt6 && ! use qt6-imageformats; then
- elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
- elog
- fi
- optfeature_header
- if ! use qt6; then
- optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
- fi
-}
diff --git a/net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild b/net-im/telegram-desktop/telegram-desktop-5.0.1.ebuild
index 96d25257595e..0dfe60495f3e 100644
--- a/net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild
+++ b/net-im/telegram-desktop/telegram-desktop-5.0.1.ebuild
@@ -58,7 +58,7 @@ CDEPEND="
kde-frameworks/kcoreaddons:5
webkit? (
>=dev-qt/qtdeclarative-5.15:5
- >=dev-qt/qtwayland-5.15:5
+ >=dev-qt/qtwayland-5.15:5[compositor(+)]
)
)
qt6? (
@@ -67,7 +67,7 @@ CDEPEND="
>=dev-qt/qtsvg-6.5:6
webkit? (
>=dev-qt/qtdeclarative-6.5:6
- >=dev-qt/qtwayland-6.5:6[compositor]
+ >=dev-qt/qtwayland-6.5:6[compositor,qml]
)
qt6-imageformats? (
>=dev-qt/qtimageformats-6.5:6=
@@ -100,6 +100,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch"
"${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
+ "${FILESDIR}/tdesktop-5.0.1-qt6-no-wayland.patch"
)
pkg_pretend() {
@@ -138,6 +139,8 @@ src_prepare() {
# 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