Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchPypi, 6 pythonOlder, 7 setuptools, 8 defusedxml, 9 lxml, 10 relatorio, 11 genshi, 12 python-dateutil, 13 polib, 14 python-sql, 15 werkzeug, 16 passlib, 17 pydot, 18 levenshtein, 19 html2text, 20 weasyprint, 21 gevent, 22 pillow, 23 withPostgresql ? true, 24 psycopg2, 25 unittestCheckHook, 26}: 27 28buildPythonPackage rec { 29 pname = "trytond"; 30 version = "7.2.6"; 31 pyproject = true; 32 33 disabled = pythonOlder "3.7"; 34 35 src = fetchPypi { 36 inherit pname version; 37 hash = "sha256-Vz1bYIwhvH8SHZnmv9ZuaoOnNe378gtIWK2UQDBQxas="; 38 }; 39 40 build-system = [ setuptools ]; 41 42 dependencies = 43 [ 44 defusedxml 45 lxml 46 relatorio 47 genshi 48 python-dateutil 49 polib 50 python-sql 51 werkzeug 52 passlib 53 54 # extra dependencies 55 pydot 56 levenshtein 57 html2text 58 weasyprint 59 gevent 60 pillow 61 ] 62 ++ relatorio.optional-dependencies.fodt 63 ++ passlib.optional-dependencies.bcrypt 64 ++ passlib.optional-dependencies.argon2 65 ++ lib.optional withPostgresql psycopg2; 66 67 nativeCheckInputs = [ unittestCheckHook ]; 68 69 preCheck = '' 70 export HOME=$(mktemp -d) 71 export TRYTOND_DATABASE_URI="sqlite://" 72 export DB_NAME=":memory:"; 73 ''; 74 75 unittestFlagsArray = [ 76 "-s" 77 "trytond.tests" 78 ]; 79 80 meta = with lib; { 81 description = "Server of the Tryton application platform"; 82 longDescription = '' 83 The server for Tryton, a three-tier high-level general purpose 84 application platform under the license GPL-3 written in Python and using 85 PostgreSQL as database engine. 86 87 It is the core base of a complete business solution providing 88 modularity, scalability and security. 89 ''; 90 homepage = "http://www.tryton.org/"; 91 changelog = "https://foss.heptapod.net/tryton/tryton/-/blob/trytond-${version}/trytond/CHANGELOG?ref_type=tags"; 92 license = licenses.gpl3Plus; 93 broken = stdenv.isDarwin; 94 maintainers = with maintainers; [ 95 udono 96 johbo 97 ]; 98 }; 99}