blob: 51aa407b04a4a8c0f1d0fdda49e95993a3e622d5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
{ stdenv
, lib
, fetchurl
, python39
, nodePackages
, wkhtmltopdf
, nixosTests
}:
let
python = python39.override {
packageOverrides = self: super: {
click = super.click.overridePythonAttrs (old: rec {
version = "7.1.2";
src = old.src.override {
inherit version;
sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
};
});
flask = super.flask.overridePythonAttrs (old: rec {
version = "1.1.4";
src = old.src.override {
inherit version;
sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196";
};
});
itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec {
version = "1.1.0";
src = old.src.override {
inherit version;
sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19";
};
});
jinja2 = super.jinja2.overridePythonAttrs (old: rec {
version = "2.11.3";
src = old.src.override {
inherit version;
sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
};
});
markupsafe = super.markupsafe.overridePythonAttrs (old: rec {
version = "2.0.1";
src = old.src.override {
inherit version;
sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
};
});
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
version = "1.0.1";
src = old.src.override {
inherit version;
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
};
nativeCheckInputs = old.nativeCheckInputs ++ (with self; [
requests
]);
disabledTests = old.disabledTests ++ [
# ResourceWarning: unclosed file
"test_basic"
"test_date_to_unix"
"test_easteregg"
"test_file_rfc2231_filename_continuations"
"test_find_terminator"
"test_save_to_pathlib_dst"
];
disabledTestPaths = old.disabledTestPaths ++ [
# ResourceWarning: unclosed file
"tests/test_http.py"
];
});
};
};
in python.pkgs.buildPythonApplication rec {
pname = "odoo";
odoo_version = "15.0";
odoo_release = "20220506";
version = "${odoo_version}.${odoo_release}";
format = "setuptools";
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
src = fetchurl {
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.tar.gz";
name = "${pname}-${version}";
sha256 = "0mwlmfz5nhvg483ldrmlrjhwaf284c0c0pxf0fb0sfx2dnjjj3ib"; # odoo
};
# needs some investigation
doCheck = false;
makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
propagatedBuildInputs = with python.pkgs; [
babel
chardet
decorator
docutils
ebaysdk
freezegun
gevent
greenlet
html2text
idna
jinja2
libsass
lxml
markupsafe
mock
num2words
ofxparse
passlib
pillow
polib
psutil
psycopg2
pydot
pyopenssl
pypdf2
pyserial
python-dateutil
python-ldap
python-stdnum
pytz
pyusb
qrcode
reportlab
requests
vobject
werkzeug
xlrd
XlsxWriter
xlwt
zeep
];
unpackPhase = ''
tar xfz $src
cd odoo*
'';
passthru = {
updateScript = ./update.sh;
tests = {
inherit (nixosTests) odoo;
};
};
meta = with lib; {
description = "Open Source ERP and CRM";
homepage = "https://www.odoo.com/";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ mkg20001 ];
};
}
|