1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchPypi
5, isPyPy
6
7# propagates
8, markupsafe
9
10# extras: Babel
11, babel
12
13# tests
14, mock
15, pytestCheckHook
16, lingua
17, chameleon
18}:
19
20buildPythonPackage rec {
21 pname = "mako";
22 version = "1.2.4";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchPypi {
27 pname = "Mako";
28 inherit version;
29 hash = "sha256-1go5A9w7sBoYrWqJzb4uTq3GnAvI7x43c7pT1Ew/ejQ=";
30 };
31
32 propagatedBuildInputs = [
33 markupsafe
34 ];
35
36 passthru.optional-dependencies = {
37 babel = [
38 babel
39 ];
40 };
41
42 nativeCheckInputs = [
43 chameleon
44 lingua
45 mock
46 pytestCheckHook
47 ] ++ passthru.optional-dependencies.babel;
48
49 disabledTests = lib.optionals isPyPy [
50 # https://github.com/sqlalchemy/mako/issues/315
51 "test_alternating_file_names"
52 # https://github.com/sqlalchemy/mako/issues/238
53 "test_file_success"
54 "test_stdin_success"
55 # fails on pypy2.7
56 "test_bytestring_passthru"
57 ];
58
59 meta = with lib; {
60 description = "Super-fast templating language";
61 homepage = "https://www.makotemplates.org/";
62 changelog = "https://docs.makotemplates.org/en/latest/changelog.html";
63 license = licenses.mit;
64 platforms = platforms.unix;
65 maintainers = with maintainers; [ domenkozar ];
66 };
67}