From 48e3f445a00167fec2f31ba892cfa2209a87f21d Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 13 Nov 2022 17:41:09 +0100 Subject: ... --- overlays/etesync-dav/default.nix | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 overlays/etesync-dav/default.nix (limited to 'overlays/etesync-dav/default.nix') diff --git a/overlays/etesync-dav/default.nix b/overlays/etesync-dav/default.nix new file mode 100644 index 00000000..bf3b71c7 --- /dev/null +++ b/overlays/etesync-dav/default.nix @@ -0,0 +1,77 @@ +{ final, prev, sources, ... }: { + etesync-dav = let + python = final.python3.override { + packageOverrides = self: super: { + flask-wtf = super.flask-wtf.overridePythonAttrs (old: rec { + patches = []; + version = "0.15.1"; + src = old.src.override { + inherit version; + sha256 = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc"; + }; + doCheck = false; + }); + # 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 + # ''; + # }); + etebase = super.etebase.overridePythonAttrs (old: rec { + inherit (sources.etebase-py) version src; + + cargoDeps = final.rustPlatform.importCargoLock { + lockFile = ./Cargo.lock; + + outputHashes = { + "flapigen-0.6.0-pre8" = "sha256-8KBhVgHn+UtrEtBQJEVTrx+h4IqhKTn9Csx6yBAV0RQ="; + }; + }; + + postUnpack = '' + cp -v ${./Cargo.lock} source/Cargo.lock + ''; + + # cargoDeps = final.rustPlatform.fetchCargoTarball { + # inherit src; + # name = "${old.pname}-${version}"; + # hash = "sha256-K3w72eyBUy0mJ/FFCIN188M+XEIEK3HUZZyI8liLDis="; + # }; + }); + }; + }; + in python.pkgs.buildPythonApplication rec { + pname = "etesync-dav"; + version = "0.32.1"; + + src = python.pkgs.fetchPypi { + inherit pname version; + hash = "sha256-pOLug5MnVdKaw5wedABewomID9LU0hZPCf4kZKKU1yA="; + }; + + propagatedBuildInputs = with python.pkgs; [ + appdirs + etebase + etesync + flask + flask-wtf + msgpack + pysocks + (python.pkgs.toPythonModule (final.radicale3.override { python3 = python; })) + requests + ] ++ requests.optional-dependencies.socks; + + doCheck = false; + + meta = with final.lib; { + homepage = "https://www.etesync.com/"; + description = "Secure, end-to-end encrypted, and privacy respecting sync for contacts, calendars and tasks"; + license = licenses.gpl3; + broken = final.stdenv.isDarwin; # pyobjc-framework-Cocoa is missing + }; + }; +} -- cgit v1.2.3