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 c88c97705fd..8f941f2c5a3 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix @@ -11,7 +11,7 @@ with lib; let - tg_owt = callPackage ../tdesktop/tg_owt.nix {}; + tg_owt = callPackage ./tg_owt.nix {}; in mkDerivation rec { pname = "kotatogram-desktop"; version = "1.4.1"; 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 new file mode 100644 index 00000000000..6bd72134e02 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm +, libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio, protobuf +, xorg, libXtst +}: + +let + rev = "2d804d2c9c5d05324c8ab22f2e6ff8306521b3c3"; + sha256 = "0kz0i381iwsgcc3yzsq7njx3gkqja4bb9fsgc24vhg0md540qhyn"; + +in stdenv.mkDerivation { + pname = "tg_owt"; + version = "git-${rev}"; + + src = fetchFromGitHub { + owner = "desktop-app"; + repo = "tg_owt"; + inherit rev sha256; + fetchSubmodules = true; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ pkg-config cmake ninja yasm ]; + + buildInputs = [ + libjpeg openssl libopus ffmpeg alsaLib libpulseaudio protobuf + xorg.libX11 libXtst + ]; + + cmakeFlags = [ + # Building as a shared library isn't officially supported and currently broken: + "-DBUILD_SHARED_LIBS=OFF" + ]; + + meta.license = lib.licenses.bsd3; +} diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 5997de14edb..ad4fe5538d8 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -1,8 +1,9 @@ -{ mkDerivation, lib, fetchurl, fetchpatch, callPackage +{ mkDerivation, lib, fetchFromGitHub, callPackage, fetchpatch , pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo -, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash -, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 -, tl-expected, hunspell, glibmm, webkitgtk +, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash +, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 +, tl-expected, hunspell, glibmm, webkitgtk, jemalloc +, rnnoise, abseil-cpp, extra-cmake-modules # Transitive dependencies: , pcre, xorg, util-linux, libselinux, libsepol, epoxy , at-spi2-core, libXtst, libthai, libdatrie @@ -22,29 +23,27 @@ let tg_owt = callPackage ./tg_owt.nix {}; in mkDerivation rec { pname = "telegram-desktop"; - version = "2.7.5"; + version = "2.8.11"; + # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py # Telegram-Desktop with submodules - src = fetchurl { - url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz"; - sha256 = "sha256-9GxBw5ii9Musjq7D3KMf/P5BA4h690EgXRbhynHwO98="; + src = fetchFromGitHub { + owner = "telegramdesktop"; + repo = "tdesktop"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "020ycgb77vx7rza590i3csrvq1zgm15rvpxqqcp0xkb4yh71i3hb"; }; - patches = [ - # fixes issue with ffmpeg>=4.4 crashes, hasn't been upstreamed yet - (fetchpatch { - url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch"; - sha256 = "sha256-inLXcP70yJlkkmdeXlc3HRL7Vt+Sf00LLJG33gwBKdY="; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch"; - sha256 = "sha256-p57LipNf7BDhVvNKRuicVqx0vU6IBL/Cvr5BAfLF4Hs="; - }) - ]; + patches = [(fetchpatch { + # ref: https://github.com/desktop-app/lib_webview/pull/9 + url = "https://github.com/desktop-app/lib_webview/commit/75e924934eee8624020befbef1f3cb5b865d3b86.patch"; + sha256 = "sha256-rN4FVK4KT+xNf9IVdcpbxMqT0+t3SINJPRRQPyMiDP0="; + stripLen = 1; + extraPrefix = "Telegram/lib_webview/"; + })]; postPatch = '' - substituteInPlace Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp \ - --replace '"libenchant-2.so.2"' '"${enchant2}/lib/libenchant-2.so.2"' substituteInPlace Telegram/CMakeLists.txt \ --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"' @@ -63,9 +62,10 @@ in mkDerivation rec { nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ]; buildInputs = [ - qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu enchant2 lz4 xxHash - dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 - tl-expected hunspell glibmm webkitgtk + qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash + ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 + tl-expected hunspell glibmm webkitgtk jemalloc + rnnoise abseil-cpp extra-cmake-modules tg_owt # Transitive dependencies: pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy @@ -112,6 +112,7 @@ in mkDerivation rec { passthru = { inherit tg_owt; + updateScript = ./update.py; }; meta = { diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix index 6bd72134e02..d19c518373f 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix @@ -1,20 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm +{ lib, stdenv, fetchFromGitHub, fetchpatch +, pkg-config, cmake, ninja, yasm , libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio, protobuf -, xorg, libXtst +, xorg, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr +, glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire +, libXi }: -let - rev = "2d804d2c9c5d05324c8ab22f2e6ff8306521b3c3"; - sha256 = "0kz0i381iwsgcc3yzsq7njx3gkqja4bb9fsgc24vhg0md540qhyn"; - -in stdenv.mkDerivation { +stdenv.mkDerivation { pname = "tg_owt"; - version = "git-${rev}"; + version = "unstable-2021-06-27"; src = fetchFromGitHub { owner = "desktop-app"; repo = "tg_owt"; - inherit rev sha256; + rev = "91d836dc84a16584c6ac52b36c04c0de504d9c34"; + sha256 = "1ir4svv5mijpzr0rmx65088iikck83vhcdqrpf9dnk6yp4j9v4v2"; fetchSubmodules = true; }; @@ -24,7 +24,9 @@ in stdenv.mkDerivation { buildInputs = [ libjpeg openssl libopus ffmpeg alsaLib libpulseaudio protobuf - xorg.libX11 libXtst + xorg.libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr + glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire + libXi ]; cmakeFlags = [ diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix index 7496063c58e..b355ba5428b 100644 --- a/pkgs/applications/networking/instant-messengers/viber/default.nix +++ b/pkgs/applications/networking/instant-messengers/viber/default.nix @@ -82,7 +82,8 @@ stdenv.mkDerivation { wrapProgram $out/opt/viber/Viber \ --set QT_PLUGIN_PATH "$out/opt/viber/plugins" \ --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \ - --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" + --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \ + --set QML2_IMPORT_PATH "$out/opt/viber/qml" ln -s $out/opt/viber/Viber $out/bin/viber mv $out/usr/share $out/share diff --git a/pkgs/development/libraries/libtgvoip/default.nix b/pkgs/development/libraries/libtgvoip/default.nix index 920315bb1bc..4702c207657 100644 --- a/pkgs/development/libraries/libtgvoip/default.nix +++ b/pkgs/development/libraries/libtgvoip/default.nix @@ -1,4 +1,5 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, autoreconfHook +{ stdenv, lib, fetchFromGitHub, fetchpatch +, pkg-config, autoreconfHook , openssl, libopus, alsaLib, libpulseaudio }: @@ -6,15 +7,31 @@ with lib; stdenv.mkDerivation rec { pname = "libtgvoip"; - version = "unstable-2020-03-02"; + version = "unstable-2021-07-13"; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "libtgvoip"; - rev = "e422d2a80546a32ab7166a9b1058bacfc5daeefc"; - sha256 = "0n6f7215k74039j0zmicjzhj6f45mq6fvkrwzyzibcrv87ib17fc"; + rev = "f321e7c8cc086bac6ae06fa0934aac7d9833a310"; + sha256 = "1gk5nsqhbnn1cdh83b70qr3d3v2c1bncylvgn77vvj8vnyjlmnfq"; }; + # To fix the build without external webrtc: + patches = [ + (fetchpatch { + # Use methods from updated webrtc. + url = "https://github.com/telegramdesktop/libtgvoip/commit/13a5fcb16b04472d808ce122abd695dbf5d206cd.patch"; + sha256 = "0wapqvml3yyv5dlp2q8iih5rfvfnkngll69krhnw5xsdjy22sp7r"; + revert = true; + }) + (fetchpatch { + # Allow working with external webrtc. + url = "https://github.com/telegramdesktop/libtgvoip/commit/6e82b6e45664c1f80b9039256c99bebc76d34672.patch"; + sha256 = "0m87ixja70vnm80a9z4gxk0yl7n64y59smczxb88lxnj6kdgih7x"; + revert = true; + }) + ]; + outputs = [ "out" "dev" ]; nativeBuildInputs = [ pkg-config autoreconfHook ]; diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix index 8bc82547eeb..81b910117f1 100644 --- a/pkgs/tools/misc/bat/default.nix +++ b/pkgs/tools/misc/bat/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , nixosTests , rustPlatform , fetchFromGitHub @@ -12,16 +13,15 @@ rustPlatform.buildRustPackage rec { pname = "bat"; - version = "0.18.1"; + version = "0.18.2"; src = fetchFromGitHub { owner = "sharkdp"; repo = pname; rev = "v${version}"; - sha256 = "sha256-kyl+clL/4uxVaDH/9zPDGQTir4/JVgtHo9kNQ31gXTo="; + sha256 = "sha256-Y8CmVOIDPQ9kpggOlKnxLV0oOyNRow0r/nvxNpCtYNU="; }; - - cargoSha256 = "sha256-j9HbOXiwN4CWv9wMBrNxY3jehh+KRkXlwmDqChNy1Dk="; + cargoSha256 = "sha256-MdfBldImyW8QV0P3zPrYT2Vi9zChvXePI2T8tRsrlcQ="; nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ]; @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' installManPage $releaseDir/build/bat-*/out/assets/manual/bat.1 - installShellCompletion $releaseDir/build/bat-*/out/assets/completions/bat.{fish,zsh} + installShellCompletion $releaseDir/build/bat-*/out/assets/completions/bat.{bash,fish,zsh} ''; # Insert Nix-built `less` into PATH because the system-provided one may be too old to behave as