diff options
Diffstat (limited to 'pkgs/by-name/su/substudy/package.nix')
-rw-r--r-- | pkgs/by-name/su/substudy/package.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/by-name/su/substudy/package.nix b/pkgs/by-name/su/substudy/package.nix new file mode 100644 index 0000000000000..55d368fb37494 --- /dev/null +++ b/pkgs/by-name/su/substudy/package.nix @@ -0,0 +1,52 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + + ffmpeg, + makeWrapper, +}: + +rustPlatform.buildRustPackage rec { + pname = "substudy"; + version = "0.6.10"; + + src = fetchFromGitHub { + owner = "emk"; + repo = "subtitles-rs"; + rev = "${pname}_v${version}"; + hash = "sha256-ACYbSQKaOJ2hS8NbOAppfKo+Mk3CKg0OAwb56AH42Zs="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "async-openai-0.19.1" = "sha256-UrWSZW3LxMZfinmQAjouhqTrhVhHkjgz9EzrZxR0qG4="; + }; + }; + + nativeBuildInputs = [ makeWrapper ]; + + nativeCheckInputs = [ ffmpeg ]; + + cargoBuildFlags = [ "-p substudy" ]; + + preCheck = '' + # That's to make sure the `test_ai_request_static` + # test has access to the cache at `$HOME/.cache` + export HOME=$(mktemp -d) + ''; + + postFixup = '' + wrapProgram "$out/bin/substudy" \ + --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} + ''; + + meta = with lib; { + description = "Learn foreign languages using audio and subtitles extracted from video files"; + homepage = "http://www.randomhacks.net/substudy"; + license = licenses.asl20; + mainProgram = "substudy"; + maintainers = with maintainers; [ paveloom ]; + }; +} |