aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/backup.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/backup.scm')
-rw-r--r--gnu/packages/backup.scm45
1 files changed, 32 insertions, 13 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 44435f8cd6..203ff4c9dc 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -172,13 +172,17 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
- (replacement libarchive/fixed)
(version "3.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://libarchive.org/downloads/libarchive-"
version ".tar.gz"))
+ (patches (search-patches
+ "libarchive-7zip-heap-overflow.patch"
+ "libarchive-fix-symlink-check.patch"
+ "libarchive-fix-filesystem-attacks.patch"
+ "libarchive-safe_fprintf-buffer-overflow.patch"))
(sha256
(base32
"1lngng84k1kkljl74q0cdqc3s82vn2kimfm02dgm4d6m7x71mvkj"))))
@@ -228,17 +232,6 @@ 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 libarchive/fixed
- (package
- (inherit libarchive)
- (source (origin
- (inherit (package-source libarchive))
- (patches (search-patches
- "libarchive-7zip-heap-overflow.patch"
- "libarchive-fix-symlink-check.patch"
- "libarchive-fix-filesystem-attacks.patch"
- "libarchive-safe_fprintf-buffer-overflow.patch"))))))
-
(define-public rdup
(package
(name "rdup")
@@ -438,7 +431,27 @@ detection, and lossless compression.")
(setenv "BORG_OPENSSL_PREFIX" openssl)
(setenv "BORG_LZ4_PREFIX" lz4)
(setenv "PYTHON_EGG_CACHE" "/tmp")
+ ;; The test 'test_return_codes[python]' fails when
+ ;; HOME=/homeless-shelter.
+ (setenv "HOME" "/tmp")
#t)))
+ ;; The tests need to be run after Borg is installed.
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda _
+ (zero?
+ (system* "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
+ (string-append
+ ;; These tests need to write to '/var'.
+ "not test_get_cache_dir "
+ "and not test_get_keys_dir "
+ ;; These tests assume there is a root user in
+ ;; '/etc/passwd'.
+ "and not test_access_acl "
+ "and not test_default_acl "
+ "and not test_non_ascii_acl "
+ ;; This test needs the unpackaged pytest-benchmark.
+ "and not benchmark")))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -457,6 +470,9 @@ detection, and lossless compression.")
(native-inputs
`(("python-cython" ,python-cython)
("python-setuptools-scm" ,python-setuptools-scm)
+ ;; Borg 1.0.8's test suite uses 'tmpdir_factory', which was introduced in
+ ;; pytest 2.8.
+ ("python-pytest" ,python-pytest-2.9.2)
;; For generating the documentation.
("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
@@ -490,7 +506,10 @@ to not fully trusted targets. Borg is a fork of Attic.")
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ `(;; The tests assume they are run as root:
+ ;; https://github.com/jborg/attic/issues/7
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
(add-before
'build 'set-openssl-prefix