From 1bfb8c3d7e00e7ff828008510f5a7568c81d8889 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 29 Nov 2022 19:21:10 +0000 Subject: gentoo auto-resync : 29:11:2022 - 19:21:10 --- net-im/Manifest.gz | Bin 10253 -> 10256 bytes net-im/telegram-desktop/Manifest | 7 +- .../tdesktop-4.3.4-fix-disabling-spellcheck.patch | 43 +++++ .../tdesktop-4.3.4-qt5-incompatibility-1.patch | 42 +++++ .../tdesktop-4.3.4-qt5-incompatibility-2.patch | 28 +++ .../telegram-desktop/telegram-desktop-4.3.1.ebuild | 203 -------------------- .../telegram-desktop/telegram-desktop-4.3.4.ebuild | 206 +++++++++++++++++++++ 7 files changed, 324 insertions(+), 205 deletions(-) create mode 100644 net-im/telegram-desktop/files/tdesktop-4.3.4-fix-disabling-spellcheck.patch create mode 100644 net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-1.patch create mode 100644 net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-2.patch delete mode 100644 net-im/telegram-desktop/telegram-desktop-4.3.1.ebuild create mode 100644 net-im/telegram-desktop/telegram-desktop-4.3.4.ebuild (limited to 'net-im') diff --git a/net-im/Manifest.gz b/net-im/Manifest.gz index ec19a13d88ff..17d40f1d5d5c 100644 Binary files a/net-im/Manifest.gz and b/net-im/Manifest.gz differ diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest index 481a00b07ee3..5b6f11f3c936 100644 --- a/net-im/telegram-desktop/Manifest +++ b/net-im/telegram-desktop/Manifest @@ -5,10 +5,13 @@ AUX tdesktop-3.6.0-support-ffmpeg5.patch 3142 BLAKE2B f05816a8b26c3061c88b8814ad AUX tdesktop-3.6.1-fix-kwayland-5.93.patch 1835 BLAKE2B dbc414e1543be96faff179288eb4bcc4acdfbe280ae51da11d254054adcc00f4c1387cdc9a24e026e06612d55765a1689b4bfc6381349b75053c4156a0cff71f SHA512 82855396f367f3669a34246a031626bba158d5361ec39e728c2d33f0d5b9ff5196c38a33551614848b5d439e25bbe45eb3795eaf7ca7442f5f27ab0bdeb0e72e AUX tdesktop-3.6.1-fix-use-after-free.patch 1627 BLAKE2B 867dde2d1d8d6535e2305f841fe97477bd08c37e96684196563f9ce6dbfb12c7b2941ddc3e00182126e24ec08e1692ec201006d2c46548fcbf2f9bae09dca532 SHA512 e52369b6aee6c772bef56b73cf4656813614694af714eb83432ffbe7a2234dde4be9888e927c1304350c5c31a0a9cf37a53ea41df2e9b47a00de6dc4433a1c1b AUX tdesktop-4.2.4-jemalloc-only-telegram.patch 1309 BLAKE2B c6ed3e2cfcce9540e367fb90fcaacab81fa6dbb150be7207634facfef77361b830175e4e5e2781d884f101833fde022f496b7c39702d97990de4d16585b5c33d SHA512 83d8c3eaafc2947fbe3555d9acf5c78ad07e89009b89f05908dc5cd088652063766c297e4b726ee69423b15804faf79f52815405b09bba554538e664a99ce0e7 +AUX tdesktop-4.3.4-fix-disabling-spellcheck.patch 1460 BLAKE2B 68c0b8aede6404ec02072fa869f31b982a9fa445dfab77cb0cf185b263cc975f43c9288b4a1ca81d96bef718706ce357f7480244ce4b371d13f08d3bcd02bfa5 SHA512 10ccec4a69668cf068841c78134bc31102e334c49fcf750aac6d2c5ac2e81127954c88a923c4917ca1c18af2c1d8ff20c238bee369deef2e0a2b961439646adb +AUX tdesktop-4.3.4-qt5-incompatibility-1.patch 1603 BLAKE2B b7ff625e874298617df39f5865577215708ed9cecb18cce736d78a85b3e48808c41b004bb243a5bbf692339c9929563a0e33028c8467d0eaca0c8aaae1eef06d SHA512 7eb6477b84fe5bd36cfc9e51dd014ea1425cb0b0e817a8a50d3d8055a57b062a221aabac43fc7a3588c75df5615966aedfb9405add54de339f3b80de1a45496a +AUX tdesktop-4.3.4-qt5-incompatibility-2.patch 1325 BLAKE2B 0a74bb545024dbd4df62d52a7603f7a3b28b827940900f4338d6c05ac148ddaf2dcb6cefb8ff3905c737e7e330b896e493334f1dd114341d6818b1aec6e8469a SHA512 254acfe8b8cec69df629759f025ff1c979f609b0fa591a4137c96e9e726782049e4b6a799755b9e50ffffe6d0a26ca3211d4c12e28c7bacd07605b028235e474 DIST tdesktop-3.6.1-full.tar.gz 41226549 BLAKE2B 6922ae015e36f86597aaedf1212ed951d6313a8f5f76a8838ab7ef9e02afe0cbc428acd991488190bafdf28faf2a69a09a5a1e963b2aa6ed27ef941602e15d88 SHA512 dd216c720ea3b1c72669805bb31319746a7ddfe746d188bf2ae0c5cdf0a10b379fc2e888a26fe755d77381fc5d9aa638cedc76b2dce1f1126a9c1ef9c02da2ba DIST tdesktop-4.2.4-full.tar.gz 49210806 BLAKE2B 5900f977156f8ec98098a5e2fe97efcc5c2d7e2768123268e4b232e384c47a02fec11b3d5d875f99134aace9d3d7f937defb83ea1572d41c7df52f4d1bda1e9c SHA512 c0b458e4f21855d1041f7343ffdd501890a7535d040b45a8bd565e545d5bc01a00703af65e14ae407bf53f81a6d28d3f7d6afa664eb5b8e5641b21bb8e669a3a -DIST tdesktop-4.3.1-full.tar.gz 49305237 BLAKE2B 3f0605adb6b471ecd913921a836c8d0e09d5fb40f107290d085af2a0ad64f7f067014b381a50317ffa089ce68724629972c565619d4d24776ac3496c15d9959f SHA512 365c16f4260827e3ad7e066f6ec96fc97a6f5874df376933f16de20c3488c24f52bc1aa3bd5df936f29a198e287dc8e706b259d57d7d7a9d6468c7edc7568514 +DIST tdesktop-4.3.4-full.tar.gz 50030732 BLAKE2B 68d9001128cca6e8a68d991e77a20f9764af9a634c37d792e92f7e77b0446b6d16ec1342f9e7ce7e0c49464f385f795164f9d176d65a74fc64fc072eae33d263 SHA512 415e0d60508317ef6d07e1f8aa2d974b166925f19349106cc543e487dd5bef8d1ff0548fb815682c6c4bb3bf762c08fcb1c7073f2c7ad305ae885b7979c70f88 EBUILD telegram-desktop-3.6.1-r1.ebuild 4888 BLAKE2B 00e45ba4841ae6c61d5df8a9fe6bfc1bbfcf8fce3bc4fc8ac1b5f5cf48b02ecd4938b0877f3ad744113bd5c33d9e92327473975e7b9225113ce05d3d3a09bdbd SHA512 2f95014465cb27fbf6472d9074436403ba706b4c6012cc3e341c010d63958adc564415dafd3b2a78e86b7114975de894a3de7dbf60cf34987d1c3f4ba6d296fc EBUILD telegram-desktop-4.2.4.ebuild 6435 BLAKE2B 59816836f64174e654d3d57cf66fa4ccc925af208e170e24e00d1aedd22761d3fad49e82afa0df7bfa39ca3e1221946593d8b7cb6af53b4e157cfc41fc77d29f SHA512 bf105f74768a071b7bd820bcff8871f0be0ea1efc4c4228350a318bbf5450589db0a13fa59903d6e5e229afee825429b02c7b35ffcda9ed5c8b5064dd6823e78 -EBUILD telegram-desktop-4.3.1.ebuild 6388 BLAKE2B f69e90ac1dc8f2d84eb37943dd6523d57b589f098c7a3d455abb29bdfaa21a63e6b06556ec21840f98d82b0520dd19314ed15c3f860098fb53e4887bc7b8eb69 SHA512 90b78ac320292e5620bfe8fce624e3fee601970e18abe7e78778c018f018e4d223295055feca70ff66482768a6668aac3045f5300079859de296b4f9ce116c6a +EBUILD telegram-desktop-4.3.4.ebuild 6583 BLAKE2B 07fbe4d3f28191066dc46a4581421ce8107490cd17558af2c5f48d8ae6ac007f688ebcbb9945ac2a5ea1b017fa1d45f3afa7def5079d632d16300812515cdff2 SHA512 74ce6ff59ec73288ff36e2fd80379257e23123e9c94165a40ddf427c96e96a3901bb387319bcbe26414f2a581234314c0f96d46e57ceeaa06b5ce6de2771e7f8 MISC metadata.xml 872 BLAKE2B 8a0aa8dde517ddab431e11465168feb22e928fff7b45b7b6296d2880ac6d22f0514cf123f4097043093706bff43f44d26da2ec2ea75d9270acc963cfbe2a43d5 SHA512 f5976687b829ce892063e865b2390b4b5ddbf9c118b51978d04170bdc26fc0fae5f8df78af083674618d4081b3837d731ed31013b80909849050091191e8603d diff --git a/net-im/telegram-desktop/files/tdesktop-4.3.4-fix-disabling-spellcheck.patch b/net-im/telegram-desktop/files/tdesktop-4.3.4-fix-disabling-spellcheck.patch new file mode 100644 index 000000000000..9529370cdbae --- /dev/null +++ b/net-im/telegram-desktop/files/tdesktop-4.3.4-fix-disabling-spellcheck.patch @@ -0,0 +1,43 @@ +Fix building without spellcheck + +Upcoming changes to tdesktop include language recognition, which is a bit of a +doozy, and as is tradition, "unusual" compilation flags go untested. + +Regular builds would always return false here, anyway, as linux isn't a +priority with these things. + +/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/boxes/translate_box.cpp:18:10: fatal error: spellcheck/platform/platform_language.h: No such file or directory + 18 | #include "spellcheck/platform/platform_language.h" + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +compilation terminated. + +--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/boxes/translate_box.cpp ++++ tdesktop-4.3.4-full/Telegram/SourceFiles/boxes/translate_box.cpp +@@ -15,7 +15,9 @@ + #include "main/main_session.h" + #include "mtproto/sender.h" + #include "settings/settings_common.h" ++#ifndef TDESKTOP_DISABLE_SPELLCHECK + #include "spellcheck/platform/platform_language.h" ++#endif + #include "ui/effects/loading_element.h" + #include "ui/layers/generic_box.h" + #include "ui/widgets/buttons.h" +@@ -331,6 +333,7 @@ + if (!hasLetters) { + return true; + } ++#ifndef TDESKTOP_DISABLE_SPELLCHECK + const auto result = Platform::Language::Recognize(text); + if (result.unknown) { + return false; +@@ -343,6 +346,9 @@ + ? QLocale::English + : settingsLang; + return (result.locale.language() == skip); ++#else ++ return false; ++#endif + } + + } // namespace Ui diff --git a/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-1.patch b/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-1.patch new file mode 100644 index 000000000000..3229b5be54c8 --- /dev/null +++ b/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-1.patch @@ -0,0 +1,42 @@ +Disable portal-related event loop with qt5 + +QEventLoop::ApplicationExec is undocumented, but only present in qt6, so I have +no idea if the functionality can be preserved in qt5. Upstream code indicates +that not using it at all is safe, and unlikely to cause problems in +distribution packaging. + +Yet another reminder that qt5 is dying. + +/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp: In lambda function: +/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp:294:55: error: ‘ApplicationExec’ is not a member of ‘QEventLoop’ + 294 | loop.exec(QEventLoop::ApplicationExec); + | ^~~~~~~~~~~~~~~ + +--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/platform/linux/specific_linux.cpp ++++ tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp +@@ -229,6 +229,7 @@ + } + } + ++#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) + void LaunchGApplication() { + const auto connection = [] { + try { +@@ -401,6 +402,7 @@ + }); + } + } ++#endif // QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) + + bool GenerateDesktopFile( + const QString &targetPath, +@@ -862,7 +864,9 @@ + LOG(("Fallback icon theme: %1").arg(QIcon::fallbackThemeName())); + + #ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION ++#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) + LaunchGApplication(); ++#endif // QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) + #endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION + } + diff --git a/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-2.patch b/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-2.patch new file mode 100644 index 000000000000..ae5c84763c8d --- /dev/null +++ b/net-im/telegram-desktop/files/tdesktop-4.3.4-qt5-incompatibility-2.patch @@ -0,0 +1,28 @@ +Disable unused incompatible overload with qt5 + +Neither Qt nore C++ are my forte, but this code is unused with the packaged +distro version, anyway. + +/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp: In lambda function: +/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp:705:74: error: call of overloaded ‘arg(QByteArray&)’ is ambiguous + 705 | return qsl("org.telegram.desktop.%1.desktop").arg(md5Hash); + | ^ + +--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/platform/linux/specific_linux.cpp ++++ tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp +@@ -692,6 +692,7 @@ + + qsl(".desktop"); + } + ++#if !(defined(TDESKTOP_DISABLE_AUTOUPDATE) && QT_VERSION < QT_VERSION_CHECK(6, 2, 0)) + if (!Core::UpdaterDisabled()) { + QByteArray md5Hash(h); + if (!Launcher::Instance().customWorkingDir()) { +@@ -706,6 +707,7 @@ + + return qsl("org.telegram.desktop.%1.desktop").arg(md5Hash); + } ++#endif // !(defined(TDESKTOP_DISABLE_AUTOUPDATE) && QT_VERSION < QT_VERSION_CHECK(6, 2, 0)) + + return qsl("org.telegram.desktop.desktop"); + }()); diff --git a/net-im/telegram-desktop/telegram-desktop-4.3.1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.3.1.ebuild deleted file mode 100644 index 57495aa9e6cc..000000000000 --- a/net-im/telegram-desktop/telegram-desktop-4.3.1.ebuild +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 2020-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) - -inherit xdg cmake python-any-r1 optfeature - -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 ~ppc64 ~riscv" -IUSE="+dbus enchant +fonts +hunspell +jemalloc screencast +spell qt6 qt6-imageformats wayland +X" -REQUIRED_USE=" - spell? ( - ^^ ( enchant hunspell ) - ) - 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-libs/glib:2 - dev-libs/libdispatch - dev-libs/libsigc++:2 - dev-libs/openssl:= - dev-libs/xxhash - media-libs/fontconfig:= - media-libs/libjpeg-turbo:= - ~media-libs/libtgvoip-2.4.4_p20220503 - media-libs/openal - media-libs/opus:= - media-libs/rnnoise - ~media-libs/tg_owt-0_pre20220507:=[screencast=,X=] - media-video/ffmpeg:=[opus] - sys-libs/zlib:=[minizip] - x11-libs/xcb-util-keysyms - virtual/opengl - dbus? ( dev-cpp/glibmm:2.68 ) - enchant? ( app-text/enchant:= ) - hunspell? ( >=app-text/hunspell-1.7:= ) - 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/qt5compat:6 - 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? ( ${KIMAGEFORMATS_RDEPEND} ) - ) - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND} - dev-cpp/range-v3 - =dev-cpp/ms-gsl-3* -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/cmake-3.16 - virtual/pkgconfig -" -# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233 - -PATCHES=( - "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram.patch" - "${FILESDIR}/tdesktop-3.3.0-fix-enchant.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 -} - -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() { - 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_DBUS_INTEGRATION=$(usex !dbus) - -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) - -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) - -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) - -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended) - -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 ' https://bugs.gentoo.org/803233 + +PATCHES=( + "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram.patch" + "${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch" + "${FILESDIR}/tdesktop-4.3.4-fix-disabling-spellcheck.patch" + "${FILESDIR}/tdesktop-4.3.4-qt5-incompatibility-1.patch" + "${FILESDIR}/tdesktop-4.3.4-qt5-incompatibility-2.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 +} + +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() { + 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_DBUS_INTEGRATION=$(usex !dbus) + -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X) + -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland) + -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc) + -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended) + -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 '