;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; 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>
+;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;;
;;; 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 dbm)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages ftp)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages mcrypt)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages onc-rpc)
#: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)
(define-public duplicity
(package
(name "duplicity")
- (version "0.7.19")
+ (version "0.8.15")
(source
(origin
(method url-fetch)
"-series/" version "/+download/duplicity-"
version ".tar.gz"))
(sha256
- (base32 "0ag9dknslxlasslwfjhqgcqbkb1mvzzx93ry7lch2lfzcdd91am6"))))
+ (base32 "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc"))))
(build-system python-build-system)
(native-inputs
- `(("util-linux" ,util-linux) ; setsid command, for the tests
+ `(("gettext" ,gnu-gettext) ; for msgfmt
+ ("util-linux" ,util-linux) ; setsid command, for the tests
("par2cmdline" ,par2cmdline)
- ("python-pexpect" ,python2-pexpect)
- ("python-fasteners" ,python2-fasteners)
- ("mock" ,python2-mock)))
+ ("python-fasteners" ,python-fasteners)
+ ("python-future" ,python-future) ; for tests
+ ("python-pexpect" ,python-pexpect)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ("tzdata" ,tzdata-for-tests)
+ ("mock" ,python-mock)))
(propagated-inputs
- `(("lockfile" ,python2-lockfile)
- ("urllib3" ,python2-urllib3)))
+ `(("lockfile" ,python-lockfile)
+ ("urllib3" ,python-urllib3)))
(inputs
- `(("librsync" ,librsync-0.9)
+ `(("librsync" ,librsync)
("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"
+ `(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'build 'use-store-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "duplicity/gpginterface.py"
- (("self.call = 'gpg'")
+ (("self.call = u'gpg'")
(string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
(substitute* '("testing/functional/__init__.py"
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Parchive/par2cmdline.git")
+ (url "https://github.com/Parchive/par2cmdline")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/miekg/rdup.git")
+ (url "https://github.com/miekg/rdup")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public rdiff-backup
(package
(name "rdiff-backup")
- (version "1.2.8")
+ (version "2.0.5")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://savannah/rdiff-backup/rdiff-backup-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/rdiff-backup/rdiff-backup/releases/"
+ "download/v" version "/rdiff-backup-" version ".tar.gz"))
(sha256
- (base32
- "1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
+ (base32 "11rvjcp77zwgkphz1kyf5yqgr3rlss7dm9xzmvpvc4lp99xq7drb"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
(inputs
- `(("python" ,python-2)
- ("librsync" ,librsync-0.9)))
+ `(("python" ,python)
+ ("librsync" ,librsync)))
(arguments
- `(#:python ,python-2
- #:tests? #f))
- (home-page "https://www.nongnu.org/rdiff-backup/")
+ `(#:tests? #f)) ; Tests require root/sudo
+ (home-page "https://rdiff-backup.net/")
(synopsis "Local/remote mirroring+incremental backup")
(description
"Rdiff-backup backs up one directory to another, possibly over a network.
(define-public borg
(package
(name "borg")
- (version "1.1.11")
+ (version "1.1.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
- (base32
- "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
+ (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
(modules '((guix build utils)))
(snippet
'(begin
;; These tests assume the kernel supports FUSE.
"and not test_fuse "
"and not test_fuse_allow_damaged_files "
- "and not test_mount_hardlinks")))))
+ "and not test_mount_hardlinks "
+ "and not test_readonly_mount ")))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(define-public wimlib
(package
(name "wimlib")
- (version "1.13.1")
+ (version "1.13.2")
(source (origin
(method url-fetch)
(uri (string-append "https://wimlib.net/downloads/"
"wimlib-" version ".tar.gz"))
(sha256
(base32
- "0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27"))))
+ "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@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")
+ (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 dump
+ (package
+ (name "dump")
+ (version "0.4b46")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/dump/dump/"
+ version "/dump-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ `("--sysconfdir=/etc"
+ "--disable-readline"
+ "--disable-rmt")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl-1.0)
+ ("zlib" ,zlib)
+ ("util-linux" ,util-linux "lib")
+ ("e2fsprogs" ,e2fsprogs)))
+ (home-page "https://dump.sourceforge.io/")
+ (synopsis "Ext2/3/4 file system dump/restore utilities")
+ (description "Dump examines files in a file system, determines which ones
+need to be backed up, and copies those files to a specified disk, tape or
+other storage medium. Subsequent incremental backups can then be layered on
+top of the full backup. The restore command performs the inverse function of
+dump; it can restore a full backup of a file system. Single files and
+directory subtrees may also be restored from full or partial backups in
+interactive mode.")
+ (license license:bsd-3)))
+
(define-public burp
(package
(name "burp")
- (version "2.3.24")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/burp/burp-" version
- "/burp-" version ".tar.bz2"))
- (sha256
- (base32
- "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w"))))
+ (version "2.3.34")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/grke/burp")
+ (commit version)))
+ (sha256
+ (base32 "0ri62xshcjrk5vgyx8s11vsllab132mk1pcy4xxl9kzijdsjhdpy"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases
(string-append prefix " 3600" suffix "\n")))
#t)))))
(inputs
- `(("librsync" ,librsync)
+ `(("acl" ,acl)
+ ("librsync" ,librsync)
+ ("ncurses" ,ncurses) ; for the live status monitor
("openssl" ,openssl)
("uthash" ,uthash)
("zlib" ,zlib)))
(native-inputs
- `(("check" ,check)
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("check" ,check)
("pkg-config" ,pkg-config)))
(home-page "https://burp.grke.org")
(synopsis "Differential backup and restore")