summary refs log tree commit diff
path: root/gnu/packages/backup.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/backup.scm')
-rw-r--r--gnu/packages/backup.scm78
1 files changed, 57 insertions, 21 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 6f88dae789..8cfe470ec6 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -404,13 +405,13 @@ detection, and lossless compression.")
 (define-public borg
   (package
     (name "borg")
-    (version "1.0.8")
+    (version "1.0.9")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "borgbackup" version))
               (sha256
                (base32
-                "1fdfi0yzzdrrlml6780n4fh61sqm7pw6fcd1y67kfkvw8hy5c0k9"))
+                "1ciwp9yilcibk0x82y5nn8ps95jrm8rxvff8mjrlp7a2w100i1im"))
               (modules '((guix build utils)))
               (snippet
                '(for-each
@@ -439,25 +440,26 @@ detection, and lossless compression.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; Make the installed package available for the test suite.
              (add-installed-pythonpath inputs outputs)
-             (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 "
-                          ;; These tests assume the kernel supports FUSE. They
-                          ;; were skipped using the "old" Python build system,
-                          ;; before commit
-                          ;; 7db40bce58e149ecb541d295e01cfbfe953d39a3.
-                          "and not test_fuse "
-                          "and not test_fuse_allow_damaged_files")))))
+             ;; The tests should be run in an empty directory.
+             (mkdir-p "tests")
+             (with-directory-excursion "tests"
+               (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 "
+                            "and not test_get_security_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 "
+                            ;; These tests assume the kernel supports FUSE.
+                            "and not test_fuse "
+                            "and not test_fuse_allow_damaged_files"))))))
          (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -543,3 +545,37 @@ changes are stored.")
     (home-page "https://attic-backup.org/")
     (license license:bsd-3)
     (properties `((superseded . ,borg)))))
+
+(define-public wimlib
+  (package
+    (name "wimlib")
+    (version "1.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://wimlib.net/downloads/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mbz03smlc054i2m9q2sbqymml9m897kfs84q7g81i26y811p6wq"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fuse" ,fuse)
+       ("libxml2" ,libxml2)
+       ("ntfs-3g" ,ntfs-3g)
+       ("openssl" ,openssl)))
+    (arguments
+     `(#:configure-flags (list "--enable-test-support")))
+    (home-page "https://wimlib.net/")
+    (synopsis "WIM file manipulation library and utilities")
+    (description "wimlib is a C library and set of command-line utilities for
+creating, modifying, extracting, and mounting archives in the Windows Imaging
+Format (@dfn{WIM files}).  It can capture and apply WIMs directly from and to
+NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.")
+    ;; wimlib is dual-licenced under version 3 or later of either the GPL or
+    ;; LGPL, except those files explicitly marked as being released into the
+    ;; public domain (CC0) in their headers.
+    (license (list license:gpl3+
+                   license:lgpl3+
+                   license:cc0))))