nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, defusedxml
6, lxml
7, relatorio
8, genshi
9, python-dateutil
10, polib
11, python-sql
12, werkzeug
13, wrapt
14, passlib
15, pydot
16, python-Levenshtein
17, html2text
18, weasyprint
19, gevent
20, pillow
21, withPostgresql ? true, psycopg2
22, python
23}:
24
25buildPythonPackage rec {
26 pname = "trytond";
27 version = "6.4.0";
28 format = "setuptools";
29
30 disabled = pythonOlder "3.7";
31
32 src = fetchPypi {
33 inherit pname version;
34 sha256 = "3c04d75c2a779b88b8c7ab6dd252cf4fc51f9546bf42760d10dbd1a17f61b288";
35 };
36
37 propagatedBuildInputs = [
38 defusedxml
39 lxml
40 relatorio
41 genshi
42 python-dateutil
43 polib
44 python-sql
45 werkzeug
46 wrapt
47 passlib
48
49 # extra dependencies
50 pydot
51 python-Levenshtein
52 html2text
53 weasyprint
54 gevent
55 pillow
56 ] ++ relatorio.optional-dependencies.fodt
57 ++ passlib.optional-dependencies.bcrypt
58 ++ passlib.optional-dependencies.argon2
59 ++ lib.optional withPostgresql psycopg2;
60
61 checkPhase = ''
62 runHook preCheck
63
64 export HOME=$(mktemp -d)
65 export TRYTOND_DATABASE_URI="sqlite://"
66 export DB_NAME=":memory:";
67 ${python.interpreter} -m unittest discover -s trytond.tests
68
69 runHook postCheck
70 '';
71
72 meta = with lib; {
73 description = "The server of the Tryton application platform";
74 longDescription = ''
75 The server for Tryton, a three-tier high-level general purpose
76 application platform under the license GPL-3 written in Python and using
77 PostgreSQL as database engine.
78
79 It is the core base of a complete business solution providing
80 modularity, scalability and security.
81 '';
82 homepage = "http://www.tryton.org/";
83 changelog = "https://hg.tryton.org/trytond/file/${version}/CHANGELOG";
84 license = licenses.gpl3Plus;
85 maintainers = with maintainers; [ udono johbo ];
86 };
87}