;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
("par2cmdline" ,par2cmdline)
("python-pexpect" ,python2-pexpect)
("python-fasteners" ,python2-fasteners)
+ ("tzdata" ,tzdata-for-tests)
("mock" ,python2-mock)))
(propagated-inputs
`(("lockfile" ,python2-lockfile)
`(("librsync" ,librsync-0.9)
("lftp" ,lftp)
("gnupg" ,gnupg) ; gpg executable needed
- ("util-linux" ,util-linux) ; for setsid
- ("tzdata" ,tzdata)))
+ ("util-linux" ,util-linux))) ; for setsid
(arguments
`(#:python ,python-2 ; setup assumes Python 2
#:test-target "test"
@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")
- (version "2.3.20")
+ (version "2.3.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/burp/burp-" version
"/burp-" version ".tar.bz2"))
(sha256
(base32
- "0dm2y76z7pg17kfv6ahmh4mf2r3pg7mlwd69lvmjwssnd9vs1nn5"))))
+ "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'extend-test-time-outs
+ ;; The defaults are far too low for busy boxes & spinning storage.
+ (lambda _
+ (substitute* (find-files "utest" "\\.c$")
+ (("(tcase_set_timeout\\(tc_core,)[ 0-9]*(\\);.*)$" _ prefix suffix)
+ (string-append prefix " 3600" suffix "\n")))
+ #t)))))
(inputs
`(("librsync" ,librsync)
("openssl" ,openssl)