From 96bd7df232fa395fcdda24f2b79007519ea1c2a5 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 19 Nov 2023 23:01:42 +0400 Subject: [PATCH] kotatogram-desktop{,-with-webkit}: 1.4.9 -> 0-unstable-2024-07-01 Upstream doesn't have enough manpower to do even beta quality releases. Builds from random commits might be more usable for people relying on new Telegram features, at the price of not having various Kotatogram-specific features and having various bugs. --- .../telegram/kotatogram-desktop/default.nix | 122 +++++++----------- .../telegram/kotatogram-desktop/kf594.patch | 57 -------- .../kotatogram-desktop/macos-opengl.patch | 66 ++++++++++ .../telegram/kotatogram-desktop/macos.patch | 52 ++++++++ .../shortcuts-binary-path.patch | 38 ------ .../telegram/kotatogram-desktop/tg_owt.nix | 67 ++-------- .../telegram/kotatogram-desktop/tg_owt.patch | 43 ------ .../kotatogram-desktop/with-webkit.nix | 4 +- pkgs/top-level/all-packages.nix | 17 +-- 9 files changed, 184 insertions(+), 282 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch create mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-opengl.patch create mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos.patch delete mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/shortcuts-binary-path.patch delete mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix index 70c924a27a51..aaabf518b959 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix @@ -6,17 +6,18 @@ , cmake , ninja , clang +, lld , python3 , wrapQtAppsHook , removeReferencesTo -, extra-cmake-modules , qtbase , qtimageformats , qtsvg -, kwayland +, qtwayland +, kcoreaddons , lz4 , xxHash -, ffmpeg_4 +, ffmpeg , openalSoft , minizip , libopus @@ -25,94 +26,59 @@ , range-v3 , tl-expected , hunspell -, glibmm +, gobject-introspection +, glibmm_2_68 , jemalloc , rnnoise , abseil-cpp , microsoft-gsl +, boost +, fmt , wayland , libicns -, Cocoa -, CoreFoundation -, CoreServices -, CoreText -, CoreGraphics -, CoreMedia -, OpenGL -, AudioUnit -, ApplicationServices -, Foundation -, AGL -, Security -, SystemConfiguration -, Carbon -, AudioToolbox -, VideoToolbox -, VideoDecodeAcceleration -, AVFoundation -, CoreAudio -, CoreVideo -, CoreMediaIO -, QuartzCore -, AppKit -, CoreWLAN -, WebKit -, IOKit -, GSS -, MediaPlayer -, IOSurface -, Metal -, MetalKit +, darwin }: let tg_owt = callPackage ./tg_owt.nix { - abseil-cpp = abseil-cpp.override { - # abseil-cpp should use the same compiler - inherit stdenv; - cxxStandard = "20"; - }; - # tg_owt should use the same compiler inherit stdenv; - - inherit Cocoa AppKit IOKit IOSurface Foundation AVFoundation CoreMedia VideoToolbox - CoreGraphics CoreVideo OpenGL Metal MetalKit CoreFoundation ApplicationServices; }; + + mainProgram = if stdenv.isLinux then "kotatogram-desktop" else "Kotatogram"; in stdenv.mkDerivation rec { pname = "kotatogram-desktop"; - version = "1.4.9"; + version = "0-unstable-2024-07-01"; src = fetchFromGitHub { owner = "kotatogram"; repo = "kotatogram-desktop"; - rev = "k${version}"; - sha256 = "sha256-6bF/6fr8mJyyVg53qUykysL7chuewtJB8E22kVyxjHw="; + rev = "fbb22ebd3e39dfa4a036fa79a7a3f78b86b1cea2"; + sha256 = "sha256-ccfmaqapk9ct+5kvBI02xHJ7YCGmm1CcqwM+3hC1bk0="; fetchSubmodules = true; }; patches = [ - ./kf594.patch - ./shortcuts-binary-path.patch + ./macos.patch + ./macos-opengl.patch ]; postPatch = lib.optionalString stdenv.isLinux '' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ - --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' + --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ - --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' + --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ - --replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' + --replace-fail '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' '' + lib.optionalString stdenv.isDarwin '' - sed -i "13i#import " Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm - substituteInPlace Telegram/CMakeLists.txt \ - --replace 'COMMAND iconutil' 'COMMAND png2icns' \ - --replace '--convert icns' "" \ - --replace '--output AppIcon.icns' 'AppIcon.icns' \ - --replace "\''${appicon_path}" "\''${appicon_path}/icon_16x16.png \''${appicon_path}/icon_32x32.png \''${appicon_path}/icon_128x128.png \''${appicon_path}/icon_256x256.png \''${appicon_path}/icon_512x512.png" + substituteInPlace Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm \ + --replace-fail kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster ''; + # Wrapping the inside of the app bundles, avoiding double-wrapping + dontWrapQtApps = stdenv.isDarwin; + nativeBuildInputs = [ pkg-config cmake @@ -123,7 +89,9 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.isLinux [ # to build bundled libdispatch clang - extra-cmake-modules + gobject-introspection + ] ++ lib.optionals stdenv.isDarwin [ + lld ]; buildInputs = [ @@ -132,7 +100,7 @@ stdenv.mkDerivation rec { qtsvg lz4 xxHash - ffmpeg_4 + ffmpeg openalSoft minizip libopus @@ -141,15 +109,18 @@ stdenv.mkDerivation rec { rnnoise tg_owt microsoft-gsl + boost ] ++ lib.optionals stdenv.isLinux [ - kwayland + qtwayland + kcoreaddons alsa-lib libpulseaudio hunspell - glibmm + glibmm_2_68 jemalloc + fmt wayland - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Cocoa CoreFoundation CoreServices @@ -180,27 +151,34 @@ stdenv.mkDerivation rec { MediaPlayer IOSurface Metal + NaturalLanguage libicns - ]; + ]); enableParallelBuilding = true; + env = lib.optionalAttrs stdenv.isDarwin { + NIX_CFLAGS_LINK = "-fuse-ld=lld"; + }; + cmakeFlags = [ "-DTDESKTOP_API_TEST=ON" - "-DDESKTOP_APP_QT6=OFF" ]; installPhase = lib.optionalString stdenv.isDarwin '' mkdir -p $out/Applications - cp -r Kotatogram.app $out/Applications - ln -s $out/Applications/Kotatogram.app/Contents/MacOS $out/bin + cp -r ${mainProgram}.app $out/Applications + ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin} ''; preFixup = '' - binName=${if stdenv.isLinux then "kotatogram-desktop" else "Kotatogram"} - remove-references-to -t ${stdenv.cc.cc} $out/bin/$binName - remove-references-to -t ${microsoft-gsl} $out/bin/$binName - remove-references-to -t ${tg_owt.dev} $out/bin/$binName + remove-references-to -t ${stdenv.cc.cc} $out/bin/${mainProgram} + remove-references-to -t ${microsoft-gsl} $out/bin/${mainProgram} + remove-references-to -t ${tg_owt.dev} $out/bin/${mainProgram} + ''; + + postFixup = lib.optionalString stdenv.isDarwin '' + wrapQtApp $out/Applications/${mainProgram}.app/Contents/MacOS/${mainProgram} ''; passthru = { @@ -208,8 +186,8 @@ stdenv.mkDerivation rec { }; meta = with lib; { + inherit mainProgram; description = "Kotatogram – experimental Telegram Desktop fork"; - mainProgram = "kotatogram-desktop"; longDescription = '' Unofficial desktop client for the Telegram messenger, based on Telegram Desktop. diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch deleted file mode 100644 index 0fa2d8bc8f6e..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp -index 7641579aa..3c195e397 100644 ---- a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp -+++ b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp -@@ -9,10 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL - - #include "base/platform/base_platform_info.h" - --#include --#include --#include --#include -+#include -+#include -+#include -+#include - - using namespace KWayland::Client; - -Submodule Telegram/lib_base contains modified content -diff --git a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp -index 32f0de6..30a087f 100644 ---- a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp -+++ b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp -@@ -13,11 +13,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL - #include - #include - --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include - - using namespace KWayland::Client; - -Submodule Telegram/lib_ui contains modified content -diff --git a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp -index 01f1e80..163cb6a 100644 ---- a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp -+++ b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp -@@ -24,8 +24,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL - #include - #include - --#include --#include -+#include -+#include - - Q_DECLARE_METATYPE(QMargins); - diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-opengl.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-opengl.patch new file mode 100644 index 000000000000..e81bd53b440c --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-opengl.patch @@ -0,0 +1,66 @@ +diff --git a/Telegram/SourceFiles/media/view/media_view_pip.cpp b/Telegram/SourceFiles/media/view/media_view_pip.cpp +index 655e7cf410..c356acbffe 100644 +--- a/Telegram/SourceFiles/media/view/media_view_pip.cpp ++++ b/Telegram/SourceFiles/media/view/media_view_pip.cpp +@@ -1333,7 +1333,7 @@ void Pip::setupStreaming() { + Ui::GL::ChosenRenderer Pip::chooseRenderer( + Ui::GL::Capabilities capabilities) { + const auto use = Platform::IsMac() +- ? true ++ ? false + : capabilities.transparency; + LOG(("OpenGL: %1 (PipPanel)").arg(Logs::b(use))); + if (use) { +Submodule Telegram/lib_ui contains modified content +diff --git a/Telegram/lib_ui/ui/gl/gl_detection.cpp b/Telegram/lib_ui/ui/gl/gl_detection.cpp +index 150eb8b..c7ce9f9 100644 +--- a/Telegram/lib_ui/ui/gl/gl_detection.cpp ++++ b/Telegram/lib_ui/ui/gl/gl_detection.cpp +@@ -236,7 +236,7 @@ Capabilities CheckCapabilities(QWidget *widget, bool avoidWidgetCreation) { + + Backend ChooseBackendDefault(Capabilities capabilities) { + const auto use = ::Platform::IsMac() +- ? true ++ ? false + : ::Platform::IsWindows() + ? capabilities.supported + : capabilities.transparency; +diff --git a/Telegram/lib_ui/ui/platform/mac/ui_window_mac.mm b/Telegram/lib_ui/ui/platform/mac/ui_window_mac.mm +index 7b29363..22c4fb3 100644 +--- a/Telegram/lib_ui/ui/platform/mac/ui_window_mac.mm ++++ b/Telegram/lib_ui/ui/platform/mac/ui_window_mac.mm +@@ -16,7 +16,6 @@ + #include + #include + #include +-#include + #include + + @interface WindowObserver : NSObject { +@@ -138,7 +137,6 @@ public: + + private: + void init(); +- void initOpenGL(); + void resolveWeakPointers(); + void revalidateWeakPointers() const; + void initCustomTitle(); +@@ -272,10 +270,6 @@ void WindowHelper::Private::enforceStyle() { + } + } + +-void WindowHelper::Private::initOpenGL() { +- auto forceOpenGL = std::make_unique(_owner->window()); +-} +- + void WindowHelper::Private::resolveWeakPointers() { + if (!_owner->window()->winId()) { + _owner->window()->createWinId(); +@@ -338,7 +332,6 @@ void WindowHelper::Private::initCustomTitle() { + } + + void WindowHelper::Private::init() { +- initOpenGL(); + resolveWeakPointers(); + initCustomTitle(); + } diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos.patch new file mode 100644 index 000000000000..8082f0964605 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos.patch @@ -0,0 +1,52 @@ +Submodule Telegram/lib_base contains modified content +diff --git a/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm b/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm +index 7ce90d3..dac3c2c 100644 +--- a/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm ++++ b/Telegram/lib_base/base/platform/mac/base_battery_saving_mac.mm +@@ -138,6 +138,7 @@ BatterySaving::BatterySaving(Fn changedCallback) { + _observer = [[LowPowerModeObserver alloc] initWithCallback:std::move(wrapped)]; + + NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; ++#if 0 + if (@available(macOS 12.0, *)) { + [center + addObserver: _observer +@@ -145,6 +146,7 @@ BatterySaving::BatterySaving(Fn changedCallback) { + name: NSProcessInfoPowerStateDidChangeNotification + object: nil]; + } ++#endif + [center + addObserver: _observer + selector: @selector(powerStateChanged:) +@@ -178,11 +180,13 @@ std::optional BatterySaving::enabled() const { + return std::nullopt; + } + NSProcessInfo *info = [NSProcessInfo processInfo]; ++#if 0 + if (@available(macOS 12.0, *)) { + if ([info isLowPowerModeEnabled]) { + return true; + } + } ++#endif + const auto state = DetectBatteryState(); + if (!state.has || !state.draining) { + return false; +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 657c5a4..4bfc097 100644 +--- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm ++++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm +@@ -317,9 +317,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]; diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/shortcuts-binary-path.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/shortcuts-binary-path.patch deleted file mode 100644 index f173a64f141a..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/shortcuts-binary-path.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp -index 2a092c6ea..de46dd269 100644 ---- a/Telegram/SourceFiles/core/application.cpp -+++ b/Telegram/SourceFiles/core/application.cpp -@@ -1173,7 +1173,7 @@ void Application::startShortcuts() { - - void Application::RegisterUrlScheme() { - base::Platform::RegisterUrlScheme(base::Platform::UrlSchemeDescriptor{ -- .executable = cExeDir() + cExeName(), -+ .executable = qsl("kotatogram-desktop"), - .arguments = qsl("-workdir \"%1\"").arg(cWorkingDir()), - .protocol = qsl("tg"), - .protocolName = qsl("Telegram Link"), -diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp -index 26168baa7..00d2525a0 100644 ---- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp -+++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp -@@ -303,19 +303,11 @@ bool GenerateDesktopFile( - - QFile target(targetFile); - if (target.open(QIODevice::WriteOnly)) { -- fileText = fileText.replace( -- QRegularExpression( -- qsl("^TryExec=.*$"), -- QRegularExpression::MultilineOption), -- qsl("TryExec=%1").arg( -- QString(cExeDir() + cExeName()).replace('\\', "\\\\"))); -- - fileText = fileText.replace( - QRegularExpression( - qsl("^Exec=kotatogram-desktop(.*)$"), - QRegularExpression::MultilineOption), -- qsl("Exec=%1 -workdir %2\\1").arg( -- EscapeShellInLauncher(cExeDir() + cExeName()), -+ qsl("Exec=kotatogram-desktop -workdir %1\\1").arg( - EscapeShellInLauncher(cWorkingDir()))); - - fileText = fileText.replace( diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix index 694021d0f7fe..e2f3c4ba884e 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , pkg-config , cmake , ninja @@ -9,10 +8,10 @@ , libjpeg , openssl , libopus -, ffmpeg_4 +, ffmpeg , protobuf , openh264 -, usrsctp +, crc32c , libvpx , libX11 , libXtst @@ -28,65 +27,23 @@ , mesa , libdrm , libGL -, Cocoa -, AppKit -, IOKit -, IOSurface -, Foundation -, AVFoundation -, CoreMedia -, VideoToolbox -, CoreGraphics -, CoreVideo -, OpenGL -, Metal -, MetalKit -, CoreFoundation -, ApplicationServices +, darwin }: -let - libsrtp = fetchFromGitHub { - owner = "cisco"; - repo = "libsrtp"; - - # https://github.com/desktop-app/tg_owt/commit/6894e86eef8809d42b66eb85e376006f2a816a56 - rev = "a566a9cfcd619e8327784aa7cff4a1276dc1e895"; - sha256 = "sha256-OvCw7oF1OuamP3qO2BsimeBSHq1rcXFLfK8KnbbgkMU="; - }; -in - stdenv.mkDerivation { pname = "tg_owt"; - version = "unstable-2022-04-13"; + version = "0-unstable-2024-06-15"; src = fetchFromGitHub { owner = "desktop-app"; repo = "tg_owt"; - rev = "63a934db1ed212ebf8aaaa20f0010dd7b0d7b396"; - sha256 = "sha256-WddSsQ9KW1zYyYckzdUOvfFZArYAbyvXmABQNMtK6cM="; + rev = "c9cc4390ab951f2cbc103ff783a11f398b27660b"; + sha256 = "sha256-FfWmSYaeryTDbsGJT3R7YK1oiyJcrR7YKKBOF+9PmpY="; fetchSubmodules = true; }; - patches = [ - ./tg_owt.patch - - (fetchpatch { - url = "https://github.com/desktop-app/tg_owt/commit/0614aac699b1a53242ffe2664e3724533bf64f97.patch"; - hash = "sha256-iCdX518CB/RboDFhl3opnwcAgtqpNWZzYtV75Q+WB6Y="; - }) - - (fetchpatch { - url = "https://github.com/desktop-app/tg_owt/commit/9d120195334db4f232c925529aa7601656dc59d7.patch"; - hash = "sha256-k99OBCdE2eQVyXEyvreEqVtzC8Xfdolbgd1Z7lV2ceE="; - }) - ]; - - postPatch = '' - rm -r src/third_party/libsrtp - cp -r --no-preserve=mode ${libsrtp} src/third_party/libsrtp - '' + lib.optionalString stdenv.isLinux '' - substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \ + postPatch = lib.optionalString stdenv.isLinux '' + substituteInPlace src/modules/desktop_capture/linux/wayland/egl_dmabuf.cc \ --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \ --replace '"libGL.so.1"' '"${libGL}/lib/libGL.so.1"' \ --replace '"libgbm.so.1"' '"${mesa}/lib/libgbm.so.1"' \ @@ -101,10 +58,10 @@ stdenv.mkDerivation { libjpeg openssl libopus - ffmpeg_4 + ffmpeg protobuf openh264 - usrsctp + crc32c libvpx abseil-cpp ] ++ lib.optionals stdenv.isLinux [ @@ -121,7 +78,7 @@ stdenv.mkDerivation { mesa libdrm libGL - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa AppKit IOKit @@ -137,7 +94,7 @@ stdenv.mkDerivation { MetalKit CoreFoundation ApplicationServices - ]; + ]); enableParallelBuilding = true; diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch deleted file mode 100644 index be7d696fc84d..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/src/modules/include/module_common_types_public.h -+++ b/src/modules/include/module_common_types_public.h -@@ -11,6 +11,7 @@ - #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ - -+#include - #include - - #include "absl/types/optional.h" -diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h -index 28c95ea9..790b0b73 100644 ---- a/src/common_video/h265/h265_pps_parser.h -+++ b/src/common_video/h265/h265_pps_parser.h -@@ -13,6 +13,8 @@ - - #include "absl/types/optional.h" - -+#include -+ - namespace rtc { - class BitBuffer; - } ---- a/src/rtc_base/third_party/base64/base64.h -+++ b/src/rtc_base/third_party/base64/base64.h -@@ -11,6 +11,7 @@ - #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ - #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ - -+#include - #include - #include - ---- a/src/modules/audio_processing/transient/file_utils.h -+++ b/src/modules/audio_processing/transient/file_utils.h -@@ -11,6 +11,7 @@ - #ifndef MODULES_AUDIO_PROCESSING_TRANSIENT_FILE_UTILS_H_ - #define MODULES_AUDIO_PROCESSING_TRANSIENT_FILE_UTILS_H_ - -+#include - #include - - #include "rtc_base/system/file_wrapper.h" diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nix index 73c71d294c84..f41713389679 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk, makeWrapper }: +{ stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk_6_0, makeWrapper }: stdenv.mkDerivation { pname = "${kotatogram-desktop.pname}-with-webkit"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { mkdir -p $out/bin makeWrapper ${kotatogram-desktop}/bin/kotatogram-desktop $out/bin/kotatogram-desktop \ --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ webkitgtk ]} + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ webkitgtk_6_0 ]} ''; meta = kotatogram-desktop.meta // { platforms = lib.platforms.linux; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 23ecb3faed55..2aeae9a07611 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31967,23 +31967,10 @@ with pkgs; kondo = callPackage ../applications/misc/kondo { }; - kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { - inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreFoundation CoreServices CoreText CoreGraphics - CoreMedia OpenGL AudioUnit ApplicationServices Foundation AGL Security SystemConfiguration - Carbon AudioToolbox VideoToolbox VideoDecodeAcceleration AVFoundation CoreAudio CoreVideo - CoreMediaIO QuartzCore AppKit CoreWLAN WebKit IOKit GSS MediaPlayer IOSurface Metal MetalKit; - + kotatogram-desktop = kdePackages.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { stdenv = if stdenv.isDarwin - then overrideSDK llvmPackages_14.stdenv "11.0" + then overrideSDK stdenv "11.0" else stdenv; - - # telegram-desktop has random crashes when jemalloc is built with gcc. - # Apparently, it triggers some bug due to usage of gcc's builtin - # functions like __builtin_ffsl by jemalloc when it's built with gcc. - jemalloc = (jemalloc.override { stdenv = clangStdenv; }).overrideAttrs { - # no idea how to fix the tests :( - doCheck = false; - }; }; kotatogram-desktop-with-webkit = callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nix { };