nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchzip,
4 python312,
5 rtlcss,
6 wkhtmltopdf,
7 nixosTests,
8}:
9
10let
11 odoo_version = "18.0";
12 odoo_release = "20250506";
13 python = python312.override {
14 self = python;
15 };
16in
17python.pkgs.buildPythonApplication rec {
18 pname = "odoo";
19 version = "${odoo_version}.${odoo_release}";
20
21 format = "setuptools";
22
23 src = fetchzip {
24 # find latest version on https://nightly.odoo.com/${odoo_version}/nightly/src
25 url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.zip";
26 name = "odoo-${version}";
27 hash = "sha256-rNG0He+51DnRT5g1SovGZ9uiE1HWXtcmAybcadBMjY4="; # odoo
28 };
29
30 makeWrapperArgs = [
31 "--prefix"
32 "PATH"
33 ":"
34 "${lib.makeBinPath [
35 wkhtmltopdf
36 rtlcss
37 ]}"
38 ];
39
40 propagatedBuildInputs = with python.pkgs; [
41 babel
42 chardet
43 cryptography
44 decorator
45 docutils
46 distutils
47 ebaysdk
48 freezegun
49 geoip2
50 gevent
51 greenlet
52 idna
53 jinja2
54 libsass
55 lxml
56 lxml-html-clean
57 markupsafe
58 num2words
59 ofxparse
60 passlib
61 pillow
62 polib
63 psutil
64 psycopg2
65 pydot
66 pyopenssl
67 pypdf2
68 pyserial
69 python-dateutil
70 python-ldap
71 python-stdnum
72 pytz
73 pyusb
74 qrcode
75 reportlab
76 requests
77 rjsmin
78 urllib3
79 vobject
80 werkzeug
81 xlrd
82 xlsxwriter
83 xlwt
84 zeep
85
86 setuptools
87 mock
88 ];
89
90 # takes 5+ minutes and there are not files to strip
91 dontStrip = true;
92
93 passthru = {
94 updateScript = ./update.sh;
95 tests = {
96 inherit (nixosTests) odoo;
97 };
98 };
99
100 meta = {
101 description = "Open Source ERP and CRM";
102 homepage = "https://www.odoo.com/";
103 license = lib.licenses.lgpl3Only;
104 maintainers = with lib.maintainers; [
105 mkg20001
106 siriobalmelli
107 ];
108 };
109}