summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/mezzanine/default.nix
blob: 1c3ba200b8bb0c33519f0a52d54a176da2fd3238 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{
  lib,
  beautifulsoup4,
  bleach,
  buildPythonPackage,
  chardet,
  django,
  django-contrib-comments,
  fetchFromGitHub,
  filebrowser-safe,
  grappelli-safe,
  isPyPy,
  pillow,
  pytestCheckHook,
  pytest-cov-stub,
  pytest-django,
  pytz,
  requests,
  requests-oauthlib,
  requirements-parser,
  setuptools,
  tzlocal,
}:

buildPythonPackage rec {
  pname = "mezzanine";
  version = "6.1.1";
  format = "setuptools";

  disabled = isPyPy;

  src = fetchFromGitHub {
    owner = "stephenmcd";
    repo = "mezzanine";
    tag = "v${version}";
    hash = "sha256-TdGWlquS4hsnxIM0bhbWR7C0X4wyUcqC+YrBDSShRhg=";
  };

  patches = [
    # drop git requirement from tests and fake stable branch
    ./tests-no-git.patch
  ];

  build-system = [ setuptools ];

  dependencies = [
    beautifulsoup4
    bleach
    chardet
    django
    django-contrib-comments
    filebrowser-safe
    grappelli-safe
    pillow
    pytz
    requests
    requests-oauthlib
    tzlocal
  ]
  ++ bleach.optional-dependencies.css;

  nativeCheckInputs = [
    pytest-django
    pytest-cov-stub
    pytestCheckHook
    requirements-parser
  ];

  meta = {
    # not updated to django 5.x
    broken = lib.versionAtLeast django.version "5";
    description = "Content management platform built using the Django framework";
    mainProgram = "mezzanine-project";
    longDescription = ''
      Mezzanine is a powerful, consistent, and flexible content
      management platform. Built using the Django framework, Mezzanine
      provides a simple yet highly extensible architecture that
      encourages diving in and hacking on the code. Mezzanine is BSD
      licensed and supported by a diverse and active community.

      In some ways, Mezzanine resembles tools such as Wordpress that
      provide an intuitive interface for managing pages, blog posts,
      form data, store products, and other types of content. But
      Mezzanine is also different.  Unlike many other platforms that
      make extensive use of modules or reusable applications,
      Mezzanine provides most of its functionality by default. This
      approach yields a more integrated and efficient platform.
    '';
    homepage = "http://mezzanine.jupo.org/";
    downloadPage = "https://github.com/stephenmcd/mezzanine/releases";
    license = lib.licenses.bsd2;
    maintainers = with lib.maintainers; [ prikhi ];
    platforms = lib.platforms.unix;
  };
}