1{ stdenv
2, buildPythonApplication
3, fetchPypi
4, pythonOlder
5, mock
6, lxml
7, relatorio
8, genshi
9, dateutil
10, polib
11, python-sql
12, werkzeug
13, wrapt
14, passlib
15, bcrypt
16, pydot
17, python-Levenshtein
18, simplejson
19, html2text
20, psycopg2
21, withPostgresql ? true
22}:
23
24with stdenv.lib;
25
26buildPythonApplication rec {
27 pname = "trytond";
28 version = "5.6.5";
29 disabled = pythonOlder "3.5";
30
31 src = fetchPypi {
32 inherit pname version;
33 sha256 = "a373d73b141d71f8e30d728dd8380955bc0f33daaa097201fa9a952e3663e6d8";
34 };
35
36 # Tells the tests which database to use
37 DB_NAME = ":memory:";
38
39 buildInputs = [
40 mock
41 ];
42 propagatedBuildInputs = [
43 lxml
44 relatorio
45 genshi
46 dateutil
47 polib
48 python-sql
49 werkzeug
50 wrapt
51 passlib
52
53 # extra dependencies
54 bcrypt
55 pydot
56 python-Levenshtein
57 simplejson
58 html2text
59 ] ++ stdenv.lib.optional withPostgresql psycopg2;
60
61 # If unset, trytond will try to mkdir /homeless-shelter
62 preCheck = ''
63 export HOME=$(mktemp -d)
64 '';
65
66 meta = {
67 description = "The server of the Tryton application platform";
68 longDescription = ''
69 The server for Tryton, a three-tier high-level general purpose
70 application platform under the license GPL-3 written in Python and using
71 PostgreSQL as database engine.
72
73 It is the core base of a complete business solution providing
74 modularity, scalability and security.
75 '';
76 homepage = "http://www.tryton.org/";
77 license = licenses.gpl3Plus;
78 maintainers = with maintainers; [ udono johbo ];
79 };
80}