summary refs log tree commit diff
path: root/pkgs/development/python-modules/jinja2/default.nix
blob: 1fb7b26db5b3bfbe0cf1fe95ea4d6ed7e3ee81c6 (plain) (blame)
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
{ lib
, stdenv
, buildPythonPackage
, pythonOlder
, fetchPypi
, babel
, markupsafe
, pytestCheckHook
, sphinxHook
, pallets-sphinx-themes
, sphinxcontrib-log-cabinet
, sphinx-issues
, enableDocumentation ? false
}:

buildPythonPackage rec {
  pname = "Jinja2";
  version = "3.1.2";
  outputs = [ "out" ] ++ lib.optional enableDocumentation "doc";

  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-MTUacCpAip51laj8YVD8P0O7a/fjGXcMvA2535Q36FI=";
  };

  patches = lib.optionals enableDocumentation [ ./patches/import-order.patch ];

  propagatedBuildInputs = [
    babel
    markupsafe
  ];

  nativeBuildInputs = lib.optionals enableDocumentation [
    sphinxHook
    sphinxcontrib-log-cabinet
    pallets-sphinx-themes
    sphinx-issues
  ];

  # Multiple tests run out of stack space on 32bit systems with python2.
  # See https://github.com/pallets/jinja/issues/1158
  doCheck = !stdenv.is32bit;

  nativeCheckInputs = [
    pytestCheckHook
  ];

  pytestFlagsArray = [
    # Avoid failure due to deprecation warning
    # Fixed in https://github.com/python/cpython/pull/28153
    # Remove after cpython 3.9.8
    "-p no:warnings"
  ];

  meta = with lib; {
    homepage = "https://jinja.palletsprojects.com/";
    description = "Stand-alone template engine";
    license = licenses.bsd3;
    longDescription = ''
      Jinja is a fast, expressive, extensible templating engine. Special
      placeholders in the template allow writing code similar to Python
      syntax. Then the template is passed data to render the final document.
      an optional sandboxed environment.
    '';
    maintainers = with maintainers; [ pierron ];
  };
}