zfs_unstable: 2.3.0-rc3 -> 2.3.0-rc4 (#365045)
[NixPkgs.git] / pkgs / applications / networking / sync / casync / default.nix
blob3e8fa37f5d4b3c13b092ef4be492de075128617e
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   meson,
6   ninja,
7   pkg-config,
8   python3,
9   sphinx,
10   acl,
11   curl,
12   fuse,
13   libselinux,
14   udev,
15   xz,
16   zstd,
17   fuseSupport ? true,
18   selinuxSupport ? true,
19   udevSupport ? true,
20   glibcLocales,
21   rsync,
24 stdenv.mkDerivation {
25   pname = "casync";
26   version = "2-226-gbd8898e";
28   src = fetchFromGitHub {
29     owner = "systemd";
30     repo = "casync";
31     rev = "bd8898ed92685e12022dd33a04c87786b5262344";
32     sha256 = "04ibglizjzyd7ih13q6m7ic78n0mzw9nfmb3zd1fcm9j62qlq11i";
33   };
35   buildInputs =
36     [
37       acl
38       curl
39       xz
40       zstd
41     ]
42     ++ lib.optionals (fuseSupport) [ fuse ]
43     ++ lib.optionals (selinuxSupport) [ libselinux ]
44     ++ lib.optionals (udevSupport) [ udev ];
45   nativeBuildInputs = [
46     meson
47     ninja
48     pkg-config
49     python3
50     sphinx
51   ];
52   nativeCheckInputs = [
53     glibcLocales
54     rsync
55   ];
57   postPatch = ''
58     for f in test/test-*.sh.in; do
59       patchShebangs $f
60     done
61     patchShebangs test/http-server.py
62   '';
64   PKG_CONFIG_UDEV_UDEVDIR = "lib/udev";
65   mesonFlags =
66     lib.optionals (!fuseSupport) [ "-Dfuse=false" ]
67     ++ lib.optionals (!udevSupport) [ "-Dudev=false" ]
68     ++ lib.optionals (!selinuxSupport) [ "-Dselinux=false" ];
70   doCheck = true;
71   preCheck = ''
72     export LC_ALL="en_US.utf-8"
73   '';
75   meta = with lib; {
76     description = "Content-Addressable Data Synchronizer";
77     mainProgram = "casync";
78     homepage = "https://github.com/systemd/casync";
79     license = licenses.lgpl21Plus;
80     platforms = platforms.linux;
81     maintainers = with maintainers; [ flokli ];
82   };