Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at gcc-offload 120 lines 1.9 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 glibcLocales, 26 pytestCheckHook, 27}: 28 29let 30 langPkgs = [ 31 "ar" 32 "ca" 33 "cs" 34 "de" 35 "en" 36 "es" 37 "fa" 38 "fr" 39 "it" 40 "lb" 41 "nl" 42 "pt" 43 "ru" 44 "sv" 45 "sw" 46 ]; 47in 48buildPythonPackage rec { 49 pname = "gruut"; 50 version = "2.4.0"; 51 pyproject = true; 52 53 src = fetchFromGitHub { 54 owner = "rhasspy"; 55 repo = "gruut"; 56 rev = "refs/tags/v${version}"; 57 hash = "sha256-iwde6elsAbICZ+Rc7CPgcZTOux1hweVZc/gf4K+hP9M="; 58 }; 59 60 pythonRelaxDeps = true; 61 62 build-system = [ setuptools ]; 63 64 dependencies = [ 65 babel 66 dateparser 67 gruut-ipa 68 jsonlines 69 networkx 70 num2words 71 numpy 72 python-crfsuite 73 ] ++ optional-dependencies.en; 74 75 optional-dependencies = 76 { 77 train = [ 78 pydub 79 rapidfuzz 80 ]; 81 } 82 // lib.genAttrs langPkgs (lang: [ 83 (callPackage ./language-pack.nix { 84 inherit 85 lang 86 version 87 src 88 build-system 89 ; 90 }) 91 ]); 92 93 nativeCheckInputs = [ 94 glibcLocales 95 pytestCheckHook 96 ] ++ lib.flatten (lib.attrValues optional-dependencies); 97 98 disabledTests = [ 99 # https://github.com/rhasspy/gruut/issues/25 100 "test_lexicon_external" 101 102 # requires mishkal library 103 "test_fa" 104 "test_ar" 105 ]; 106 107 preCheck = '' 108 export LC_ALL=en_US.utf-8 109 ''; 110 111 pythonImportsCheck = [ "gruut" ]; 112 113 meta = with lib; { 114 description = "Tokenizer, text cleaner, and phonemizer for many human languages"; 115 mainProgram = "gruut"; 116 homepage = "https://github.com/rhasspy/gruut"; 117 license = licenses.mit; 118 maintainers = teams.tts.members; 119 }; 120}