1{ buildPythonPackage, lib, fetchFromGitHub, isPy27, nixosTests
2, alembic
3, aniso8601
4, Babel
5, blinker
6, click
7, dnspython
8, email_validator
9, flask
10, flask-babel
11, flask-cors
12, flask_mail
13, flask_migrate
14, flask-restful
15, flask_script
16, flask_sqlalchemy
17, flask_wtf
18, idna
19, itsdangerous
20, jinja2
21, Mako
22, markupsafe
23, mock
24, python-dateutil
25, pytz
26, six
27, sqlalchemy
28, werkzeug
29, wtforms
30, psycopg2 # optional, for postgresql support
31, flask_testing
32}:
33
34buildPythonPackage rec {
35 pname = "ihatemoney";
36 version = "4.1";
37
38 src = fetchFromGitHub {
39 owner = "spiral-project";
40 repo = pname;
41 rev = version;
42 sha256 = "1ai7v2i2rvswzv21nwyq51fvp8lr2x2cl3n34p11br06kc1pcmin";
43 };
44
45 propagatedBuildInputs = [
46 alembic
47 aniso8601
48 Babel
49 blinker
50 click
51 dnspython
52 email_validator
53 flask
54 flask-babel
55 flask-cors
56 flask_mail
57 flask_migrate
58 flask-restful
59 flask_script
60 flask_sqlalchemy
61 flask_wtf
62 idna
63 itsdangerous
64 jinja2
65 Mako
66 markupsafe
67 python-dateutil
68 pytz
69 six
70 sqlalchemy
71 werkzeug
72 wtforms
73 psycopg2
74 ];
75
76 checkInputs = [
77 flask_testing
78 ] ++ lib.optionals isPy27 [ mock ];
79
80 passthru.tests = {
81 inherit (nixosTests) ihatemoney;
82 };
83 meta = with lib; {
84 homepage = "https://ihatemoney.org";
85 description = "A simple shared budget manager web application";
86 platforms = platforms.linux;
87 license = licenses.beerware;
88 maintainers = [ maintainers.symphorien ];
89 };
90}
91
92