Loading pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +46 −48 Original line number Diff line number Diff line { lib , stdenv , fetchFromGitHub , fetchpatch , callPackage , libsForQt5 , yasm { lib, stdenv, fetchFromGitHub, fetchpatch, libsForQt5, yasm, withWebkit ? true, }: let telegram-desktop = libsForQt5.callPackage ../telegram-desktop { inherit stdenv; }; version = "1.4.9"; in (libsForQt5.callPackage ../telegram-desktop/default.nix { inherit stdenv; tg_owt = (callPackage ../telegram-desktop/tg_owt.nix { # tg_owt should use the same compiler inherit stdenv; }).overrideAttrs(oldAttrs: { tg_owt = telegram-desktop.tg_owt.overrideAttrs (oldAttrs: { version = "0-unstable-2024-06-15"; src = fetchFromGitHub { Loading @@ -39,10 +34,12 @@ in nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ yasm ]; }); withWebKitGTK = false; }).overrideAttrs { in telegram-desktop.override { pname = "kotatogram-desktop"; inherit withWebkit; unwrapped = (telegram-desktop.unwrapped.override { inherit tg_owt; }).overrideAttrs { pname = "kotatogram-desktop-unwrapped"; version = "${version}-unstable-2024-09-27"; src = fetchFromGitHub { Loading Loading @@ -77,4 +74,5 @@ in maintainers = with maintainers; [ ilya-fedin ]; mainProgram = if stdenv.hostPlatform.isLinux then "kotatogram-desktop" else "Kotatogram"; }; }; } pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nixdeleted 100644 → 0 +0 −23 Original line number Diff line number Diff line { stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk_4_1, makeBinaryWrapper }: stdenv.mkDerivation { pname = "${kotatogram-desktop.pname}-with-webkit"; version = kotatogram-desktop.version; nativeBuildInputs = [ makeBinaryWrapper ]; dontUnpack = true; installPhase = '' mkdir -p $out cp -r ${kotatogram-desktop}/share $out substituteInPlace $out/share/dbus-1/services/* --replace-fail ${kotatogram-desktop} $out ''; postFixup = '' mkdir -p $out/bin makeBinaryWrapper {${kotatogram-desktop},$out}/bin/${kotatogram-desktop.meta.mainProgram} \ --inherit-argv0 \ --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ webkitgtk_4_1 ]} ''; meta = kotatogram-desktop.meta // { platforms = lib.platforms.linux; }; } pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +57 −153 Original line number Diff line number Diff line { lib , stdenv , fetchFromGitHub , callPackage , pkg-config , cmake , ninja , clang , python3 , wrapQtAppsHook , tg_owt ? callPackage ./tg_owt.nix { inherit stdenv; } , qtbase , qtimageformats , qtsvg , qtwayland , kcoreaddons , lz4 , xxHash , ffmpeg , protobuf , openalSoft , minizip , libopus , alsa-lib , libpulseaudio , range-v3 , tl-expected , hunspell , gobject-introspection , jemalloc , rnnoise , microsoft-gsl , boost , ada , withWebKitGTK ? true , wrapGAppsHook3 , glib-networking , webkitgtk_4_1 , libicns , apple-sdk_15 , nix-update-script { callPackage, lib, stdenv, pname ? "telegram-desktop", unwrapped ? callPackage ./unwrapped.nix { inherit stdenv; }, qtbase, qtimageformats, qtsvg, qtwayland, wrapGAppsHook3, wrapQtAppsHook, glib-networking, webkitgtk_4_1, withWebkit ? true, }: # Main reference: # - This package was originally based on the Arch package but all patches are now upstreamed: # https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop # Other references that could be useful: # - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template stdenv.mkDerivation (finalAttrs: { pname = "telegram-desktop"; version = "5.6.3"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-frz425V5eRulNVxCf457TWQAzU/f9/szD/sx3/LYQ2Y="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ --replace-fail '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' '' + lib.optionalString (stdenv.hostPlatform.isLinux && withWebKitGTK) '' substituteInPlace Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk_library.cpp \ --replace-fail '"libwebkit2gtk-4.1.so.0"' '"${webkitgtk_4_1}/lib/libwebkit2gtk-4.1.so.0"' '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm \ --replace-fail kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster ''; # Avoid double-wrapping dontWrapGApps = true; inherit pname; inherit (unwrapped) version meta passthru; # Wrapping the inside of the app bundles, avoiding double-wrapping dontWrapQtApps = stdenv.hostPlatform.isDarwin; inherit unwrapped; nativeBuildInputs = [ pkg-config cmake ninja python3 nativeBuildInputs = [ wrapQtAppsHook ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # to build bundled libdispatch clang gobject-introspection ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withWebKitGTK) [ ] ++ lib.optionals withWebkit [ wrapGAppsHook3 ]; buildInputs = [ buildInputs = [ qtbase qtimageformats qtsvg lz4 xxHash ffmpeg openalSoft minizip libopus range-v3 tl-expected rnnoise tg_owt microsoft-gsl boost ada ] ++ lib.optionals stdenv.hostPlatform.isLinux [ protobuf ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland kcoreaddons alsa-lib libpulseaudio hunspell jemalloc ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withWebKitGTK) [ ] ++ lib.optionals withWebkit [ glib-networking webkitgtk_4_1 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 libicns ]; cmakeFlags = [ # We're allowed to used the API ID of the Snap package: (lib.cmakeFeature "TDESKTOP_API_ID" "611335") (lib.cmakeFeature "TDESKTOP_API_HASH" "d524b414d21f4d37f08684c1df41ac9c") qtWrapperArgs = lib.optionals (stdenv.hostPlatform.isLinux && withWebkit) [ "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ webkitgtk_4_1 ]) ]; installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications cp -r ${finalAttrs.meta.mainProgram}.app $out/Applications ln -s $out/{Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS,bin} ''; dontUnpack = true; dontWrapGApps = true; dontWrapQtApps = stdenv.hostPlatform.isDarwin; preFixup = lib.optionalString (stdenv.hostPlatform.isLinux && withWebKitGTK) '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") installPhase = '' runHook preInstall cp -r "$unwrapped" "$out" runHook postInstall ''; postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' wrapQtApp $out/Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS/${finalAttrs.meta.mainProgram} preFixup = lib.optionalString (stdenv.hostPlatform.isLinux && withWebkit) '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; passthru = { inherit tg_owt; updateScript = nix-update-script { }; }; meta = { description = "Telegram Desktop messaging app"; longDescription = '' Desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol. postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' wrapQtApp "$out/Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS/${finalAttrs.meta.mainProgram}" '' + lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace $out/share/dbus-1/services/* \ --replace-fail "$unwrapped" "$out" ''; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; homepage = "https://desktop.telegram.org/"; changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ nickcao ]; mainProgram = if stdenv.hostPlatform.isLinux then "telegram-desktop" else "Telegram"; }; }) pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix +2 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ libjpeg, openssl, libopus, ffmpeg, ffmpeg_6, openh264, crc32c, libvpx, Loading Loading @@ -68,7 +68,7 @@ stdenv.mkDerivation { libjpeg openssl libopus ffmpeg ffmpeg_6 openh264 crc32c libvpx Loading pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix 0 → 100644 +150 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, callPackage, pkg-config, cmake, ninja, clang, python3, tg_owt ? callPackage ./tg_owt.nix { inherit stdenv; }, qtbase, qtimageformats, qtsvg, qtwayland, kcoreaddons, lz4, xxHash, ffmpeg_6, protobuf, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3, tl-expected, hunspell, gobject-introspection, jemalloc, rnnoise, microsoft-gsl, boost, ada, libicns, apple-sdk_15, nix-update-script, }: # Main reference: # - This package was originally based on the Arch package but all patches are now upstreamed: # https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop # Other references that could be useful: # - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template stdenv.mkDerivation (finalAttrs: { pname = "telegram-desktop-unwrapped"; version = "5.7.1"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-MPVm9WfAjF11sy0hyhDTI/mM2OsENSMavnVrOwXTGUk="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${lib.getLib alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${lib.getLib alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ --replace-fail '"libpulse.so.0"' '"${lib.getLib libpulseaudio}/lib/libpulse.so.0"' ''; nativeBuildInputs = [ pkg-config cmake ninja python3 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # to build bundled libdispatch clang gobject-introspection ]; buildInputs = [ qtbase qtimageformats qtsvg lz4 xxHash ffmpeg_6 openalSoft minizip libopus range-v3 tl-expected rnnoise tg_owt microsoft-gsl boost ada ] ++ lib.optionals stdenv.hostPlatform.isLinux [ protobuf qtwayland kcoreaddons alsa-lib libpulseaudio hunspell jemalloc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 libicns ]; dontWrapQtApps = true; cmakeFlags = [ # We're allowed to used the API ID of the Snap package: (lib.cmakeFeature "TDESKTOP_API_ID" "611335") (lib.cmakeFeature "TDESKTOP_API_HASH" "d524b414d21f4d37f08684c1df41ac9c") ]; installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' runHook preInstall mkdir -p $out/Applications cp -r ${finalAttrs.meta.mainProgram}.app $out/Applications ln -sr $out/{Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS,bin} runHook postInstall ''; passthru = { inherit tg_owt; updateScript = nix-update-script { }; }; meta = { description = "Telegram Desktop messaging app"; longDescription = '' Desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol. ''; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; homepage = "https://desktop.telegram.org/"; changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ nickcao ]; mainProgram = if stdenv.hostPlatform.isLinux then "telegram-desktop" else "Telegram"; }; }) Loading
pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +46 −48 Original line number Diff line number Diff line { lib , stdenv , fetchFromGitHub , fetchpatch , callPackage , libsForQt5 , yasm { lib, stdenv, fetchFromGitHub, fetchpatch, libsForQt5, yasm, withWebkit ? true, }: let telegram-desktop = libsForQt5.callPackage ../telegram-desktop { inherit stdenv; }; version = "1.4.9"; in (libsForQt5.callPackage ../telegram-desktop/default.nix { inherit stdenv; tg_owt = (callPackage ../telegram-desktop/tg_owt.nix { # tg_owt should use the same compiler inherit stdenv; }).overrideAttrs(oldAttrs: { tg_owt = telegram-desktop.tg_owt.overrideAttrs (oldAttrs: { version = "0-unstable-2024-06-15"; src = fetchFromGitHub { Loading @@ -39,10 +34,12 @@ in nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ yasm ]; }); withWebKitGTK = false; }).overrideAttrs { in telegram-desktop.override { pname = "kotatogram-desktop"; inherit withWebkit; unwrapped = (telegram-desktop.unwrapped.override { inherit tg_owt; }).overrideAttrs { pname = "kotatogram-desktop-unwrapped"; version = "${version}-unstable-2024-09-27"; src = fetchFromGitHub { Loading Loading @@ -77,4 +74,5 @@ in maintainers = with maintainers; [ ilya-fedin ]; mainProgram = if stdenv.hostPlatform.isLinux then "kotatogram-desktop" else "Kotatogram"; }; }; }
pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/with-webkit.nixdeleted 100644 → 0 +0 −23 Original line number Diff line number Diff line { stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk_4_1, makeBinaryWrapper }: stdenv.mkDerivation { pname = "${kotatogram-desktop.pname}-with-webkit"; version = kotatogram-desktop.version; nativeBuildInputs = [ makeBinaryWrapper ]; dontUnpack = true; installPhase = '' mkdir -p $out cp -r ${kotatogram-desktop}/share $out substituteInPlace $out/share/dbus-1/services/* --replace-fail ${kotatogram-desktop} $out ''; postFixup = '' mkdir -p $out/bin makeBinaryWrapper {${kotatogram-desktop},$out}/bin/${kotatogram-desktop.meta.mainProgram} \ --inherit-argv0 \ --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ webkitgtk_4_1 ]} ''; meta = kotatogram-desktop.meta // { platforms = lib.platforms.linux; }; }
pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +57 −153 Original line number Diff line number Diff line { lib , stdenv , fetchFromGitHub , callPackage , pkg-config , cmake , ninja , clang , python3 , wrapQtAppsHook , tg_owt ? callPackage ./tg_owt.nix { inherit stdenv; } , qtbase , qtimageformats , qtsvg , qtwayland , kcoreaddons , lz4 , xxHash , ffmpeg , protobuf , openalSoft , minizip , libopus , alsa-lib , libpulseaudio , range-v3 , tl-expected , hunspell , gobject-introspection , jemalloc , rnnoise , microsoft-gsl , boost , ada , withWebKitGTK ? true , wrapGAppsHook3 , glib-networking , webkitgtk_4_1 , libicns , apple-sdk_15 , nix-update-script { callPackage, lib, stdenv, pname ? "telegram-desktop", unwrapped ? callPackage ./unwrapped.nix { inherit stdenv; }, qtbase, qtimageformats, qtsvg, qtwayland, wrapGAppsHook3, wrapQtAppsHook, glib-networking, webkitgtk_4_1, withWebkit ? true, }: # Main reference: # - This package was originally based on the Arch package but all patches are now upstreamed: # https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop # Other references that could be useful: # - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template stdenv.mkDerivation (finalAttrs: { pname = "telegram-desktop"; version = "5.6.3"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-frz425V5eRulNVxCf457TWQAzU/f9/szD/sx3/LYQ2Y="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ --replace-fail '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' '' + lib.optionalString (stdenv.hostPlatform.isLinux && withWebKitGTK) '' substituteInPlace Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk_library.cpp \ --replace-fail '"libwebkit2gtk-4.1.so.0"' '"${webkitgtk_4_1}/lib/libwebkit2gtk-4.1.so.0"' '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Telegram/lib_webrtc/webrtc/platform/mac/webrtc_environment_mac.mm \ --replace-fail kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster ''; # Avoid double-wrapping dontWrapGApps = true; inherit pname; inherit (unwrapped) version meta passthru; # Wrapping the inside of the app bundles, avoiding double-wrapping dontWrapQtApps = stdenv.hostPlatform.isDarwin; inherit unwrapped; nativeBuildInputs = [ pkg-config cmake ninja python3 nativeBuildInputs = [ wrapQtAppsHook ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # to build bundled libdispatch clang gobject-introspection ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withWebKitGTK) [ ] ++ lib.optionals withWebkit [ wrapGAppsHook3 ]; buildInputs = [ buildInputs = [ qtbase qtimageformats qtsvg lz4 xxHash ffmpeg openalSoft minizip libopus range-v3 tl-expected rnnoise tg_owt microsoft-gsl boost ada ] ++ lib.optionals stdenv.hostPlatform.isLinux [ protobuf ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qtwayland kcoreaddons alsa-lib libpulseaudio hunspell jemalloc ] ++ lib.optionals (stdenv.hostPlatform.isLinux && withWebKitGTK) [ ] ++ lib.optionals withWebkit [ glib-networking webkitgtk_4_1 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 libicns ]; cmakeFlags = [ # We're allowed to used the API ID of the Snap package: (lib.cmakeFeature "TDESKTOP_API_ID" "611335") (lib.cmakeFeature "TDESKTOP_API_HASH" "d524b414d21f4d37f08684c1df41ac9c") qtWrapperArgs = lib.optionals (stdenv.hostPlatform.isLinux && withWebkit) [ "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ webkitgtk_4_1 ]) ]; installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications cp -r ${finalAttrs.meta.mainProgram}.app $out/Applications ln -s $out/{Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS,bin} ''; dontUnpack = true; dontWrapGApps = true; dontWrapQtApps = stdenv.hostPlatform.isDarwin; preFixup = lib.optionalString (stdenv.hostPlatform.isLinux && withWebKitGTK) '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") installPhase = '' runHook preInstall cp -r "$unwrapped" "$out" runHook postInstall ''; postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' wrapQtApp $out/Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS/${finalAttrs.meta.mainProgram} preFixup = lib.optionalString (stdenv.hostPlatform.isLinux && withWebkit) '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; passthru = { inherit tg_owt; updateScript = nix-update-script { }; }; meta = { description = "Telegram Desktop messaging app"; longDescription = '' Desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol. postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' wrapQtApp "$out/Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS/${finalAttrs.meta.mainProgram}" '' + lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace $out/share/dbus-1/services/* \ --replace-fail "$unwrapped" "$out" ''; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; homepage = "https://desktop.telegram.org/"; changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ nickcao ]; mainProgram = if stdenv.hostPlatform.isLinux then "telegram-desktop" else "Telegram"; }; })
pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix +2 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ libjpeg, openssl, libopus, ffmpeg, ffmpeg_6, openh264, crc32c, libvpx, Loading Loading @@ -68,7 +68,7 @@ stdenv.mkDerivation { libjpeg openssl libopus ffmpeg ffmpeg_6 openh264 crc32c libvpx Loading
pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/unwrapped.nix 0 → 100644 +150 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, callPackage, pkg-config, cmake, ninja, clang, python3, tg_owt ? callPackage ./tg_owt.nix { inherit stdenv; }, qtbase, qtimageformats, qtsvg, qtwayland, kcoreaddons, lz4, xxHash, ffmpeg_6, protobuf, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3, tl-expected, hunspell, gobject-introspection, jemalloc, rnnoise, microsoft-gsl, boost, ada, libicns, apple-sdk_15, nix-update-script, }: # Main reference: # - This package was originally based on the Arch package but all patches are now upstreamed: # https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop # Other references that could be useful: # - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD # - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template stdenv.mkDerivation (finalAttrs: { pname = "telegram-desktop-unwrapped"; version = "5.7.1"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-MPVm9WfAjF11sy0hyhDTI/mM2OsENSMavnVrOwXTGUk="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${lib.getLib alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ --replace-fail '"libasound.so.2"' '"${lib.getLib alsa-lib}/lib/libasound.so.2"' substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ --replace-fail '"libpulse.so.0"' '"${lib.getLib libpulseaudio}/lib/libpulse.so.0"' ''; nativeBuildInputs = [ pkg-config cmake ninja python3 ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # to build bundled libdispatch clang gobject-introspection ]; buildInputs = [ qtbase qtimageformats qtsvg lz4 xxHash ffmpeg_6 openalSoft minizip libopus range-v3 tl-expected rnnoise tg_owt microsoft-gsl boost ada ] ++ lib.optionals stdenv.hostPlatform.isLinux [ protobuf qtwayland kcoreaddons alsa-lib libpulseaudio hunspell jemalloc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 libicns ]; dontWrapQtApps = true; cmakeFlags = [ # We're allowed to used the API ID of the Snap package: (lib.cmakeFeature "TDESKTOP_API_ID" "611335") (lib.cmakeFeature "TDESKTOP_API_HASH" "d524b414d21f4d37f08684c1df41ac9c") ]; installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' runHook preInstall mkdir -p $out/Applications cp -r ${finalAttrs.meta.mainProgram}.app $out/Applications ln -sr $out/{Applications/${finalAttrs.meta.mainProgram}.app/Contents/MacOS,bin} runHook postInstall ''; passthru = { inherit tg_owt; updateScript = nix-update-script { }; }; meta = { description = "Telegram Desktop messaging app"; longDescription = '' Desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol. ''; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; homepage = "https://desktop.telegram.org/"; changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${finalAttrs.version}"; maintainers = with lib.maintainers; [ nickcao ]; mainProgram = if stdenv.hostPlatform.isLinux then "telegram-desktop" else "Telegram"; }; })