summaryrefslogtreecommitdiff
path: root/overlays/etesync-dav/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'overlays/etesync-dav/default.nix')
-rw-r--r--overlays/etesync-dav/default.nix77
1 files changed, 77 insertions, 0 deletions
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 @@
1{ final, prev, sources, ... }: {
2 etesync-dav = let
3 python = final.python3.override {
4 packageOverrides = self: super: {
5 flask-wtf = super.flask-wtf.overridePythonAttrs (old: rec {
6 patches = [];
7 version = "0.15.1";
8 src = old.src.override {
9 inherit version;
10 sha256 = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc";
11 };
12 doCheck = false;
13 });
14 # wtforms = super.wtforms.overridePythonAttrs (old: rec {
15 # version = "2.3.3";
16 # src = old.src.override {
17 # inherit version;
18 # sha256 = "81195de0ac94fbc8368abbaf9197b88c4f3ffd6c2719b5bf5fc9da744f3d829c";
19 # };
20 # checkPhase = ''
21 # ${self.python.interpreter} tests/runtests.py
22 # '';
23 # });
24 etebase = super.etebase.overridePythonAttrs (old: rec {
25 inherit (sources.etebase-py) version src;
26
27 cargoDeps = final.rustPlatform.importCargoLock {
28 lockFile = ./Cargo.lock;
29
30 outputHashes = {
31 "flapigen-0.6.0-pre8" = "sha256-8KBhVgHn+UtrEtBQJEVTrx+h4IqhKTn9Csx6yBAV0RQ=";
32 };
33 };
34
35 postUnpack = ''
36 cp -v ${./Cargo.lock} source/Cargo.lock
37 '';
38
39 # cargoDeps = final.rustPlatform.fetchCargoTarball {
40 # inherit src;
41 # name = "${old.pname}-${version}";
42 # hash = "sha256-K3w72eyBUy0mJ/FFCIN188M+XEIEK3HUZZyI8liLDis=";
43 # };
44 });
45 };
46 };
47 in python.pkgs.buildPythonApplication rec {
48 pname = "etesync-dav";
49 version = "0.32.1";
50
51 src = python.pkgs.fetchPypi {
52 inherit pname version;
53 hash = "sha256-pOLug5MnVdKaw5wedABewomID9LU0hZPCf4kZKKU1yA=";
54 };
55
56 propagatedBuildInputs = with python.pkgs; [
57 appdirs
58 etebase
59 etesync
60 flask
61 flask-wtf
62 msgpack
63 pysocks
64 (python.pkgs.toPythonModule (final.radicale3.override { python3 = python; }))
65 requests
66 ] ++ requests.optional-dependencies.socks;
67
68 doCheck = false;
69
70 meta = with final.lib; {
71 homepage = "https://www.etesync.com/";
72 description = "Secure, end-to-end encrypted, and privacy respecting sync for contacts, calendars and tasks";
73 license = licenses.gpl3;
74 broken = final.stdenv.isDarwin; # pyobjc-framework-Cocoa is missing
75 };
76 };
77}