kotatogram-desktop: 1.4.9-unstable-2024-09-27 -> 1.4.9-unstable-2026-07-03

(cherry picked from commit 6f555d44da)
This commit is contained in:
Ilya Fedin
2026-07-03 14:46:24 +04:00
committed by Nick Cao
parent 2f9f60f37e
commit aa130002db
4 changed files with 6 additions and 261 deletions

View File

@@ -1,74 +0,0 @@
diff --git a/src/api/video/nv12_buffer.cc b/src/api/video/nv12_buffer.cc
index ca9dcd867..89d28f23c 100644
--- a/src/api/video/nv12_buffer.cc
+++ b/src/api/video/nv12_buffer.cc
@@ -16,6 +16,8 @@
#include "third_party/libyuv/include/libyuv/convert.h"
#include "third_party/libyuv/include/libyuv/scale.h"
+#include <cstring>
+
namespace webrtc {
namespace {
diff --git a/src/audio/utility/channel_mixer.cc b/src/audio/utility/channel_mixer.cc
index 0f1e66387..33b771b0c 100644
--- a/src/audio/utility/channel_mixer.cc
+++ b/src/audio/utility/channel_mixer.cc
@@ -15,6 +15,8 @@
#include "rtc_base/logging.h"
#include "rtc_base/numerics/safe_conversions.h"
+#include <cstring>
+
namespace webrtc {
ChannelMixer::ChannelMixer(ChannelLayout input_layout,
diff --git a/src/modules/audio_processing/aec3/alignment_mixer.cc b/src/modules/audio_processing/aec3/alignment_mixer.cc
index 7f076dea8..ffd7242b5 100644
--- a/src/modules/audio_processing/aec3/alignment_mixer.cc
+++ b/src/modules/audio_processing/aec3/alignment_mixer.cc
@@ -10,6 +10,7 @@
#include "modules/audio_processing/aec3/alignment_mixer.h"
#include <algorithm>
+#include <cstring>
#include "rtc_base/checks.h"
diff --git a/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
index 7ef1a030e..5b9ab7137 100644
--- a/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
+++ b/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
@@ -18,6 +18,7 @@
#include <spa/param/video/format-utils.h>
#include <sys/mman.h>
+#include <cstring>
#include <vector>
#include "absl/memory/memory.h"
diff --git a/src/modules/video_coding/utility/ivf_file_reader.cc b/src/modules/video_coding/utility/ivf_file_reader.cc
index 4c08ca613..f82f2bfcb 100644
--- a/src/modules/video_coding/utility/ivf_file_reader.cc
+++ b/src/modules/video_coding/utility/ivf_file_reader.cc
@@ -10,6 +10,7 @@
#include "modules/video_coding/utility/ivf_file_reader.h"
+#include <cstring>
#include <string>
#include <vector>
diff --git a/src/net/dcsctp/packet/bounded_byte_writer.h b/src/net/dcsctp/packet/bounded_byte_writer.h
index d754549e4..bf5e3ed42 100644
--- a/src/net/dcsctp/packet/bounded_byte_writer.h
+++ b/src/net/dcsctp/packet/bounded_byte_writer.h
@@ -12,6 +12,7 @@
#define NET_DCSCTP_PACKET_BOUNDED_BYTE_WRITER_H_
#include <algorithm>
+#include <cstring>
#include "api/array_view.h"

View File

@@ -1,97 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
libsForQt5,
yasm,
alsa-lib,
jemalloc,
libopus,
libpulseaudio,
telegram-desktop,
withWebkit ? true,
}:
let
telegram-desktop = libsForQt5.callPackage ../telegram-desktop {
inherit stdenv;
# N/A on Qt5
kimageformats = null;
unwrapped = libsForQt5.callPackage ../telegram-desktop/unwrapped.nix {
inherit stdenv;
kcoreaddons = null;
qtshadertools = null;
};
};
version = "1.4.9";
tg_owt = telegram-desktop.tg_owt.overrideAttrs (oldAttrs: {
version = "0-unstable-2024-06-15";
src = fetchFromGitHub {
owner = "desktop-app";
repo = "tg_owt";
rev = "c9cc4390ab951f2cbc103ff783a11f398b27660b";
hash = "sha256-FfWmSYaeryTDbsGJT3R7YK1oiyJcrR7YKKBOF+9PmpY=";
fetchSubmodules = true;
};
patches = [
# fix build with latest glibc
# upstream PR: https://github.com/desktop-app/tg_owt/pull/172
./cstring-includes.patch
(fetchpatch {
url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT";
decode = "base64 -d";
stripLen = 1;
extraPrefix = "src/";
hash = "sha256-goxnuRRbwcdfIk1jFaKGiKCTCYn2saEj7En1Iyglzko=";
})
];
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ yasm ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-c++11-narrowing";
});
in
telegram-desktop.override {
pname = "kotatogram-desktop";
inherit withWebkit;
unwrapped = (telegram-desktop.unwrapped.override { inherit tg_owt; }).overrideAttrs (old: {
unwrapped = telegram-desktop.unwrapped.overrideAttrs (old: {
pname = "kotatogram-desktop-unwrapped";
version = "${version}-unstable-2024-09-27";
version = "${version}-unstable-2026-07-03";
src = fetchFromGitHub {
owner = "kotatogram";
repo = "kotatogram-desktop";
rev = "0581eb6219343b3cfcbb81124b372df1039b7568";
hash = "sha256-rvn8GZmHdMkVutLUe/LmUNIawlb9VgU3sYhPwZ2MWsI=";
rev = "7263a1b53c9e6b45a416532644fff7a4c7f90d54";
hash = "sha256-xOfHZ7oUJKk65j7o/AgxtFfc5NqsAoA9E+8U6rHlSmc=";
fetchSubmodules = true;
};
patches = [
./macos-qt5.patch
./glib-2.86.patch
(fetchpatch {
url = "https://gitlab.com/mnauw/cppgir/-/commit/c8bb1c6017a6f7f2e47bd10543aea6b3ec69a966.patch";
stripLen = 1;
extraPrefix = "cmake/external/glib/cppgir/";
hash = "sha256-8B4h3BTG8dIlt3+uVgBI569E9eCebcor9uohtsrZpnI=";
})
];
buildInputs =
(old.buildInputs or [ ])
++ [
libopus
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
jemalloc
libpulseaudio
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-missing-template-arg-list-after-template-kw";
meta = {
description = "Kotatogram – experimental Telegram Desktop fork";
longDescription = ''
@@ -104,7 +35,7 @@ telegram-desktop.override {
homepage = "https://kotatogram.github.io";
changelog = "https://github.com/kotatogram/kotatogram-desktop/releases/tag/k${version}";
maintainers = with lib.maintainers; [ ilya-fedin ];
mainProgram = if stdenv.hostPlatform.isLinux then "kotatogram-desktop" else "Kotatogram";
mainProgram = "Kotatogram";
};
});
}

View File

@@ -1,37 +0,0 @@
Submodule Telegram/lib_base contains modified content
diff --git a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
index 4197367..f79d2fa 100644
--- a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
+++ b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
@@ -15,7 +15,7 @@
#include <kshell.h>
#include <ksandbox.h>
-#include <gio/gio.hpp>
+#include <giounix/giounix.hpp>
#include <snapcraft/snapcraft.hpp>
namespace base::Platform {
@@ -125,7 +125,7 @@ void RegisterUrlScheme(const UrlSchemeDescriptor &descriptor) {
const auto appId = QGuiApplication::desktopFileName().toStdString();
if (!appId.empty()) {
- Gio::AppInfo appInfo = Gio::DesktopAppInfo::new_(appId + ".desktop");
+ Gio::AppInfo appInfo = GioUnix::DesktopAppInfo::new_(appId + ".desktop");
if (appInfo) {
if (appInfo.get_commandline() == commandlineForCreator + " %u") {
appInfo.set_as_default_for_type(handlerType);
Submodule cmake contains modified content
diff --git a/cmake/external/glib/CMakeLists.txt b/cmake/external/glib/CMakeLists.txt
index 3c6fe4b..6f73dc5 100644
--- a/cmake/external/glib/CMakeLists.txt
+++ b/cmake/external/glib/CMakeLists.txt
@@ -16,7 +16,7 @@ endfunction()
add_cppgir()
include(generate_cppgir.cmake)
-generate_cppgir(external_glib Gio-2.0)
+generate_cppgir(external_glib GioUnix-2.0)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0)

View File

@@ -1,75 +0,0 @@
diff --git a/Telegram/SourceFiles/platform/mac/main_window_mac.h b/Telegram/SourceFiles/platform/mac/main_window_mac.h
index 2a3a59b9cf..16b7b6cdde 100644
--- a/Telegram/SourceFiles/platform/mac/main_window_mac.h
+++ b/Telegram/SourceFiles/platform/mac/main_window_mac.h
@@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "platform/platform_main_window.h"
#include "platform/mac/specific_mac_p.h"
#include "base/timer.h"
+#include "base/qt/qt_common_adapters.h"
#include <QtWidgets/QMenuBar>
#include <QtCore/QTimer>
@@ -52,7 +53,7 @@ private:
bool nativeEvent(
const QByteArray &eventType,
void *message,
- qintptr *result) override;
+ base::NativeEventResult *result) override;
void hideAndDeactivate();
void updateDockCounter();
diff --git a/Telegram/SourceFiles/platform/mac/main_window_mac.mm b/Telegram/SourceFiles/platform/mac/main_window_mac.mm
index e95ef79f16..c3381926a9 100644
--- a/Telegram/SourceFiles/platform/mac/main_window_mac.mm
+++ b/Telegram/SourceFiles/platform/mac/main_window_mac.mm
@@ -305,7 +305,7 @@ void MainWindow::updateWindowIcon() {
bool MainWindow::nativeEvent(
const QByteArray &eventType,
void *message,
- qintptr *result) {
+ base::NativeEventResult *result) {
if (message && eventType == "NSEvent") {
const auto event = static_cast<NSEvent*>(message);
if (PossiblyTextTypingEvent(event)) {
diff --git a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm
index de28809077..2521428567 100644
--- a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm
+++ b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm
@@ -502,11 +502,11 @@ void Manager::Private::invokeIfNotFocused(Fn<void()> callback) {
} else {
if (!_processesInited) {
_processesInited = true;
- QObject::connect(&_dnd, &QProcess::finished, [=] {
+ QObject::connect(&_dnd, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), [=] {
_waitingDnd = false;
checkFocusState();
});
- QObject::connect(&_focus, &QProcess::finished, [=] {
+ QObject::connect(&_focus, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), [=] {
_waitingFocus = false;
checkFocusState();
});
@@ -536,7 +536,7 @@ void Manager::Private::checkFocusState() {
}
const auto istrue = [](QProcess &process) {
const auto output = process.readAllStandardOutput();
- DEBUG_LOG(("Focus Check: %1").arg(output));
+ DEBUG_LOG(("Focus Check: %1").arg(QString::fromUtf8(output)));
const auto result = (output.trimmed() == u"true"_q);
return result;
};
Submodule Telegram/lib_ui contains modified content
diff --git a/Telegram/lib_ui/ui/rp_widget.cpp b/Telegram/lib_ui/ui/rp_widget.cpp
index 0b57704..0d2ca01 100644
--- a/Telegram/lib_ui/ui/rp_widget.cpp
+++ b/Telegram/lib_ui/ui/rp_widget.cpp
@@ -62,7 +62,7 @@ TWidget::TWidget(QWidget *parent)
auto format = QSurfaceFormat::defaultFormat();
format.setSwapInterval(0);
#ifdef Q_OS_MAC
- format.setColorSpace(QColorSpace::SRgb);
+ format.setColorSpace(QSurfaceFormat::sRGBColorSpace);
#endif // Q_OS_MAC
QSurfaceFormat::setDefaultFormat(format);
return true;