1{
2 buildPythonPackage,
3 ebooklib,
4 fetchFromGitHub,
5 lib,
6 lxml,
7 nix-update-script,
8 pillow,
9 poetry-core,
10 pypdf,
11 python-slugify,
12 pythonOlder,
13}:
14
15buildPythonPackage rec {
16 pname = "comicon";
17 version = "1.5.0";
18 pyproject = true;
19 disabled = pythonOlder "3.10";
20
21 src = fetchFromGitHub {
22 owner = "potatoeggy";
23 repo = "comicon";
24 tag = "v${version}";
25 hash = "sha256-E5Jmk/dQcEuH7kq5RL80smHUuL/Sw0F1wk4V1/4sKSQ=";
26 };
27
28 build-system = [
29 poetry-core
30 ];
31
32 dependencies = [
33 ebooklib
34 lxml
35 pillow
36 pypdf
37 python-slugify
38 ];
39
40 pythonRelaxDeps = [
41 "ebooklib"
42 "lxml"
43 "pillow"
44 "pypdf"
45 ];
46
47 doCheck = false; # test artifacts are not public
48
49 pythonImportsCheck = [ "comicon" ];
50
51 passthru.updateScript = nix-update-script { };
52
53 meta = {
54 changelog = "https://github.com/potatoeggy/comicon/releases/tag/v${version}";
55 description = "Lightweight comic converter library between CBZ, PDF, and EPUB";
56 homepage = "https://github.com/potatoeggy/comicon";
57 license = lib.licenses.agpl3Only;
58 maintainers = with lib.maintainers; [ Scrumplex ];
59 };
60}