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