1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 rustPlatform, 7 pytestCheckHook, 8 libiconv, 9}: 10 11buildPythonPackage rec { 12 pname = "biliass"; 13 version = "2.2.2"; 14 pyproject = true; 15 16 src = fetchFromGitHub { 17 owner = "yutto-dev"; 18 repo = "yutto"; 19 tag = "biliass@${version}"; 20 hash = "sha256-IQokpJbUhR8FMCJcxPSDD1X1o+Lb2j1G7d/jFEsR/Eg="; 21 }; 22 23 sourceRoot = "${src.name}/packages/biliass"; 24 cargoRoot = "rust"; 25 26 cargoDeps = rustPlatform.fetchCargoVendor { 27 inherit 28 pname 29 version 30 src 31 sourceRoot 32 cargoRoot 33 ; 34 hash = "sha256-tkHl6z0En+od//fCGJXK/p8Dz5KDOXltHrXhxHmHL6U="; 35 }; 36 37 nativeBuildInputs = with rustPlatform; [ 38 cargoSetupHook 39 maturinBuildHook 40 ]; 41 42 buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ 43 libiconv 44 ]; 45 46 doCheck = false; # test artifacts missing 47 48 nativeCheckInputs = [ pytestCheckHook ]; 49 50 pythonImportsCheck = [ "biliass" ]; 51 52 meta = with lib; { 53 homepage = "https://github.com/yutto-dev/biliass"; 54 description = "Convert Bilibili XML/protobuf danmaku to ASS subtitle"; 55 mainProgram = "biliass"; 56 license = licenses.gpl3Only; 57 maintainers = with maintainers; [ linsui ]; 58 }; 59}