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}