1{ lib, stdenv, fetchFromGitHub, fetchpatch
2, cmake, protobufc
3, libunwind, lzo, openssl, protobuf, zlib
4}:
5
6stdenv.mkDerivation rec {
7 pname = "zbackup";
8 version = "1.4.4";
9
10 src = fetchFromGitHub {
11 owner = "zbackup";
12 repo = "zbackup";
13 rev = version;
14 hash = "sha256-9Fk4EhEeQ2J4Kirc7oad4CzmW70Mmza6uozd87qfgZI=";
15 };
16
17 patches = [
18 # compare with https://github.com/zbackup/zbackup/pull/158;
19 # but that doesn't apply cleanly to this version
20 ./protobuf-api-change.patch
21 ];
22
23 # zbackup uses dynamic exception specifications which are not
24 # allowed in C++17
25 env.NIX_CFLAGS_COMPILE = toString [ "--std=c++14" ];
26
27 buildInputs = [ zlib openssl protobuf lzo libunwind ];
28 nativeBuildInputs = [ cmake protobufc ];
29
30 meta = {
31 description = "A versatile deduplicating backup tool";
32 homepage = "http://zbackup.org/";
33 platforms = lib.platforms.linux;
34 license = lib.licenses.gpl2Plus;
35 };
36}