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 "lxml"
42 "pillow"
43 "pypdf"
44 ];
45
46 doCheck = false; # test artifacts are not public
47
48 pythonImportsCheck = [ "comicon" ];
49
50 passthru.updateScript = nix-update-script { };
51
52 meta = {
53 changelog = "https://github.com/potatoeggy/comicon/releases/tag/v${version}";
54 description = "Lightweight comic converter library between CBZ, PDF, and EPUB";
55 homepage = "https://github.com/potatoeggy/comicon";
56 license = lib.licenses.agpl3Only;
57 maintainers = with lib.maintainers; [ Scrumplex ];
58 };
59}