aboutsummaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorSergey A. Osokin <osa@FreeBSD.org>2023-10-02 19:39:46 +0000
committerSergey A. Osokin <osa@FreeBSD.org>2023-10-02 19:40:53 +0000
commit07d4411a922f1b65498b8054c193541e196d7d8e (patch)
tree834cc5221564e438bb6ba0d0202c317010528a2f /net-im
parentc9f84c834ba3b8ca88282d4c0f6a6f01ffb5a9bd (diff)
downloadports-07d4411a922f1b65498b8054c193541e196d7d8e.tar.gz
ports-07d4411a922f1b65498b8054c193541e196d7d8e.zip
net-im/telegram-desktop: update to 4.10.2 release
Diffstat (limited to 'net-im')
-rw-r--r--net-im/telegram-desktop/Makefile2
-rw-r--r--net-im/telegram-desktop/distinfo6
-rw-r--r--net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_notifications__manager__linux.cpp120
-rw-r--r--net-im/telegram-desktop/files/patch-Telegram_lib__base_base_platform_linux_base__linux__xdp__utilities.h20
-rw-r--r--net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__compositor.cpp14
-rw-r--r--net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkitgtk.cpp48
6 files changed, 144 insertions, 66 deletions
diff --git a/net-im/telegram-desktop/Makefile b/net-im/telegram-desktop/Makefile
index d104f840c0a7..e0cd2f60463e 100644
--- a/net-im/telegram-desktop/Makefile
+++ b/net-im/telegram-desktop/Makefile
@@ -1,5 +1,5 @@
PORTNAME= telegram-desktop
-DISTVERSION= 4.9.8
+DISTVERSION= 4.10.2
CATEGORIES= net-im
MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/v${DISTVERSION}/
DISTNAME= tdesktop-${DISTVERSION}-full
diff --git a/net-im/telegram-desktop/distinfo b/net-im/telegram-desktop/distinfo
index 69c861bf77d0..da57f3853eef 100644
--- a/net-im/telegram-desktop/distinfo
+++ b/net-im/telegram-desktop/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1695904525
-SHA256 (tdesktop-4.9.8-full.tar.gz) = af041ecb623ee7603781e0ff2b262e15bb8de2858a9a42982a10396bc9014d53
-SIZE (tdesktop-4.9.8-full.tar.gz) = 73655253
+TIMESTAMP = 1696263386
+SHA256 (tdesktop-4.10.2-full.tar.gz) = 3f7aa12bf421a7fb6e9db9669f63bb6e1351cec2e7567551cef4ff2d936f2a27
+SIZE (tdesktop-4.10.2-full.tar.gz) = 67750091
diff --git a/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_notifications__manager__linux.cpp b/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_notifications__manager__linux.cpp
new file mode 100644
index 000000000000..f0ce20468478
--- /dev/null
+++ b/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_notifications__manager__linux.cpp
@@ -0,0 +1,120 @@
+--- Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp.orig 2023-09-29 15:29:53 UTC
++++ Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp
+@@ -53,6 +53,10 @@ bool ServiceRegistered = false;
+ ServerInformation CurrentServerInformation;
+ std::vector<Glib::ustring> CurrentCapabilities;
+
++[[nodiscard]] bool HasCapability(const char *value) {
++ return ranges::contains(CurrentCapabilities, value, &Glib::ustring::raw);
++}
++
+ void Noexcept(Fn<void()> callback, Fn<void()> failed = nullptr) noexcept {
+ try {
+ callback();
+@@ -446,7 +450,6 @@ bool NotificationData::init(
+ }
+
+ const auto weak = base::make_weak(this);
+- const auto &capabilities = CurrentCapabilities;
+
+ const auto signalEmitted = crl::guard(weak, [=](
+ const Glib::RefPtr<Gio::DBus::Connection> &connection,
+@@ -496,7 +499,7 @@ bool NotificationData::init(
+
+ _imageKey = GetImageKey(CurrentServerInformation.specVersion);
+
+- if (ranges::contains(capabilities, "body-markup")) {
++ if (HasCapability("body-markup")) {
+ _title = title.toStdString();
+
+ _body = subtitle.isEmpty()
+@@ -512,7 +515,7 @@ bool NotificationData::init(
+ _body = msg.toStdString();
+ }
+
+- if (ranges::contains(capabilities, "actions")) {
++ if (HasCapability("actions")) {
+ _actions.push_back("default");
+ _actions.push_back(tr::lng_open_link(tr::now).toStdString());
+
+@@ -523,7 +526,7 @@ bool NotificationData::init(
+ tr::lng_context_mark_read(tr::now).toStdString());
+ }
+
+- if (ranges::contains(capabilities, "inline-reply")
++ if (HasCapability("inline-reply")
+ && !options.hideReplyButton) {
+ _actions.push_back("inline-reply");
+ _actions.push_back(
+@@ -553,13 +556,13 @@ bool NotificationData::init(
+ kObjectPath);
+ }
+
+- if (ranges::contains(capabilities, "action-icons")) {
++ if (HasCapability("action-icons")) {
+ _hints["action-icons"] = Glib::create_variant(true);
+ }
+
+ // suppress system sound if telegram sound activated,
+ // otherwise use system sound
+- if (ranges::contains(capabilities, "sound")) {
++ if (HasCapability("sound")) {
+ if (Core::App().settings().soundNotify()) {
+ _hints["suppress-sound"] = Glib::create_variant(true);
+ } else {
+@@ -569,7 +572,7 @@ bool NotificationData::init(
+ }
+ }
+
+- if (ranges::contains(capabilities, "x-canonical-append")) {
++ if (HasCapability("x-canonical-append")) {
+ _hints["x-canonical-append"] = Glib::create_variant(
+ Glib::ustring("true"));
+ }
+@@ -805,7 +808,7 @@ bool ByDefault() {
+
+ // A list of capabilities that offer feature parity
+ // with custom notifications
+- return ranges::all_of(std::initializer_list{
++ return ranges::all_of(std::array{
+ // To show message content
+ "body",
+ // To have buttons on notifications
+@@ -816,7 +819,7 @@ bool ByDefault() {
+ // (no, using sound capability is not a way)
+ "inhibitions",
+ }, [](const auto *capability) {
+- return ranges::contains(CurrentCapabilities, capability);
++ return HasCapability(capability);
+ });
+ }
+
+@@ -909,7 +912,6 @@ class Manager::Private : public base::has_weak_ptr { (
+ Manager::Private::Private(not_null<Manager*> manager)
+ : _manager(manager) {
+ const auto &serverInformation = CurrentServerInformation;
+- const auto &capabilities = CurrentCapabilities;
+
+ if (!serverInformation.name.empty()) {
+ LOG(("Notification daemon product name: %1")
+@@ -931,17 +933,17 @@ Manager::Private::Private(not_null<Manager*> manager)
+ .arg(serverInformation.specVersion.toString()));
+ }
+
+- if (!capabilities.empty()) {
++ if (!CurrentCapabilities.empty()) {
+ LOG(("Notification daemon capabilities: %1").arg(
+ ranges::fold_left(
+- capabilities,
++ CurrentCapabilities,
+ "",
+ [](const Glib::ustring &a, const Glib::ustring &b) {
+ return a + (a.empty() ? "" : ", ") + b;
+ }).c_str()));
+ }
+
+- if (ranges::contains(capabilities, "inhibitions")) {
++ if (HasCapability("inhibitions")) {
+ Noexcept([&] {
+ _dbusConnection = Gio::DBus::Connection::get_sync(
+ Gio::DBus::BusType::SESSION);
diff --git a/net-im/telegram-desktop/files/patch-Telegram_lib__base_base_platform_linux_base__linux__xdp__utilities.h b/net-im/telegram-desktop/files/patch-Telegram_lib__base_base_platform_linux_base__linux__xdp__utilities.h
new file mode 100644
index 000000000000..79c5514df801
--- /dev/null
+++ b/net-im/telegram-desktop/files/patch-Telegram_lib__base_base_platform_linux_base__linux__xdp__utilities.h
@@ -0,0 +1,20 @@
+--- Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.h.orig 2023-10-01 14:40:15 UTC
++++ Telegram/lib_base/base/platform/linux/base_linux_xdp_utilities.h
+@@ -78,7 +78,7 @@ class SettingWatcher { (public)
+
+ template <typename Callback>
+ SettingWatcher(Callback callback)
+- : SettingWatcher(Fn(callback)) {
++ : SettingWatcher(std::function(callback)) {
+ }
+
+ template <typename ...Args>
+@@ -101,7 +101,7 @@ class SettingWatcher { (public)
+ const Glib::ustring &group,
+ const Glib::ustring &key,
+ Callback callback)
+- : SettingWatcher(group, key, Fn(callback)) {
++ : SettingWatcher(group, key, std::function(callback)) {
+ }
+
+ ~SettingWatcher();
diff --git a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__compositor.cpp b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__compositor.cpp
deleted file mode 100644
index c46fa3c11634..000000000000
--- a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__compositor.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- Telegram/lib_webview/webview/platform/linux/webview_linux_compositor.cpp.orig 2023-09-22 07:01:01 UTC
-+++ Telegram/lib_webview/webview/platform/linux/webview_linux_compositor.cpp
-@@ -199,8 +199,9 @@ Compositor::Compositor()
- const auto output = new Output(this, xdgSurface);
-
- output->chrome().surfaceCompleted() | rpl::start_with_next([=] {
-- const auto parent = qvariant_cast<Output*>(
-- popup->parentXdgSurface()->property("output"))->window();
-+ const auto parent = (*static_cast<Output * const *>(
-+ popup->parentXdgSurface()->property("output").constData()
-+ ))->window();
- if (_private->widget
- && parent == _private->widget->quickWindow()) {
- output->window()->setTransientParent(
diff --git a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkitgtk.cpp b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkitgtk.cpp
deleted file mode 100644
index 3a97b98103f6..000000000000
--- a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkitgtk.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
---- Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk.cpp.orig 2023-09-22 07:01:01 UTC
-+++ Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk.cpp
-@@ -33,6 +33,13 @@ constexpr auto kHelperObjectPath = "/org/desktop_app/G
- constexpr auto kMasterObjectPath = "/org/desktop_app/GtkIntegration/Webview/Master";
- constexpr auto kHelperObjectPath = "/org/desktop_app/GtkIntegration/Webview/Helper";
-
-+void (* const SetGraphicsApi)(QSGRendererInterface::GraphicsApi) =
-+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
-+ QQuickWindow::setGraphicsApi;
-+#else // Qt >= 6.0.0
-+ QQuickWindow::setSceneGraphBackend;
-+#endif // Qt < 6.0.0
-+
- std::string SocketPath;
-
- inline std::string SocketPathToDBusAddress(const std::string &socketPath) {
-@@ -116,12 +123,10 @@ Instance::Instance(bool remoting)
- Ui::GL::CheckCapabilities(nullptr));
- switch (backend) {
- case Ui::GL::Backend::Raster:
-- QQuickWindow::setGraphicsApi(
-- QSGRendererInterface::Software);
-+ SetGraphicsApi(QSGRendererInterface::Software);
- break;
- case Ui::GL::Backend::OpenGL:
-- QQuickWindow::setGraphicsApi(
-- QSGRendererInterface::OpenGL);
-+ SetGraphicsApi(QSGRendererInterface::OpenGL);
- break;
- }
- return true;
-@@ -637,11 +642,11 @@ void Instance::setOpaqueBg(QColor opaqueBg) {
- return;
- }
-
-- GdkRGBA rgba{
-- opaqueBg.redF(),
-- opaqueBg.greenF(),
-- opaqueBg.blueF(),
-- opaqueBg.alphaF(),
-+ const GdkRGBA rgba{
-+ float(opaqueBg.redF()),
-+ float(opaqueBg.greenF()),
-+ float(opaqueBg.blueF()),
-+ float(opaqueBg.alphaF()),
- };
- webkit_web_view_set_background_color(
- WEBKIT_WEB_VIEW(_webview),