Subject: [PATCH] Add ZBackup
From: Nicolas Goaziou <[email-masked]>
To: [email-masked]
Date: Fri, 10 Apr 2020 15:01:56 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

The following patch adds zbackup.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou
From 1591f91035de7e2c036ff7a608a729b4420ffa74 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <[email-masked]>
Date: Fri, 10 Apr 2020 14:58:47 +0200
Subject: [PATCH] gnu: Add zbackup.

* gnu/packages/backup.scm (zbackup): New variable.
---
 gnu/packages/backup.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 4d24dff0a3..40dfce7094 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2019 Alex Vong <[email-masked]>
 ;;; Copyright © 2019 Marius Bakke <[email-masked]>
+;;; Copyright © 2020 Nicolas Goaziou <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -976,6 +977,42 @@ precious backup space.
 @end itemize")
     (license license:bsd-2)))
 
+(define-public zbackup
+  (package
+    (name "zbackup")
+    (version "1.4.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/zbackup/zbackup.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "14l1kyxg7pccpax3d6qcpmdycb70kn3fxp1a59w64hqy2493hngl"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ;no test
+    (inputs
+     `(("lzo" ,lzo)
+       ("libressl" ,libressl)
+       ("protobuf" ,protobuf)
+       ("xz" ,xz)
+       ("zlib" ,zlib)))
+    (home-page "http://zbackup.org")
+    (synopsis "Versatile deduplicating backup tool")
+    (description
+     "ZBackup is a globally-deduplicating backup tool, based on the
+ideas found in Rsync.  Feed a large @file{.tar} into it, and it will
+store duplicate regions of it only once, then compress and optionally
+encrypt the result.  Feed another @file{.tar} file, and it will also
+re-use any data found in any previous backups.  This way only new
+changes are stored, and as long as the files are not very different,
+the amount of storage required is very low.  Any of the backup files
+stored previously can be read back in full at any time.  The program
+is format-agnostic, so you can feed virtually any files to it.")
+    (license license:gpl2+)))
+
 (define-public burp
   (package
     (name "burp")
-- 
2.26.0