From 90d55a091ff3fd20077e997ea9e5832e2994c2e9 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Thu, 27 Apr 2023 10:43:18 +0200 Subject: [PATCH] livecaptions: init at 0.4.0 Signed-off-by: Sefa Eyeoglu --- .../misc/livecaptions/default.nix | 76 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 pkgs/applications/misc/livecaptions/default.nix diff --git a/pkgs/applications/misc/livecaptions/default.nix b/pkgs/applications/misc/livecaptions/default.nix new file mode 100644 index 000000000000..b64b16a416de --- /dev/null +++ b/pkgs/applications/misc/livecaptions/default.nix @@ -0,0 +1,76 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + meson, + ninja, + pkg-config, + cmake, + desktop-file-utils, + wrapGAppsHook4, + onnxruntime, + libadwaita, + libpulseaudio, + xorg, +}: let + aprilAsr = fetchFromGitHub { + name = "april-asr"; + owner = "abb128"; + repo = "april-asr"; + rev = "c2f138c674cad58e2708ecaddc95cc72e7f85549"; + sha256 = "hZe2iss3BGdzeTM5FCp9wp6LaDOjtGJrZS5vB5F6uLg="; + }; + + aprilModel = fetchurl { + name = "aprilv0_en-us.april"; + url = "https://april.sapples.net/aprilv0_en-us.april"; + sha256 = "9aMPiI55d2mxt94UPAXSySoXAsJjtbcdYv0gKM7eVic="; + }; +in + stdenv.mkDerivation rec { + pname = "livecaptions"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "abb128"; + repo = "LiveCaptions"; + rev = "v${version}"; + hash = "sha256-RepuvqNPHRGENupPG5ezadn6f7FxEUYFDi4+DpNanuA="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + cmake + desktop-file-utils # update-desktop-database + wrapGAppsHook4 + ]; + + buildInputs = [ + onnxruntime + libadwaita + libpulseaudio + xorg.libX11 + ]; + + postUnpack = '' + rm -r source/subprojects/april-asr + ln -sf ${aprilAsr} source/subprojects/april-asr + ''; + + preFixup = '' + gappsWrapperArgs+=( + --set APRIL_MODEL_PATH ${aprilModel} + ) + ''; + + meta = with lib; { + description = "Linux Desktop application that provides live captioning"; + homepage = "https://github.com/abb128/LiveCaptions"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [Scrumplex]; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82e27448e190..052345c787bb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1033,6 +1033,8 @@ with pkgs; libredirect = callPackage ../build-support/libredirect { }; + livecaptions = callPackage ../applications/misc/livecaptions { }; + madonctl = callPackage ../applications/misc/madonctl { }; copyDesktopItems = makeSetupHook {