1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 nix-update-script,
7
8 # build dependencies
9 poetry-core,
10
11 # dependencies
12 appdirs,
13 babelfish,
14 chardet,
15 click,
16 jsonschema,
17 pysrt,
18 pyyaml,
19
20 # tests
21 pytestCheckHook,
22}:
23
24buildPythonPackage rec {
25 pname = "cleanit";
26 version = "0.4.8";
27 pyproject = true;
28
29 disabled = pythonOlder "3.9";
30
31 src = fetchFromGitHub {
32 owner = "ratoaq2";
33 repo = "cleanit";
34 rev = version;
35 hash = "sha256-z1QAWWm+yg/pRCQfPqGbL0EFFT9UwqIkwhmjUuRHyuk=";
36 };
37
38 build-system = [ poetry-core ];
39
40 dependencies = [
41 appdirs
42 babelfish
43 chardet
44 click
45 jsonschema
46 pysrt
47 pyyaml
48 ];
49
50 nativeCheckInputs = [ pytestCheckHook ];
51
52 pythonImportsCheck = [ "cleanit" ];
53
54 passthru.updateScript = nix-update-script { };
55
56 meta = {
57 description = "Command line tool that helps you to keep your subtitles clean";
58 homepage = "https://github.com/ratoaq2/cleanit";
59 changelog = "https://github.com/ratoaq2/cleanit/releases/tag/${version}";
60 license = lib.licenses.asl20;
61 maintainers = with lib.maintainers; [ eljamm ];
62 mainProgram = "cleanit";
63 };
64}