Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / gruut / default.nix
blob8d18dee9cd8e64587c8b54295de82fc13eb68282
1 { lib
2 , buildPythonPackage
3 , callPackage
4 , fetchFromGitHub
5 , babel
6 , gruut-ipa
7 , dateparser
8 , jsonlines
9 , num2words
10 , python-crfsuite
11 , python
12 , networkx
13 , glibcLocales
14 , pytestCheckHook
17 let
18   langPkgs = [
19     "ar"
20     "cs"
21     "de"
22     "en"
23     "es"
24     "fa"
25     "fr"
26     "it"
27     "lb"
28     "nl"
29     "pt"
30     "ru"
31     "sv"
32     "sw"
33   ];
35 buildPythonPackage rec {
36   pname = "gruut";
37   version = "2.3.4";
38   format = "setuptools";
40   src = fetchFromGitHub {
41     owner = "rhasspy";
42     repo = pname;
43     rev = "refs/tags/v${version}";
44     hash = "sha256-DD7gnvH9T2R6E19+exWE7Si+XEpfh0Iy5FYbycjgzgM=";
45   };
47   postPatch = ''
48     substituteInPlace requirements.txt \
49       --replace "gruut_lang_en~=2.0.0" "gruut_lang_en" \
50       --replace "jsonlines~=1.2.0" "jsonlines" \
51       --replace "networkx>=2.5.0,<3.0.0" "networkx"
52   '';
54   propagatedBuildInputs = [
55     babel
56     gruut-ipa
57     jsonlines
58     num2words
59     python-crfsuite
60     dateparser
61     networkx
62   ] ++ (map (lang: callPackage ./language-pack.nix {
63     inherit lang version format src;
64   }) langPkgs);
66   nativeCheckInputs = [ glibcLocales pytestCheckHook ];
68   disabledTests = [
69     # https://github.com/rhasspy/gruut/issues/25
70     "test_lexicon_external"
72     # requires mishkal library
73     "test_fa"
74     "test_ar"
75     "test_lb"
76   ];
78   preCheck = ''
79     export LC_ALL=en_US.utf-8
80   '';
82   pythonImportsCheck = [
83     "gruut"
84   ];
86   meta = with lib; {
87     description = "A tokenizer, text cleaner, and phonemizer for many human languages";
88     mainProgram = "gruut";
89     homepage = "https://github.com/rhasspy/gruut";
90     license = licenses.mit;
91     maintainers = teams.tts.members;
92   };