aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/backup.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-31 15:25:49 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-31 15:25:49 +0200
commitb0e3635e0a4fbc605ecbcf2afc76f3111a1afe42 (patch)
treebd15a3942b6d707ac858b50d515a9e260e1f04b0 /gnu/packages/backup.scm
parent10ace2c49eb68b55f8ef0d79d8a408798d99c207 (diff)
downloadpatches-b0e3635e0a4fbc605ecbcf2afc76f3111a1afe42.tar
patches-b0e3635e0a4fbc605ecbcf2afc76f3111a1afe42.tar.gz
gnu: Move libarchive to (gnu packages backup).
* gnu/packages/compression.scm (libarchive): Move to... * gnu/packages/backup.scm (libarchive): ... here. Import (guix licenses) with #:renamer to avoid conflicting 'zlib' bindings.
Diffstat (limited to 'gnu/packages/backup.scm')
-rw-r--r--gnu/packages/backup.scm68
1 files changed, 62 insertions, 6 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 4cbeec5b3b..069baa88da 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -18,7 +18,8 @@
(define-module (gnu packages backup)
#:use-module (guix packages)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses)
+ #:renamer (symbol-prefix-proc 'license:))
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -35,6 +36,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rsync)
#:use-module (gnu packages ssh)
+ #:use-module (gnu packages xml)
#:use-module (srfi srfi-1))
(define-public duplicity
@@ -78,7 +80,7 @@ librsync, the incremental archives are space efficient and only record the
parts of files that have changed since the last backup. Because duplicity
uses GnuPG to encrypt and/or sign these archives, they will be safe from
spying and/or modification by the server.")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public hdup
(package
@@ -112,7 +114,61 @@ spying and/or modification by the server.")
backup scheduling is done by means of a cron job. It supports an
include/exclude mechanism, remote backups, encrypted backups and split
backups (called chunks) to allow easy burning to CD/DVD.")
- (license gpl2)))
+ (license license:gpl2)))
+
+(define-public libarchive
+ (package
+ (name "libarchive")
+ (version "3.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://libarchive.org/downloads/libarchive-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("zlib" ,zlib)
+ ("nettle" ,nettle)
+ ("lzo" ,lzo)
+ ("bzip2" ,bzip2)
+ ("libxml2" ,libxml2)
+ ("xz" ,xz)))
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'build 'patch-pwd
+ (lambda _
+ (substitute* "Makefile"
+ (("/bin/pwd") (which "pwd"))))
+ (alist-replace
+ 'check
+ (lambda _
+ ;; XXX: The test_owner_parse, test_read_disk, and
+ ;; test_write_disk_lookup tests expect user 'root' to exist, but
+ ;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
+ ;;
+ ;; The tests allow one to disable tests matching a globbing pattern.
+ (and (zero? (system* "make"
+ "libarchive_test" "bsdcpio_test" "bsdtar_test"))
+ ;; XXX: This glob disables too much.
+ (zero? (system* "./libarchive_test" "^test_*_disk*"))
+ (zero? (system* "./bsdcpio_test" "^test_owner_parse"))
+ (zero? (system* "./bsdtar_test"))))
+ %standard-phases))))
+ (home-page "http://libarchive.org/")
+ (synopsis "Multi-format archive and compression library")
+ (description
+ "Libarchive provides a flexible interface for reading and writing
+archives in various formats such as tar and cpio. Libarchive also supports
+reading and writing archives compressed using various compression filters such
+as gzip and bzip2. The library is inherently stream-oriented; readers
+serially iterate through the archive, writers serially add things to the
+archive. In particular, note that there is currently no built-in support for
+random access nor for in-place modification.")
+ (license license:bsd-2)))
(define-public rdup
(package
@@ -151,7 +207,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
Rdup itself does not backup anything, it only print a list of absolute
filenames to standard output. Auxiliary scripts are needed that act on this
list and implement the backup strategy.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public btar
(package
@@ -183,7 +239,7 @@ list and implement the backup strategy.")
ciphering, redundancy, differential backup, indexed extraction, multicore
compression, input and output serialisation, and tolerance to partial archive
errors.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public rdiff-backup
(package
@@ -220,4 +276,4 @@ rdiff-backup can operate in a bandwidth efficient manner over a pipe, like
rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
to a remote location, and only the differences will be transmitted. Finally,
rdiff-backup is easy to use and settings have sensical defaults.")
- (license gpl2+)))
+ (license license:gpl2+)))