diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 11:33:18 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 12:39:40 +0200 |
commit | 4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch) | |
tree | 9fd64956ee60304c15387eb394cd649e49f01467 /gnu/packages/backup.scm | |
parent | edb8c09addd186d9538d43b12af74d6c7aeea082 (diff) | |
parent | 595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff) | |
download | guix-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.scm | 216 |
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 |