1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 # build-system
8 poetry-core,
9
10 # dependencies
11 django,
12
13 # optionals
14 bleach,
15 docutils,
16 markdown,
17 pygments,
18 python-creole,
19 smartypants,
20 textile,
21
22 # tests
23 pytest-django,
24 pytestCheckHook,
25}:
26
27buildPythonPackage rec {
28 pname = "django-markup";
29 version = "1.9.1";
30 pyproject = true;
31
32 disabled = pythonOlder "3.8";
33
34 src = fetchFromGitHub {
35 owner = "bartTC";
36 repo = "django-markup";
37 tag = "v${version}";
38 hash = "sha256-dj5Z36W4Stly203SKWpR/DF+Wf7+ejbZnDCmHNRb3c0=";
39 };
40
41 postPatch = ''
42 sed -i "/--cov/d" pyproject.toml
43 '';
44
45 build-system = [ poetry-core ];
46
47 dependencies = [ django ];
48
49 optional-dependencies = {
50 all_filter_dependencies = [
51 bleach
52 docutils
53 markdown
54 pygments
55 python-creole
56 smartypants
57 textile
58 ];
59 };
60
61 pythonImportsCheck = [ "django_markup" ];
62
63 nativeCheckInputs = [
64 pytest-django
65 pytestCheckHook
66 ] ++ optional-dependencies.all_filter_dependencies;
67
68 disabledTests = [
69 # pygments compat issue
70 "test_rst_with_pygments"
71 ];
72
73 preCheck = ''
74 export DJANGO_SETTINGS_MODULE=django_markup.tests
75 '';
76
77 meta = with lib; {
78 description = "Generic Django application to convert text with specific markup to html";
79 homepage = "https://github.com/bartTC/django-markup";
80 changelog = "https://github.com/bartTC/django-markup/blob/v${version}/CHANGELOG.md";
81 license = licenses.mit;
82 maintainers = with maintainers; [ hexa ];
83 };
84}