{ lib, fetchFromGitHub, fetchpatch, python3, }: python3.pkgs.buildPythonApplication rec { pname = "ffsubsync"; version = "0.4.25"; pyproject = true; src = fetchFromGitHub { owner = "smacke"; repo = "ffsubsync"; rev = "refs/tags/${version}"; hash = "sha256-ZdKZeKfAUe/FXLOur9Btb5RgXewmy3EHunQphqlxpIc="; }; patches = [ # updates for python 3.12 (not currently included in a release) (fetchpatch { url = "https://github.com/smacke/ffsubsync/commit/de75bdbfe846b3376f8c0bcfe2e5e5db82d7ff20.patch"; hash = "sha256-JN7F9H9G8HK2aLOlm/Ec+GsWnU+65f1P658nq8FbAjo="; }) ]; nativeBuildInputs = with python3.pkgs; [ setuptools ]; propagatedBuildInputs = with python3.pkgs; [ auditok charset-normalizer faust-cchardet ffmpeg-python future numpy pkgs.ffmpeg pysubs2 chardet rich setuptools six srt tqdm typing-extensions webrtcvad ]; nativeCheckInputs = with python3.pkgs; [ pytestCheckHook ]; pythonImportsCheck = [ "ffsubsync" ]; meta = with lib; { homepage = "https://github.com/smacke/ffsubsync"; description = "Automagically synchronize subtitles with video"; license = licenses.mit; maintainers = [ ]; mainProgram = "ffsubsync"; }; }