{ lib, rustPlatform, fetchFromGitHub, installShellFiles, stdenv }: rustPlatform.buildRustPackage rec { pname = "ab-av1"; version = "0.7.19"; src = fetchFromGitHub { owner = "alexheretic"; repo = "ab-av1"; rev = "v${version}"; hash = "sha256-5gDPbljvy5Kp3s+oo5LkI0rUR2zSVK2wDh4k2HrsLFc="; }; cargoHash = "sha256-MIZGAlcBeQ03ScleOcM0WxgQEfjpFbRq1dK1/PjZbCQ="; nativeBuildInputs = [ installShellFiles ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd ab-av1 \ --bash <($out/bin/ab-av1 print-completions bash) \ --fish <($out/bin/ab-av1 print-completions fish) \ --zsh <($out/bin/ab-av1 print-completions zsh) ''; meta = with lib; { description = "AV1 re-encoding using ffmpeg, svt-av1 & vmaf"; homepage = "https://github.com/alexheretic/ab-av1"; changelog = "https://github.com/alexheretic/ab-av1/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = [ ]; mainProgram = "ab-av1"; }; }