diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 447c89dbc73..83c9cb3e6a9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2738,6 +2738,11 @@ github = "lo1tuma"; name = "Mathias Schreck"; }; + loewenheim = { + email = "loewenheim@mailbox.org"; + github = "loewenheim"; + name = "Sebastian Zivota"; + }; lopsided98 = { email = "benwolsieffer@gmail.com"; github = "lopsided98"; diff --git a/pkgs/tools/misc/vdirsyncer/stable.nix b/pkgs/tools/misc/vdirsyncer/stable.nix new file mode 100644 index 00000000000..ac950894035 --- /dev/null +++ b/pkgs/tools/misc/vdirsyncer/stable.nix @@ -0,0 +1,52 @@ +{ lib, python3Packages, fetchpatch }: + +# Packaging documentation at: +# https://github.com/pimutils/vdirsyncer/blob/0.16.7/docs/packaging.rst +python3Packages.buildPythonApplication rec { + version = "0.16.7"; + pname = "vdirsyncer"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "6c9bcfb9bcb01246c83ba6f8551cf54c58af3323210755485fc23bb7848512ef"; + }; + + propagatedBuildInputs = with python3Packages; [ + click click-log click-threading + requests_toolbelt + requests + requests_oauthlib # required for google oauth sync + atomicwrites + ]; + + nativeBuildInputs = with python3Packages; [ setuptools_scm ]; + + checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ]; + + patches = [ + # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779 + (fetchpatch { + url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch; + sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl"; + }) + ]; + + postPatch = '' + # Invalid argument: 'perform_health_check' is not a valid setting + substituteInPlace tests/conftest.py \ + --replace "perform_health_check=False" "" + substituteInPlace tests/unit/test_repair.py \ + --replace $'@settings(perform_health_check=False) # Using the random module for UIDs\n' "" + ''; + + checkPhase = '' + make DETERMINISTIC_TESTS=true test + ''; + + meta = with lib; { + homepage = https://github.com/pimutils/vdirsyncer; + description = "Synchronize calendars and contacts"; + license = licenses.mit; + maintainers = with maintainers; [ loewenheim ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f0d5603d4f..388cb23a5fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20063,6 +20063,8 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; + vdirsyncerStable = callPackage ../tools/misc/vdirsyncer/stable.nix { }; + vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; verbiste = callPackage ../applications/misc/verbiste {