nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchurl,
6 meson,
7 ninja,
8 pkg-config,
9 cmake,
10 desktop-file-utils,
11 wrapGAppsHook4,
12 onnxruntime,
13 libadwaita,
14 libpulseaudio,
15 xorg,
16}: let
17 aprilAsr = fetchFromGitHub {
18 name = "april-asr";
19 owner = "abb128";
20 repo = "april-asr";
21 rev = "c2f138c674cad58e2708ecaddc95cc72e7f85549";
22 hash = "sha256-hZe2iss3BGdzeTM5FCp9wp6LaDOjtGJrZS5vB5F6uLg=";
23 };
24
25 aprilModel = fetchurl {
26 name = "april-english-dev-01110_en.april";
27 url = "https://april.sapples.net/april-english-dev-01110_en.april";
28 hash = "sha256-d+uV0PpPdwijfoaMImUwHubELcsl5jymPuo9nLrbwfM=";
29 };
30in
31 stdenv.mkDerivation rec {
32 pname = "livecaptions";
33 version = "0.4.0";
34
35 src = fetchFromGitHub {
36 owner = "abb128";
37 repo = "LiveCaptions";
38 rev = "v${version}";
39 hash = "sha256-RepuvqNPHRGENupPG5ezadn6f7FxEUYFDi4+DpNanuA=";
40 };
41
42 nativeBuildInputs = [
43 meson
44 ninja
45 pkg-config
46 cmake
47 desktop-file-utils # update-desktop-database
48 wrapGAppsHook4
49 ];
50
51 buildInputs = [
52 onnxruntime
53 libadwaita
54 libpulseaudio
55 xorg.libX11
56 ];
57
58 postUnpack = ''
59 rm -r source/subprojects/april-asr
60 ln -sf ${aprilAsr} source/subprojects/april-asr
61 '';
62
63 preFixup = ''
64 gappsWrapperArgs+=(
65 --set APRIL_MODEL_PATH ${aprilModel}
66 )
67 '';
68
69 meta = with lib; {
70 description = "Linux Desktop application that provides live captioning";
71 homepage = "https://github.com/abb128/LiveCaptions";
72 license = licenses.gpl3Plus;
73 platforms = platforms.linux;
74 maintainers = with maintainers; [Scrumplex];
75 };
76 }