btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / pi / piper-phonemize / package.nix
blobb08495cae74c3bc65e17fb3ce85b4e911cca2520
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
6 # build
7 , cmake
8 , pkg-config
10 # runtime
11 , espeak-ng
12 , onnxruntime
15 let
16   espeak-ng' = espeak-ng.overrideAttrs (oldAttrs: {
17     version = "1.52-dev";
18     src = fetchFromGitHub {
19       owner = "rhasspy";
20       repo = "espeak-ng";
21       rev = "0f65aa301e0d6bae5e172cc74197d32a6182200f";
22       hash = "sha256-2V0D3QO+v9OqffpNmwJQd3NIBd/IFeLkjaJ3Y0HHw7E=";
23     };
25     patches = [
26       (fetchpatch {
27         url = "https://github.com/espeak-ng/espeak-ng/commit/497c6217d696c1190c3e8b992ff7b9110eb3bedd.patch";
28         hash = "sha256-KfzqnRyQfz6nuMKnsHoUzb9rn9h/Pg54mupW1Cr+Zx0=";
29       })
30       ./espeak-mbrola.patch
31     ];
32   });
34 stdenv.mkDerivation rec {
35   pname = "piper-phonemize";
36   version = "2023.11.14-4";
38   src = fetchFromGitHub {
39     owner = "rhasspy";
40     repo = "piper-phonemize";
41     rev = "refs/tags/${version}";
42     hash = "sha256-pj1DZUhy3XWGn+wNtxKKDWET9gsfofEB0NZ+EEQz9q0=";
43   };
45   nativeBuildInputs = [
46     cmake
47     pkg-config
48   ];
50   cmakeFlags = [
51     "-DONNXRUNTIME_DIR=${onnxruntime.dev}"
52     "-DESPEAK_NG_DIR=${espeak-ng'}"
53   ];
55   buildInputs = [
56     espeak-ng'
57     onnxruntime
58   ];
60   passthru = {
61     espeak-ng = espeak-ng';
62   };
64   meta = with lib; {
65     description = "C++ library for converting text to phonemes for Piper";
66     homepage = "https://github.com/rhasspy/piper-phonemize";
67     license = licenses.mit;
68     maintainers = with maintainers; [ hexa ];
69   };