Files
nixpkgs/pkgs/by-name/pi/pimsync/package.nix
2026-07-18 07:13:04 +00:00

73 lines
1.5 KiB
Nix

{
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";
};
})