Unverified Commit bdc19e99 authored by Jonas Chevalier's avatar Jonas Chevalier Committed by GitHub
Browse files

Merge pull request #255361 from RaitoBezarius/syncall

syncall: init at 1.5.1
parents 11f50406 f535df51
Loading
Loading
Loading
Loading
+73 −0
Original line number Diff line number Diff line
{ 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 ];
  };
}
+52 −0
Original line number Diff line number Diff line
{ 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 ];
  };
}
+43 −0
Original line number Diff line number Diff line
{ 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 ];
  };
}
+56 −0
Original line number Diff line number Diff line
{ 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 ];
  };
}
+6 −0
Original line number Diff line number Diff line
@@ -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 { };