1{ lib
2, anyascii
3, beautifulsoup4
4, buildPythonPackage
5, callPackage
6, django
7, django-filter
8, django-modelcluster
9, django-taggit
10, django-treebeard
11, djangorestframework
12, draftjs-exporter
13, fetchPypi
14, html5lib
15, l18n
16, openpyxl
17, permissionedforms
18, pillow
19, pythonOlder
20, requests
21, telepath
22, willow
23}:
24
25buildPythonPackage rec {
26 pname = "wagtail";
27 version = "5.1.3";
28 format = "setuptools";
29
30 disabled = pythonOlder "3.7";
31
32 src = fetchPypi {
33 inherit pname version;
34 hash = "sha256-RfrHlOTCDH51sBgGnX+XYfJfqjYZ7zDfJAE8okq/mnQ=";
35 };
36
37 postPatch = ''
38 substituteInPlace setup.py \
39 --replace "beautifulsoup4>=4.8,<4.12" "beautifulsoup4>=4.8" \
40 --replace "draftjs_exporter>=2.1.5,<3.0" "draftjs_exporter>=2.1.5,<6.0"
41 '';
42
43 propagatedBuildInputs = [
44 anyascii
45 beautifulsoup4
46 django
47 django-treebeard
48 django-filter
49 django-modelcluster
50 django-taggit
51 djangorestframework
52 draftjs-exporter
53 html5lib
54 l18n
55 openpyxl
56 permissionedforms
57 pillow
58 requests
59 telepath
60 willow
61 ] ++ willow.optional-dependencies.heif;
62
63 # Tests are in separate derivation because they require a package that depends
64 # on wagtail (wagtail-factories)
65 doCheck = false;
66
67 passthru.tests.wagtail = callPackage ./tests.nix {};
68
69 meta = with lib; {
70 description = "A Django content management system focused on flexibility and user experience";
71 homepage = "https://github.com/wagtail/wagtail";
72 changelog = "https://github.com/wagtail/wagtail/blob/v${version}/CHANGELOG.txt";
73 license = licenses.bsd3;
74 maintainers = with maintainers; [ sephi ];
75 };
76}