Merge pull request #255361 from RaitoBezarius/syncall

syncall: init at 1.5.1
This commit is contained in:
Jonas Chevalier 2024-04-21 12:39:11 +02:00 committed by GitHub
commit bdc19e9916
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 230 additions and 0 deletions

View file

@ -0,0 +1,73 @@
{ 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 ];
};
}

View file

@ -0,0 +1,52 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, loguru
, python-dateutil
, pyyaml
, tqdm
, click
}:
buildPythonPackage rec {
pname = "bubop";
version = "0.1.12";
format = "pyproject";
src = fetchFromGitHub {
owner = "bergercookie";
repo = "bubop";
rev = "v${version}";
hash = "sha256-p4Mv73oX5bsYKby7l0nGon89KyAMIUhDAEKSTNB++Cw=";
};
postPatch = ''
# Those versions seems to work with `bubop`.
substituteInPlace pyproject.toml \
--replace-fail 'loguru = "^0.5.3"' 'loguru = "^0.7"' \
--replace-fail 'PyYAML = "~5.3.1"' 'PyYAML = "^6.0"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
loguru
python-dateutil
pyyaml
tqdm
click
];
pythonImportsCheck = [ "bubop" ];
meta = with lib; {
description = "Bergercookie's Useful Bits Of Python; helper libraries for Bergercookie's programs";
homepage = "https://github.com/bergercookie/bubop";
changelog = "https://github.com/bergercookie/bubop/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ raitobezarius ];
};
}

View file

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, bidict
, bubop
}:
buildPythonPackage rec {
pname = "item-synchronizer";
version = "1.1.5";
format = "pyproject";
src = fetchFromGitHub {
owner = "bergercookie";
repo = "item_synchronizer";
rev = "v${version}";
hash = "sha256-+mviKtCLlJhYV576Q07kcFJvtls5qohKSrqZtBqE/s4=";
};
postPatch = ''
substituteInPlace pyproject.toml --replace-fail 'bidict = "^0.21.4"' 'bidict = "^0.23"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
bidict
bubop
];
pythonImportsCheck = [ "item_synchronizer" ];
meta = with lib; {
description = "";
homepage = "https://github.com/bergercookie/item_synchronizer";
changelog = "https://github.com/bergercookie/item_synchronizer/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ raitobezarius ];
};
}

View file

@ -0,0 +1,56 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, poetry-dynamic-versioning
, kitchen
, packaging
, python-dateutil
, pytz
, taskwarrior
}:
buildPythonPackage rec {
pname = "taskw-ng";
version = "0.2.6";
pyproject = true;
src = fetchFromGitHub {
owner = "bergercookie";
repo = "taskw-ng";
rev = "v${version}";
hash = "sha256-tlidTt0TzWnvfajYiIfvRv7OfakHY6zWAicmAwq/Z8w=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'pytz = "^2023.3.post1"' 'pytz = "*"'
'';
nativeBuildInputs = [
poetry-core
poetry-dynamic-versioning
];
propagatedBuildInputs = [
kitchen
packaging
python-dateutil
pytz
];
checkInputs = [
taskwarrior
];
# TODO: doesn't pass because `can_use` fails and `task --version` seems not to be answering.
# pythonImportsCheck = [ "taskw_ng" ];
meta = with lib; {
description = "";
homepage = "https://github.com/bergercookie/taskw-ng";
changelog = "https://github.com/bergercookie/taskw-ng/blob/${src.rev}/CHANGELOG.rst";
license = licenses.gpl3Only;
maintainers = with maintainers; [ raitobezarius ];
};
}

View file

@ -1782,6 +1782,8 @@ self: super: with self; {
btsocket = callPackage ../development/python-modules/btsocket { };
bubop = callPackage ../development/python-modules/bubop { };
bucketstore = callPackage ../development/python-modules/bucketstore { };
bugsnag = callPackage ../development/python-modules/bugsnag { };
@ -5905,6 +5907,8 @@ self: super: with self; {
itanium-demangler = callPackage ../development/python-modules/itanium-demangler { };
item-synchronizer = callPackage ../development/python-modules/item-synchronizer { };
itemadapter = callPackage ../development/python-modules/itemadapter { };
itemdb = callPackage ../development/python-modules/itemdb { };
@ -14677,6 +14681,8 @@ self: super: with self; {
taskw = callPackage ../development/python-modules/taskw { };
taskw-ng = callPackage ../development/python-modules/taskw-ng { };
tatsu = callPackage ../development/python-modules/tatsu { };
taxi = callPackage ../development/python-modules/taxi { };