all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#53558] Borg 1.2 beta and release candidates
@ 2022-01-26 19:35 Leo Famulari
  2022-01-26 19:36 ` [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2 Leo Famulari
  2022-02-22 22:09 ` [bug#53558] [PATCH 1/2] gnu: Add python-msgpack-1.0.2 Leo Famulari
  0 siblings, 2 replies; 7+ messages in thread
From: Leo Famulari @ 2022-01-26 19:35 UTC (permalink / raw)
  To: 53558

Let's use this ticket to coordinate testing of the upcoming Borg 1.2
release.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2.
  2022-01-26 19:35 [bug#53558] Borg 1.2 beta and release candidates Leo Famulari
@ 2022-01-26 19:36 ` Leo Famulari
  2022-01-26 19:36   ` [bug#53558] [PATCH 2/3] gnu: Add python-pyfuse3 Leo Famulari
  2022-01-26 19:36   ` [bug#53558] [PATCH 3/3] WIP: Borg: Update to 1.2.0b4 Leo Famulari
  2022-02-22 22:09 ` [bug#53558] [PATCH 1/2] gnu: Add python-msgpack-1.0.2 Leo Famulari
  1 sibling, 2 replies; 7+ messages in thread
From: Leo Famulari @ 2022-01-26 19:36 UTC (permalink / raw)
  To: 53558

* gnu/packages/python-xyz.scm (python-msgpack-1.0.2): New variable.
---
 gnu/packages/python-xyz.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c8ba314d38..15c889ca9b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11141,6 +11141,17 @@ (define-public python-msgpack
     (home-page "https://pypi.org/project/msgpack/")
     (license license:asl2.0)))
 
+(define-public python-msgpack-1.0.2
+  (package
+    (inherit python-msgpack)
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "msgpack" version))
+              (sha256
+               (base32
+                "1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s"))))))
+
 ;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
 ;; release 0.5. Some packages like borg still call it by the old name for now.
 ;; <https://bugs.gnu.org/30662>
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#53558] [PATCH 2/3] gnu: Add python-pyfuse3.
  2022-01-26 19:36 ` [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2 Leo Famulari
@ 2022-01-26 19:36   ` Leo Famulari
  2022-01-26 19:36   ` [bug#53558] [PATCH 3/3] WIP: Borg: Update to 1.2.0b4 Leo Famulari
  1 sibling, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2022-01-26 19:36 UTC (permalink / raw)
  To: 53558

* gnu/packages/python-xyz.scm (python-pyfuse3): New variable.
---
 gnu/packages/python-xyz.scm | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 15c889ca9b..84217758c4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2015, 2016, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017, 2019, 2022 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -28797,3 +28797,23 @@ (define-public python-esprima
       "This package provides ECMAScript parsing infrastructure for
 multipurpose analysis in Python.")
     (license license:bsd-3)))
+
+(define-public python-pyfuse3
+  (package
+    (name "python-pyfuse3")
+    (version "3.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pyfuse3" version))
+        (sha256
+          (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92"))))
+    (build-system python-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list fuse-3))
+    (propagated-inputs (list python-pytest-trio))
+    (home-page "https://github.com/libfuse/pyfuse3")
+    (synopsis "Python bindings FUSE 3")
+    (description "This package provides Python 3 bindings for libfuse 3 with
+async I/O support.")
+    (license license:gpl2+)))
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#53558] [PATCH 3/3] WIP: Borg: Update to 1.2.0b4.
  2022-01-26 19:36 ` [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2 Leo Famulari
  2022-01-26 19:36   ` [bug#53558] [PATCH 2/3] gnu: Add python-pyfuse3 Leo Famulari
@ 2022-01-26 19:36   ` Leo Famulari
  1 sibling, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2022-01-26 19:36 UTC (permalink / raw)
  To: 53558

XXX
borgbackup 1.2.0b4 beta release - do not use this on production backup repositories.
XXX

Upstream discussions:
https://github.com/borgbackup/borg/discussions/6166
https://github.com/borgbackup/borg/issues/4360

* gnu/packages/backup.scm (borg): Update to 1.2.0b4.
[source]: Adjust the list of Cython files to rebuild. Remove an obsolete
substitution. Delete the bundled xxhash. Blake2 is no longer bundled.
[native-inputs]: Add python-dateutil.
[inputs]: Add xxhash. Add python-msgpack-1.2. Remove libb2.
[arguments]: Export BORG_LIBXXHASH_PREFIX to ensure the build script can find
xxhash. Adjust the list of skipped tests and make the custom 'check' phase honor
tests?. Install some more documentation.
---
 gnu/packages/backup.scm | 100 ++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index d847287d13..c55dbc12ba 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015, 2016, 2017, 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017, 2021, 2022 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
@@ -62,6 +62,7 @@ (define-module (gnu packages backup)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages ftp)
@@ -629,13 +630,13 @@ (define-public libchop
 (define-public borg
   (package
     (name "borg")
-    (version "1.1.17")
+    (version "1.2.0b4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "borgbackup" version))
        (sha256
-        (base32 "0x0ncy0b0bmf586hbdgrif3gjmkdw760vfnfxndr493v07y29fbs"))
+        (base32 "1h4gni8p2kyg1qry2nmzscj6zai7lygyqwdzxgd6y531780lx6pk"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -645,8 +646,6 @@ (define-public borg
            ;; generate the wrong list.
            (for-each delete-file
                      '("src/borg/algorithms/checksums.c"
-                       "src/borg/algorithms/msgpack/_packer.cpp"
-                       "src/borg/algorithms/msgpack/_unpacker.cpp"
                        "src/borg/chunker.c"
                        "src/borg/compress.c"
                        "src/borg/crypto/low_level.c"
@@ -656,15 +655,17 @@ (define-public borg
                        "src/borg/platform/freebsd.c"
                        "src/borg/platform/linux.c"
                        "src/borg/platform/posix.c"
-                       "src/borg/platform/syncfilerange.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 "blake2" "lz4" "zstd")))
+                       (list "lz4" "xxh64" "zstd")))
            #t))))
     (build-system python-build-system)
     (arguments
-     `(#:modules ((srfi srfi-26)        ; for cut
+     `(#:tests? #f ; The tests pass. Skip them all while debugging FUSE 3
+       #:modules ((srfi srfi-26)        ; for cut
                   (guix build utils)
                   (guix build python-build-system))
        #:phases
@@ -672,12 +673,12 @@ (define-public borg
          (add-after 'unpack 'set-env
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((openssl (assoc-ref inputs "openssl"))
-                   (libb2 (assoc-ref inputs "libb2"))
                    (lz4 (assoc-ref inputs "lz4"))
+                   (xxhash (assoc-ref inputs "xxhash"))
                    (zstd (assoc-ref inputs "zstd")))
                (setenv "BORG_OPENSSL_PREFIX" openssl)
-               (setenv "BORG_LIBB2_PREFIX" libb2)
                (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
@@ -687,32 +688,37 @@ (define-public borg
          ;; The tests need to be run after Borg is installed.
          (delete 'check)
          (add-after 'install 'check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; 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_non_ascii_acl "
-                        "and not test_create_stdin "
-                        ;; 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 "
-                        "and not test_mount_hardlinks "
-                        "and not test_readonly_mount ")))))
+           (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"))
@@ -720,10 +726,10 @@ (define-public borg
                     (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)
-               #t)))
+               (copy-recursively "docs/man" man))))
          (add-after 'install-docs 'install-shell-completions
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -735,24 +741,28 @@ (define-public borg
                  (install-file "zsh/_borg"
                                (string-append share "/zsh/site-functions"))
                  (install-file "fish/borg.fish"
-                               (string-append share "/fish/vendor_completions.d")))
-               #t))))))
+                               (string-append share "/fish/vendor_completions.d")))))))))
     (native-inputs
-     (list python-cython python-setuptools-scm python-pytest))
+     (list python-cython python-dateutil python-setuptools-scm python-pytest))
     (inputs
      (list acl
-           libb2
            lz4
            openssl
+           ;; This is the latest version of msgpack accepted by 'setup.py'.
+           python-msgpack-1.0.2
+           ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
+           ;; <https://issues.guix.gnu.org/53407>
            python-llfuse
-           `(,zstd "lib")))
+;           python-pyfuse3
+           `(,zstd "lib")
+           xxhash))
     (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
 provide an efficient and secure way to backup data.  The data deduplication
 technique used makes Borg suitable for daily backups since only changes are
-stored.  The authenticated encryption technique makes it suitable for
-storing backups on untrusted computers.")
+stored.  The authenticated encryption technique makes it suitable for storing
+backups on untrusted computers.")
     (home-page "https://www.borgbackup.org/")
     (license license:bsd-3)))
 
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#53558] [PATCH 1/2] gnu: Add python-msgpack-1.0.2.
  2022-01-26 19:35 [bug#53558] Borg 1.2 beta and release candidates Leo Famulari
  2022-01-26 19:36 ` [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2 Leo Famulari
@ 2022-02-22 22:09 ` Leo Famulari
  2022-02-22 22:09   ` [bug#53558] [PATCH 2/2] gnu: Borg: Update to 1.2.0 Leo Famulari
  1 sibling, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2022-02-22 22:09 UTC (permalink / raw)
  To: 53558

* gnu/packages/python-xyz.scm (python-msgpack-1.0.2): New variable.
---
 gnu/packages/python-xyz.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 33e7de1606..93c76ddde1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11205,6 +11205,17 @@ (define-public python-msgpack
     (home-page "https://pypi.org/project/msgpack/")
     (license license:asl2.0)))
 
+(define-public python-msgpack-1.0.2
+  (package
+    (inherit python-msgpack)
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "msgpack" version))
+              (sha256
+               (base32
+                "1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s"))))))
+
 ;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
 ;; release 0.5. Some packages like borg still call it by the old name for now.
 ;; <https://bugs.gnu.org/30662>
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#53558] [PATCH 2/2] gnu: Borg: Update to 1.2.0.
  2022-02-22 22:09 ` [bug#53558] [PATCH 1/2] gnu: Add python-msgpack-1.0.2 Leo Famulari
@ 2022-02-22 22:09   ` Leo Famulari
  2022-03-26 21:54     ` bug#53558: " Leo Famulari
  0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2022-02-22 22:09 UTC (permalink / raw)
  To: 53558

* gnu/packages/backup.scm (borg): Update to 1.2.0.
[source]: Adjust the list of Cython files to rebuild. Remove an obsolete
substitution. Delete the bundled xxhash. Blake2 is no longer bundled.
[native-inputs]: Add python-dateutil.
[inputs]: Add xxhash. Add python-msgpack-1.2. Remove libb2.
[arguments]: Export BORG_LIBXXHASH_PREFIX to ensure the build script can find
xxhash. Adjust the list of skipped tests and make the custom 'check' phase honor
tests?. Install some more documentation.
---
 gnu/packages/backup.scm | 96 ++++++++++++++++++++++-------------------
 1 file changed, 52 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index afa2573363..36bb2ae8e2 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015, 2016, 2017, 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017, 2021, 2022 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
@@ -62,6 +62,7 @@ (define-module (gnu packages backup)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages ftp)
@@ -629,13 +630,13 @@ (define-public libchop
 (define-public borg
   (package
     (name "borg")
-    (version "1.1.17")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "borgbackup" version))
        (sha256
-        (base32 "0x0ncy0b0bmf586hbdgrif3gjmkdw760vfnfxndr493v07y29fbs"))
+        (base32 "0rvzmy9qyicfs65qwy0n1nkvsidkcvx7kix43885dx1fj13mb6p3"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -645,8 +646,6 @@ (define-public borg
            ;; generate the wrong list.
            (for-each delete-file
                      '("src/borg/algorithms/checksums.c"
-                       "src/borg/algorithms/msgpack/_packer.cpp"
-                       "src/borg/algorithms/msgpack/_unpacker.cpp"
                        "src/borg/chunker.c"
                        "src/borg/compress.c"
                        "src/borg/crypto/low_level.c"
@@ -656,11 +655,12 @@ (define-public borg
                        "src/borg/platform/freebsd.c"
                        "src/borg/platform/linux.c"
                        "src/borg/platform/posix.c"
-                       "src/borg/platform/syncfilerange.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 "blake2" "lz4" "zstd")))
+                       (list "lz4" "xxh64" "zstd")))
            #t))))
     (build-system python-build-system)
     (arguments
@@ -672,12 +672,12 @@ (define-public borg
          (add-after 'unpack 'set-env
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((openssl (assoc-ref inputs "openssl"))
-                   (libb2 (assoc-ref inputs "libb2"))
                    (lz4 (assoc-ref inputs "lz4"))
+                   (xxhash (assoc-ref inputs "xxhash"))
                    (zstd (assoc-ref inputs "zstd")))
                (setenv "BORG_OPENSSL_PREFIX" openssl)
-               (setenv "BORG_LIBB2_PREFIX" libb2)
                (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
@@ -687,32 +687,37 @@ (define-public borg
          ;; The tests need to be run after Borg is installed.
          (delete 'check)
          (add-after 'install 'check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; 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_non_ascii_acl "
-                        "and not test_create_stdin "
-                        ;; 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 "
-                        "and not test_mount_hardlinks "
-                        "and not test_readonly_mount ")))))
+           (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"))
@@ -720,10 +725,10 @@ (define-public borg
                     (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)
-               #t)))
+               (copy-recursively "docs/man" man))))
          (add-after 'install-docs 'install-shell-completions
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -735,24 +740,27 @@ (define-public borg
                  (install-file "zsh/_borg"
                                (string-append share "/zsh/site-functions"))
                  (install-file "fish/borg.fish"
-                               (string-append share "/fish/vendor_completions.d")))
-               #t))))))
+                               (string-append share "/fish/vendor_completions.d")))))))))
     (native-inputs
-     (list python-cython python-setuptools-scm python-pytest))
+     (list python-cython python-dateutil python-setuptools-scm python-pytest))
     (inputs
      (list acl
-           libb2
            lz4
            openssl
+           ;; This is the latest version of msgpack accepted by 'setup.py'.
+           python-msgpack-1.0.2
+           ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
+           ;; <https://issues.guix.gnu.org/53407>
            python-llfuse
-           `(,zstd "lib")))
+           `(,zstd "lib")
+           xxhash))
     (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
 provide an efficient and secure way to backup data.  The data deduplication
 technique used makes Borg suitable for daily backups since only changes are
-stored.  The authenticated encryption technique makes it suitable for
-storing backups on untrusted computers.")
+stored.  The authenticated encryption technique makes it suitable for storing
+backups on untrusted computers.")
     (home-page "https://www.borgbackup.org/")
     (license license:bsd-3)))
 
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#53558: [PATCH 2/2] gnu: Borg: Update to 1.2.0.
  2022-02-22 22:09   ` [bug#53558] [PATCH 2/2] gnu: Borg: Update to 1.2.0 Leo Famulari
@ 2022-03-26 21:54     ` Leo Famulari
  0 siblings, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2022-03-26 21:54 UTC (permalink / raw)
  To: 53558-done

On Tue, Feb 22, 2022 at 05:09:08PM -0500, Leo Famulari wrote:
> * gnu/packages/backup.scm (borg): Update to 1.2.0.
> [source]: Adjust the list of Cython files to rebuild. Remove an obsolete
> substitution. Delete the bundled xxhash. Blake2 is no longer bundled.
> [native-inputs]: Add python-dateutil.
> [inputs]: Add xxhash. Add python-msgpack-1.2. Remove libb2.
> [arguments]: Export BORG_LIBXXHASH_PREFIX to ensure the build script can find
> xxhash. Adjust the list of skipped tests and make the custom 'check' phase honor
> tests?. Install some more documentation.

Pushed as 50ccffb89e3dbb71a415b9c84b955006fe44fe02




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-26 21:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 19:35 [bug#53558] Borg 1.2 beta and release candidates Leo Famulari
2022-01-26 19:36 ` [bug#53558] [PATCH 1/3] gnu: Add python-msgpack-1.0.2 Leo Famulari
2022-01-26 19:36   ` [bug#53558] [PATCH 2/3] gnu: Add python-pyfuse3 Leo Famulari
2022-01-26 19:36   ` [bug#53558] [PATCH 3/3] WIP: Borg: Update to 1.2.0b4 Leo Famulari
2022-02-22 22:09 ` [bug#53558] [PATCH 1/2] gnu: Add python-msgpack-1.0.2 Leo Famulari
2022-02-22 22:09   ` [bug#53558] [PATCH 2/2] gnu: Borg: Update to 1.2.0 Leo Famulari
2022-03-26 21:54     ` bug#53558: " Leo Famulari

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.