1{
2 lib,
3 rustPlatform,
4 fetchFromSourcehut,
5 pkg-config,
6 sqlite,
7 installShellFiles,
8 makeWrapper,
9 versionCheckHook,
10 nix-update-script,
11}:
12
13rustPlatform.buildRustPackage (finalAttrs: {
14 pname = "pimsync";
15 version = "0.4.3";
16
17 src = fetchFromSourcehut {
18 owner = "~whynothugo";
19 repo = "pimsync";
20 rev = "v${finalAttrs.version}";
21 hash = "sha256-VPrEY3aJKhn96oaehJ8MrrUj0XoSOMWC7APbnw6OrsQ=";
22 };
23
24 cargoHash = "sha256-m5tg50C6DMFuBrCW9sxYfeRRZv6Sncp8X40fzaKEsi0=";
25
26 PIMSYNC_VERSION = finalAttrs.version;
27
28 nativeBuildInputs = [
29 pkg-config
30 makeWrapper
31 installShellFiles
32 ];
33
34 buildInputs = [
35 sqlite
36 ];
37
38 postInstall = ''
39 installManPage pimsync.1 pimsync.conf.5 pimsync-migration.7
40 '';
41
42 nativeInstallCheckInputs = [
43 versionCheckHook
44 ];
45 versionCheckProgramArg = "version";
46 doInstallCheck = true;
47
48 passthru.updateScript = nix-update-script { };
49
50 meta = {
51 description = "Synchronise calendars and contacts";
52 homepage = "https://git.sr.ht/~whynothugo/pimsync";
53 license = lib.licenses.eupl12;
54 platforms = lib.platforms.unix;
55 maintainers = [ lib.maintainers.qxrein ];
56 mainProgram = "pimsync";
57 };
58})