commit:     6cbb8b0398ed27aa780f0b60911582926d40092e
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Thu Aug  5 10:24:30 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu Aug  5 16:42:10 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cbb8b03

net-im/telegram-desktop: Drop vulnerable versions

Security bump was already a bit late, it's had long enough to cook.

Bug: https://bugs.gentoo.org/802537
Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 net-im/telegram-desktop/Manifest                   |   1 -
 .../tdesktop-2.7.3-webview-include-gdkx.patch      |  10 -
 .../tdesktop-2.7.4-disable-webkit-separately.patch |  72 ------
 ...esktop-2.7.4-fix-disable-dbus-integration.patch |  21 --
 .../files/tdesktop-2.7.4-voice-crash.patch         | 262 ---------------------
 .../files/tdesktop-2.7.4-voice-ffmpeg44.patch      |  25 --
 .../files/tdesktop-2.7.4-webview-fix-gcc11.patch   |  31 ---
 .../telegram-desktop-2.7.4-r1.ebuild               | 146 ------------
 8 files changed, 568 deletions(-)

diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
index 7bba87ebefe..060040b4c96 100644
--- a/net-im/telegram-desktop/Manifest
+++ b/net-im/telegram-desktop/Manifest
@@ -1,3 +1,2 @@
-DIST tdesktop-2.7.4-full.tar.gz 36894673 BLAKE2B 
e04749fb0168f8bae69a9ad85c5bff315faf0b355ff5f3a85a34ee36e3305c6b550553284d5179aff9283bbd1a94f9ec3c41e293d0ad8c86e4d08283189e42b3
 SHA512 
0a796d7a8c5e5982bc60f19c41da53996a609bf794fad224e7beea5fc3816b5cf35f16b0ec2cc7279085c69996063a44085f48e1596dfe746d260a2e8f1b2d14
 DIST tdesktop-2.8.11-full.tar.gz 37105468 BLAKE2B 
1ec5a0003bd1b948b45213509fa0649dfde5ec8e3dff097bf45aa0951c7963930788b0bee853f286d04b008b78704c464b6614b8391350767affebc2623b25af
 SHA512 
a553313b04fbb562745be2381a84117657172952e46e280980a73c9fcfe2a7cf29c0e012e4b1259816d1e6652418e7a1ddfc4e394544fcc3aeb33704cbe80860
 DIST tdesktop-2.9.0-full.tar.gz 37327425 BLAKE2B 
f47abfd41e71dbf950e6357417fd2725b145286861f6dfc8edc4101b6b232c43ea7a9987d028e57979588bf44919fef2e89b00adae7a9843e52f8f2566013dd8
 SHA512 
e9be60cdaeffa4efa95ea1e5d8fe50308bff5612b546fa92c02f824f479b42e098fb8fbe713e652578ee2308e3faadaf82e4c101dee0e58b6f3c70d8dcb0bd8e

diff --git 
a/net-im/telegram-desktop/files/tdesktop-2.7.3-webview-include-gdkx.patch 
b/net-im/telegram-desktop/files/tdesktop-2.7.3-webview-include-gdkx.patch
deleted file mode 100644
index 491a8cd3e1d..00000000000
--- a/net-im/telegram-desktop/files/tdesktop-2.7.3-webview-include-gdkx.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- 
tdesktop-2.7.3-full.orig/Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.h
-+++ 
tdesktop-2.7.3-full/Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.h
-@@ -12,6 +12,7 @@ extern "C" {
- #undef signals
- #include <JavaScriptCore/JavaScript.h>
- #include <gtk/gtk.h>
-+#include <gdk/gdkx.h>
- #include <webkit2/webkit2.h>
- #include <X11/Xlib.h>
- #define signals public

diff --git 
a/net-im/telegram-desktop/files/tdesktop-2.7.4-disable-webkit-separately.patch 
b/net-im/telegram-desktop/files/tdesktop-2.7.4-disable-webkit-separately.patch
deleted file mode 100644
index e54aca2ffa0..00000000000
--- 
a/net-im/telegram-desktop/files/tdesktop-2.7.4-disable-webkit-separately.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- tdesktop-2.7.4-full.orig/Telegram/lib_webview/CMakeLists.txt
-+++ tdesktop-2.7.4-full/Telegram/lib_webview/CMakeLists.txt
-@@ -116,7 +116,7 @@
-         desktop-app::lib_webview_winrt
-     )
- elseif (LINUX)
--    if (NOT DESKTOP_APP_DISABLE_GTK_INTEGRATION)
-+    if (NOT DESKTOP_APP_DISABLE_WEBKIT)
-         find_package(PkgConfig REQUIRED)
- 
-         if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY)
---- 
tdesktop-2.7.4-full.orig/Telegram/lib_webview/webview/platform/linux/webview_linux.cpp
-+++ 
tdesktop-2.7.4-full/Telegram/lib_webview/webview/platform/linux/webview_linux.cpp
-@@ -11,14 +11,14 @@
- namespace Webview {
- 
- Available Availability() {
--#ifndef DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#ifndef DESKTOP_APP_DISABLE_WEBKIT
-       return WebKit2Gtk::Availability();
--#else // !DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#else // !DESKTOP_APP_DISABLE_WEBKIT
-       return Available{
-               .error = Available::Error::NoGtkOrWebkit2Gtk,
-               .details = "This feature was disabled at build time.",
-       };
--#endif // DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#endif // DESKTOP_APP_DISABLE_WEBKIT
- }
- 
- bool SupportsEmbedAfterCreate() {
-@@ -26,11 +26,11 @@
- }
- 
- std::unique_ptr<Interface> CreateInstance(Config config) {
--#ifndef DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#ifndef DESKTOP_APP_DISABLE_WEBKIT
-       return WebKit2Gtk::CreateInstance(std::move(config));
--#else // !DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#else // !DESKTOP_APP_DISABLE_WEBKIT
-       return nullptr;
--#endif // DESKTOP_APP_DISABLE_GTK_INTEGRATION
-+#endif // DESKTOP_APP_DISABLE_WEBKIT
- }
- 
- } // namespace Webview
---- tdesktop-2.7.4-full.orig/cmake/options.cmake
-+++ tdesktop-2.7.4-full/cmake/options.cmake
-@@ -49,6 +49,13 @@
-     )
- endif()
- 
-+if (DESKTOP_APP_DISABLE_WEBKIT)
-+    target_compile_definitions(common_options
-+    INTERFACE
-+        DESKTOP_APP_DISABLE_WEBKIT
-+    )
-+endif()
-+
- if (DESKTOP_APP_USE_PACKAGED)
-     target_compile_definitions(common_options
-     INTERFACE
---- tdesktop-2.7.4-full.orig/cmake/variables.cmake
-+++ tdesktop-2.7.4-full/cmake/variables.cmake
-@@ -38,6 +38,7 @@
- option(DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES "Bundle recommended Qt 
platform themes for self-contained packages. (Linux only)" 
${DESKTOP_APP_USE_PACKAGED_LAZY})
- option(DESKTOP_APP_USE_PACKAGED_FFMPEG_STATIC "Link ffmpeg statically in 
packaged mode." OFF)
- option(DESKTOP_APP_DISABLE_SPELLCHECK "Disable spellcheck library." 
${osx_special_target})
-+option(DESKTOP_APP_DISABLE_WEBKIT "Disable WebkitGTK library (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-2.7.4-fix-disable-dbus-integration.patch
 
b/net-im/telegram-desktop/files/tdesktop-2.7.4-fix-disable-dbus-integration.patch
deleted file mode 100644
index 941a4ecc09c..00000000000
--- 
a/net-im/telegram-desktop/files/tdesktop-2.7.4-fix-disable-dbus-integration.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- 
tdesktop-2.7.4-full.orig/Telegram/SourceFiles/platform/linux/notifications_manager_linux_dummy.cpp
-+++ 
tdesktop-2.7.4-full/Telegram/SourceFiles/platform/linux/notifications_manager_linux_dummy.cpp
-@@ -13,15 +13,15 @@
- namespace Platform {
- namespace Notifications {
- 
--bool SkipAudio() {
-+bool SkipAudioForCustom() {
-       return false;
- }
- 
--bool SkipToast() {
-+bool SkipToastForCustom() {
-       return false;
- }
- 
--bool SkipFlashBounce() {
-+bool SkipFlashBounceForCustom() {
-       return false;
- }
- 

diff --git a/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch 
b/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch
deleted file mode 100644
index 41e447989cb..00000000000
--- a/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-From 71deaa48afab2bcf9df67b9b347b1f44aad3a9ce Mon Sep 17 00:00:00 2001
-From: John Preston <[email protected]>
-Date: Thu, 13 May 2021 15:17:54 +0400
-Subject: [PATCH] Don't crash on voice recording error.
-
-Fixes #16217.
----
- .../media/audio/media_audio_capture.cpp       | 89 +++++++++++--------
- 1 file changed, 54 insertions(+), 35 deletions(-)
-
-diff --git a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp 
b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-index a5965e0d1988..deb2474d7891 100644
---- a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-+++ b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-@@ -47,17 +47,17 @@ class Instance::Inner final : public QObject {
-       void start(Fn<void(Update)> updated, Fn<void()> error);
-       void stop(Fn<void(Result&&)> callback = nullptr);
- 
--      void timeout();
--
- private:
--      void processFrame(int32 offset, int32 framesize);
-+      void process();
-+
-+      [[nodiscard]] bool processFrame(int32 offset, int32 framesize);
-       void fail();
- 
--      void writeFrame(AVFrame *frame);
-+      [[nodiscard]] bool writeFrame(AVFrame *frame);
- 
-       // Writes the packets till EAGAIN is got from av_receive_packet()
-       // Returns number of packets written or -1 on error
--      int writePackets();
-+      [[nodiscard]] int writePackets();
- 
-       Fn<void(Update)> _updated;
-       Fn<void()> _error;
-@@ -150,6 +150,7 @@ struct Instance::Inner::Private {
-       AVCodec *codec = nullptr;
-       AVCodecContext *codecContext = nullptr;
-       bool opened = false;
-+      bool processing = false;
- 
-       int srcSamples = 0;
-       int dstSamples = 0;
-@@ -217,7 +218,7 @@ struct Instance::Inner::Private {
- 
- Instance::Inner::Inner(QThread *thread)
- : d(std::make_unique<Private>())
--, _timer(thread, [=] { timeout(); }) {
-+, _timer(thread, [=] { process(); }) {
-       moveToThread(thread);
- }
- 
-@@ -226,10 +227,10 @@ Instance::Inner::~Inner() {
- }
- 
- void Instance::Inner::fail() {
--      Expects(_error != nullptr);
--
-       stop();
--      _error();
-+      if (const auto error = base::take(_error)) {
-+              InvokeQueued(this, error);
-+      }
- }
- 
- void Instance::Inner::start(Fn<void(Update)> updated, Fn<void()> error) {
-@@ -384,13 +385,21 @@ void Instance::Inner::stop(Fn<void(Result&&)> callback) {
-       }
-       _timer.cancel();
- 
--      if (d->device) {
-+      const auto needResult = (callback != nullptr);
-+      const auto hadDevice = (d->device != nullptr);
-+      if (hadDevice) {
-               alcCaptureStop(d->device);
--              timeout(); // get last data
-+              if (d->processing) {
-+                      Assert(!needResult); // stop in the middle of 
processing - error.
-+              } else {
-+                      process(); // get last data
-+              }
-+              alcCaptureCloseDevice(d->device);
-+              d->device = nullptr;
-       }
- 
-       // Write what is left
--      if (!_captured.isEmpty()) {
-+      if (needResult && !_captured.isEmpty()) {
-               auto fadeSamples = kCaptureFadeInDuration * kCaptureFrequency / 
1000;
-               auto capturedSamples = static_cast<int>(_captured.size() / 
sizeof(short));
-               if ((_captured.size() % sizeof(short)) || (d->fullSamples + 
capturedSamples < kCaptureFrequency) || (capturedSamples < fadeSamples)) {
-@@ -414,11 +423,13 @@ void Instance::Inner::stop(Fn<void(Result&&)> callback) {
- 
-                       int32 framesize = d->srcSamples * 
d->codecContext->channels * sizeof(short), encoded = 0;
-                       while (_captured.size() >= encoded + framesize) {
--                              processFrame(encoded, framesize);
-+                              if (!processFrame(encoded, framesize)) {
-+                                      break;
-+                              }
-                               encoded += framesize;
-                       }
--                      writeFrame(nullptr); // drain the codec
--                      if (encoded != _captured.size()) {
-+                      // Drain the codec.
-+                      if (!writeFrame(nullptr) || encoded != 
_captured.size()) {
-                               d->fullSamples = 0;
-                               d->dataPos = 0;
-                               d->data.clear();
-@@ -436,14 +447,14 @@ void Instance::Inner::stop(Fn<void(Result&&)> callback) {
-       _captured = QByteArray();
- 
-       // Finish stream
--      if (d->device) {
-+      if (needResult && hadDevice) {
-               av_write_trailer(d->fmtContext);
-       }
- 
-       QByteArray result = d->fullSamples ? d->data : QByteArray();
-       VoiceWaveform waveform;
-       qint32 samples = d->fullSamples;
--      if (samples && !d->waveform.isEmpty()) {
-+      if (needResult && samples && !d->waveform.isEmpty()) {
-               int64 count = d->waveform.size(), sum = 0;
-               if (count >= Player::kWaveformSamplesCount) {
-                       QVector<uint16> peaks;
-@@ -472,11 +483,7 @@ void Instance::Inner::stop(Fn<void(Result&&)> callback) {
-                       }
-               }
-       }
--      if (d->device) {
--              alcCaptureStop(d->device);
--              alcCaptureCloseDevice(d->device);
--              d->device = nullptr;
--
-+      if (hadDevice) {
-               if (d->codecContext) {
-                       avcodec_free_context(&d->codecContext);
-                       d->codecContext = nullptr;
-@@ -528,12 +535,17 @@ void Instance::Inner::stop(Fn<void(Result&&)> callback) {
-               d->waveform.clear();
-       }
- 
--      if (callback) {
-+      if (needResult) {
-               callback({ result, waveform, samples });
-       }
- }
- 
--void Instance::Inner::timeout() {
-+void Instance::Inner::process() {
-+      Expects(!d->processing);
-+
-+      d->processing = true;
-+      const auto guard = gsl::finally([&] { d->processing = false; });
-+
-       if (!d->device) {
-               _timer.cancel();
-               return;
-@@ -582,7 +594,9 @@ void Instance::Inner::timeout() {
-               // Write frames
-               int32 framesize = d->srcSamples * d->codecContext->channels * 
sizeof(short), encoded = 0;
-               while (uint32(_captured.size()) >= encoded + framesize + 
fadeSamples * sizeof(short)) {
--                      processFrame(encoded, framesize);
-+                      if (!processFrame(encoded, framesize)) {
-+                              return;
-+                      }
-                       encoded += framesize;
-               }
- 
-@@ -597,13 +611,13 @@ void Instance::Inner::timeout() {
-       }
- }
- 
--void Instance::Inner::processFrame(int32 offset, int32 framesize) {
-+bool Instance::Inner::processFrame(int32 offset, int32 framesize) {
-       // Prepare audio frame
- 
-       if (framesize % sizeof(short)) { // in the middle of a sample
-               LOG(("Audio Error: Bad framesize in writeFrame() for capture, 
framesize %1, %2").arg(framesize));
-               fail();
--              return;
-+              return false;
-       }
-       auto samplesCnt = static_cast<int>(framesize / sizeof(short));
- 
-@@ -650,7 +664,7 @@ void Instance::Inner::processFrame(int32 offset, int32 
framesize) {
-               if ((res = av_samples_alloc(d->dstSamplesData, 0, 
d->codecContext->channels, d->dstSamples, d->codecContext->sample_fmt, 1)) < 0) 
{
-                       LOG(("Audio Error: Unable to av_samples_alloc for 
capture, error %1, %2").arg(res).arg(av_make_error_string(err, sizeof(err), 
res)));
-                       fail();
--                      return;
-+                      return false;
-               }
-               d->dstSamplesSize = av_samples_get_buffer_size(0, 
d->codecContext->channels, d->maxDstSamples, d->codecContext->sample_fmt, 0);
-       }
-@@ -658,7 +672,7 @@ void Instance::Inner::processFrame(int32 offset, int32 
framesize) {
-       if ((res = swr_convert(d->swrContext, d->dstSamplesData, d->dstSamples, 
(const uint8_t **)srcSamplesData, d->srcSamples)) < 0) {
-               LOG(("Audio Error: Unable to swr_convert for capture, error %1, 
%2").arg(res).arg(av_make_error_string(err, sizeof(err), res)));
-               fail();
--              return;
-+              return false;
-       }
- 
-       // Write audio frame
-@@ -670,45 +684,50 @@ void Instance::Inner::processFrame(int32 offset, int32 
framesize) {
- 
-       avcodec_fill_audio_frame(frame, d->codecContext->channels, 
d->codecContext->sample_fmt, d->dstSamplesData[0], d->dstSamplesSize, 0);
- 
--      writeFrame(frame);
-+      if (!writeFrame(frame)) {
-+              return false;
-+      }
- 
-       d->fullSamples += samplesCnt;
- 
-       av_frame_free(&frame);
-+      return true;
- }
- 
--void Instance::Inner::writeFrame(AVFrame *frame) {
-+bool Instance::Inner::writeFrame(AVFrame *frame) {
-       int res = 0;
-       char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
- 
-       res = avcodec_send_frame(d->codecContext, frame);
-       if (res == AVERROR(EAGAIN)) {
--              int packetsWritten = writePackets();
-+              const auto packetsWritten = writePackets();
-               if (packetsWritten < 0) {
-                       if (frame && packetsWritten == AVERROR_EOF) {
-                               LOG(("Audio Error: EOF in packets received when 
EAGAIN was got in avcodec_send_frame()"));
-                               fail();
-                       }
--                      return;
-+                      return false;
-               } else if (!packetsWritten) {
-                       LOG(("Audio Error: No packets received when EAGAIN was 
got in avcodec_send_frame()"));
-                       fail();
--                      return;
-+                      return false;
-               }
-               res = avcodec_send_frame(d->codecContext, frame);
-       }
-       if (res < 0) {
-               LOG(("Audio Error: Unable to avcodec_send_frame for capture, 
error %1, %2").arg(res).arg(av_make_error_string(err, sizeof(err), res)));
-               fail();
--              return;
-+              return false;
-       }
- 
-       if (!frame) { // drain
-               if ((res = writePackets()) != AVERROR_EOF) {
-                       LOG(("Audio Error: not EOF in packets received when 
draining the codec, result %1").arg(res));
-                       fail();
-+                      return false;
-               }
-       }
-+      return true;
- }
- 
- int Instance::Inner::writePackets() {

diff --git a/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch 
b/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch
deleted file mode 100644
index 4156956032d..00000000000
--- a/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a8807bc915f2439acc7c84f06d931d96d6ca602a Mon Sep 17 00:00:00 2001
-From: John Preston <[email protected]>
-Date: Thu, 13 May 2021 15:33:42 +0400
-Subject: [PATCH] Fix voice recoding with FFmpeg 4.4.
-
-Fixes #16217.
----
- Telegram/SourceFiles/media/audio/media_audio_capture.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp 
b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-index deb2474d789..d129168783d 100644
---- a/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-+++ b/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
-@@ -679,6 +679,10 @@ bool Instance::Inner::processFrame(int32 offset, int32 
framesize) {
- 
-       AVFrame *frame = av_frame_alloc();
- 
-+      frame->format = d->codecContext->sample_fmt;
-+      frame->channels = d->codecContext->channels;
-+      frame->channel_layout = d->codecContext->channel_layout;
-+      frame->sample_rate = d->codecContext->sample_rate;
-       frame->nb_samples = d->dstSamples;
-       frame->pts = av_rescale_q(d->fullSamples, AVRational { 1, 
d->codecContext->sample_rate }, d->codecContext->time_base);
- 

diff --git 
a/net-im/telegram-desktop/files/tdesktop-2.7.4-webview-fix-gcc11.patch 
b/net-im/telegram-desktop/files/tdesktop-2.7.4-webview-fix-gcc11.patch
deleted file mode 100644
index 7f4b3f2601f..00000000000
--- a/net-im/telegram-desktop/files/tdesktop-2.7.4-webview-fix-gcc11.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- 
tdesktop-2.7.4-full.orig/Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.cpp
-+++ 
tdesktop-2.7.4-full/Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.cpp
-@@ -6,6 +6,7 @@
- //
- #include "webview/platform/linux/webview_linux_webkit_gtk.h"
- 
-+#include "base/optional.h"
- #include "base/platform/linux/base_linux_gtk_integration.h"
- #include "base/platform/linux/base_linux_gtk_integration_p.h"
- 
---- tdesktop-2.7.4-full.orig/Telegram/lib_webview/webview/webview_embed.cpp
-+++ tdesktop-2.7.4-full/Telegram/lib_webview/webview/webview_embed.cpp
-@@ -14,7 +14,6 @@
- 
- #include <QtWidgets/QWidget>
- #include <QtGui/QWindow>
--#include <QtCore/QJsonDocument>
- 
- namespace Webview {
- namespace {
---- tdesktop-2.7.4-full.orig/Telegram/lib_webview/webview/webview_embed.h
-+++ tdesktop-2.7.4-full/Telegram/lib_webview/webview/webview_embed.h
-@@ -9,6 +9,8 @@
- #include "base/unique_qptr.h"
- #include "base/basic_types.h"
- 
-+#include <QtCore/QJsonDocument>
-+
- class QString;
- class QWidget;
- class QWindow;

diff --git a/net-im/telegram-desktop/telegram-desktop-2.7.4-r1.ebuild 
b/net-im/telegram-desktop/telegram-desktop-2.7.4-r1.ebuild
deleted file mode 100644
index 1f51780319c..00000000000
--- a/net-im/telegram-desktop/telegram-desktop-2.7.4-r1.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,8,9} )
-
-inherit xdg cmake python-any-r1 flag-o-matic
-
-MY_P="tdesktop-${PV}-full"
-
-DESCRIPTION="Official desktop client for Telegram"
-HOMEPAGE="https://desktop.telegram.org";
-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 +gtk +hunspell +spell wayland webkit +X"
-
-RDEPEND="
-       !net-im/telegram-desktop-bin
-       app-arch/lz4:=
-       dev-cpp/glibmm:2
-       dev-libs/xxhash
-       dev-qt/qtcore:5
-       dev-qt/qtgui:5[dbus?,jpeg,png,wayland?,X(-)?]
-       dev-qt/qtimageformats:5
-       dev-qt/qtnetwork:5[ssl]
-       dev-qt/qtsvg:5
-       dev-qt/qtwidgets:5[png,X(-)?]
-       media-fonts/open-sans
-       media-libs/fontconfig:=
-       media-libs/opus:=
-       ~media-libs/libtgvoip-2.4.4_p20210302
-       media-libs/openal
-       ~media-libs/tg_owt-0_pre20210422
-       media-video/ffmpeg:=[opus]
-       sys-libs/zlib:=[minizip]
-       dbus? (
-               dev-qt/qtdbus:5
-               dev-libs/libdbusmenu-qt[qt5(+)]
-       )
-       enchant? ( app-text/enchant:= )
-       gtk? ( x11-libs/gtk+:3[X?] )
-       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
-"
-REQUIRED_USE="
-       spell? (
-               ^^ ( enchant hunspell )
-       )
-       webkit? ( gtk )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-       # https://github.com/desktop-app/cmake_helpers/pull/91
-       # https://github.com/desktop-app/lib_webview/pull/2
-       "${FILESDIR}/tdesktop-2.7.4-disable-webkit-separately.patch"
-       # 
https://github.com/desktop-app/lib_webview/commit/0b4100d7cecc4e748c51f3f51ebfd1392ec3978a
-       "${FILESDIR}/tdesktop-2.7.3-webview-include-gdkx.patch"
-       # https://github.com/desktop-app/lib_webview/pull/3
-       "${FILESDIR}/tdesktop-2.7.4-webview-fix-gcc11.patch"
-       # https://github.com/telegramdesktop/tdesktop/issues/16217
-       "${FILESDIR}/tdesktop-2.7.4-voice-crash.patch"
-       "${FILESDIR}/tdesktop-2.7.4-voice-ffmpeg44.patch"
-       # 
https://github.com/telegramdesktop/tdesktop/commit/404538c98968d44d207671de3adde91b8df50721
-       "${FILESDIR}/tdesktop-2.7.4-fix-disable-dbus-integration.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 OFF ON)
-               -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex wayland OFF ON)
-               -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex dbus OFF ON)
-               -DDESKTOP_APP_DISABLE_GTK_INTEGRATION=$(usex gtk OFF ON)
-               -DDESKTOP_APP_DISABLE_WEBKIT=$(usex webkit OFF ON)
-               -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex spell OFF ON)  # 
enables hunspell (recommended)
-               -DDESKTOP_APP_USE_ENCHANT=$(usex enchant ON OFF)  # 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
-       use gtk || elog "enable 'gtk' useflag if you have image copy-paste 
problems"
-}

Reply via email to