summary refs log tree commit diff
path: root/gnu/packages/backup.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-01-30 11:33:18 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-01-30 12:39:40 +0200
commit4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch)
tree9fd64956ee60304c15387eb394cd649e49f01467 /gnu/packages/backup.scm
parentedb8c09addd186d9538d43b12af74d6c7aeea082 (diff)
parent595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff)
downloadguix-4cf1acc7f3033b50b0bf19e02c9f522d522d338c.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
 Conflicts:
	doc/guix.texi
	gnu/local.mk
	gnu/packages/admin.scm
	gnu/packages/base.scm
	gnu/packages/chromium.scm
	gnu/packages/compression.scm
	gnu/packages/databases.scm
	gnu/packages/diffoscope.scm
	gnu/packages/freedesktop.scm
	gnu/packages/gnome.scm
	gnu/packages/gnupg.scm
	gnu/packages/guile.scm
	gnu/packages/inkscape.scm
	gnu/packages/llvm.scm
	gnu/packages/openldap.scm
	gnu/packages/pciutils.scm
	gnu/packages/ruby.scm
	gnu/packages/samba.scm
	gnu/packages/sqlite.scm
	gnu/packages/statistics.scm
	gnu/packages/syndication.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/copy.scm
	guix/scripts/home.scm
Diffstat (limited to 'gnu/packages/backup.scm')
-rw-r--r--gnu/packages/backup.scm216
1 files changed, 107 insertions, 109 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index d0d89bd910..05e5295567 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2019, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
@@ -323,7 +323,8 @@ 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.")
+random access nor for in-place modification.  This package provides the
+@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
     (license license:bsd-2)))
 
 (define-public rdup
@@ -513,7 +514,7 @@ rdiff-backup is easy to use and settings have sensible defaults.")
 (define-public rsnapshot
   (package
     (name "rsnapshot")
-    (version "1.4.4")
+    (version "1.4.5")
     (source
      (origin
        (method url-fetch)
@@ -521,7 +522,7 @@ rdiff-backup is easy to use and settings have sensible defaults.")
              "https://github.com/rsnapshot/rsnapshot/releases/download/"
              version "/rsnapshot-" version ".tar.gz"))
        (sha256
-        (base32 "0yc5k2fhm54ypxgm1fsaf8vrg5b7qbvbsqk371n6baf592vprjy1"))))
+        (base32 "0hl2ncld0xkwlnv1cqjmmnld2nlp65alkkdacs11wl95r80mxdqh"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -623,117 +624,114 @@ detection, and lossless compression.")
 (define-public borg
   (package
     (name "borg")
-    (version "1.2.1")
+    (version "1.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "borgbackup" version))
        (sha256
-        (base32 "0cy6chpa053rlvy4448vf9klb5v0v1vq3l76gqa3mcrwjb8y574z"))
+        (base32 "11b7jqv9sw22a9512b270d12k3mrcgmmcaimh6bgm5iwcgw1h973"))
        (modules '((guix build utils)))
        (snippet
-        '(begin
-           ;; Delete files generated by Cython.  We used to have a regex
-           ;; that created the list of generated files but Borg has
-           ;; added new non-generated C files that cause the regex to
-           ;; generate the wrong list.
-           (for-each delete-file
-                     '("src/borg/algorithms/checksums.c"
-                       "src/borg/chunker.c"
-                       "src/borg/compress.c"
-                       "src/borg/crypto/low_level.c"
-                       "src/borg/hashindex.c"
-                       "src/borg/item.c"
-                       "src/borg/platform/darwin.c"
-                       "src/borg/platform/freebsd.c"
-                       "src/borg/platform/linux.c"
-                       "src/borg/platform/posix.c"
-                       "src/borg/platform/syncfilerange.c"
-                       "src/borg/platform/windows.c"))
-           ;; Remove bundled shared libraries.
-           (with-directory-excursion "src/borg/algorithms"
-             (for-each delete-file-recursively
-                       (list "lz4" "xxh64" "zstd")))
-           #t))))
+        #~(begin
+            ;; Delete files generated by Cython.  We used to have a regex that
+            ;; created the list of generated files but Borg has added new
+            ;; non-generated C files that cause the regex to generate the
+            ;; wrong list.
+            (for-each delete-file
+                      '("src/borg/algorithms/checksums.c"
+                        "src/borg/chunker.c"
+                        "src/borg/compress.c"
+                        "src/borg/crypto/low_level.c"
+                        "src/borg/hashindex.c"
+                        "src/borg/item.c"
+                        "src/borg/platform/darwin.c"
+                        "src/borg/platform/freebsd.c"
+                        "src/borg/platform/linux.c"
+                        "src/borg/platform/posix.c"
+                        "src/borg/platform/syncfilerange.c"
+                        "src/borg/platform/windows.c"))
+            ;; Remove bundled shared libraries.
+            (with-directory-excursion "src/borg/algorithms"
+              (for-each delete-file-recursively
+                        (list "lz4" "xxh64" "zstd")))))))
     (build-system python-build-system)
     (arguments
-     `(#:modules ((srfi srfi-26)        ; for cut
+     (list
+      #:modules '((srfi srfi-26)        ; for cut
                   (guix build utils)
                   (guix build python-build-system))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-env
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((openssl (assoc-ref inputs "openssl"))
-                   (lz4 (assoc-ref inputs "lz4"))
-                   (xxhash (assoc-ref inputs "xxhash"))
-                   (zstd (assoc-ref inputs "zstd")))
-               (setenv "BORG_OPENSSL_PREFIX" openssl)
-               (setenv "BORG_LIBLZ4_PREFIX" lz4)
-               (setenv "BORG_LIBXXHASH_PREFIX" xxhash)
-               (setenv "BORG_LIBZSTD_PREFIX" zstd)
-               (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* (#:key inputs outputs tests? #:allow-other-keys)
-             (when tests?
-              ;; Make the installed package available for the test suite.
-              (add-installed-pythonpath inputs outputs)
-              ;; The tests should be run in an empty directory.
-              (mkdir-p "tests")
-              (with-directory-excursion "tests"
-                (invoke "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_config_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_get_item_uid_gid "
-                         "and not test_non_ascii_acl "
-                         "and not test_create_content_from_command "
-                         "and not test_create_content_from_command_with_failed_command "
-                         "and not test_create_stdin "
-                         ;; We don't need to run benchmarks
-                         "and not benchmark "
-                         ;; 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_readonly_mount "
-                         "and not test_fuse_versions_view "
-                         "and not test_migrate_lock_alive"))))))
-         (add-after 'install 'install-doc
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (man (string-append out "/share/man/man1"))
-                    (misc (string-append out "/share/borg/misc")))
-               (for-each (cut install-file <> misc)
-                         '("docs/misc/create_chunker-params.txt"
-                           "docs/misc/borg-data-flow.png"
-                           "docs/misc/internals-picture.txt"
-                           "docs/misc/prune-example.txt"))
-               (copy-recursively "docs/man" man))))
-         (add-after 'install-docs 'install-shell-completions
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (etc (string-append out "/etc"))
-                    (share (string-append out "/share")))
-               (with-directory-excursion "scripts/shell_completions"
-                 (install-file "bash/borg"
-                               (string-append etc "/bash_completion.d"))
-                 (install-file "zsh/_borg"
-                               (string-append share "/zsh/site-functions"))
-                 (install-file "fish/borg.fish"
-                               (string-append share "/fish/vendor_completions.d")))))))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'set-env
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((openssl #$(this-package-input "openssl"))
+                    (lz4 #$(this-package-input "lz4"))
+                    (xxhash #$(this-package-input "xxhash"))
+                    (zstd #$(this-package-input "zstd")))
+                (setenv "BORG_OPENSSL_PREFIX" openssl)
+                (setenv "BORG_LIBLZ4_PREFIX" lz4)
+                (setenv "BORG_LIBXXHASH_PREFIX" xxhash)
+                (setenv "BORG_LIBZSTD_PREFIX" zstd)
+                (setenv "PYTHON_EGG_CACHE" "/tmp")
+                ;; The test 'test_return_codes[python]' fails when
+                ;; HOME=/homeless-shelter.
+                (setenv "HOME" "/tmp"))))
+          ;; The tests need to be run after Borg is installed.
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+              (when tests?
+                ;; Make the installed package available for the test suite.
+                (add-installed-pythonpath inputs outputs)
+                ;; The tests should be run in an empty directory.
+                (mkdir-p "tests")
+                (with-directory-excursion "tests"
+                  (invoke "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_config_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_get_item_uid_gid "
+                           "and not test_non_ascii_acl "
+                           "and not test_create_content_from_command "
+                           "and not test_create_content_from_command_with_failed_command "
+                           "and not test_create_stdin "
+                           ;; We don't need to run benchmarks
+                           "and not benchmark "
+                           ;; 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_readonly_mount "
+                           "and not test_fuse_versions_view "
+                           "and not test_migrate_lock_alive"))))))
+          (add-after 'install 'install-doc
+            (lambda _
+              (let ((man (string-append #$output "/share/man/man1"))
+                    (misc (string-append #$output "/share/borg/misc")))
+                (for-each (cut install-file <> misc)
+                          '("docs/misc/create_chunker-params.txt"
+                            "docs/misc/borg-data-flow.png"
+                            "docs/misc/internals-picture.txt"
+                            "docs/misc/prune-example.txt"))
+                (copy-recursively "docs/man" man))))
+          (add-after 'install-docs 'install-shell-completions
+            (lambda _
+              (let ((etc (string-append #$output "/etc"))
+                    (share (string-append #$output "/share")))
+                (with-directory-excursion "scripts/shell_completions"
+                  (install-file "bash/borg"
+                                (string-append etc "/bash_completion.d"))
+                  (install-file "zsh/_borg"
+                                (string-append share "/zsh/site-functions"))
+                  (install-file "fish/borg.fish"
+                                (string-append share "/fish/vendor_completions.d")))))))))
     (native-inputs
      (list python-cython python-dateutil python-setuptools-scm python-pytest))
     (inputs
@@ -745,8 +743,8 @@ detection, and lossless compression.")
            ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
            ;; <https://issues.guix.gnu.org/53407>
            python-llfuse
-           `(,zstd "lib")
-           xxhash))
+           xxhash
+           `(,zstd "lib")))
     (synopsis "Deduplicated, encrypted, authenticated and compressed backups")
     (description "Borg is a deduplicating backup program.  Optionally, it
 supports compression and authenticated encryption.  The main goal of Borg is to
@@ -1029,7 +1027,7 @@ precious backup space.
     (arguments
      `(#:tests? #f))                    ;no test
     (inputs
-     (list lzo libressl protobuf xz zlib))
+     (list lzo libressl protobuf-3.6 xz zlib))
     (home-page "http://zbackup.org")
     (synopsis "Versatile deduplicating backup tool")
     (description
@@ -1081,14 +1079,14 @@ interactive mode.")
 (define-public btrbk
   (package
     (name "btrbk")
-    (version "0.32.2")
+    (version "0.32.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://digint.ch/download/btrbk/releases/"
                                   "btrbk-" version ".tar.xz"))
               (sha256
                (base32
-                "0gi0j09fm4pgw3dq0z27lkpyvrs3ssyqg9b46v5ba794z63w753z"))))
+                "1d4zqf5klad55gdzzldipsjrhpprixzjmn03g66df5h2d28l1zpi"))))
     (build-system gnu-build-system)
     (arguments
      (list