whisper-ctranslate2: support speaker diarization

Includes some drive-by cleanup:
- Use PEP517 build process
- Add missing pre/post hooks in checkPhase

(cherry picked from commit 9a882b2288)
This commit is contained in:
Martin Weinelt 2024-06-08 12:17:14 +02:00 committed by github-actions[bot]
parent 585ced5c83
commit 41917143e6

View File

@ -9,7 +9,7 @@ let
in in
python3.pkgs.buildPythonApplication { python3.pkgs.buildPythonApplication {
inherit pname version; inherit pname version;
format = "setuptools"; pyproject = true;
disabled = python3.pythonOlder "3.6"; disabled = python3.pythonOlder "3.6";
@ -20,25 +20,30 @@ python3.pkgs.buildPythonApplication {
hash = "sha256-39kVo4+ZEyjhWbLjw8acW2vJxa3fbQ/tPgnZH3USsYY="; hash = "sha256-39kVo4+ZEyjhWbLjw8acW2vJxa3fbQ/tPgnZH3USsYY=";
}; };
propagatedBuildInputs = with python3.pkgs; [ build-system = [ python3.pkgs.setuptools ];
numpy
faster-whisper
ctranslate2
tqdm
sounddevice
];
passthru.updateScript = nix-update-script { }; dependencies = with python3.pkgs; [
ctranslate2
faster-whisper
numpy
pyannote-audio
sounddevice
tqdm
];
nativeCheckInputs = with python3.pkgs; [ nativeCheckInputs = with python3.pkgs; [
nose2 nose2
]; ];
checkPhase = '' checkPhase = ''
runHook preCheck
# Note: we are not running the `e2e-tests` because they require downloading models from the internet. # Note: we are not running the `e2e-tests` because they require downloading models from the internet.
${python3.interpreter} -m nose2 -s tests ${python3.interpreter} -m nose2 -s tests
runHook postCheck
''; '';
passthru.updateScript = nix-update-script { };
meta = with lib; { meta = with lib; {
description = "Whisper command line client compatible with original OpenAI client based on CTranslate2"; description = "Whisper command line client compatible with original OpenAI client based on CTranslate2";
homepage = "https://github.com/Softcatala/whisper-ctranslate2"; homepage = "https://github.com/Softcatala/whisper-ctranslate2";