1{
2 lib,
3 beautifulsoup4,
4 bleach,
5 buildPythonPackage,
6 chardet,
7 django,
8 django-contrib-comments,
9 fetchFromGitHub,
10 filebrowser-safe,
11 grappelli-safe,
12 isPyPy,
13 pillow,
14 pytestCheckHook,
15 pytest-cov-stub,
16 pytest-django,
17 pythonOlder,
18 pytz,
19 requests,
20 requests-oauthlib,
21 requirements-parser,
22 setuptools,
23 tzlocal,
24}:
25
26buildPythonPackage rec {
27 pname = "mezzanine";
28 version = "6.1.1";
29 format = "setuptools";
30
31 disabled = pythonOlder "3.7" || isPyPy;
32
33 src = fetchFromGitHub {
34 owner = "stephenmcd";
35 repo = "mezzanine";
36 tag = "v${version}";
37 hash = "sha256-TdGWlquS4hsnxIM0bhbWR7C0X4wyUcqC+YrBDSShRhg=";
38 };
39
40 patches = [
41 # drop git requirement from tests and fake stable branch
42 ./tests-no-git.patch
43 ];
44
45 build-system = [ setuptools ];
46
47 dependencies = [
48 beautifulsoup4
49 bleach
50 chardet
51 django
52 django-contrib-comments
53 filebrowser-safe
54 grappelli-safe
55 pillow
56 pytz
57 requests
58 requests-oauthlib
59 tzlocal
60 ]
61 ++ bleach.optional-dependencies.css;
62
63 nativeCheckInputs = [
64 pytest-django
65 pytest-cov-stub
66 pytestCheckHook
67 requirements-parser
68 ];
69
70 meta = with lib; {
71 description = "Content management platform built using the Django framework";
72 mainProgram = "mezzanine-project";
73 longDescription = ''
74 Mezzanine is a powerful, consistent, and flexible content
75 management platform. Built using the Django framework, Mezzanine
76 provides a simple yet highly extensible architecture that
77 encourages diving in and hacking on the code. Mezzanine is BSD
78 licensed and supported by a diverse and active community.
79
80 In some ways, Mezzanine resembles tools such as Wordpress that
81 provide an intuitive interface for managing pages, blog posts,
82 form data, store products, and other types of content. But
83 Mezzanine is also different. Unlike many other platforms that
84 make extensive use of modules or reusable applications,
85 Mezzanine provides most of its functionality by default. This
86 approach yields a more integrated and efficient platform.
87 '';
88 homepage = "http://mezzanine.jupo.org/";
89 downloadPage = "https://github.com/stephenmcd/mezzanine/releases";
90 license = licenses.bsd2;
91 maintainers = with maintainers; [ prikhi ];
92 platforms = platforms.unix;
93 };
94}