diff options
author | Esteve Varela Colominas <esteve.varela@gmail.com> | 2023-10-30 22:16:34 +0100 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2023-10-31 01:07:04 +0000 |
commit | 5849ca41ca900c2ced53623319df5f806dc4752a (patch) | |
tree | 8e0ba1a1f9b82e56d9a86ed8f96e708934187e97 /net-im/telegram-desktop | |
parent | package.mask: drop telegram-desktop mask (diff) | |
download | gentoo-5849ca41ca900c2ced53623319df5f806dc4752a.tar.gz gentoo-5849ca41ca900c2ced53623319df5f806dc4752a.tar.bz2 gentoo-5849ca41ca900c2ced53623319df5f806dc4752a.zip |
net-im/telegram-desktop: Drop old
Signed-off-by: Esteve Varela Colominas <esteve.varela@gmail.com>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'net-im/telegram-desktop')
6 files changed, 0 insertions, 599 deletions
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest index da3c3b82c76f..cbf158e3a78b 100644 --- a/net-im/telegram-desktop/Manifest +++ b/net-im/telegram-desktop/Manifest @@ -1,4 +1,3 @@ DIST tdesktop-4.10.3-full.tar.gz 67750018 BLAKE2B 395484594dc201019b5cdf3fdaabe1155dca99504b74e65951b6264b61ed0403bb1e016542c6c59370b3ee39d1449ea223409fc64fd6bff723c1be43b615570a SHA512 1e7c0f32b4e17c1f1c39aa9a4f35ce2867324c4410a30fde2c2d6ca5d5fe59a84f58f93cb6b4f8c7ad04fa0adcaf5a276dd2aa7dee0ef34446e6bb95fafa49d6 DIST tdesktop-4.11.1-full.tar.gz 68309005 BLAKE2B ae99dbb5ae051c4bfe54529cc3ee6144c02fd25e897e217757d941526c7af08bece6c8b556b5ad41dcc1a9cad006ba7c4e8f4ff4f9bdd302f4ff58f9c763f820 SHA512 0897846c652d62b7ce301ec4ac0b1df992685448a79e651efe66619a6203f5ac020cb606bc29212aa673994584b1560e4ca38e85f5095ecd818ae66f978aa73a DIST tdesktop-4.8.1-full.tar.gz 63997319 BLAKE2B daac461f0b3205bf647027329660b43f4646db987e27bfe2a2848bfbfb3309c503132d1533f26e95512520417d30f5063b1c395b174787aa7533727549ee77e5 SHA512 4dc495e4502bdba634c4468af4f1321aef1152d619c811f004489f8616504a465069508239eae41a08a83e190a61d26881733ebc38dd88160f81dce070bb0567 -DIST tdesktop-4.8.4-full.tar.gz 69090626 BLAKE2B e2c6072b7b90911068ed57ed651176fb4d772f14710d2a4012bda47dae50be7f3050242c3a6950035f3f33a4041257cadac54e639691735f6acfda98c8db8b7b SHA512 7988d047cb72888e303f9902f04bd2168f67fb18a4451e5122ce80b0aef726173f0ee10f83b8bb713a46e02c9ec4150ad6128e4288be432ed3d590011f80e4dd diff --git a/net-im/telegram-desktop/files/tdesktop-4.8.3-fix-clang.patch b/net-im/telegram-desktop/files/tdesktop-4.8.3-fix-clang.patch deleted file mode 100644 index 5135c3c5ef4b..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-4.8.3-fix-clang.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix build issues with clang - -/var/tmp/portage/net-im/telegram-desktop-4.8.3/work/tdesktop-4.8.3-full/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp:198:4: error: reference to 'GObject' is ambiguous - GObject::Object, - ^ -/usr/include/glib-2.0/gobject/gobject.h:192:42: note: candidate found by name lookup is 'GObject' -typedef struct _GObject GObject; - ^ -/var/tmp/portage/net-im/telegram-desktop-4.8.3/work/tdesktop-4.8.3-full_build/gen/gobject/_functions_impl.hpp:10:11: note: candidate found by name lookup is 'gi::repository::GObject' -namespace GObject { - ^ ---- tdesktop-4.8.3-full.orig/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp -+++ tdesktop-4.8.3-full/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp -@@ -195,7 +195,7 @@ - player().set_loop_status("None"); - player().set_rate(1.0); - const auto executeCommand = [=]( -- GObject::Object, -+ gi::repository::GObject::Object, - Gio::DBusMethodInvocation invocation) { - base::Integration::Instance().enterFromEventLoop([&] { - _commandRequests.fire_copy( -@@ -232,23 +232,23 @@ - return true; - }); - player().property_loop_status().signal_notify().connect([=]( -- GObject::Object, -- GObject::ParamSpec) { -+ gi::repository::GObject::Object, -+ gi::repository::GObject::ParamSpec) { - base::Integration::Instance().enterFromEventLoop([&] { - _commandRequests.fire_copy( - LoopStatusToCommand(player().get_loop_status())); - }); - }); - player().property_shuffle().signal_notify().connect([=]( -- GObject::Object, -- GObject::ParamSpec) { -+ gi::repository::GObject::Object, -+ gi::repository::GObject::ParamSpec) { - base::Integration::Instance().enterFromEventLoop([&] { - _commandRequests.fire_copy(Command::Shuffle); - }); - }); - player().property_volume().signal_notify().connect([=]( -- GObject::Object, -- GObject::ParamSpec) { -+ gi::repository::GObject::Object, -+ gi::repository::GObject::ParamSpec) { - base::Integration::Instance().enterFromEventLoop([&] { - _volumeChangeRequests.fire_copy(player().get_volume()); - }); diff --git a/net-im/telegram-desktop/files/tdesktop-4.8.4-remove-private-qt.patch b/net-im/telegram-desktop/files/tdesktop-4.8.4-remove-private-qt.patch deleted file mode 100644 index 3dcf17662564..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-4.8.4-remove-private-qt.patch +++ /dev/null @@ -1,50 +0,0 @@ -Remove uses of private Qt classes - -Currently, this is used to fix compatibility with odd environments, and only -for Qt6. This causes more trouble than it's worth, because it means telegram -must be rebuilt with every minor Qt bump. - -https://bugs.gentoo.org/908500 - ---- tdesktop-4.8.4-full.orig/Telegram/lib_ui/ui/rp_widget.cpp -+++ tdesktop-4.8.4-full/Telegram/lib_ui/ui/rp_widget.cpp -@@ -12,38 +12,9 @@ - - #include <QtGui/QWindow> - #include <QtGui/QtEvents> --#include <private/qwidget_p.h> -- --class TWidgetPrivate : public QWidgetPrivate { --public: --#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) -- QPlatformBackingStoreRhiConfig rhiConfig() const override { -- const auto q = static_cast<TWidget*>(q_ptr); -- if (!q->testAttribute(Qt::WA_WState_Created)) { -- return QWidgetPrivate::rhiConfig(); -- } -- if (const auto config = q->rhiConfig()) { -- return *config; -- } -- if (::Platform::IsMac10_14OrGreater()) { -- return { QPlatformBackingStoreRhiConfig::Metal }; -- } -- // We can't specify the widget here as q_evaluateRhiConfig is called -- // in QWidgetWindow constructor, while windowHandle is set right after -- // the constructor is completed -- if (::Platform::IsWayland() // old versions of mutter produce flicker without OpenGL -- && Ui::GL::ChooseBackendDefault( -- Ui::GL::CheckCapabilities(nullptr)) -- == Ui::GL::Backend::OpenGL) { -- return { QPlatformBackingStoreRhiConfig::OpenGL }; -- } -- return QWidgetPrivate::rhiConfig(); -- } --#endif // Qt >= 6.4.0 --}; - - TWidget::TWidget(QWidget *parent) --: TWidgetHelper<QWidget>(*(new TWidgetPrivate), parent, {}) { -+: TWidgetHelper<QWidget>(parent, {}) { - [[maybe_unused]] static const auto Once = [] { - auto format = QSurfaceFormat::defaultFormat(); - format.setSwapInterval(0); diff --git a/net-im/telegram-desktop/files/tdesktop-4.8.4-system-cppgir.patch b/net-im/telegram-desktop/files/tdesktop-4.8.4-system-cppgir.patch deleted file mode 100644 index d8bd00aae907..000000000000 --- a/net-im/telegram-desktop/files/tdesktop-4.8.4-system-cppgir.patch +++ /dev/null @@ -1,50 +0,0 @@ -Use system cppgir - ---- tdesktop-4.8.4-full.orig/cmake/external/glib/CMakeLists.txt -+++ tdesktop-4.8.4-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(CMAKE_DISABLE_FIND_PACKAGE_Qt5Core ON) -- add_subdirectory(cppgir EXCLUDE_FROM_ALL) --endfunction() --add_cppgir() -- - include(generate_cppgir.cmake) - generate_cppgir(external_glib Gio-2.0) - ---- tdesktop-4.8.4-full.orig/cmake/external/glib/generate_cppgir.cmake -+++ tdesktop-4.8.4-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) -@@ -32,17 +34,16 @@ - echo 1> ${gen_timestamp} - COMMENT "Generating C++ wrapper for ${gir} (${target_name})" - DEPENDS -- cppgir - ${gir_path} - ) - generate_target(${target_name} cppgir ${gen_timestamp} "" ${gen_dst}) - - get_target_property(target_type ${target_name} TYPE) - if (${target_type} STREQUAL "INTERFACE_LIBRARY") -- target_link_libraries(${target_name} INTERFACE gi) -+ target_link_libraries(${target_name} INTERFACE CppGir::gi) - target_compile_definitions(${target_name} INTERFACE GI_INLINE GI_OBJECT_NEWV) - else() -- target_link_libraries(${target_name} PUBLIC gi) -+ target_link_libraries(${target_name} PUBLIC CppGir::gi) - target_compile_definitions(${target_name} PUBLIC GI_INLINE GI_OBJECT_NEWV) - endif() - endfunction() diff --git a/net-im/telegram-desktop/telegram-desktop-4.8.4-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.8.4-r1.ebuild deleted file mode 100644 index aff33b06a923..000000000000 --- a/net-im/telegram-desktop/telegram-desktop-4.8.4-r1.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..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 ~riscv" -IUSE="enchant +fonts +jemalloc screencast qt6 qt6-imageformats wayland +X" -REQUIRED_USE=" - qt6-imageformats? ( qt6 ) -" - -KIMAGEFORMATS_RDEPEND=" - media-libs/libavif:= - media-libs/libheif:= - media-libs/libjxl -" -RDEPEND=" - !net-im/telegram-desktop-bin - app-arch/lz4:= - dev-cpp/abseil-cpp:= - >=dev-cpp/glibmm-2.76:2.68 - dev-libs/glib:2 - dev-libs/libdispatch - dev-libs/libsigc++:2 - dev-libs/openssl:= - dev-libs/protobuf - dev-libs/xxhash - media-libs/fontconfig:= - 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_pre20230428:=[screencast=,X=] - media-video/ffmpeg:=[opus,vpx] - sys-libs/zlib:=[minizip] - virtual/opengl - !enchant? ( >=app-text/hunspell-1.7:= ) - enchant? ( app-text/enchant:= ) - jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) - !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:= - ) - qt6? ( - dev-qt/qtbase:6=[dbus,gui,network,opengl,widgets,X?] - dev-qt/qtimageformats:6 - dev-qt/qtsvg:6 - wayland? ( dev-qt/qtwayland:6 ) - qt6-imageformats? ( - dev-qt/qtimageformats:6= - ${KIMAGEFORMATS_RDEPEND} - ) - ) - X? ( - x11-libs/libxcb:= - x11-libs/xcb-util-keysyms - ) -" -DEPEND="${RDEPEND} - dev-cpp/cppgir - >=dev-cpp/ms-gsl-4 - dev-cpp/range-v3 -" -BDEPEND=" - ${PYTHON_DEPS} - dev-cpp/cppgir - >=dev-util/cmake-3.16 - dev-util/gdbus-codegen - virtual/pkgconfig -" -# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233 - -PATCHES=( - "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch" - "${FILESDIR}/tdesktop-4.8.4-system-cppgir.patch" - "${FILESDIR}/tdesktop-4.8.3-fix-clang.patch" -) - -# Current desktop-file-utils-0.26 does not understand Version=1.5 -QA_DESKTOP_FILE="usr/share/applications/${PN}.desktop" - -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 -} - -pkg_setup() { - # Having inaccessible paths sneak into the build environment through the - # XDG_DATA_DIRS variable breaks cppgir. - # bug 909038 - unset XDG_DATA_DIRS -} - -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, see: - # cmake/external/kcoreaddons/CMakeLists.txt - - cmake_src_prepare -} - -src_configure() { - # 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 mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings. - -DQT_VERSION_MAJOR=$(usex qt6 6 5) - - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) - -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) - -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell - -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts) # use system fonts instead of bundled ones - ) - - 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 has_version '<dev-qt/qtcore-5.15.2-r10'; then - ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram" - ewarn "to crash when pasting big images from the clipboard." - 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 qt6; then - ewarn "Qt6 support in gentoo is experimental." - ewarn "Please report any issues you may find, but don't expect" - ewarn "everything to work correctly as of yet." - 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 - optfeature "shop payment support" net-libs/webkit-gtk:4 - 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.8.4-r2.ebuild b/net-im/telegram-desktop/telegram-desktop-4.8.4-r2.ebuild deleted file mode 100644 index c58885293abd..000000000000 --- a/net-im/telegram-desktop/telegram-desktop-4.8.4-r2.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..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 ~riscv" -IUSE="enchant +fonts +jemalloc screencast qt6 qt6-imageformats wayland +X" -REQUIRED_USE=" - qt6-imageformats? ( qt6 ) -" - -KIMAGEFORMATS_RDEPEND=" - media-libs/libavif:= - media-libs/libheif:= - media-libs/libjxl -" -RDEPEND=" - !net-im/telegram-desktop-bin - app-arch/lz4:= - dev-cpp/abseil-cpp:= - >=dev-cpp/glibmm-2.76:2.68 - dev-libs/glib:2 - dev-libs/libdispatch - dev-libs/libsigc++:2 - dev-libs/openssl:= - dev-libs/protobuf - dev-libs/xxhash - media-libs/fontconfig:= - 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_pre20230428:=[screencast=,X=] - media-video/ffmpeg:=[opus,vpx] - sys-libs/zlib:=[minizip] - virtual/opengl - !enchant? ( >=app-text/hunspell-1.7:= ) - enchant? ( app-text/enchant:= ) - jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] ) - !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:= - ) - qt6? ( - dev-qt/qtbase:6[dbus,gui,network,opengl,widgets,X?] - dev-qt/qtimageformats:6 - dev-qt/qtsvg:6 - wayland? ( dev-qt/qtwayland:6 ) - qt6-imageformats? ( - dev-qt/qtimageformats:6= - ${KIMAGEFORMATS_RDEPEND} - ) - ) - X? ( - x11-libs/libxcb:= - x11-libs/xcb-util-keysyms - ) -" -DEPEND="${RDEPEND} - dev-cpp/cppgir - >=dev-cpp/ms-gsl-4 - dev-cpp/range-v3 -" -BDEPEND=" - ${PYTHON_DEPS} - dev-cpp/cppgir - >=dev-util/cmake-3.16 - dev-util/gdbus-codegen - virtual/pkgconfig -" -# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233 - -PATCHES=( - "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch" - "${FILESDIR}/tdesktop-4.8.4-system-cppgir.patch" - "${FILESDIR}/tdesktop-4.8.3-fix-clang.patch" - "${FILESDIR}/tdesktop-4.8.4-remove-private-qt.patch" -) - -# Current desktop-file-utils-0.26 does not understand Version=1.5 -QA_DESKTOP_FILE="usr/share/applications/${PN}.desktop" - -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 -} - -pkg_setup() { - # Having inaccessible paths sneak into the build environment through the - # XDG_DATA_DIRS variable breaks cppgir. - # bug 909038 - unset XDG_DATA_DIRS -} - -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, see: - # cmake/external/kcoreaddons/CMakeLists.txt - - # Happily fail if libraries aren't found... - find -type f -name 'CMakeLists.txt' \ - \! -path "./cmake/external/expected/CMakeLists.txt" \ - -print0 | xargs -0 sed -i \ - -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \ - -e '/find_package(/s/)/ REQUIRED)/' || die - - cmake_src_prepare -} - -src_configure() { - # 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 mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings. - -DQT_VERSION_MAJOR=$(usex qt6 6 5) - - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) - -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) - -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell - -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts) # use system fonts instead of bundled ones - ) - - 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 has_version '<dev-qt/qtcore-5.15.2-r10'; then - ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram" - ewarn "to crash when pasting big images from the clipboard." - 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 qt6; then - ewarn "Qt6 support in gentoo is experimental." - ewarn "Please report any issues you may find, but don't expect" - ewarn "everything to work correctly as of yet." - 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 - optfeature "shop payment support" net-libs/webkit-gtk:4 - if ! use qt6; then - optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl] - fi -} |