summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2014-05-27 10:04:42 -0500
committerEric Bavier <bavier@member.fsf.org>2014-05-27 10:05:33 -0500
commitd1a5439bcbb1da781e08a69a630722af626263d2 (patch)
tree33fc9523dc7f59e906689816d51187b4ddc7f242 /gnu
parent5a1a4bf6b2cc2a7652d0c9199b22af6297b78f7e (diff)
gnu: Add duplicity.
* gnu/packages/backup.scm: New file. * gnu-system.am: Add it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/backup.scm71
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
new file mode 100644
index 00000000000..574bb11816f
--- /dev/null
+++ b/gnu/packages/backup.scm
@@ -0,0 +1,71 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages backup)
20 #:use-module (guix packages)
21 #:use-module (guix licenses)
22 #:use-module (guix download)
23 #:use-module (guix build-system python)
24 #:use-module (gnu packages)
25 #:use-module (gnu packages python)
26 #:use-module (gnu packages gnupg)
27 #:use-module (gnu packages rsync)
28 #:use-module (srfi srfi-1))
29
30(define-public duplicity
31 (package
32 (name "duplicity")
33 (version "0.6.24")
34 (source
35 (origin
36 (method url-fetch)
37 (uri (string-append "https://code.launchpad.net/duplicity/"
38 (string-join (take (string-split version #\.) 2) ".")
39 "-series/" version "/+download/duplicity-"
40 version ".tar.gz"))
41 (sha256
42 (base32
43 "0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))))
44 (build-system python-build-system)
45 (native-inputs
46 `(("python2-setuptools" ,python2-setuptools)))
47 (inputs
48 `(("python" ,python-2)
49 ("librsync" ,librsync)
50 ("mock" ,python2-mock) ;for testing
51 ("lockfile" ,python2-lockfile)
52 ("gnupg" ,gnupg-1))) ;gpg executable needed
53 (arguments
54 `(#:python ,python-2 ;setup assumes Python 2
55 #:test-target "test"
56 #:phases (alist-cons-before
57 'check 'patch-tests
58 (lambda _
59 (substitute* "testing/functional/__init__.py"
60 (("/bin/sh") (which "sh"))))
61 %standard-phases)))
62 (home-page "http://duplicity.nongnu.org/index.html")
63 (synopsis "Encrypted backup using rsync algorithm")
64 (description
65 "Duplicity backs up directories by producing encrypted tar-format volumes
66and uploading them to a remote or local file server. Because duplicity uses
67librsync, the incremental archives are space efficient and only record the
68parts of files that have changed since the last backup. Because duplicity
69uses GnuPG to encrypt and/or sign these archives, they will be safe from
70spying and/or modification by the server.")
71 (license gpl2+)))