1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 anyascii,
11 beautifulsoup4,
12 django,
13 django-filter,
14 django-modelcluster,
15 django-taggit,
16 django-tasks,
17 django-treebeard,
18 djangorestframework,
19 draftjs-exporter,
20 laces,
21 openpyxl,
22 permissionedforms,
23 pillow,
24 requests,
25 telepath,
26 willow,
27
28 # tests
29 callPackage,
30}:
31
32buildPythonPackage rec {
33 pname = "wagtail";
34 version = "6.4.1";
35 pyproject = true;
36
37 src = fetchFromGitHub {
38 owner = "wagtail";
39 repo = "wagtail";
40 tag = "v${version}";
41 hash = "sha256-2qixbJK3f+3SBnsfVEcObFJmuBvE2J9o3LIkILZQRLQ=";
42 };
43
44 build-system = [
45 setuptools
46 ];
47
48 dependencies = [
49 anyascii
50 beautifulsoup4
51 django
52 django-filter
53 django-modelcluster
54 django-taggit
55 django-tasks
56 django-treebeard
57 djangorestframework
58 draftjs-exporter
59 laces
60 openpyxl
61 permissionedforms
62 pillow
63 requests
64 telepath
65 willow
66 ] ++ willow.optional-dependencies.heif;
67
68 # Tests are in separate derivation because they require a package that depends
69 # on wagtail (wagtail-factories)
70 doCheck = false;
71
72 passthru.tests.wagtail = callPackage ./tests.nix { };
73
74 pythonImportsCheck = [ "wagtail" ];
75
76 meta = {
77 description = "Django content management system focused on flexibility and user experience";
78 mainProgram = "wagtail";
79 homepage = "https://github.com/wagtail/wagtail";
80 changelog = "https://github.com/wagtail/wagtail/blob/v${version}/CHANGELOG.txt";
81 license = lib.licenses.bsd3;
82 maintainers = with lib.maintainers; [ sephi ];
83 };
84}