Commit d9e8d5d8 authored by Cody Hiar's avatar Cody Hiar
Browse files

etesync-dav: fix broken dependancies

Related #206852

This was failing due to newer versions of Flask requiring newer versions
of werkzeug. I referenced:

https://github.com/etesync/etesync-dav/blob/master/requirements.txt

to downgrade flake and use the current wtforms. The issue with using
flask-wtf==0.15.1 and wtforms==3.0.1 is there are tests in flask-wtf
that reference import paths that are removed in wtforms 3.0.0:

https://github.com/wtforms/flask-wtf/blob/v0.15.1/tests/test_form.py#L5

So I've just skipped the tests that failed. Once everything compiled I
tried running the binary which complained:

ModuleNotFoundError: No module named 'pkg_resources'

So I added setuptools to the propagatedBuildInputs. After I was able to
render the page at http://localhost:37358/.web/add/
parent 5eb61396
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -7,6 +7,13 @@
let
  python = python3.override {
    packageOverrides = self: super: {
      flask = super.flask.overridePythonAttrs (old: rec {
        version = "2.0.3";
        src = old.src.override {
          inherit version;
          sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
        };
      });
      flask-wtf = super.flask-wtf.overridePythonAttrs (old: rec {
        version = "0.15.1";
        src = old.src.override {
@@ -16,6 +23,11 @@ let
        disabledTests = [
          "test_outside_request"
        ];
        disabledTestPaths = [
          "tests/test_form.py"
          "tests/test_html5.py"
        ];
        patches = [ ];
      });
      werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
        version = "2.0.3";
@@ -24,16 +36,6 @@ let
          sha256 = "b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c";
        };
      });
      wtforms = super.wtforms.overridePythonAttrs (old: rec {
        version = "2.3.3";
        src = old.src.override {
          inherit version;
          sha256 = "81195de0ac94fbc8368abbaf9197b88c4f3ffd6c2719b5bf5fc9da744f3d829c";
        };
        checkPhase = ''
          ${self.python.interpreter} tests/runtests.py
        '';
      });
    };
  };
in python.pkgs.buildPythonApplication rec {
@@ -52,6 +54,7 @@ in python.pkgs.buildPythonApplication rec {
    flask
    flask-wtf
    msgpack
    setuptools
    (python.pkgs.toPythonModule (radicale3.override { python3 = python; }))
    requests
  ] ++ requests.optional-dependencies.socks;