summaryrefslogtreecommitdiff
path: root/net-im/telegram-desktop
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /net-im/telegram-desktop
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'net-im/telegram-desktop')
-rw-r--r--net-im/telegram-desktop/Manifest19
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.1.0-fix-openssl3.patch19
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.1.0-jemalloc-only-telegram.patch35
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-only-telegram.patch33
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-optional.patch71
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch33
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.6.0-jemalloc-only-telegram.patch41
-rw-r--r--net-im/telegram-desktop/files/tdesktop-3.6.0-support-ffmpeg5.patch75
-rw-r--r--net-im/telegram-desktop/telegram-desktop-3.1.8.ebuild146
-rw-r--r--net-im/telegram-desktop/telegram-desktop-3.4.8.ebuild2
-rw-r--r--net-im/telegram-desktop/telegram-desktop-3.5.2-r1.ebuild (renamed from net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild)48
-rw-r--r--net-im/telegram-desktop/telegram-desktop-3.6.0.ebuild (renamed from net-im/telegram-desktop/telegram-desktop-3.3.0.ebuild)54
12 files changed, 324 insertions, 252 deletions
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index e57dafaa44a7..9fa642f77b48 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -1,13 +1,14 @@
-AUX tdesktop-3.1.0-fix-openssl3.patch 641 BLAKE2B 0354e0c8931311e5b6561c601cd0e78d436aeda53f14332803484b278fe60c90fa74e761ac005f79d6f44f18053fa870dc9246de1ab6e63986d7bf9b7214e12c SHA512 cfbf1798a290674e1f4589db1f5f43e61a6c691c19d936090ec9b7396e6cb720aa86b86cfdbff197de68a8723c04a20e7bf858f8511b48cc8e7b924a8d6876ec
-AUX tdesktop-3.1.0-jemalloc-only-telegram.patch 1136 BLAKE2B 06811696df84c1648f63843e937d18542ec5185aee6c3fde99dcfabe982aaad49e97387910882e405ec0ec9e8a12bef615f6f920c7f603224bce347bbff3bf22 SHA512 59c3f508c4be10e182fca52e4069e88af8cd26d150625dbe14214e505f9a5461e1492450896b1e9e229444a4f403eff43e4066d7f0c866bc9631c76f2c1f847e
AUX tdesktop-3.3.0-fix-enchant.patch 819 BLAKE2B f827deca269c32648e438642a916383e6184ef3fbdb045c8950997b3a30c6231336fe54a3b39ae5b2b93e7c6c72d0080f00a535dcf6932bbe3740041ba79abc8 SHA512 2653dd30699633c55e590744ed1fb2104b473d43e6391ece791bf3543cac7de594a75d303dc66dd9c7b75face5e90615da261d10758e50e1c669ad0b4f27923f
AUX tdesktop-3.4.8-jemalloc-only-telegram.patch 950 BLAKE2B f1dd5f795ad8aa66c9ff00cb1e616789be8b9ef3bcad08f27596d6a7a0364eca4299f02d56179664eb7dbc6552c7cf68ca6ee6f98fcd0171a2ede35f03cf1168 SHA512 c02a1d76378cd18f963ea88b47682237cc4702fda3504ff3ab303a87a60434c38cca866193fdb6e33e5e5afe20bb7ba94f5024b40ad4a42a666713fc079e7c53
-DIST tdesktop-3.1.8-full.tar.gz 38494235 BLAKE2B 50da0fdfe48f6492dc255c0fdfdb584750fd137ab0f847d226f9f62012ed1c34cc1a597f97735ca6aae1ba7e262562be2c88b92fe22c2868ed2cda437341a1f9 SHA512 787c92d6aaad2998d7195f2e1c98eddc6e87c3cb04a0d9ab80ea9a4a2dd1a798004109f8cc1ad82136c511ae191cea5b15cc23cc541ce86ccdb79dbc65367f09
-DIST tdesktop-3.3.0-full.tar.gz 38662573 BLAKE2B f6cba2be02faccde77c510742dc57680a2731cd3b2bc4a2d680f6cda7fd1a634e2fa0406855a491241434daa080e782f561e5e472dcc42a8b8376c16e038b6af SHA512 ff0ac1abe264f19812c2e0b40d4861caddd6c01a3f863ccb68de9c5227282872b2bde878dcf751d7d04d36c6e0e77912619ac7863d54f25f739f3744e9bca53a
-DIST tdesktop-3.4.3-full.tar.gz 40647558 BLAKE2B 220a7b29dbc7a48d53e53fe9609dba804e5fe536feebc1225fd5400a8eec703e64f65decb8b503ed77e843c011c8b5fd12916534d4a1ecbc84724f277dcc301a SHA512 6b27eb14570b55fb14c77f1d557591985a4791712897c2e144196c54c2a98b10c7ece9dac7d039a6bb56f39e3062e4fbfbb60f6822e52b76f927bbf419d88a6b
+AUX tdesktop-3.5.2-jemalloc-only-telegram.patch 1032 BLAKE2B 8220f745febaec55b85f64e25a860f9cfee57bf07496e0bf496857686c5bf7bdfb9c9ede94f9374dea677f1516e8dff39cae5b3a993d1c0fe32d34cf0c91015e SHA512 156a62d5d2145559828466e4c09c23cf8a0cd0cb9d844c27d50945135d854a2e0af45cb3e0dc675e21f74dc2f323574a785e259e86f4120d055aa0e34fd20ea9
+AUX tdesktop-3.5.2-jemalloc-optional.patch 2924 BLAKE2B fa0c124fc38d83434eff5c2e03f815d9e32b3af62782401251905db293d8016618f9c51b333a7a4e86e9d529a1e8747495b982ad9e5d6c19c2d9c63b39391461 SHA512 de836736fdc5bcd2f581cd43223dff9ffe82042440e44f6038d2d0278fa94777054badd2870deb1f7c8285a35a5f01cfeccbd76701aeaf5ca9a573d8fbc9ed31
+AUX tdesktop-3.5.2-musl.patch 890 BLAKE2B e65419eac920eb7c6929559229e50458fca0e9598b9e173f332b98235dc7d84acd01f5ceb23462b0fb53edbbeec8747e6f27e49cab8bc596b0c1ded205e6358c SHA512 57a811629749c285d3f181ad714afa322e0b65758114283f506319a076aa0410f5e9a75f6fad5642fe5611745c418b404d95a616d53ac8360fbff5cf170627ba
+AUX tdesktop-3.6.0-jemalloc-only-telegram.patch 1343 BLAKE2B bc257ee3bc3577b05a73b74c6394592b4636e605eb06c25a6749a38f2742104e1d214234524cbd5191bb397b22a4af4ba28c25c01520973a4f10e08bf3ba3bd2 SHA512 00067d388bd75adfcf7f2f460d99c283dd0110d33be5124585665b2566ef5c2b15100e8f86685bde2216083131609918861d7db845f4813ec303a13d8c423ae7
+AUX tdesktop-3.6.0-support-ffmpeg5.patch 3142 BLAKE2B f05816a8b26c3061c88b8814adc2402981836ab7853be1dad9c4eb74b621e1084a2167ad5ea86d500c98d627317ffd48288bcb4df897f5ca6858516ecf86c8f0 SHA512 811f42f8372102910be20ac92030b98ad98704cb1378a90d17a01b15dc4a9aa8e9b6bb179a9dc4d09687ad7b60030f0f7367f8058674244b080748bf2c913044
DIST tdesktop-3.4.8-full.tar.gz 41220984 BLAKE2B e75e7d7432a863e7a35b73bb2a378970f8aab74d99a425e631947fd894e51d931ee2390e2f885831d165d73541cf2151840467e2ef02ece175cc6a18f3e2c81c SHA512 cdeb5a83a375a494d805bf4198beee1c4bfc94bd9626535721a0cf04a590c70bfdb20e76baaa2a4c8c6db54c5813f22ce2a8c6291786b6b6db3dcde10b266fe1
-EBUILD telegram-desktop-3.1.8.ebuild 4358 BLAKE2B a305bba1349c0bc884014cd50c06308d831f7fc27e2b4aea0136a303f1eedaeb67631a6b27dc5860614cc6018c1e692833c272ea7ce7d29e00b0768c76dd44f4 SHA512 917c1ecd3c35ef953d3b71f5f1e3adaf74ea8aaa203e550dc775dfc1eb418675f5fc1aae08eebe4e0f5fc62edf64beb9e2ae6bee8fbfd73870cbcf66d5647ef9
-EBUILD telegram-desktop-3.3.0.ebuild 4622 BLAKE2B 20240a1921bcc98a34d685a93a0c66944420a8fc74770dbc5b3484e47ce02d146fa7184a16987184077019ee7ca3cb2c2e47586bbd09b2ce4617ea54fbc63a97 SHA512 6e98b3e166b918875bd73c0cae2eb6af507970d50cc8dd03555471fa35c954a6ece49de310934863f06fa726538241aaba6c3cb307fae7fd74457e884aa024ea
-EBUILD telegram-desktop-3.4.3.ebuild 4752 BLAKE2B 4817101e22311ee0414d2065522ba83cbacc1a877217a9403d6b5e70b096ecc51f25376bb151d5d8c77cc9a9f305c7d3af3dfb4fda7178aedca0194a6cf5f06e SHA512 909d08dd26ed182f1700b98a7675be52d31a3978ef274afefbf310709c8d0b934729f62bb05746833ce0995fb24eb5160715da2d4f013aab0a9eafcf33d7eba2
-EBUILD telegram-desktop-3.4.8.ebuild 4636 BLAKE2B 353cdac4d13a21377223ee6b506bd5956f32bfbb23c8c450997d3fb1a802a770f91719e313e052799b3bf5c46830a0288c20e107d9060a7f1f34e0454d36b1c6 SHA512 a31e12360be13e57a4896ec3bd4ad3d674fd0a64cd34d02b1aae44def1eed440a2a0929585ce8fb80cd866a3730873b5f9252f591d741a8e2c0e5d669890d9f6
+DIST tdesktop-3.5.2-full.tar.gz 41216346 BLAKE2B 5f2570073e02c5aadbf5f9b6251f9b71e9a608d97763bd3a792d3c4836b68245410142face3446660b68e519bd7e71df0319cb1ff1ea1fed24327ac8db0e8d0b SHA512 adb95fb37fedba6344107e4dd789b88563e24e6a01c7b944d9e5365ceccff60d774eb31a2c1e39cd200ef6de83317fe654956cfecaa1e13c7b2fdbf4c38f057e
+DIST tdesktop-3.6.0-full.tar.gz 41227365 BLAKE2B 2d2c66d3110ef83b88d74fc2ca90e444fb34ffb1e96b71d0871b1477598c75b487d8f932f4ba244b99391390317efa90b017bc8a4f562e31461c330d425410e5 SHA512 e5d4278229dc6033e1d40509d54fe52844dd8bad036bfec1fb9683505c9a626e821c15a487db5f1be5951dd5ed0db3ff5a4cbcbba73627f5e527e88cb06925f3
+EBUILD telegram-desktop-3.4.8.ebuild 4642 BLAKE2B aa59d84e4c523b559e1f161fdd9a59eea7c720e6955bf196c5da7a6f504bd912abd4a7c6cecd2b455b5fb0e006f0107883e156f39c1f89591708b726458a6e4e SHA512 fd7f2ec36c03f312a6e5462527872684b5b75dbe2ab4252b6a4051385c8ff13aeda047bb9134da27d07dc16d0899fe0a342279319802bc4028ee7a43d9248471
+EBUILD telegram-desktop-3.5.2-r1.ebuild 4891 BLAKE2B 998aabd95c928ea254c78abfcca8ebdd614e7d68b12ce717c563bb1b4c4e2ba1a495ef08e4210e7b2ff810d3506e9e3f42062a46ebd412e9ed30af333d25b9a7 SHA512 5f7de7682a4ae7796c12560b8a381624ced00c4bd3521bc498ba957838a8eae419efdbb52a38cb1afa13fc04b210a68a4ee1b84b20d7507ec5a91480da90dc3f
+EBUILD telegram-desktop-3.6.0.ebuild 4900 BLAKE2B 6a1441f676fc1bb6f3739a4ff32774c4b08db7090be2b18ed56c0c6213f2a3f85c68d57ba45c9b5321610b565b1cce511ec30c54f60d390091ee089fc978c857 SHA512 e671b6439f2cf249a2c5f737e01f8e199d1fa82bf6b42486f2601eb66c4429a3469cd63622cc0a2fd719dd5997edb86f157d641f10069ebc13514afeda6b5cf5
MISC metadata.xml 709 BLAKE2B 02eee6916528198d1b28ebf883f84a94cb979f507d559d74e1b9a4e4f7b8b82930fd19a30c2f86a3e71ec2b6aa93e7836faf64ab23e23c59850b5b5260b305e8 SHA512 3c26cde38da1cb3e6700b52a50bb91d1b41230b89f7603d19d25156a1ae53603906cbf94b3257e189c6d24b5cd5627729b652ed412d9c3ac94dedbde5a721f5e
diff --git a/net-im/telegram-desktop/files/tdesktop-3.1.0-fix-openssl3.patch b/net-im/telegram-desktop/files/tdesktop-3.1.0-fix-openssl3.patch
deleted file mode 100644
index 2b92e8adce4f..000000000000
--- a/net-im/telegram-desktop/files/tdesktop-3.1.0-fix-openssl3.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix openssl 3.x compatibility
-
-FIPS_mode_set was merely used to clean up resources. This isn't necessary
-anymore on the newer openssl version.
-
-There's still a lot of functions that are used that were deprecated. I hope
-upstream can fix those, as I'm unsure what to do with them.
-
---- tdesktop-3.1.0-full.orig/Telegram/SourceFiles/core/utils.cpp
-+++ tdesktop-3.1.0-full/Telegram/SourceFiles/core/utils.cpp
-@@ -124,7 +124,7 @@
-
- void finish() {
- CRYPTO_cleanup_all_ex_data();
--#ifndef LIBRESSL_VERSION_NUMBER
-+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x20000000L
- FIPS_mode_set(0);
- #endif
- ENGINE_cleanup();
diff --git a/net-im/telegram-desktop/files/tdesktop-3.1.0-jemalloc-only-telegram.patch b/net-im/telegram-desktop/files/tdesktop-3.1.0-jemalloc-only-telegram.patch
deleted file mode 100644
index 7ad3e75e49ba..000000000000
--- a/net-im/telegram-desktop/files/tdesktop-3.1.0-jemalloc-only-telegram.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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.
-
---- tdesktop-3.1.0-full.orig/Telegram/CMakeLists.txt
-+++ tdesktop-3.1.0-full/Telegram/CMakeLists.txt
-@@ -1256,6 +1256,11 @@
- endif()
- endif()
- else()
-+ target_link_libraries(Telegram
-+ PRIVATE
-+ desktop-app::external_jemalloc
-+ )
-+
- if (NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
- target_link_libraries(Telegram
- PRIVATE
---- tdesktop-3.1.0-full.orig/cmake/options_linux.cmake
-+++ tdesktop-3.1.0-full/cmake/options_linux.cmake
-@@ -45,11 +45,6 @@
- target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
- endif()
-
--target_link_libraries(common_options
--INTERFACE
-- desktop-app::external_jemalloc
--)
--
- if (DESKTOP_APP_USE_ALLOCATION_TRACER)
- target_link_options(common_options
- INTERFACE
diff --git a/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-only-telegram.patch b/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-only-telegram.patch
new file mode 100644
index 000000000000..4f5c7017e6ac
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-only-telegram.patch
@@ -0,0 +1,33 @@
+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.
+
+--- tdesktop-3.5.2-full.orig/Telegram/CMakeLists.txt
++++ tdesktop-3.5.2-full/Telegram/CMakeLists.txt
+@@ -1357,6 +1357,12 @@
+ desktop-app::external_kwayland
+ )
+ endif()
++
++ target_link_libraries(Telegram
++ PRIVATE
++ desktop-app::linux_jemalloc_helper
++ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
++ )
+ endif()
+
+ if (build_macstore)
+--- tdesktop-3.5.2-full.orig/cmake/options_linux.cmake
++++ tdesktop-3.5.2-full/cmake/options_linux.cmake
+@@ -64,8 +64,6 @@
+
+ target_link_libraries(common_options
+ INTERFACE
+- desktop-app::linux_jemalloc_helper
+- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
+ ${CMAKE_DL_LIBS}
+ )
+
diff --git a/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-optional.patch b/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-optional.patch
new file mode 100644
index 000000000000..bd3595858c20
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-3.5.2-jemalloc-optional.patch
@@ -0,0 +1,71 @@
+Optionally disable jemalloc
+
+Telegram upstream heavily insists you use the jemalloc allocator. This is due
+to the high memory usage resulting from the glibc allocator. It is unknown why
+this affects telegram the way it does, but upstream solved the issue by using a
+different allocator. Initially they used mallocng, now jemalloc.
+
+However, other libcs don't necessarily need this, and as such this should be
+optional. As mallocng is a fork of musl's allocator, and this was used before
+the switch to jemalloc, the musl allocator should still be OK.
+
+Please warn glibc users about disabling jemalloc, don't report bugs about
+memory usage upstream unless you're using jemalloc.
+
+Related info:
+https://github.com/telegramdesktop/tdesktop/issues/16084
+https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
+
+--- tdesktop-3.5.2-full.orig/Telegram/CMakeLists.txt
++++ tdesktop-3.5.2-full/Telegram/CMakeLists.txt
+@@ -1358,11 +1358,13 @@
+ )
+ endif()
+
+- target_link_libraries(Telegram
+- PRIVATE
+- desktop-app::linux_jemalloc_helper
+- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
+- )
++ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
++ target_link_libraries(Telegram
++ PRIVATE
++ desktop-app::linux_jemalloc_helper
++ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
++ )
++ endif()
+ endif()
+
+ if (build_macstore)
+--- tdesktop-3.5.2-full.orig/cmake/CMakeLists.txt
++++ tdesktop-3.5.2-full/cmake/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
+ add_subdirectory(external)
+-if (LINUX)
++if (LINUX AND NOT DESKTOP_APP_DISABLE_JEMALLOC)
+ add_subdirectory(linux_jemalloc_helper)
+ endif()
+ if (LINUX AND NOT DESKTOP_APP_USE_PACKAGED)
+--- tdesktop-3.5.2-full.orig/cmake/external/CMakeLists.txt
++++ tdesktop-3.5.2-full/cmake/external/CMakeLists.txt
+@@ -37,7 +37,7 @@
+ add_checked_subdirectory(hunspell)
+ endif()
+ add_checked_subdirectory(iconv)
+-if (LINUX)
++if (LINUX AND NOT DESKTOP_APP_DISABLE_JEMALLOC)
+ add_checked_subdirectory(jemalloc)
+ endif()
+ add_checked_subdirectory(jpeg)
+--- tdesktop-3.5.2-full.orig/cmake/variables.cmake
++++ tdesktop-3.5.2-full/cmake/variables.cmake
+@@ -26,6 +26,7 @@
+ option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled patched ones." OFF)
+ option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled patched one." OFF)
+ option(DESKTOP_APP_DISABLE_SPELLCHECK "Disable spellcheck library." OFF)
++option(DESKTOP_APP_DISABLE_JEMALLOC "Disable use of the jemalloc allocator (Linux only)." OFF)
+ option(DESKTOP_APP_DISABLE_CRASH_REPORTS "Disable crash report generation." ${no_special_target})
+ option(DESKTOP_APP_DISABLE_AUTOUPDATE "Disable autoupdate." ${disable_autoupdate})
+ option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF)
diff --git a/net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch b/net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch
new file mode 100644
index 000000000000..4c34d107913e
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch
@@ -0,0 +1,33 @@
+Stub out some glibc-specific functions
+
+This allows support for alternative libcs like musl
+
+--- tdesktop-3.5.2-full.orig/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
++++ tdesktop-3.5.2-full/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
+@@ -22,7 +22,7 @@
+
+ #include <sys/utsname.h>
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ #include <gnu/libc-version.h>
+ #endif // Q_OS_LINUX
+
+@@ -200,7 +200,7 @@
+ }
+
+ QString GetLibcName() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ return "glibc";
+ #endif // Q_OS_LINUX
+
+@@ -208,7 +208,7 @@
+ }
+
+ QString GetLibcVersion() {
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ static const auto result = [&] {
+ const auto version = QString::fromLatin1(gnu_get_libc_version());
+ return QVersionNumber::fromString(version).isNull() ? QString() : version;
diff --git a/net-im/telegram-desktop/files/tdesktop-3.6.0-jemalloc-only-telegram.patch b/net-im/telegram-desktop/files/tdesktop-3.6.0-jemalloc-only-telegram.patch
new file mode 100644
index 000000000000..6836e6935049
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-3.6.0-jemalloc-only-telegram.patch
@@ -0,0 +1,41 @@
+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.
+
+--- tdesktop-3.6.0-full.orig/Telegram/CMakeLists.txt
++++ tdesktop-3.6.0-full/Telegram/CMakeLists.txt
+@@ -1376,6 +1376,14 @@
+ desktop-app::external_kwayland
+ )
+ 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-3.6.0-full.orig/cmake/options_linux.cmake
++++ tdesktop-3.6.0-full/cmake/options_linux.cmake
+@@ -62,14 +62,6 @@
+ target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
+ 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()
+-
+ target_link_libraries(common_options
+ INTERFACE
+ ${CMAKE_DL_LIBS}
diff --git a/net-im/telegram-desktop/files/tdesktop-3.6.0-support-ffmpeg5.patch b/net-im/telegram-desktop/files/tdesktop-3.6.0-support-ffmpeg5.patch
new file mode 100644
index 000000000000..32959acd5482
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-3.6.0-support-ffmpeg5.patch
@@ -0,0 +1,75 @@
+Support FFmpeg 5
+
+I'm not comfortable changing the _durationInMilliseconds formula on older
+versions of ffmpeg. Doing that only for newer versions also reduces the amount
+of testing this patch needs (of which it'll get very minimal amounts, this is a
+job better left for upstream when they get to it).
+
+Also it doesn't compile under ffmpeg 4 if the variables are constants :/
+
+--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp
++++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp
+@@ -104,7 +104,11 @@
+
+ _frame = av_frame_alloc();
+
++#if LIBAVFORMAT_VERSION_MAJOR >= 59
++ const AVInputFormat *inputFormat = av_find_input_format(container.c_str());
++#else
+ AVInputFormat *inputFormat = av_find_input_format(container.c_str());
++#endif
+ if (!inputFormat) {
+ _didReadToEnd = true;
+ return;
+@@ -144,7 +148,11 @@
+
+ _streamId = i;
+
++#if LIBAVFORMAT_VERSION_MAJOR >= 59
++ _durationInMilliseconds = inStream->duration * 1000 / 48000;
++#else
+ _durationInMilliseconds = (int)((inStream->duration + inStream->first_dts) * 1000 / 48000);
++#endif
+
+ if (inStream->metadata) {
+ AVDictionaryEntry *entry = av_dict_get(inStream->metadata, "TG_META", nullptr, 0);
+--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
++++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
+@@ -32,7 +32,11 @@
+ AudioStreamingPartPersistentDecoderState(AVCodecParameters const *codecParameters, AVRational timeBase) :
+ _codecParameters(codecParameters),
+ _timeBase(timeBase) {
++#ifdef LIBAVCODEC_VERSION_MAJOR >= 59
++ const AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
++#else
+ AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
++#endif
+ if (codec) {
+ _codecContext = avcodec_alloc_context3(codec);
+ int ret = avcodec_parameters_to_context(_codecContext, codecParameters);
+--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
++++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
+@@ -280,7 +280,11 @@
+
+ int ret = 0;
+
++#if LIBAVFORMAT_VERSION_MAJOR >= 59
++ const AVInputFormat *inputFormat = av_find_input_format(container.c_str());
++#else
+ AVInputFormat *inputFormat = av_find_input_format(container.c_str());
++#endif
+ if (!inputFormat) {
+ _didReadToEnd = true;
+ return;
+@@ -323,7 +327,11 @@
+ }
+
+ if (videoCodecParameters && videoStream) {
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++ const AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
++#else
+ AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
++#endif
+ if (codec) {
+ _codecContext = avcodec_alloc_context3(codec);
+ ret = avcodec_parameters_to_context(_codecContext, videoCodecParameters);
diff --git a/net-im/telegram-desktop/telegram-desktop-3.1.8.ebuild b/net-im/telegram-desktop/telegram-desktop-3.1.8.ebuild
deleted file mode 100644
index 9a17e6963f61..000000000000
--- a/net-im/telegram-desktop/telegram-desktop-3.1.8.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit xdg cmake python-any-r1
-
-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"
-
-LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-IUSE="+dbus enchant +hunspell screencast +spell wayland webkit +X"
-REQUIRED_USE="
- spell? (
- ^^ ( enchant hunspell )
- )
- webkit? ( dbus )
-"
-
-RDEPEND="
- !net-im/telegram-desktop-bin
- app-arch/lz4:=
- dev-cpp/abseil-cpp:=
- dev-libs/jemalloc:=[-lazy-lock]
- dev-libs/openssl:=
- dev-libs/xxhash
- >=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?]
- media-fonts/open-sans
- media-libs/fontconfig:=
- ~media-libs/libtgvoip-2.4.4_p20210302
- >=media-libs/libtgvoip-2.4.4_p20210302-r2
- media-libs/openal
- media-libs/opus:=
- media-libs/rnnoise
- ~media-libs/tg_owt-0_pre20210914[screencast=,X=]
- media-video/ffmpeg:=[opus]
- sys-libs/zlib:=[minizip]
- dbus? (
- dev-cpp/glibmm:2
- dev-qt/qtdbus:5
- dev-libs/libdbusmenu-qt[qt5(+)]
- )
- enchant? ( app-text/enchant:= )
- hunspell? ( >=app-text/hunspell-1.7:= )
- wayland? ( kde-frameworks/kwayland:= )
- webkit? ( net-libs/webkit-gtk:= )
- 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
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/tdesktop-3.1.0-jemalloc-only-telegram.patch"
- "${FILESDIR}/tdesktop-3.1.0-fix-openssl3.patch"
-)
-
-pkg_pretend() {
- if has ccache ${FEATURES}; then
- ewarn
- 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() {
- # 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() {
- # gtk is really needed for image copy-paste due to https://bugreports.qt.io/browse/QTBUG-56595
- local mycmakeargs=(
- -DTDESKTOP_LAUNCHER_BASENAME="${PN}"
- -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
-
- -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex X no yes)
- -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex wayland no yes)
- -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex dbus no yes)
- -DDESKTOP_APP_DISABLE_WEBKITGTK=$(usex webkit no yes)
- -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex spell no yes) # 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!"
- 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."
- fi
-}
diff --git a/net-im/telegram-desktop/telegram-desktop-3.4.8.ebuild b/net-im/telegram-desktop/telegram-desktop-3.4.8.ebuild
index 5282d22ec82f..ce7da5f009ff 100644
--- a/net-im/telegram-desktop/telegram-desktop-3.4.8.ebuild
+++ b/net-im/telegram-desktop/telegram-desktop-3.4.8.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~riscv"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv"
IUSE="+dbus enchant +hunspell screencast +spell wayland +X"
REQUIRED_USE="
spell? (
diff --git a/net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild b/net-im/telegram-desktop/telegram-desktop-3.5.2-r1.ebuild
index 21f0978de9d5..98ffdd9164d6 100644
--- a/net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild
+++ b/net-im/telegram-desktop/telegram-desktop-3.5.2-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit xdg cmake python-any-r1 optfeature flag-o-matic
@@ -16,8 +16,8 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~riscv"
-IUSE="+dbus enchant +hunspell screencast +spell wayland +X"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="+dbus enchant +hunspell +jemalloc screencast +spell wayland +X"
REQUIRED_USE="
spell? (
^^ ( enchant hunspell )
@@ -28,7 +28,6 @@ RDEPEND="
!net-im/telegram-desktop-bin
app-arch/lz4:=
dev-cpp/abseil-cpp:=
- dev-libs/jemalloc:=[-lazy-lock]
dev-libs/libdispatch
dev-libs/openssl:=
dev-libs/xxhash
@@ -40,11 +39,11 @@ RDEPEND="
>=dev-qt/qtwidgets-5.15:5[png,X?]
media-fonts/open-sans
media-libs/fontconfig:=
- ~media-libs/libtgvoip-2.4.4_p20211129
+ ~media-libs/libtgvoip-2.4.4_p20220117
media-libs/openal
media-libs/opus:=
media-libs/rnnoise
- ~media-libs/tg_owt-0_pre20211207[screencast=,X=]
+ ~media-libs/tg_owt-0_pre20220209[screencast=,X=]
media-video/ffmpeg:=[opus]
sys-libs/zlib:=[minizip]
dbus? (
@@ -54,6 +53,7 @@ RDEPEND="
)
enchant? ( app-text/enchant:= )
hunspell? ( >=app-text/hunspell-1.7:= )
+ jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] )
wayland? ( kde-frameworks/kwayland:= )
X? ( x11-libs/libxcb:= )
"
@@ -69,10 +69,15 @@ BDEPEND="
# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233
PATCHES=(
- "${FILESDIR}/tdesktop-3.1.0-jemalloc-only-telegram.patch"
+ "${FILESDIR}/tdesktop-3.5.2-jemalloc-only-telegram.patch"
"${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch"
+ "${FILESDIR}/tdesktop-3.5.2-musl.patch"
+ "${FILESDIR}/tdesktop-3.5.2-jemalloc-optional.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
@@ -88,26 +93,24 @@ src_prepare() {
sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
cmake/external/rlottie/CMakeLists.txt || die
- # fix linking with missing libdl (introduced in 3.2.0->3.2.4 upgrade,
- # not sure if thanks to removing the -pie flag in the cmakelists...)
- sed -i 's/${JEMALLOC_LINK_LIBRARIES}/& dl/' \
- cmake/external/jemalloc/CMakeLists.txt || die
-
cmake_src_prepare
}
src_configure() {
- # gtk is really needed for image copy-paste due to https://bugreports.qt.io/browse/QTBUG-56595
local mycmakeargs=(
-DTDESKTOP_LAUNCHER_BASENAME="${PN}"
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
-DDESKTOP_APP_QT6=OFF
- -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex X no yes)
- -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex wayland no yes)
- -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex dbus no yes)
- -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex spell no yes) # enables hunspell (recommended)
+ -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex !dbus)
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended)
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
+
+ # This option is heavily discouraged by upstream.
+ # See files/tdesktop-*-jemalloc-optional.patch
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
)
if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
@@ -133,10 +136,6 @@ src_configure() {
)
fi
- # Fix for RISCV, as well as any other platforms that might generate libatomic calls
- # Upstreamed in >3.4.3
- append-ldflags '-pthread'
-
cmake_src_configure
}
@@ -144,10 +143,17 @@ 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
optfeature_header
optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk
diff --git a/net-im/telegram-desktop/telegram-desktop-3.3.0.ebuild b/net-im/telegram-desktop/telegram-desktop-3.6.0.ebuild
index 04a19cbd9bfe..5d77d8964fd7 100644
--- a/net-im/telegram-desktop/telegram-desktop-3.3.0.ebuild
+++ b/net-im/telegram-desktop/telegram-desktop-3.6.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit xdg cmake python-any-r1 optfeature
@@ -12,11 +12,12 @@ 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 ~ppc64"
-IUSE="+dbus enchant +hunspell screencast +spell wayland +X"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="+dbus enchant +hunspell +jemalloc screencast +spell wayland +X"
REQUIRED_USE="
spell? (
^^ ( enchant hunspell )
@@ -27,7 +28,7 @@ RDEPEND="
!net-im/telegram-desktop-bin
app-arch/lz4:=
dev-cpp/abseil-cpp:=
- dev-libs/jemalloc:=[-lazy-lock]
+ dev-libs/libdispatch
dev-libs/openssl:=
dev-libs/xxhash
>=dev-qt/qtcore-5.15:5
@@ -38,11 +39,11 @@ RDEPEND="
>=dev-qt/qtwidgets-5.15:5[png,X?]
media-fonts/open-sans
media-libs/fontconfig:=
- ~media-libs/libtgvoip-2.4.4_p20211129
+ ~media-libs/libtgvoip-2.4.4_p20220117
media-libs/openal
media-libs/opus:=
media-libs/rnnoise
- ~media-libs/tg_owt-0_pre20211207[screencast=,X=]
+ ~media-libs/tg_owt-0_pre20220209[screencast=,X=]
media-video/ffmpeg:=[opus]
sys-libs/zlib:=[minizip]
dbus? (
@@ -52,7 +53,11 @@ RDEPEND="
)
enchant? ( app-text/enchant:= )
hunspell? ( >=app-text/hunspell-1.7:= )
- wayland? ( kde-frameworks/kwayland:= )
+ jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] )
+ wayland? (
+ dev-qt/qtwayland:=
+ kde-frameworks/kwayland:=
+ )
X? ( x11-libs/libxcb:= )
"
DEPEND="${RDEPEND}
@@ -66,14 +71,16 @@ BDEPEND="
"
# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233
-S="${WORKDIR}/${MY_P}"
-
PATCHES=(
- "${FILESDIR}/tdesktop-3.1.0-jemalloc-only-telegram.patch"
- "${FILESDIR}/tdesktop-3.1.0-fix-openssl3.patch"
+ "${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-3.6.0-support-ffmpeg5.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
@@ -89,26 +96,24 @@ src_prepare() {
sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
cmake/external/rlottie/CMakeLists.txt || die
- # fix linking with missing libdl (introduced in 3.2.0->3.2.4 upgrade,
- # not sure if thanks to removing the -pie flag in the cmakelists...)
- sed -i 's/${JEMALLOC_LINK_LIBRARIES}/& dl/' \
- cmake/external/jemalloc/CMakeLists.txt || die
-
cmake_src_prepare
}
src_configure() {
- # gtk is really needed for image copy-paste due to https://bugreports.qt.io/browse/QTBUG-56595
local mycmakeargs=(
-DTDESKTOP_LAUNCHER_BASENAME="${PN}"
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
-DDESKTOP_APP_QT6=OFF
- -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex X no yes)
- -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex wayland no yes)
- -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex dbus no yes)
- -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex spell no yes) # enables hunspell (recommended)
+ -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex !dbus)
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended)
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
+
+ # This option is heavily discouraged by upstream.
+ # See files/tdesktop-*-jemalloc-optional.patch
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
)
if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
@@ -141,10 +146,17 @@ 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
optfeature_header
optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk