kotatogram-desktop: fix build on Darwin after #210062
This commit is contained in:
parent
33ba834c72
commit
77d99717a6
@ -69,14 +69,11 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
tg_owt = callPackage ./tg_owt.nix {
|
tg_owt = callPackage ./tg_owt.nix {
|
||||||
abseil-cpp = (abseil-cpp.override {
|
abseil-cpp = abseil-cpp.override {
|
||||||
# abseil-cpp should use the same compiler
|
# abseil-cpp should use the same compiler
|
||||||
inherit stdenv;
|
inherit stdenv;
|
||||||
cxxStandard = "20";
|
cxxStandard = "20";
|
||||||
}).overrideAttrs (_: {
|
};
|
||||||
# https://github.com/NixOS/nixpkgs/issues/130963
|
|
||||||
NIX_LDFLAGS = optionalString stdenv.isDarwin "-lc++abi";
|
|
||||||
});
|
|
||||||
|
|
||||||
# tg_owt should use the same compiler
|
# tg_owt should use the same compiler
|
||||||
inherit stdenv;
|
inherit stdenv;
|
||||||
@ -100,8 +97,6 @@ stdenv.mkDerivation rec {
|
|||||||
patches = [
|
patches = [
|
||||||
./kf594.patch
|
./kf594.patch
|
||||||
./shortcuts-binary-path.patch
|
./shortcuts-binary-path.patch
|
||||||
# let it build with nixpkgs 10.12 sdk
|
|
||||||
./kotato-10.12-sdk.patch
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = optionalString stdenv.isLinux ''
|
postPatch = optionalString stdenv.isLinux ''
|
||||||
@ -112,6 +107,7 @@ stdenv.mkDerivation rec {
|
|||||||
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \
|
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \
|
||||||
--replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
|
--replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
|
||||||
'' + optionalString stdenv.isDarwin ''
|
'' + optionalString stdenv.isDarwin ''
|
||||||
|
sed -i "13i#import <CoreAudio/CoreAudio.h>" Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm
|
||||||
substituteInPlace Telegram/CMakeLists.txt \
|
substituteInPlace Telegram/CMakeLists.txt \
|
||||||
--replace 'COMMAND iconutil' 'COMMAND png2icns' \
|
--replace 'COMMAND iconutil' 'COMMAND png2icns' \
|
||||||
--replace '--convert icns' "" \
|
--replace '--convert icns' "" \
|
||||||
@ -189,9 +185,6 @@ stdenv.mkDerivation rec {
|
|||||||
libicns
|
libicns
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/130963
|
|
||||||
NIX_LDFLAGS = optionalString stdenv.isDarwin "-lc++abi";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
@ -1,424 +0,0 @@
|
|||||||
diff --git a/Telegram/SourceFiles/platform/mac/file_bookmark_mac.mm b/Telegram/SourceFiles/platform/mac/file_bookmark_mac.mm
|
|
||||||
index 9e9a1744b..ae55f873f 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/file_bookmark_mac.mm
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/file_bookmark_mac.mm
|
|
||||||
@@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
|
|
||||||
#include <Cocoa/Cocoa.h>
|
|
||||||
#include <CoreFoundation/CFURL.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace Platform {
|
|
||||||
namespace {
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/specific_mac.mm b/Telegram/SourceFiles/platform/mac/specific_mac.mm
|
|
||||||
index 1d68457bb..ac8c4e0ab 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/specific_mac.mm
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/specific_mac.mm
|
|
||||||
@@ -118,6 +118,7 @@ PermissionStatus GetPermissionStatus(PermissionType type) {
|
|
||||||
switch (type) {
|
|
||||||
case PermissionType::Microphone:
|
|
||||||
case PermissionType::Camera:
|
|
||||||
+#if 0
|
|
||||||
const auto nativeType = (type == PermissionType::Microphone)
|
|
||||||
? AVMediaTypeAudio
|
|
||||||
: AVMediaTypeVideo;
|
|
||||||
@@ -132,6 +133,7 @@ PermissionStatus GetPermissionStatus(PermissionType type) {
|
|
||||||
return PermissionStatus::Denied;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return PermissionStatus::Granted;
|
|
||||||
@@ -141,6 +143,7 @@ void RequestPermission(PermissionType type, Fn<void(PermissionStatus)> resultCal
|
|
||||||
switch (type) {
|
|
||||||
case PermissionType::Microphone:
|
|
||||||
case PermissionType::Camera:
|
|
||||||
+#if 0
|
|
||||||
const auto nativeType = (type == PermissionType::Microphone)
|
|
||||||
? AVMediaTypeAudio
|
|
||||||
: AVMediaTypeVideo;
|
|
||||||
@@ -151,6 +154,7 @@ void RequestPermission(PermissionType type, Fn<void(PermissionStatus)> resultCal
|
|
||||||
});
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
resultCallback(PermissionStatus::Granted);
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_formatter_item.h b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_formatter_item.h
|
|
||||||
index a537929c8..82ef2b837 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_formatter_item.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_formatter_item.h
|
|
||||||
@@ -9,8 +9,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
|
|
||||||
#import <AppKit/NSPopoverTouchBarItem.h>
|
|
||||||
#import <AppKit/NSTouchBar.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface TextFormatPopover : NSPopoverTouchBarItem
|
|
||||||
- (id)init:(NSTouchBarItemIdentifier)identifier;
|
|
||||||
@end
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_pinned_chats_item.h b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_pinned_chats_item.h
|
|
||||||
index c6a4b886f..d2e0936c0 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_pinned_chats_item.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_pinned_chats_item.h
|
|
||||||
@@ -8,12 +8,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <AppKit/NSImageView.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace Main {
|
|
||||||
class Session;
|
|
||||||
} // namespace Main
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface PinnedDialogsPanel : NSImageView
|
|
||||||
- (id)init:(not_null<Main::Session*>)session
|
|
||||||
destroyEvent:(rpl::producer<>)touchBarSwitches;
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_scrubber_item.h b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_scrubber_item.h
|
|
||||||
index 27b04467c..b1a7dfbd9 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/items/mac_scrubber_item.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/items/mac_scrubber_item.h
|
|
||||||
@@ -9,12 +9,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
|
|
||||||
#import <AppKit/NSPopoverTouchBarItem.h>
|
|
||||||
#import <AppKit/NSTouchBar.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace Window {
|
|
||||||
class Controller;
|
|
||||||
} // namespace Window
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface StickerEmojiPopover : NSPopoverTouchBarItem<NSTouchBarDelegate>
|
|
||||||
- (id)init:(not_null<Window::Controller*>)controller
|
|
||||||
identifier:(NSTouchBarItemIdentifier)identifier;
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_audio.h b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_audio.h
|
|
||||||
index ec4596c67..972461aef 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_audio.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_audio.h
|
|
||||||
@@ -8,8 +8,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#import <AppKit/NSTouchBar.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface TouchBarAudioPlayer : NSTouchBar<NSTouchBarDelegate>
|
|
||||||
- (rpl::producer<>)closeRequests;
|
|
||||||
@end
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_common.h b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_common.h
|
|
||||||
index 52b54de12..ac3857f9b 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_common.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_common.h
|
|
||||||
@@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
|
|
||||||
#import <AppKit/NSImage.h>
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace TouchBar {
|
|
||||||
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_controls.h b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_controls.h
|
|
||||||
index 1cc8c832f..c2178c975 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_controls.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_controls.h
|
|
||||||
@@ -20,19 +20,19 @@ struct TrackState;
|
|
||||||
|
|
||||||
namespace TouchBar {
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSButton *CreateTouchBarButton(
|
|
||||||
NSImage *image,
|
|
||||||
rpl::lifetime &lifetime,
|
|
||||||
Fn<void()> callback);
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSButton *CreateTouchBarButton(
|
|
||||||
const style::icon &icon,
|
|
||||||
rpl::lifetime &lifetime,
|
|
||||||
Fn<void()> callback);
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSButton *CreateTouchBarButtonWithTwoStates(
|
|
||||||
NSImage *icon1,
|
|
||||||
NSImage *icon2,
|
|
||||||
@@ -41,7 +41,7 @@ NSButton *CreateTouchBarButtonWithTwoStates(
|
|
||||||
bool firstState,
|
|
||||||
rpl::producer<bool> stateChanged = rpl::never<bool>());
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSButton *CreateTouchBarButtonWithTwoStates(
|
|
||||||
const style::icon &icon1,
|
|
||||||
const style::icon &icon2,
|
|
||||||
@@ -50,14 +50,14 @@ NSButton *CreateTouchBarButtonWithTwoStates(
|
|
||||||
bool firstState,
|
|
||||||
rpl::producer<bool> stateChanged = rpl::never<bool>());
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSSliderTouchBarItem *CreateTouchBarSlider(
|
|
||||||
NSString *itemId,
|
|
||||||
rpl::lifetime &lifetime,
|
|
||||||
Fn<void(bool, double, double)> callback,
|
|
||||||
rpl::producer<Media::Player::TrackState> stateChanged);
|
|
||||||
|
|
||||||
-[[nodiscard]] API_AVAILABLE(macos(10.12.2))
|
|
||||||
+[[nodiscard]]
|
|
||||||
NSCustomTouchBarItem *CreateTouchBarTrackPosition(
|
|
||||||
NSString *itemId,
|
|
||||||
rpl::producer<Media::Player::TrackState> stateChanged);
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_main.h b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_main.h
|
|
||||||
index f03546eaf..bc8c63678 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_main.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_main.h
|
|
||||||
@@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#import <AppKit/NSTouchBar.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace Window {
|
|
||||||
class Controller;
|
|
||||||
@@ -21,7 +22,6 @@ const auto kPopoverPickerItemIdentifier = @"pickerButtons";
|
|
||||||
|
|
||||||
} // namespace TouchBar::Main
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface TouchBarMain : NSTouchBar
|
|
||||||
- (id)init:(not_null<Window::Controller*>)controller
|
|
||||||
touchBarSwitches:(rpl::producer<>)touchBarSwitches;
|
|
||||||
diff --git a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_manager.h b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_manager.h
|
|
||||||
index 464f87c9c..9a008c75e 100644
|
|
||||||
--- a/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_manager.h
|
|
||||||
+++ b/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_manager.h
|
|
||||||
@@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#import <AppKit/NSTouchBar.h>
|
|
||||||
+#undef check
|
|
||||||
|
|
||||||
namespace Main {
|
|
||||||
class Domain;
|
|
||||||
@@ -17,7 +18,6 @@ namespace Window {
|
|
||||||
class Controller;
|
|
||||||
} // namespace Window
|
|
||||||
|
|
||||||
-API_AVAILABLE(macos(10.12.2))
|
|
||||||
@interface RootTouchBar : NSTouchBar<NSTouchBarDelegate>
|
|
||||||
- (id)init:(rpl::producer<bool>)canApplyMarkdown
|
|
||||||
controller:(not_null<Window::Controller*>)controller
|
|
||||||
Submodule Telegram/ThirdParty/tgcalls contains modified content
|
|
||||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoDecoderFactory.mm b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
|
|
||||||
index b280c1b..a1ed0d2 100644
|
|
||||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
|
|
||||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
|
|
||||||
@@ -71,7 +71,7 @@
|
|
||||||
if (@available(iOS 11.0, *)) {
|
|
||||||
[result addObject:h265Info];
|
|
||||||
}
|
|
||||||
-#else // WEBRTC_IOS
|
|
||||||
+#elif 0 // WEBRTC_IOS
|
|
||||||
if (@available(macOS 10.13, *)) {
|
|
||||||
[result addObject:h265Info];
|
|
||||||
}
|
|
||||||
@@ -101,7 +101,7 @@
|
|
||||||
return [[TGRTCVideoDecoderH265 alloc] init];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-#else // WEBRTC_IOS
|
|
||||||
+#elif 0 // WEBRTC_IOS
|
|
||||||
if (@available(macOS 10.13, *)) {
|
|
||||||
if ([info.name isEqualToString:kRTCVideoCodecH265Name]) {
|
|
||||||
return [[TGRTCVideoDecoderH265 alloc] init];
|
|
||||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoEncoderFactory.mm b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
|
|
||||||
index 9960607..f3659b3 100644
|
|
||||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
|
|
||||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
|
|
||||||
@@ -89,7 +89,7 @@
|
|
||||||
[result addObject:h265Info];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-#else // WEBRTC_IOS
|
|
||||||
+#elif 0 // WEBRTC_IOS
|
|
||||||
if (@available(macOS 10.13, *)) {
|
|
||||||
if ([[AVAssetExportSession allExportPresets] containsObject:AVAssetExportPresetHEVCHighestQuality]) {
|
|
||||||
[result addObject:h265Info];
|
|
||||||
@@ -129,7 +129,7 @@
|
|
||||||
return [[TGRTCVideoEncoderH265 alloc] initWithCodecInfo:info];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-#else // WEBRTC_IOS
|
|
||||||
+#elif 0 // WEBRTC_IOS
|
|
||||||
if (@available(macOS 10.13, *)) {
|
|
||||||
if ([info.name isEqualToString:kRTCVideoCodecH265Name]) {
|
|
||||||
return [[TGRTCVideoEncoderH265 alloc] initWithCodecInfo:info];
|
|
||||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.mm b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.mm
|
|
||||||
index bf99063..b717645 100644
|
|
||||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.mm
|
|
||||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.mm
|
|
||||||
@@ -507,8 +507,7 @@ static tgcalls::DarwinVideoTrackSource *getObjCVideoSource(const rtc::scoped_ref
|
|
||||||
- (void)captureOutput:(AVCaptureOutput *)captureOutput
|
|
||||||
didDropSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
|
||||||
fromConnection:(AVCaptureConnection *)connection {
|
|
||||||
- NSString *droppedReason =
|
|
||||||
- (__bridge NSString *)CMGetAttachment(sampleBuffer, kCMSampleBufferAttachmentKey_DroppedFrameReason, nil);
|
|
||||||
+ NSString *droppedReason = nil;
|
|
||||||
RTCLogError(@"Dropped sample buffer. Reason: %@", droppedReason);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -682,7 +681,7 @@ static tgcalls::DarwinVideoTrackSource *getObjCVideoSource(const rtc::scoped_ref
|
|
||||||
int closest = -1;
|
|
||||||
CMTime result;
|
|
||||||
for (int i = 0; i < format.videoSupportedFrameRateRanges.count; i++) {
|
|
||||||
- const auto rateRange = format.videoSupportedFrameRateRanges[i];
|
|
||||||
+ const AVFrameRateRange *rateRange = format.videoSupportedFrameRateRanges[i];
|
|
||||||
int gap = abs(rateRange.minFrameRate - target);
|
|
||||||
if (gap <= closest || closest == -1) {
|
|
||||||
closest = gap;
|
|
||||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.mm b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.mm
|
|
||||||
index 4ef8630..3fc753c 100644
|
|
||||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.mm
|
|
||||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.mm
|
|
||||||
@@ -243,9 +243,11 @@ private:
|
|
||||||
layer.framebufferOnly = true;
|
|
||||||
layer.opaque = false;
|
|
||||||
// layer.cornerRadius = 4;
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.13, *)) {
|
|
||||||
layer.displaySyncEnabled = NO;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
// layer.presentsWithTransaction = YES;
|
|
||||||
layer.backgroundColor = [NSColor clearColor].CGColor;
|
|
||||||
layer.contentsGravity = kCAGravityResizeAspectFill;
|
|
||||||
@@ -332,9 +334,7 @@ private:
|
|
||||||
- (RTCVideoRotation)rtcFrameRotation {
|
|
||||||
if (_rotationOverride) {
|
|
||||||
RTCVideoRotation rotation;
|
|
||||||
- if (@available(macOS 10.13, *)) {
|
|
||||||
- [_rotationOverride getValue:&rotation size:sizeof(rotation)];
|
|
||||||
- } else {
|
|
||||||
+ {
|
|
||||||
[_rotationOverride getValue:&rotation];
|
|
||||||
}
|
|
||||||
return rotation;
|
|
||||||
Submodule Telegram/lib_base contains modified content
|
|
||||||
diff --git a/Telegram/lib_base/base/platform/mac/base_global_shortcuts_mac.mm b/Telegram/lib_base/base/platform/mac/base_global_shortcuts_mac.mm
|
|
||||||
index 5491702..32befc6 100644
|
|
||||||
--- a/Telegram/lib_base/base/platform/mac/base_global_shortcuts_mac.mm
|
|
||||||
+++ b/Telegram/lib_base/base/platform/mac/base_global_shortcuts_mac.mm
|
|
||||||
@@ -128,6 +128,7 @@ bool Available() {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Allowed() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.15, *)) {
|
|
||||||
// Input Monitoring is required on macOS 10.15 an later.
|
|
||||||
// Even if user grants access, restart is required.
|
|
||||||
@@ -141,6 +142,7 @@ bool Allowed() {
|
|
||||||
return AXIsProcessTrustedWithOptions(
|
|
||||||
(__bridge CFDictionaryRef)options);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/Telegram/lib_base/base/platform/mac/base_info_mac.mm b/Telegram/lib_base/base/platform/mac/base_info_mac.mm
|
|
||||||
index f1f259a..6629eb6 100644
|
|
||||||
--- a/Telegram/lib_base/base/platform/mac/base_info_mac.mm
|
|
||||||
+++ b/Telegram/lib_base/base/platform/mac/base_info_mac.mm
|
|
||||||
@@ -226,16 +226,20 @@ void Finish() {
|
|
||||||
}
|
|
||||||
|
|
||||||
void OpenInputMonitoringPrivacySettings() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.15, *)) {
|
|
||||||
IOHIDRequestAccess(kIOHIDRequestTypeListenEvent);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
[[NSWorkspace sharedWorkspace] openURL:PrivacySettingsUrl("Privacy_ListenEvent")];
|
|
||||||
}
|
|
||||||
|
|
||||||
void OpenDesktopCapturePrivacySettings() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 11.0, *)) {
|
|
||||||
CGRequestScreenCaptureAccess();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
[[NSWorkspace sharedWorkspace] openURL:PrivacySettingsUrl("Privacy_ScreenCapture")];
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/Telegram/lib_base/base/platform/mac/base_system_media_controls_mac.mm b/Telegram/lib_base/base/platform/mac/base_system_media_controls_mac.mm
|
|
||||||
index 6102705..8981239 100644
|
|
||||||
--- a/Telegram/lib_base/base/platform/mac/base_system_media_controls_mac.mm
|
|
||||||
+++ b/Telegram/lib_base/base/platform/mac/base_system_media_controls_mac.mm
|
|
||||||
@@ -277,6 +277,7 @@ void SystemMediaControls::setThumbnail(const QImage &thumbnail) {
|
|
||||||
if (thumbnail.isNull()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.13.2, *)) {
|
|
||||||
const auto copy = thumbnail;
|
|
||||||
[_private->info
|
|
||||||
@@ -290,6 +291,7 @@ void SystemMediaControls::setThumbnail(const QImage &thumbnail) {
|
|
||||||
forKey:MPMediaItemPropertyArtwork];
|
|
||||||
updateDisplay();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void SystemMediaControls::setDuration(int duration) {
|
|
||||||
@@ -308,10 +310,12 @@ void SystemMediaControls::setVolume(float64 volume) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void SystemMediaControls::clearThumbnail() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.13.2, *)) {
|
|
||||||
[_private->info removeObjectForKey:MPMediaItemPropertyArtwork];
|
|
||||||
updateDisplay();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void SystemMediaControls::clearMetadata() {
|
|
||||||
@@ -373,9 +377,11 @@ bool SystemMediaControls::volumeSupported() const {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SystemMediaControls::Supported() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 10.12.2, *)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Submodule Telegram/lib_webrtc contains modified content
|
|
||||||
diff --git a/Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm b/Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm
|
|
||||||
index 21e93f7..10a3890 100644
|
|
||||||
--- a/Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm
|
|
||||||
+++ b/Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm
|
|
||||||
@@ -397,6 +397,7 @@ void MacMediaDevices::videoInputRefreshed() {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MacDesktopCaptureAllowed() {
|
|
||||||
+#if 0
|
|
||||||
if (@available(macOS 11.0, *)) {
|
|
||||||
// Screen Recording is required on macOS 10.15 an later.
|
|
||||||
// Even if user grants access, restart is required.
|
|
||||||
@@ -421,6 +422,7 @@ bool MacDesktopCaptureAllowed() {
|
|
||||||
CFRelease(stream);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
|||||||
diff --git a/src/rtc_base/async_resolver.cc b/src/rtc_base/async_resolver.cc
|
|
||||||
index ad1598f2..fe9c3832 100644
|
|
||||||
--- a/src/rtc_base/async_resolver.cc
|
|
||||||
+++ b/src/rtc_base/async_resolver.cc
|
|
||||||
@@ -57,7 +57,7 @@ void GlobalGcdRunTask(void* context) {
|
|
||||||
|
|
||||||
// Post a task into the system-defined global concurrent queue.
|
|
||||||
void PostTaskToGlobalQueue(std::unique_ptr<webrtc::QueuedTask> task) {
|
|
||||||
- dispatch_queue_global_t global_queue =
|
|
||||||
+ dispatch_queue_t global_queue =
|
|
||||||
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
|
|
||||||
webrtc::QueuedTask* context = task.release();
|
|
||||||
dispatch_async_f(global_queue, context, &GlobalGcdRunTask);
|
|
||||||
diff --git a/src/rtc_base/system/gcd_helpers.m b/src/rtc_base/system/gcd_helpers.m
|
|
||||||
index fd9a361f..3a63be6d 100644
|
|
||||||
--- a/src/rtc_base/system/gcd_helpers.m
|
|
||||||
+++ b/src/rtc_base/system/gcd_helpers.m
|
|
||||||
@@ -13,9 +13,6 @@
|
|
||||||
dispatch_queue_t RTCDispatchQueueCreateWithTarget(const char *label,
|
|
||||||
dispatch_queue_attr_t attr,
|
|
||||||
dispatch_queue_t target) {
|
|
||||||
- if (@available(iOS 10, macOS 10.12, tvOS 10, watchOS 3, *)) {
|
|
||||||
- return dispatch_queue_create_with_target(label, attr, target);
|
|
||||||
- }
|
|
||||||
dispatch_queue_t queue = dispatch_queue_create(label, attr);
|
|
||||||
dispatch_set_target_queue(queue, target);
|
|
||||||
return queue;
|
|
||||||
diff --git a/src/sdk/objc/components/video_codec/nalu_rewriter.cc b/src/sdk/objc/components/video_codec/nalu_rewriter.cc
|
|
||||||
index 1121c921..f21926b0 100644
|
|
||||||
--- a/src/sdk/objc/components/video_codec/nalu_rewriter.cc
|
|
||||||
+++ b/src/sdk/objc/components/video_codec/nalu_rewriter.cc
|
|
||||||
@@ -242,10 +242,7 @@ bool H265CMSampleBufferToAnnexBBuffer(
|
|
||||||
int nalu_header_size = 0;
|
|
||||||
size_t param_set_count = 0;
|
|
||||||
OSStatus status = noErr;
|
|
||||||
- if (__builtin_available(macOS 10.13, *)) {
|
|
||||||
- status = CMVideoFormatDescriptionGetHEVCParameterSetAtIndex(
|
|
||||||
- description, 0, nullptr, nullptr, ¶m_set_count, &nalu_header_size);
|
|
||||||
- } else {
|
|
||||||
+ {
|
|
||||||
RTC_LOG(LS_ERROR) << "Not supported.";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@@ -268,10 +265,7 @@ bool H265CMSampleBufferToAnnexBBuffer(
|
|
||||||
size_t param_set_size = 0;
|
|
||||||
const uint8_t* param_set = nullptr;
|
|
||||||
for (size_t i = 0; i < param_set_count; ++i) {
|
|
||||||
- if (__builtin_available(macOS 10.13, *)) {
|
|
||||||
- status = CMVideoFormatDescriptionGetHEVCParameterSetAtIndex(
|
|
||||||
- description, i, ¶m_set, ¶m_set_size, nullptr, nullptr);
|
|
||||||
- } else {
|
|
||||||
+ {
|
|
||||||
RTC_LOG(LS_ERROR) << "Not supported.";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@@ -501,11 +495,7 @@ CMVideoFormatDescriptionRef CreateH265VideoFormatDescription(
|
|
||||||
// Parse the SPS and PPS into a CMVideoFormatDescription.
|
|
||||||
CMVideoFormatDescriptionRef description = nullptr;
|
|
||||||
OSStatus status = noErr;
|
|
||||||
- if (__builtin_available(macOS 10.13, *)) {
|
|
||||||
- status = CMVideoFormatDescriptionCreateFromHEVCParameterSets(
|
|
||||||
- kCFAllocatorDefault, 3, param_set_ptrs, param_set_sizes, 4, nullptr,
|
|
||||||
- &description);
|
|
||||||
- } else {
|
|
||||||
+ {
|
|
||||||
RTC_LOG(LS_ERROR) << "Not supported.";
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
@ -56,11 +56,6 @@ stdenv.mkDerivation {
|
|||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# let it build with nixpkgs 10.12 sdk
|
|
||||||
./tg_owt-10.12-sdk.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.isLinux ''
|
postPatch = lib.optionalString stdenv.isLinux ''
|
||||||
substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
|
substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
|
||||||
--replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \
|
--replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \
|
||||||
@ -115,9 +110,6 @@ stdenv.mkDerivation {
|
|||||||
ApplicationServices
|
ApplicationServices
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/130963
|
|
||||||
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-lc++abi";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta.license = lib.licenses.bsd3;
|
meta.license = lib.licenses.bsd3;
|
||||||
|
@ -30316,14 +30316,14 @@ with pkgs;
|
|||||||
kooha = callPackage ../applications/video/kooha { };
|
kooha = callPackage ../applications/video/kooha { };
|
||||||
|
|
||||||
kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop {
|
kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop {
|
||||||
inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices CoreText CoreGraphics
|
inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreFoundation CoreServices CoreText CoreGraphics
|
||||||
CoreMedia OpenGL AudioUnit ApplicationServices Foundation AGL Security SystemConfiguration
|
CoreMedia OpenGL AudioUnit ApplicationServices Foundation AGL Security SystemConfiguration
|
||||||
Carbon AudioToolbox VideoToolbox VideoDecodeAcceleration AVFoundation CoreAudio CoreVideo
|
Carbon AudioToolbox VideoToolbox VideoDecodeAcceleration AVFoundation CoreAudio CoreVideo
|
||||||
CoreMediaIO QuartzCore AppKit CoreWLAN WebKit IOKit GSS MediaPlayer IOSurface Metal MetalKit;
|
CoreMediaIO QuartzCore AppKit CoreWLAN WebKit IOKit GSS MediaPlayer IOSurface Metal MetalKit;
|
||||||
|
|
||||||
# C++20 is required, darwin has Clang 7 by default, aarch64 has gcc 9 by default
|
# C++20 is required, aarch64 has gcc 9 by default
|
||||||
stdenv = if stdenv.isDarwin
|
stdenv = if stdenv.isDarwin
|
||||||
then llvmPackages_12.stdenv
|
then darwin.apple_sdk_11_0.stdenv
|
||||||
else if stdenv.isAarch64 then gcc10Stdenv else stdenv;
|
else if stdenv.isAarch64 then gcc10Stdenv else stdenv;
|
||||||
|
|
||||||
# tdesktop has random crashes when jemalloc is built with gcc.
|
# tdesktop has random crashes when jemalloc is built with gcc.
|
||||||
|
Loading…
Reference in New Issue
Block a user