mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
Merge pull request #301616 from NickCao/telegram-desktop-backport
[Backport release-23.11] telegram-desktop: 4.14.9 -> 4.16.1
This commit is contained in:
@@ -30,7 +30,6 @@
|
||||
, range-v3
|
||||
, tl-expected
|
||||
, hunspell
|
||||
, glibmm_2_68
|
||||
, webkitgtk_6_0
|
||||
, jemalloc
|
||||
, rnnoise
|
||||
@@ -64,14 +63,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telegram-desktop";
|
||||
version = "4.14.9";
|
||||
version = "4.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-VqLCkGav6qtam9qk2MsjCdyVSj3630FGQg50Mv0OBNE=";
|
||||
hash = "sha256-sb7BpEIjSJS4ntv8s0RSJAj4BhTgHF7fEei5QXl60mA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -94,6 +93,9 @@ stdenv.mkDerivation rec {
|
||||
--replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
|
||||
substituteInPlace Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk_library.cpp \
|
||||
--replace '"libwebkitgtk-6.0.so.4"' '"${webkitgtk_6_0}/lib/libwebkitgtk-6.0.so.4"'
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm \
|
||||
--replace kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster
|
||||
'';
|
||||
|
||||
# We want to run wrapProgram manually (with additional parameters)
|
||||
@@ -141,7 +143,6 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
pipewire
|
||||
hunspell
|
||||
glibmm_2_68
|
||||
webkitgtk_6_0
|
||||
jemalloc
|
||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
|
||||
|
||||
@@ -49,12 +49,88 @@ index 7ce90d3..dac3c2c 100644
|
||||
const auto state = DetectBatteryState();
|
||||
if (!state.has || !state.draining) {
|
||||
return false;
|
||||
Submodule Telegram/lib_webrtc contains modified content
|
||||
diff --git a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
|
||||
index 7521c08..5e22da2 100644
|
||||
--- a/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
|
||||
+++ b/Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm
|
||||
@@ -364,6 +364,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate)
|
||||
DefaultCaptureDeviceChangedMonitor.registerEnvironment(this);
|
||||
AudioDeviceListChangedMonitor.registerEnvironment(this);
|
||||
|
||||
+#if 0
|
||||
if (@available(macOS 14.0, *)) {
|
||||
const auto weak = base::make_weak(this);
|
||||
id block = [^(BOOL shouldBeMuted){
|
||||
@@ -387,6 +388,7 @@ EnvironmentMac::EnvironmentMac(not_null<EnvironmentDelegate*> delegate)
|
||||
setInputMuteStateChangeHandler:block
|
||||
error:nil];
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
EnvironmentMac::~EnvironmentMac() {
|
||||
@@ -537,15 +539,18 @@ void EnvironmentMac::devicesRequested(DeviceType type) {
|
||||
}
|
||||
|
||||
void EnvironmentMac::setCaptureMuted(bool muted) {
|
||||
+#if 0
|
||||
if (@available(macOS 14.0, *)) {
|
||||
if (!_captureMuteNotification) {
|
||||
const auto value = muted ? YES : NO;
|
||||
[[AVAudioApplication sharedInstance] setInputMuted:value error:nil];
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
void EnvironmentMac::captureMuteSubscribe() {
|
||||
+#if 0
|
||||
if (@available(macOS 14.0, *)) {
|
||||
id observer = [[InputMuteObserver alloc] init];
|
||||
[[[NSWorkspace sharedWorkspace] notificationCenter]
|
||||
@@ -578,6 +583,7 @@ void EnvironmentMac::captureMuteSubscribe() {
|
||||
[observer release];
|
||||
});
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
void EnvironmentMac::captureMuteUnsubscribe() {
|
||||
@@ -595,6 +601,7 @@ void EnvironmentMac::captureMuteRestartAdm() {
|
||||
void EnvironmentMac::setCaptureMuteTracker(
|
||||
not_null<CaptureMuteTracker*> tracker,
|
||||
bool track) {
|
||||
+#if 0
|
||||
if (@available(macOS 14.0, *)) {
|
||||
if (track) {
|
||||
if (!_captureMuteTracker) {
|
||||
@@ -619,6 +626,7 @@ void EnvironmentMac::setCaptureMuteTracker(
|
||||
}
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
std::unique_ptr<Environment> CreateEnvironment(
|
||||
Submodule Telegram/lib_webview contains modified content
|
||||
diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
|
||||
index 738e574..80ff5f0 100644
|
||||
--- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
|
||||
+++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
|
||||
@@ -254,10 +254,12 @@ void *Instance::winId() {
|
||||
@@ -314,9 +314,11 @@ Instance::Instance(Config config) {
|
||||
_dataRequestHandler = std::move(config.dataRequestHandler);
|
||||
[configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)];
|
||||
_webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration];
|
||||
+#if 0
|
||||
if (@available(macOS 13.3, *)) {
|
||||
_webview.inspectable = config.debug ? YES : NO;
|
||||
}
|
||||
+#endif
|
||||
[_manager addScriptMessageHandler:_handler name:@"external"];
|
||||
[_webview setNavigationDelegate:_handler];
|
||||
[_webview setUIDelegate:_handler];
|
||||
@@ -658,10 +660,12 @@ void *Instance::winId() {
|
||||
}
|
||||
|
||||
void Instance::setOpaqueBg(QColor opaqueBg) {
|
||||
|
||||
Reference in New Issue
Block a user