ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / sy / syncall / package.nix
blob1e6392c9e6d0ce6dd11902816bdc5cb98d59294d
1 { lib
2 , python3
3 , fetchFromGitHub
4 }:
6 python3.pkgs.buildPythonApplication rec {
7   pname = "syncall";
8   version = "1.8.5";
9   format = "pyproject";
11   src = fetchFromGitHub {
12     owner = "bergercookie";
13     repo = "syncall";
14     rev = "v${version}";
15     hash = "sha256-f9WVZ1gpVG0wvIqoAkeaYBE4QsGXSqrYS4KyHy6S+0Q=";
16   };
18   postPatch = ''
19     substituteInPlace pyproject.toml \
20     --replace-fail 'loguru = "^0.5.3"' 'loguru = "^0.7"' \
21     --replace-fail 'PyYAML = "~5.3.1"' 'PyYAML = "^6.0"' \
22     --replace-fail 'bidict = "^0.21.2"' 'bidict = "^0.23"' \
23     --replace-fail 'typing = "^3.7.4"' '''
24   '';
26   nativeBuildInputs = [
27     python3.pkgs.poetry-core
28     python3.pkgs.poetry-dynamic-versioning
29   ];
31   propagatedBuildInputs = with python3.pkgs; [
32     bidict
33     bubop
34     click
35     item-synchronizer
36     loguru
37     python-dateutil
38     pyyaml
39     rfc3339
40     typing
42     # asana optional-dep
43     asana
44     # caldav optional-dep
45     caldav
46     icalendar
47     # fs optional-dep
48     xattr
49     # gkeep optional-dep
50     # gkeepapi is unavailable in nixpkgs
51     # google optional-dep
52     google-api-python-client
53     google-auth-oauthlib
54     # notion optional-dep
55     # FIXME: notion-client -- broken, doesn't build.
56     # taskwarrior optional-dep
57     taskw-ng
58   ];
60   postInstall = ''
61     # We do not support gkeep
62     rm $out/bin/tw_gkeep_sync
63   '';
65   pythonImportsCheck = [ "syncall" ];
67   meta = with lib; {
68     description = "Bi-directional synchronization between services such as Taskwarrior, Google Calendar, Notion, Asana, and more";
69     homepage = "https://github.com/bergercookie/syncall";
70     license = licenses.mit;
71     maintainers = with maintainers; [ raitobezarius ];
72     # Upstream issue making it practically unusable:
73     # https://github.com/bergercookie/syncall/issues/99
74     broken = true;
75   };