159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
76 lines
1.8 KiB
Nix
76 lines
1.8 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchFromGitHub
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "syncall";
|
|
version = "1.8.5";
|
|
format = "pyproject";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "bergercookie";
|
|
repo = "syncall";
|
|
rev = "v${version}";
|
|
hash = "sha256-f9WVZ1gpVG0wvIqoAkeaYBE4QsGXSqrYS4KyHy6S+0Q=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail 'loguru = "^0.5.3"' 'loguru = "^0.7"' \
|
|
--replace-fail 'PyYAML = "~5.3.1"' 'PyYAML = "^6.0"' \
|
|
--replace-fail 'bidict = "^0.21.2"' 'bidict = "^0.23"' \
|
|
--replace-fail 'typing = "^3.7.4"' '''
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
python3.pkgs.poetry-core
|
|
python3.pkgs.poetry-dynamic-versioning
|
|
];
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
bidict
|
|
bubop
|
|
click
|
|
item-synchronizer
|
|
loguru
|
|
python-dateutil
|
|
pyyaml
|
|
rfc3339
|
|
typing
|
|
|
|
# asana optional-dep
|
|
asana
|
|
# caldav optional-dep
|
|
caldav
|
|
icalendar
|
|
# fs optional-dep
|
|
xattr
|
|
# gkeep optional-dep
|
|
# gkeepapi is unavailable in nixpkgs
|
|
# google optional-dep
|
|
google-api-python-client
|
|
google-auth-oauthlib
|
|
# notion optional-dep
|
|
# FIXME: notion-client -- broken, doesn't build.
|
|
# taskwarrior optional-dep
|
|
taskw-ng
|
|
];
|
|
|
|
postInstall = ''
|
|
# We do not support gkeep
|
|
rm $out/bin/tw_gkeep_sync
|
|
'';
|
|
|
|
pythonImportsCheck = [ "syncall" ];
|
|
|
|
meta = with lib; {
|
|
description = "Bi-directional synchronization between services such as Taskwarrior, Google Calendar, Notion, Asana, and more";
|
|
homepage = "https://github.com/bergercookie/syncall";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ raitobezarius ];
|
|
# Upstream issue making it practically unusable:
|
|
# https://github.com/bergercookie/syncall/issues/99
|
|
broken = true;
|
|
};
|
|
}
|