{ lib, rustPlatform, fetchFromSourcehut, pkg-config, sqlite, installShellFiles, makeWrapper, xandikos, cacert, versionCheckHook, nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "pimsync"; version = "0.5.11"; src = fetchFromSourcehut { owner = "~whynothugo"; repo = "pimsync"; rev = "v${finalAttrs.version}"; hash = "sha256-iMdBqSSguViF+54e47IGV8hH3qvTxcNkWkmND1QAAxw="; }; cargoHash = "sha256-dvkZ047eJnvYvyH1iW1NJo3Uv0L2T7waPYKN12bi+dA="; env.PIMSYNC_VERSION = finalAttrs.version; nativeBuildInputs = [ pkg-config makeWrapper installShellFiles ]; buildInputs = [ sqlite ]; nativeCheckInputs = [ xandikos cacert ]; postInstall = '' installManPage pimsync.1 pimsync.conf.5 pimsync-migration.7 installShellCompletion --zsh contrib/_pimsync ''; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "version"; doInstallCheck = true; passthru.updateScript = nix-update-script { }; meta = { description = "Synchronise calendars and contacts"; homepage = "https://git.sr.ht/~whynothugo/pimsync"; changelog = "https://pimsync.whynothugo.nl/changelog.html#v${ lib.replaceString "." "-" finalAttrs.version }"; license = lib.licenses.eupl12; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.qxrein lib.maintainers.antonmosich ]; mainProgram = "pimsync"; }; })