1{
2 lib,
3 aiohttp,
4 babel,
5 blinker,
6 buildPythonPackage,
7 docutils,
8 doit,
9 feedparser,
10 fetchPypi,
11 freezegun,
12 ghp-import,
13 hsluv,
14 html5lib,
15 ipykernel,
16 jinja2,
17 lxml,
18 mako,
19 markdown,
20 micawber,
21 mock,
22 natsort,
23 notebook,
24 phpserialize,
25 piexif,
26 pillow,
27 pygal,
28 pygments,
29 pyphen,
30 pyrss2gen,
31 pytestCheckHook,
32 pytest-cov-stub,
33 python-dateutil,
34 pythonOlder,
35 requests,
36 ruamel-yaml,
37 setuptools,
38 toml,
39 typogrify,
40 unidecode,
41 watchdog,
42 yapsy,
43}:
44
45buildPythonPackage rec {
46 pname = "nikola";
47 version = "8.3.3";
48 pyproject = true;
49
50 disabled = pythonOlder "3.8";
51
52 src = fetchPypi {
53 inherit pname version;
54 hash = "sha256-Y219b/wqsk9MJknoaV+LtWBOMJFT6ktgt4b6yuA6scc=";
55 };
56
57 build-system = [ setuptools ];
58
59 dependencies = [
60 aiohttp
61 babel
62 blinker
63 docutils
64 doit
65 feedparser
66 ghp-import
67 hsluv
68 html5lib
69 ipykernel
70 jinja2
71 lxml
72 mako
73 markdown
74 micawber
75 natsort
76 notebook
77 phpserialize
78 piexif
79 pillow
80 pygal
81 pygments
82 pyphen
83 pyrss2gen
84 python-dateutil
85 requests
86 ruamel-yaml
87 toml
88 typogrify
89 unidecode
90 watchdog
91 yapsy
92 ];
93
94 nativeCheckInputs = [
95 freezegun
96 mock
97 pytestCheckHook
98 pytest-cov-stub
99 ];
100
101 disabledTests = [
102 # AssertionError
103 "test_compiling_markdown"
104 "test_write_content_does_not_detroy_text"
105 # Date formatting slightly differs from expectation
106 "test_format_date_long"
107 "test_format_date_timezone"
108 "test_format_date_locale_variants"
109 "test_format_date_locale_variants"
110 ];
111
112 pythonImportsCheck = [ "nikola" ];
113
114 meta = with lib; {
115 description = "Static website and blog generator";
116 homepage = "https://getnikola.com/";
117 changelog = "https://github.com/getnikola/nikola/blob/v${version}/CHANGES.txt";
118 license = licenses.mit;
119 maintainers = with maintainers; [ jluttine ];
120 mainProgram = "nikola";
121 };
122}