From c52a769c7fc38aeebcca9546defd4e6fea5849d1 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Wed, 14 Apr 2021 08:42:41 +0400 Subject: [PATCH] kotatogram-desktop: 1.2 -> 1.4 --- .../telegram/kotatogram-desktop/default.nix | 60 +++++++++++++------ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 43 insertions(+), 19 deletions(-) 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 bfd4f28d0c0..2f6594c1765 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix @@ -1,39 +1,62 @@ -{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja -, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft -, xz, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected -, range-v3 +{ mkDerivation, lib, fetchFromGitHub, callPackage +, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook +, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash +, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 +, tl-expected, hunspell, glibmm +# Transitive dependencies: +, pcre, xorg, util-linux, libselinux, libsepol, epoxy +, at-spi2-core, libXtst, libthai, libdatrie }: with lib; -mkDerivation rec { +let + tg_owt = callPackage ../tdesktop/tg_owt.nix {}; +in mkDerivation rec { pname = "kotatogram-desktop"; - version = "1.2"; + version = "1.4"; src = fetchFromGitHub { owner = "kotatogram"; repo = "kotatogram-desktop"; rev = "k${version}"; - sha256 = "00pdx3cjhrihf7ihhmszcf159jrzn1bcx20vwiiizs5r1qk8l210"; + sha256 = "0nhyjqxrbqiik4sgzplmpgx8msf8rykjiik0c2zr61rjm4fngkb3"; fetchSubmodules = true; }; - nativeBuildInputs = [ pkg-config python3 cmake ninja ]; + postPatch = '' + substituteInPlace Telegram/CMakeLists.txt \ + --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"' + ''; + + # We want to run wrapProgram manually (with additional parameters) + dontWrapGApps = true; + dontWrapQtApps = true; + + nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook ]; buildInputs = [ - qtbase qtimageformats ffmpeg_3 openalSoft xz lz4 xxHash libdbusmenu - zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3 + qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash + ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3 + tl-expected hunspell glibmm + tg_owt + # Transitive dependencies: + pcre xorg.libXdmcp util-linux libselinux libsepol epoxy + at-spi2-core libXtst libthai libdatrie ]; - qtWrapperArgs = [ - "--prefix PATH : ${xdg-utils}/bin" - ]; + cmakeFlags = [ "-DTDESKTOP_API_TEST=ON" ]; - cmakeFlags = [ - "-DTDESKTOP_API_TEST=ON" - "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF" - "-DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF" - ]; + postFixup = '' + # We also use gappsWrapperArgs from wrapGAppsHook. + wrapProgram $out/bin/kotatogram-desktop \ + "''${gappsWrapperArgs[@]}" \ + "''${qtWrapperArgs[@]}" + ''; + + passthru = { + inherit tg_owt; + }; meta = { description = "Kotatogram – experimental Telegram Desktop fork"; @@ -45,6 +68,7 @@ mkDerivation rec { license = licenses.gpl3; platforms = platforms.linux; homepage = "https://kotatogram.github.io"; + changelog = "https://github.com/kotatogram/kotatogram-desktop/releases/tag/k{ver}"; maintainers = with maintainers; [ ilya-fedin ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10a4c799ebe..3cb1ddaa4f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23950,7 +23950,7 @@ in kooha = callPackage ../applications/video/kooha { }; - kotatogram-desktop = libsForQt514.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; + kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; kpt = callPackage ../applications/networking/cluster/kpt { };