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