summaryrefslogtreecommitdiff
path: root/net-im/telegram-desktop
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/telegram-desktop')
-rw-r--r--net-im/telegram-desktop/Manifest10
-rw-r--r--net-im/telegram-desktop/files/tdesktop-4.0.2-fix-gcc12-cstdint.patch10
-rw-r--r--net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram.patch43
-rw-r--r--net-im/telegram-desktop/metadata.xml2
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.0.2.ebuild183
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.2.4.ebuild (renamed from net-im/telegram-desktop/telegram-desktop-4.1.1-r1.ebuild)69
6 files changed, 93 insertions, 224 deletions
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index fb98dd8dccb3..f0fef317b6a6 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -4,11 +4,9 @@ AUX tdesktop-3.6.0-jemalloc-only-telegram.patch 1375 BLAKE2B 43d5cf05bcb7f66c32c
AUX tdesktop-3.6.0-support-ffmpeg5.patch 3142 BLAKE2B f05816a8b26c3061c88b8814adc2402981836ab7853be1dad9c4eb74b621e1084a2167ad5ea86d500c98d627317ffd48288bcb4df897f5ca6858516ecf86c8f0 SHA512 811f42f8372102910be20ac92030b98ad98704cb1378a90d17a01b15dc4a9aa8e9b6bb179a9dc4d09687ad7b60030f0f7367f8058674244b080748bf2c913044
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.0.2-fix-gcc12-cstdint.patch 254 BLAKE2B f455f9878e7563ff65da62c71d495d5fb01b244f6fcc7f0e99ea6f30087c34c47be7ece315ff0cf35f2927b072a45bba3c219d15d291f2f22d50a117341a7d90 SHA512 114f3c44b0b9dfe9aa0d28617d83100859f781bca431515eed37dcaf52bb4cbc4c746d1c9c439999e65bd4fb360b72892b66da60325fe5d3c9c916d0337ff3b0
+AUX tdesktop-4.2.4-jemalloc-only-telegram.patch 1309 BLAKE2B c6ed3e2cfcce9540e367fb90fcaacab81fa6dbb150be7207634facfef77361b830175e4e5e2781d884f101833fde022f496b7c39702d97990de4d16585b5c33d SHA512 83d8c3eaafc2947fbe3555d9acf5c78ad07e89009b89f05908dc5cd088652063766c297e4b726ee69423b15804faf79f52815405b09bba554538e664a99ce0e7
DIST tdesktop-3.6.1-full.tar.gz 41226549 BLAKE2B 6922ae015e36f86597aaedf1212ed951d6313a8f5f76a8838ab7ef9e02afe0cbc428acd991488190bafdf28faf2a69a09a5a1e963b2aa6ed27ef941602e15d88 SHA512 dd216c720ea3b1c72669805bb31319746a7ddfe746d188bf2ae0c5cdf0a10b379fc2e888a26fe755d77381fc5d9aa638cedc76b2dce1f1126a9c1ef9c02da2ba
-DIST tdesktop-4.0.2-full.tar.gz 41059443 BLAKE2B da4efb15c8a2d11719d3aa56c3a40b12f70c37577d2909c43e6029e10ca0bb1f8445ed68ed9acd532009c8e0a8f48fa13d2a51573a81f58a8a83b13427ffb631 SHA512 0078b627d06dd8e655bd2bcc222ecbb3b15b7d88f858810bccdca84793ad02a60f4a4bf3808838752d65d4f6cffa3ddb5f70c5afc8e94cb6edae52101362feeb
-DIST tdesktop-4.1.1-full.tar.gz 41431505 BLAKE2B 7faf8d3a1e6d1ccb621f7a5af89c9b680fe515fbf4994f05d899ec44b8dc863440a368194a0237bef09078d14b5c670749276765da28ac6118787b6584fcbc01 SHA512 3240b9f81c3901997b1ea13fd7db7b8598b31c0faa68a2f711909ed11f33345db5a45ac99c0be77f1caeb1f571093ea42b1dbc7e7bb15e989c8756805c2ec887
+DIST tdesktop-4.2.4-full.tar.gz 49210806 BLAKE2B 5900f977156f8ec98098a5e2fe97efcc5c2d7e2768123268e4b232e384c47a02fec11b3d5d875f99134aace9d3d7f937defb83ea1572d41c7df52f4d1bda1e9c SHA512 c0b458e4f21855d1041f7343ffdd501890a7535d040b45a8bd565e545d5bc01a00703af65e14ae407bf53f81a6d28d3f7d6afa664eb5b8e5641b21bb8e669a3a
EBUILD telegram-desktop-3.6.1-r1.ebuild 4888 BLAKE2B 00e45ba4841ae6c61d5df8a9fe6bfc1bbfcf8fce3bc4fc8ac1b5f5cf48b02ecd4938b0877f3ad744113bd5c33d9e92327473975e7b9225113ce05d3d3a09bdbd SHA512 2f95014465cb27fbf6472d9074436403ba706b4c6012cc3e341c010d63958adc564415dafd3b2a78e86b7114975de894a3de7dbf60cf34987d1c3f4ba6d296fc
-EBUILD telegram-desktop-4.0.2.ebuild 5932 BLAKE2B f608b25d3890cb5227a1327fc0597cd7177543fb1e3a52e0cc8175004a0eb34038e3b214e800b84aae28900f5881a4ef805eba9dbaed8df5618de9a612ff02a3 SHA512 5cd7bd86e3c64ae0dc1f4bf2ffb35c319af4698fcaaab04e6f7dc1e198c9e801ace7a8f8931f4a92cd2c39b27a18938e3673c1a49beede1904a794f37b9b7ff9
-EBUILD telegram-desktop-4.1.1-r1.ebuild 5917 BLAKE2B 56182e80f263433ac681e3e422e9770ba918285c444c2d684c420979a9866d7216b2026ae8c7b150c8dae8fb0ec13eaa3e5a1fc8d86bed041a7091faaa405d36 SHA512 dbb8655ac8d566b0344fe79e14a2df3abf804c780b2024b07699eed4186158677fce560bfa9621f88d66eaf85420d0d3191364fa5219cf08acc227bd7f58ac82
-MISC metadata.xml 659 BLAKE2B 8392ea65b19406ad4bd54939b57a71560bfb894270d29ee50d34c54f720636ff68aa8da8affe1390d3dd4a101453edad70e4f192dad613931900e605d1e20484 SHA512 613de56c7f1afc2b06f72f39ac0fd9acc672f85da3f2a398b5d1e3d3b3c7648afeefecb9c076bd80e5eb3090123fe7617374f08ff0bc1325795a068f08cd68d8
+EBUILD telegram-desktop-4.2.4.ebuild 6435 BLAKE2B 59816836f64174e654d3d57cf66fa4ccc925af208e170e24e00d1aedd22761d3fad49e82afa0df7bfa39ca3e1221946593d8b7cb6af53b4e157cfc41fc77d29f SHA512 bf105f74768a071b7bd820bcff8871f0be0ea1efc4c4228350a318bbf5450589db0a13fa59903d6e5e229afee825429b02c7b35ffcda9ed5c8b5064dd6823e78
+MISC metadata.xml 872 BLAKE2B 8a0aa8dde517ddab431e11465168feb22e928fff7b45b7b6296d2880ac6d22f0514cf123f4097043093706bff43f44d26da2ec2ea75d9270acc963cfbe2a43d5 SHA512 f5976687b829ce892063e865b2390b4b5ddbf9c118b51978d04170bdc26fc0fae5f8df78af083674618d4081b3837d731ed31013b80909849050091191e8603d
diff --git a/net-im/telegram-desktop/files/tdesktop-4.0.2-fix-gcc12-cstdint.patch b/net-im/telegram-desktop/files/tdesktop-4.0.2-fix-gcc12-cstdint.patch
deleted file mode 100644
index a3d67e0c9a1b..000000000000
--- a/net-im/telegram-desktop/files/tdesktop-4.0.2-fix-gcc12-cstdint.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Telegram/ThirdParty/tgcalls/tgcalls/utils/gzip.h
-+++ b/Telegram/ThirdParty/tgcalls/tgcalls/utils/gzip.h
-@@ -2,6 +2,7 @@
- #define TGCALLS_UTILS_GZIP_H
-
- #include <absl/types/optional.h>
-+#include <cstdint>
- #include <vector>
-
- namespace tgcalls {
diff --git a/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram.patch b/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram.patch
new file mode 100644
index 000000000000..a7710e145443
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram.patch
@@ -0,0 +1,43 @@
+Only link jemalloc for the Telegram binary
+
+Some combination of factors is making the different codegen tools hang when
+jemalloc is linked for those, and they're ran under portage's sandbox. Since
+this is only used during build-time, and jemalloc is merely necessary to
+improve runtime memory use, it's unnecessary to use it for anything else.
+
+https://bugs.gentoo.org/802624
+
+--- tdesktop-4.2.4-full.orig/Telegram/CMakeLists.txt
++++ tdesktop-4.2.4-full/Telegram/CMakeLists.txt
+@@ -1478,6 +1478,14 @@
+ desktop-app::external_wayland_client
+ )
+ endif()
++
++ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
++ target_link_libraries(Telegram
++ INTERFACE
++ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
++ $<LINK_ONLY:desktop-app::external_jemalloc>
++ )
++ endif()
+ endif()
+
+ if (build_macstore)
+--- tdesktop-4.2.4-full.orig/cmake/options_linux.cmake
++++ tdesktop-4.2.4-full/cmake/options_linux.cmake
+@@ -78,14 +78,6 @@
+ )
+ endif()
+
+-if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
+- target_link_libraries(common_options
+- INTERFACE
+- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
+- $<LINK_ONLY:desktop-app::external_jemalloc>
+- )
+-endif()
+-
+ if (DESKTOP_APP_USE_ALLOCATION_TRACER)
+ target_link_options(common_options
+ INTERFACE
diff --git a/net-im/telegram-desktop/metadata.xml b/net-im/telegram-desktop/metadata.xml
index 8cef7d6a41b5..5359672b12eb 100644
--- a/net-im/telegram-desktop/metadata.xml
+++ b/net-im/telegram-desktop/metadata.xml
@@ -12,6 +12,8 @@
<use>
<flag name="enchant">Enable the <pkg>app-text/aspell</pkg> spell-checking backend</flag>
<flag name="hunspell">Enable the <pkg>app-text/hunspell</pkg> spell-checking backend</flag>
+ <flag name="fonts">Use builtin patched copy of open-sans fonts (overrides fontconfig)</flag>
<flag name="qt6">Build with Qt6 support</flag>
+ <flag name="qt6-imageformats">Add support for HEIF, AVIF and JpegXL by bundling kde-frameworks/kimageformats</flag>
</use>
</pkgmetadata>
diff --git a/net-im/telegram-desktop/telegram-desktop-4.0.2.ebuild b/net-im/telegram-desktop/telegram-desktop-4.0.2.ebuild
deleted file mode 100644
index d201d03a995c..000000000000
--- a/net-im/telegram-desktop/telegram-desktop-4.0.2.ebuild
+++ /dev/null
@@ -1,183 +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 +hunspell +jemalloc screencast +spell qt6 wayland +X"
-REQUIRED_USE="
- spell? (
- ^^ ( enchant hunspell )
- )
-"
-
-RDEPEND="
- !net-im/telegram-desktop-bin
- app-arch/lz4:=
- dev-cpp/abseil-cpp:=
- dev-libs/libdispatch
- dev-libs/openssl:=
- dev-libs/xxhash
- media-fonts/open-sans
- media-libs/fontconfig:=
- ~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]
- dbus? ( dev-cpp/glibmm:2 )
- 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?]
- )
- qt6? (
- dev-qt/qtbase:6[dbus?,gui,network,opengl,widgets,X?]
- dev-qt/qtsvg:6
- dev-qt/qt5compat:6
- wayland? ( dev-qt/qtwayland:6 )
- )
- 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-3.6.0-jemalloc-only-telegram.patch"
- "${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch"
- "${FILESDIR}/tdesktop-3.5.2-musl.patch"
- "${FILESDIR}/tdesktop-4.0.2-fix-gcc12-cstdint.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
- 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 "Qt6 ebuilds are available in the ::qt overlay."
- ewarn
- fi
-}
-
-src_prepare() {
- # no explicit toggle, doesn't build with the system one #752417
- sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
- cmake/external/rlottie/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # DESKTOP_APP_DISABLE_JEMALLOC is heavily discouraged by upstream, as the
- # glibc allocator results in high memory usage.
- # https://github.com/telegramdesktop/tdesktop/issues/16084
- # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
-
- # DESKTOP_APP_QT6=OFF force-enables DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
- # This means that REQUIRED_USE="wayland? ( qt6 )", but a lot of people
- # enable USE=wayland globally, so we instead silently disable it...
-
- local mycmakeargs=(
- -DTDESKTOP_LAUNCHER_BASENAME="${PN}"
- -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
- -DDESKTOP_APP_QT6=$(usex qt6)
-
- -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
- )
-
- 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
- elog "both the 'X' and 'screencast' useflags are disabled, screen sharing won't work!"
- elog
- 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
- 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 "which isn't available in ::gentoo as of writing."
- ewarn
- fi
- optfeature_header
- optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk:4
-}
diff --git a/net-im/telegram-desktop/telegram-desktop-4.1.1-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.2.4.ebuild
index a8c3ce49a669..56002aede441 100644
--- a/net-im/telegram-desktop/telegram-desktop-4.1.1-r1.ebuild
+++ b/net-im/telegram-desktop/telegram-desktop-4.2.4.ebuild
@@ -17,13 +17,19 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE="+dbus enchant +hunspell +jemalloc screencast +spell qt6 wayland +X"
+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:=
@@ -33,7 +39,6 @@ RDEPEND="
dev-libs/libsigc++:2
dev-libs/openssl:=
dev-libs/xxhash
- media-fonts/open-sans
media-libs/fontconfig:=
media-libs/libjpeg-turbo:=
~media-libs/libtgvoip-2.4.4_p20220503
@@ -55,12 +60,15 @@ RDEPEND="
>=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
- dev-qt/qt5compat:6
wayland? ( dev-qt/qtwayland:6 )
+ qt6-imageformats? ( ${KIMAGEFORMATS_RDEPEND} )
)
X? ( x11-libs/libxcb:= )
"
@@ -76,10 +84,9 @@ BDEPEND="
# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233
PATCHES=(
- "${FILESDIR}/tdesktop-3.6.0-jemalloc-only-telegram.patch"
+ "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram.patch"
"${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch"
"${FILESDIR}/tdesktop-3.5.2-musl.patch"
- "${FILESDIR}/tdesktop-4.0.2-fix-gcc12-cstdint.patch"
)
# Current desktop-file-utils-0.26 does not understand Version=1.5
@@ -92,32 +99,28 @@ pkg_pretend() {
ewarn "check bug https://bugs.gentoo.org/715114 for more info"
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
}
src_prepare() {
- # no explicit toggle, doesn't build with the system one #752417
- sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
- cmake/external/rlottie/CMakeLists.txt || die
+ # 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
+ 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
+ fi
+
+ # kde-frameworks/kcoreaddons is bundled when using qt6, see:
+ # cmake/external/kcoreaddons/CMakeLists.txt
cmake_src_prepare
}
src_configure() {
- # DESKTOP_APP_DISABLE_JEMALLOC is heavily discouraged by upstream, as the
- # glibc allocator results in high memory usage.
- # https://github.com/telegramdesktop/tdesktop/issues/16084
- # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
-
- # DESKTOP_APP_QT6=OFF force-enables DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
- # This means that REQUIRED_USE="wayland? ( qt6 )", but a lot of people
- # enable USE=wayland globally, so we instead silently disable it...
-
local mycmakeargs=(
-DTDESKTOP_LAUNCHER_BASENAME="${PN}"
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
@@ -129,6 +132,7 @@ src_configure() {
-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
@@ -160,8 +164,8 @@ src_configure() {
pkg_postinst() {
xdg_pkg_postinst
if ! use X && ! use screencast; then
- elog "both the 'X' and 'screencast' useflags are disabled, screen sharing won't work!"
- elog
+ 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"
@@ -169,10 +173,18 @@ pkg_postinst() {
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"
@@ -180,6 +192,13 @@ pkg_postinst() {
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
+ fi
}