diff options
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/Manifest.gz | bin | 10072 -> 10066 bytes | |||
-rw-r--r-- | net-im/mattermost-desktop-bin/Manifest | 3 | ||||
-rw-r--r-- | net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.2.2.ebuild | 91 | ||||
-rw-r--r-- | net-im/telegram-desktop/Manifest | 5 | ||||
-rw-r--r-- | net-im/telegram-desktop/telegram-desktop-4.6.5-r1.ebuild | 206 | ||||
-rw-r--r-- | net-im/telegram-desktop/telegram-desktop-4.7.1-r1.ebuild (renamed from net-im/telegram-desktop/telegram-desktop-4.7.1.ebuild) | 2 | ||||
-rw-r--r-- | net-im/telegram-desktop/telegram-desktop-4.8.1-r1.ebuild | 207 |
7 files changed, 418 insertions, 96 deletions
diff --git a/net-im/Manifest.gz b/net-im/Manifest.gz Binary files differindex d6a779bdf771..407ead424ef3 100644 --- a/net-im/Manifest.gz +++ b/net-im/Manifest.gz diff --git a/net-im/mattermost-desktop-bin/Manifest b/net-im/mattermost-desktop-bin/Manifest index 9f1a62fb7335..50bf8330e347 100644 --- a/net-im/mattermost-desktop-bin/Manifest +++ b/net-im/mattermost-desktop-bin/Manifest @@ -1,7 +1,4 @@ -DIST mattermost-desktop-5.2.2-linux-arm64.tar.gz 116257022 BLAKE2B 42019e849b415870e0f3cda7fd9c0e559945456ac4d06319edf074aecc9ca9bb330aa8547104d4d132f00e237324b6c9bc94dd8e1cd1bc83f50ab50f094a7fc3 SHA512 67f32eff87eae54c4cbfe2ffbec3aca1f6be39836d4e912870809a628888bbe12c2c30a16c7abc1caab0bba77c1f1b97baa01ee10d3f91615b89a57041a4c64a -DIST mattermost-desktop-5.2.2-linux-x64.tar.gz 115646636 BLAKE2B f3d01c913205dcf2c14cfcfcfc8eba06909c36446a8d6f450270f50328adaf585c5eefa68de212fcc61d012d74b69053790ba9494ee291a90c2b382b530e2e23 SHA512 5ef578c2af8afcd55b75f93904eead8257c0f1e9614de34a13705da2c8ce8f0da2ea57cc62b1fffb12b8effa2a2a98bb200c43a7f43635dc910fa91f7e629f35 DIST mattermost-desktop-5.3.1-linux-arm64.tar.gz 99877249 BLAKE2B a519510d2d5e09b053012e10620fcc47418abab6ebb1276a3f4ecdc624a5f29852e61447954f125a23ec1c1e34cda17259ed44fa4381048ed105d4a12ed1db69 SHA512 6b047a5a7160957a38201e05df2cfdd395de7d25db2128e5b9f29cbcfb63a3733f4633f323973c334a705747c92be4f79c0ac94caf80af3dda258d8a24a2b3b0 DIST mattermost-desktop-5.3.1-linux-x64.tar.gz 99666315 BLAKE2B 5d330cc70404e969c9a7e1ed65c0ad6361453c331639e20443ac25d9c7df179667bf55c737b4392eb738ae58cc708d6542ff1de9a53411381321dbdcafebf725 SHA512 94959fbd20598c7c13838e5ce8c95ed71756d4f59a377dd98662d23f70f8f600d35f8ac027d2fd0da63ae72af930814322cc57a1be1c43389e90cd58ad3b5cfb -EBUILD mattermost-desktop-bin-5.2.2.ebuild 2000 BLAKE2B 7e988c16f8b3be6548b28f2ba57b7eaea9ed895ce4bb29e26e4826a1c733dcaa6133cc419e794ef2024807ccc4f8c650bc6434bd13ce8ee2b00cc4ce0b086c43 SHA512 e4b4d944a7682832ef891ddeff5d66592d037640a3b66bb6d245ecdaec0916b0d949aacea04a44460029800cf261d380301170ec57d81bf43331eed5e0d42035 EBUILD mattermost-desktop-bin-5.3.1.ebuild 2108 BLAKE2B 122d42cf063f40b8c76332dd415246046cf52161e71c6f1b2e0bf1b49273381c6b611a07edfa06463ffd3fda261b1c10e17179ed2b9ffd49b981d34ee7c39fa3 SHA512 8bf3bc1cbbf9cd13685360c1dd6093e9dde7ed3f8ccc92dd79f59b18dfec275ae56c380a0a1f9fbdd834e97e530632b5e95629fcb66527822e576646439b47b8 MISC metadata.xml 332 BLAKE2B beedbcc827eb536d370b912224e48761a546d80fe89cfeadcdd9bcbd749211c88dd141bb8c8fb23250c2366c025207dc5919e50f0e41e5a2de322a59dcaeff6c SHA512 7360c3eb9ae59c3e359685f02f2f30835bc63f3be85b30de26a26ef92bf2c3b354405dd76e798fb83aaed8ac65296d9bdbd123513b404810826f8c58a2f1aa6d diff --git a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.2.2.ebuild b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.2.2.ebuild deleted file mode 100644 index 9abbfd63f0dc..000000000000 --- a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.2.2.ebuild +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN="${PN%-*}" -MY_PV="${PV/_rc/-rc}" - -inherit desktop xdg - -DESCRIPTION="Mattermost Desktop application" -HOMEPAGE="https://mattermost.com/" - -SRC_URI=" - amd64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-x64.tar.gz ) - arm64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-arm64.tar.gz ) -" - -LICENSE="Apache-2.0 GPL-2+ LGPL-2.1+ MIT" -SLOT="0" -# Starting with 5.2.0 upstream dropped x86 for their binary release #879519 -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2[X] - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - dev-libs/wayland - media-libs/alsa-lib - media-libs/mesa - net-print/cups - sys-apps/dbus - sys-libs/glibc - x11-libs/cairo - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libdrm - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/pango -" - -QA_PREBUILT=" - opt/mattermost-desktop/mattermost-desktop - opt/mattermost-desktop/libnode.so - opt/mattermost-desktop/libffmpeg.so - opt/mattermost-desktop/libGLESv2.so - opt/mattermost-desktop/libEGL.so - opt/mattermost-desktop/libvk_swiftshader.so - opt/mattermost-desktop/libvulkan.so.1 - opt/mattermost-desktop/resources/* -" - -DOCS=( - NOTICE.txt -) - -S="${WORKDIR}" - -src_install() { - if use amd64; then - cd mattermost-desktop-${MY_PV}-linux-x64 || die - elif use arm64; then - cd mattermost-desktop-${MY_PV}-linux-arm64 || die - fi - newicon app_icon.png ${MY_PN}.png - - insinto "/opt/${MY_PN}/locales" - doins locales/*.pak - - insinto "/opt/${MY_PN}/resources" - doins -r resources/*.asar* - - insinto "/opt/${MY_PN}" - doins *.pak *.bin *.dat - exeinto "/opt/${MY_PN}" - doexe *.so *.so.* "${MY_PN}" - - dosym -r "/opt/${MY_PN}/${MY_PN}" "/usr/bin/${MY_PN}" - - make_desktop_entry "${MY_PN}" Mattermost "${MY_PN}" - - einstalldocs -} diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest index 8848c60f3139..71a460d48fe6 100644 --- a/net-im/telegram-desktop/Manifest +++ b/net-im/telegram-desktop/Manifest @@ -2,6 +2,9 @@ AUX tdesktop-4.2.4-jemalloc-only-telegram.patch 1309 BLAKE2B c6ed3e2cfcce9540e36 AUX tdesktop-4.4.1-fix-dupe-main-decl.patch 853 BLAKE2B 6a3ce346467a3b6450674a77157f3fa45d9e1991160ce33e9cc58292a8441310468943225d5d5b2ba5e5c23feaba544d52f19c964130a8e8c724a99392072abe SHA512 edaad94a901181f0bca4a64b4ab2277a247073005b351156df02532dfff470a4060e6b709197da0778b5484d39a4c1bc1f75e9df068872d68209dd47eca9ac54 DIST tdesktop-4.6.5-full.tar.gz 63793549 BLAKE2B a425aaf8d1f1c633b3b8ddacff5bb7cc26e6063d4238413fea76db6a4608497d229061a614c79464373e7f1aa3bb854d9718083638e119538e989a202741b3d6 SHA512 4a337e375d7746cb1fa652f5851f8be5718b7b9d9676bba8ab040489b8492b2a665a51848adba28117a910789aa942c386318a01f6c99b4caa12a1eac682c780 DIST tdesktop-4.7.1-full.tar.gz 63990659 BLAKE2B 0d734dd5a5aebdafbef68d80249b88502a0ea77e37399603a42b86170e51b87dc0dc005d844a6e6c5e28f79880ae574695b70c14d9075cefcfeb8f7d95088a4f SHA512 1e83bcb56cbc84d1d7385b81b411273f4d26235ecff41b288fccfab75a848f80a80fff063212fc058a2ec923bf48a366311c7ccd678b079861ac15702a993f64 +DIST tdesktop-4.8.1-full.tar.gz 63997319 BLAKE2B daac461f0b3205bf647027329660b43f4646db987e27bfe2a2848bfbfb3309c503132d1533f26e95512520417d30f5063b1c395b174787aa7533727549ee77e5 SHA512 4dc495e4502bdba634c4468af4f1321aef1152d619c811f004489f8616504a465069508239eae41a08a83e190a61d26881733ebc38dd88160f81dce070bb0567 +EBUILD telegram-desktop-4.6.5-r1.ebuild 6474 BLAKE2B 91d26eea85adb108c2d7c878e973911b8ff7696c14fd55736af37b954328492d61e6e53663d2e5708a4c4ac9cdb22ed108692394e957c328c56da487fc5cdf33 SHA512 f80558c96f74d6e8cf5ebcaf60e1b7218a849ea2c7b5008993f71efb4073b8073ea058b52d3473655e72232a9700dd822e527dc3d842d88efacbdec502e67b77 EBUILD telegram-desktop-4.6.5.ebuild 6473 BLAKE2B 1d7eb299b8d73fced8f786fc125b9de39855e04d016871a0cecf4f7c299d10c028e4a6f3a0de0fe7b104264c4eb06cede3f850b88a144e95d9ac183a46241a99 SHA512 86e54a6a8909d5123f3fef8d1e209d9e824fe7cbb345520a0f80c670fec6ea7be8d3456e23c69386af0e34fc563438cb446d1e96dff26f4402982340304caad8 -EBUILD telegram-desktop-4.7.1.ebuild 6500 BLAKE2B 957b193190d36453997d08c360bf50021f99f4e48129ae0fae365abad403e100afacf163ca16c7d29ca44f1be179d24bd16df33a628b6b996347ec4f720a56c0 SHA512 7c9fcf7c15d832072cfdc96527a310e97e34869fa5790d53b802c73b42f4240b80575e4bdfe41ea4b06c4918edd97d3c42054c8b9ee93f465d077e25cfcea2ab +EBUILD telegram-desktop-4.7.1-r1.ebuild 6500 BLAKE2B 1b09264a4524952803eaceef593a3277eff3965fbb49d00ad719a40656ce2071626d7dc54a7d54b878a9383683f248f1449ce0a3a10ca1fa2aad980eee1e82c3 SHA512 6bd9ebc599bcea2d5712cc72488c49746b83bcf5dfae146dbaf0bcf3a8a83d55c7628634288fc0ca7cf94c984c5e85d20a64a1b31f615349cfff61b0636eb8c1 +EBUILD telegram-desktop-4.8.1-r1.ebuild 6500 BLAKE2B 1b09264a4524952803eaceef593a3277eff3965fbb49d00ad719a40656ce2071626d7dc54a7d54b878a9383683f248f1449ce0a3a10ca1fa2aad980eee1e82c3 SHA512 6bd9ebc599bcea2d5712cc72488c49746b83bcf5dfae146dbaf0bcf3a8a83d55c7628634288fc0ca7cf94c984c5e85d20a64a1b31f615349cfff61b0636eb8c1 MISC metadata.xml 1055 BLAKE2B a8f873793835f741c0a5efef1c4ef7231b0d2b90b6237093625e351de26e230c6ce5a0eedfb36706bb266ae472370034bbb60a6ef90d05e0f7b4f847c9f0116a SHA512 72d90db2dd9e96ff0f6e6ea2d078242ae6cc6c8ec0afed4df8c84acf100706bbd7cb3bff4d5603a11718250c43ae8d22b18687f4c16676173ca84527f53a5c1d diff --git a/net-im/telegram-desktop/telegram-desktop-4.6.5-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.6.5-r1.ebuild new file mode 100644 index 000000000000..f50292ef176a --- /dev/null +++ b/net-im/telegram-desktop/telegram-desktop-4.6.5-r1.ebuild @@ -0,0 +1,206 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +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 ~ppc64 ~riscv" +IUSE="+dbus 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-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_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 + dbus? ( dev-cpp/glibmm:2.68 ) + !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/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:= + x11-libs/xcb-util-keysyms + ) +" +DEPEND="${RDEPEND} + dev-cpp/range-v3 + >=dev-cpp/ms-gsl-4 +" +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-4.4.1-fix-dupe-main-decl.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() { + # 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_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_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 (requires USE=dbus enabled)" 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.7.1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.7.1-r1.ebuild index 350747f4d8cc..349592fc763a 100644 --- a/net-im/telegram-desktop/telegram-desktop-4.7.1.ebuild +++ b/net-im/telegram-desktop/telegram-desktop-4.7.1-r1.ebuild @@ -43,7 +43,7 @@ RDEPEND=" media-libs/openal media-libs/opus:= media-libs/rnnoise - ~media-libs/tg_owt-0_pre20230105:=[screencast=,X=] + ~media-libs/tg_owt-0_pre20230428:=[screencast=,X=] media-video/ffmpeg:=[opus,vpx] sys-libs/zlib:=[minizip] virtual/opengl diff --git a/net-im/telegram-desktop/telegram-desktop-4.8.1-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.8.1-r1.ebuild new file mode 100644 index 000000000000..349592fc763a --- /dev/null +++ b/net-im/telegram-desktop/telegram-desktop-4.8.1-r1.ebuild @@ -0,0 +1,207 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +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 ~ppc64 ~riscv" +IUSE="+dbus 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-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 + dbus? ( >=dev-cpp/glibmm-2.76:2.68 ) + !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/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:= + x11-libs/xcb-util-keysyms + ) +" +DEPEND="${RDEPEND} + dev-cpp/range-v3 + >=dev-cpp/ms-gsl-4 +" +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-4.4.1-fix-dupe-main-decl.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() { + # 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_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_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 (requires USE=dbus enabled)" net-libs/webkit-gtk:4 + if ! use qt6; then + optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl] + fi +} |