Unverified Commit 9b1c6cc9 authored by Sandro Jäckel's avatar Sandro Jäckel
Browse files

odoo: 20220506 -> 20230317

parent 0fc009e2
Loading
Loading
Loading
Loading
+36 −59
Original line number Diff line number Diff line
{ stdenv
, lib
, fetchFromGitHub
, fetchurl
, python39
, python310
, nodePackages
, wkhtmltopdf
, nixosTests
}:

let
  python = python39.override {
  python = python310.override {
    packageOverrides = self: super: {
      click = super.click.overridePythonAttrs (old: rec {
        version = "7.1.2";
        src = old.src.override {
          inherit version;
          sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
      pypdf2 = super.pypdf2.overridePythonAttrs (old: rec {
        version = "1.28.6";
        format = "setuptools";

        src = fetchFromGitHub {
          owner = "py-pdf";
          repo = "pypdf";
          rev = version;
          fetchSubmodules = true;
          hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4=";
        };

        nativeBuildInputs = [];

        nativeCheckInputs = with self; [ pytestCheckHook pillow ];
      });
      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";
        version = "2.1.3";
        src = old.src.override {
          inherit version;
          sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
          hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
        };
      });
      werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
        version = "1.0.1";
        version = "2.1.2";
        src = old.src.override {
          inherit version;
          sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
          hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
        };
        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";

  odoo_release = "20230317";
in python.pkgs.buildPythonApplication rec {
  pname = "odoo";
  version = "${odoo_version}.${odoo_release}";

  format = "setuptools";
@@ -84,13 +56,20 @@ in python.pkgs.buildPythonApplication rec {
  src = fetchurl {
    url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.tar.gz";
    name = "${pname}-${version}";
    sha256 = "0mwlmfz5nhvg483ldrmlrjhwaf284c0c0pxf0fb0sfx2dnjjj3ib"; # odoo
    hash = "sha256-nJEFPtZhq7DLLDCL9xt0RV75d/a45o6hBKsUlQAWh1U="; # odoo
  };

  unpackPhase = ''
    tar xfz $src
    cd odoo*
  '';

  # needs some investigation
  doCheck = false;

  makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
  makeWrapperArgs = [
    "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}"
  ];

  propagatedBuildInputs = with python.pkgs; [
    babel
@@ -101,7 +80,6 @@ in python.pkgs.buildPythonApplication rec {
    freezegun
    gevent
    greenlet
    html2text
    idna
    jinja2
    libsass
@@ -127,6 +105,7 @@ in python.pkgs.buildPythonApplication rec {
    qrcode
    reportlab
    requests
    setuptools
    vobject
    werkzeug
    xlrd
@@ -135,10 +114,8 @@ in python.pkgs.buildPythonApplication rec {
    zeep
  ];

  unpackPhase = ''
    tar xfz $src
    cd odoo*
  '';
  # takes 5+ minutes and there are not files to strip
  dontStrip = true;

  passthru = {
    updateScript = ./update.sh;
+1 −1
Original line number Diff line number Diff line
@@ -22,6 +22,6 @@ fi

cd "$(dirname "${BASH_SOURCE[0]}")"

sed -ri "s| sha256.+ # odoo| sha256 = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
sed -ri "s| hash.+ # odoo| hash = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
sed -ri "s| odoo_version.+| odoo_version = \"$VERSION\";|" default.nix
sed -ri "s| odoo_release.+| odoo_release = \"$RELEASE\";|" default.nix