diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix new file mode 100644 index 000000000000..aee699e85346 --- /dev/null +++ b/pkgs/applications/finance/odoo/default.nix @@ -0,0 +1,103 @@ +{ stdenv +, lib +, fetchurl +, python3 +, python3Packages +, wkhtmltopdf +}: + +with python3Packages; + +/* + +TODO: + For languages with right-to-left interface (such as Arabic or Hebrew), the package rtlcss is needed: + $ sudo npm install -g rtlcss + +*/ + +buildPythonApplication rec { + pname = "odoo"; + + major = "15"; + minor = "0"; + patch = "20211029"; + + version = "${major}.${minor}.${patch}"; + + # latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile + src = fetchurl { + url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz"; + name = "${pname}-${version}"; + sha256 = "sha256-/E+bLBbiz7fRyTwP+0AMpqbuRkOpE4B4P6kREIB4m1Q="; + }; + + nativeBuildInputs = [ + setuptools + wheel + mock + ]; + + buildInputs = [ + wkhtmltopdf + ]; + + # needs some investigation + doCheck = false; + + makeWrapperArgs = [ "--prefix" "PATH" ":" "${wkhtmltopdf}/bin" ]; + + propagatedBuildInputs = [ + Babel + chardet + decorator + docutils + ebaysdk + freezegun + gevent + greenlet + html2text + idna + jinja2 + libsass + lxml + markupsafe + num2words + ofxparse + passlib + pillow + polib + psutil + psycopg2 + pydot + pyopenssl + pypdf2 + pyserial + python-dateutil + ldap + python-stdnum + pytz + pyusb + qrcode + reportlab + requests + vobject + werkzeug1 + xlrd + XlsxWriter + xlwt + zeep + ]; + + unpackPhase = '' + tar xfz $src + cd odoo* + ''; + + meta = with lib; { + description = "Open Source ERP and CRM"; + homepage = "https://www.odoo.com/"; + license = licenses.lgpl3Only; + maintainers = [ maintainers.mkg20001 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0eeb9511920f..a5545301bed8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3378,6 +3378,8 @@ with pkgs; obinskit = callPackage ../applications/misc/obinskit {}; + odoo = callPackage ../applications/finance/odoo {}; + odafileconverter = libsForQt5.callPackage ../applications/graphics/odafileconverter {}; ossutil = callPackage ../tools/admin/ossutil {};