Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at master 1.8 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 callPackage, 5 fetchFromGitHub, 6 7 # build-system 8 setuptools, 9 10 # dependencies 11 babel, 12 dateparser, 13 gruut-ipa, 14 jsonlines, 15 networkx, 16 num2words, 17 numpy, 18 python-crfsuite, 19 20 # optional dependencies 21 pydub, 22 rapidfuzz, 23 24 # checks 25 pytestCheckHook, 26}: 27 28let 29 langPkgs = [ 30 "ar" 31 "ca" 32 "cs" 33 "de" 34 "en" 35 "es" 36 "fa" 37 "fr" 38 "it" 39 "lb" 40 "nl" 41 "pt" 42 "ru" 43 "sv" 44 "sw" 45 ]; 46in 47buildPythonPackage rec { 48 pname = "gruut"; 49 version = "2.4.0"; 50 pyproject = true; 51 52 src = fetchFromGitHub { 53 owner = "rhasspy"; 54 repo = "gruut"; 55 tag = "v${version}"; 56 hash = "sha256-iwde6elsAbICZ+Rc7CPgcZTOux1hweVZc/gf4K+hP9M="; 57 }; 58 59 pythonRelaxDeps = true; 60 61 build-system = [ setuptools ]; 62 63 dependencies = [ 64 babel 65 dateparser 66 gruut-ipa 67 jsonlines 68 networkx 69 num2words 70 numpy 71 python-crfsuite 72 ] 73 ++ optional-dependencies.en; 74 75 optional-dependencies = { 76 train = [ 77 pydub 78 rapidfuzz 79 ]; 80 } 81 // lib.genAttrs langPkgs (lang: [ 82 (callPackage ./language-pack.nix { 83 inherit 84 lang 85 version 86 src 87 build-system 88 ; 89 }) 90 ]); 91 92 nativeCheckInputs = [ 93 pytestCheckHook 94 ] 95 ++ lib.flatten (lib.attrValues optional-dependencies); 96 97 disabledTests = [ 98 # https://github.com/rhasspy/gruut/issues/25 99 "test_lexicon_external" 100 101 # requires mishkal library 102 "test_fa" 103 "test_ar" 104 ]; 105 106 pythonImportsCheck = [ "gruut" ]; 107 108 meta = with lib; { 109 description = "Tokenizer, text cleaner, and phonemizer for many human languages"; 110 mainProgram = "gruut"; 111 homepage = "https://github.com/rhasspy/gruut"; 112 license = licenses.mit; 113 teams = [ teams.tts ]; 114 }; 115}