Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / finance / odoo / odoo15.nix
bloba3255c4aa101c6d5c21c577eaf334023390d6ad1
1 { stdenv, lib, fetchFromGitHub, fetchzip, python310, rtlcss, wkhtmltopdf
2 , nixosTests }:
4 let
5   python = python310.override {
6     packageOverrides = self: super: {
7       pypdf2 = super.pypdf2.overridePythonAttrs (old: rec {
8         version = "1.28.6";
9         format = "setuptools";
11         src = fetchFromGitHub {
12           owner = "py-pdf";
13           repo = "pypdf";
14           rev = version;
15           fetchSubmodules = true;
16           hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4=";
17         };
19         nativeBuildInputs = [ ];
21         nativeCheckInputs = with self; [ pytestCheckHook pillow ];
22       });
23       flask = super.flask.overridePythonAttrs (old: rec {
24         version = "2.1.3";
25         src = old.src.override {
26           inherit version;
27           hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
28         };
29       });
30       werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
31         version = "2.1.2";
32         src = old.src.override {
33           inherit version;
34           hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
35         };
36       });
37     };
38   };
40   odoo_version = "15.0";
41   odoo_release = "20230816";
42 in python.pkgs.buildPythonApplication rec {
43   pname = "odoo15";
44   version = "${odoo_version}.${odoo_release}";
46   format = "setuptools";
48   # latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
49   src = fetchzip {
50     url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.zip";
51     name = "${pname}-${version}";
52     hash = "sha256-h81JA0o44DVtl/bZ52rGQfg54TigwQcNpcMjQbi0zIQ="; # odoo
53   };
55   # needs some investigation
56   doCheck = false;
58   makeWrapperArgs = [
59     "--prefix"
60     "PATH"
61     ":"
62     "${lib.makeBinPath [ wkhtmltopdf rtlcss ]}"
63   ];
65   propagatedBuildInputs = with python.pkgs; [
66     babel
67     chardet
68     decorator
69     docutils
70     ebaysdk
71     freezegun
72     gevent
73     greenlet
74     idna
75     jinja2
76     libsass
77     lxml
78     markupsafe
79     mock
80     num2words
81     ofxparse
82     passlib
83     pillow
84     polib
85     psutil
86     psycopg2
87     pydot
88     pyopenssl
89     pypdf2
90     pyserial
91     python-dateutil
92     python-ldap
93     python-stdnum
94     pytz
95     pyusb
96     qrcode
97     reportlab
98     requests
99     setuptools
100     vobject
101     werkzeug
102     xlrd
103     xlsxwriter
104     xlwt
105     zeep
106   ];
108   # takes 5+ minutes and there are not files to strip
109   dontStrip = true;
111   passthru = {
112     tests = { inherit (nixosTests) odoo15; };
113   };
115   meta = with lib; {
116     description = "Open Source ERP and CRM";
117     homepage = "https://www.odoo.com/";
118     license = licenses.lgpl3Only;
119     maintainers = with maintainers; [ mkg20001 ];
120   };