[PATCH 0/2] gnu: borgmatic: Update to 1.8.6

  • Open
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • Mike Delago
Owner
unassigned
Submitted by
Mike Delago
Severity
normal
M
M
Mike Delago wrote on 18 Jan 15:20 +0100
(address . guix-patches@gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
cover.1705586561.git.michaeldelago98@gmail.com
This patchset updates borgmatic to version 1.8.6. Additionally, this
adds the dependency apprise, which is needed as of version 1.8.4.

Mike Delago (2):
gnu: Add python-apprise.
gnu: borgmatic: Update to 1.8.6.

gnu/packages/backup.scm | 61 +++++++++++++++++++------------------
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++
2 files changed, 68 insertions(+), 29 deletions(-)


base-commit: 48b5e885182738fe28bed2d1b45e91be95dce67c
--
2.41.0
M
M
Mike Delago wrote on 18 Jan 15:32 +0100
[PATCH 1/2] gnu: Add python-apprise.
(address . 68569@debbugs.gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
236d62db2eb224c0ae8ee7ea0fabecbb4dc4c929.1705586561.git.michaeldelago98@gmail.com
* gnu/packages/python-xyz.scm (python-apprise): New variable.

Change-Id: I24659780121e3d428002f504a459bea442790a7b
---
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index aebbae1521..aecebb1dde 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14364,6 +14364,42 @@ (define-public python-appdirs
should be stored on various operating systems.")
(license license:expat)))
+(define-public python-apprise
+ (package
+ (name "python-apprise")
+ (version "1.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apprise" version))
+ (sha256
+ (base32 "0nkfv0pyn13lqdr3g3r1dhhnqxkjiayf9pny4m254w04al49shwd"))
+ ;; MacOS tests are failing when attempting to mock terminal-notifier calls
+ ;; We don't need to test for MacOS support, and removing this file causes
+ ;; tests to succeed
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "test/test_plugin_macosx.py")))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-certifi
+ python-click
+ python-markdown
+ python-pyyaml
+ python-requests
+ python-requests-oauthlib))
+ (native-inputs (list python-babel
+ python-coverage
+ python-flake8
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-xdist))
+ (home-page "https://github.com/caronc/apprise")
+ (synopsis "Push Notifications that work with just about every platform!")
+ (description
+ "Push Notifications that work with just about every platform!")
+ (license license:bsd-3)))
+
(define-public python-google-pasta
(package
(name "python-google-pasta")
--
2.41.0
M
M
Mike Delago wrote on 18 Jan 15:32 +0100
[PATCH 2/2] gnu: borgmatic: Update to 1.8.6.
(address . 68569@debbugs.gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
1246f706b66ff104a3792f29fdb9fd99c1d5a9b8.1705586561.git.michaeldelago98@gmail.com
* gnu/packages/backup.scm (borgmatic): Update to 1.8.6.
[inputs]: Add python-apprise.

Change-Id: I4daed9554eec0117cecccc74325cc1b4b75aa7b2
---
gnu/packages/backup.scm | 61 +++++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 29 deletions(-)

Toggle diff (81 lines)
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 3126464347..2c9bc4034d 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1304,42 +1304,45 @@ (define-public disarchive
(define-public borgmatic
(package
(name "borgmatic")
- (version "1.7.12")
+ (version "1.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgmatic" version))
(sha256
- (base32 "0720wvs3h2w8h28d7mpvjfp0q37dnrwf1y2ik3y4yr9csih7fmgh"))))
+ (base32 "14bngfhfzlrqjhqw059gr6mggz84nr97b3y7y8nj53431jwrfpas"))))
(build-system python-build-system)
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Set absolute store path to borg.
- (substitute* "borgmatic/commands/borgmatic.py"
- (("\\.get\\('local_path', 'borg'\\)")
- (string-append ".get('local_path', '"
- (search-input-file inputs "bin/borg")
- "')")))
- (substitute* "tests/unit/commands/test_borgmatic.py"
- (("(module.get_local_path.+ == )'borg'" all start)
- (string-append start "'"
- (search-input-file inputs "bin/borg")
- "'")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Tests require the installed executable.
- (setenv "PATH" (string-append #$output "/bin"
- ":" (getenv "PATH")))
- (invoke "pytest")))))))
- (inputs
- (list borg python-colorama python-jsonschema python-requests
- python-ruamel.yaml))
- (native-inputs
- (list python-flexmock python-pytest python-pytest-cov))
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Set absolute store path to borg.
+ (substitute* "borgmatic/commands/borgmatic.py"
+ (("\\.get\\('local_path', 'borg'\\)")
+ (string-append ".get('local_path', '"
+ (search-input-file inputs "bin/borg")
+ "')")))
+ (substitute* "tests/unit/commands/test_borgmatic.py"
+ (("(module.get_local_path.+ == )'borg'" all start)
+ (string-append start "'"
+ (search-input-file inputs "bin/borg")
+ "'")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests require the installed executable.
+ (setenv "PATH"
+ (string-append #$output "/bin" ":"
+ (getenv "PATH")))
+ (invoke "pytest")))))))
+ (inputs (list borg
+ python-colorama
+ python-jsonschema
+ python-requests
+ python-ruamel.yaml
+ python-apprise))
+ (native-inputs (list python-flexmock python-pytest python-pytest-cov))
(home-page "https://torsion.org/borgmatic/")
(synopsis "Simple, configuration-driven backup software")
(description
--
2.41.0
M
M
Maxim Cournoyer wrote on 21 Jan 05:57 +0100
Re: [bug#68569] [PATCH 1/2] gnu: Add python-apprise.
(name . Mike Delago)(address . michaeldelago98@gmail.com)(address . 68569@debbugs.gnu.org)
87cytvb7x7.fsf@gmail.com
Hi!

Mike Delago <michaeldelago98@gmail.com> writes:

Toggle quote (29 lines)
> * gnu/packages/python-xyz.scm (python-apprise): New variable.
>
> Change-Id: I24659780121e3d428002f504a459bea442790a7b
> ---
> gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index aebbae1521..aecebb1dde 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -14364,6 +14364,42 @@ (define-public python-appdirs
> should be stored on various operating systems.")
> (license license:expat)))
>
> +(define-public python-apprise
> + (package
> + (name "python-apprise")
> + (version "1.7.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "apprise" version))
> + (sha256
> + (base32 "0nkfv0pyn13lqdr3g3r1dhhnqxkjiayf9pny4m254w04al49shwd"))
> + ;; MacOS tests are failing when attempting to mock terminal-notifier calls
> + ;; We don't need to test for MacOS support, and removing this file causes
> + ;; tests to succeed

Please punctuate your comments (including periods).

Toggle quote (18 lines)
> + (modules '((guix build utils)))
> + (snippet '(begin
> + (delete-file-recursively "test/test_plugin_macosx.py")))))
> + (build-system pyproject-build-system)
> + (propagated-inputs (list python-certifi
> + python-click
> + python-markdown
> + python-pyyaml
> + python-requests
> + python-requests-oauthlib))
> + (native-inputs (list python-babel
> + python-coverage
> + python-flake8
> + python-pytest
> + python-pytest-cov
> + python-pytest-mock
> + python-pytest-xdist))

Nitpick: I prefer to list inputs in the order of native, inputs,
propagated. Was the above order produced by the pypi importer?

Toggle quote (3 lines)
> + (synopsis "Push Notifications that work with just about every platform!")

This is too verbose for a synopsis. Synopses should describe in a few
words what the package *is*, such as "Push notification library and
utility" (no trailing period here).

Toggle quote (3 lines)
> + (description
> + "Push Notifications that work with just about every platform!")

That sounds like marketing talk. Keep it dry and factual, synthesizing
the interesting technical bits from their description text available

Toggle quote (2 lines)
> + (license license:bsd-3)))

Github says bsd-2. Could you check?

Other than that, it looks good to me. Could you please send a v2 with the
requested changes?

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Jan 05:59 +0100
Re: [bug#68569] [PATCH 2/2] gnu: borgmatic: Update to 1.8.6.
(name . Mike Delago)(address . michaeldelago98@gmail.com)(address . 68569@debbugs.gnu.org)
875xznb7sg.fsf@gmail.com
Hi,

Mike Delago <michaeldelago98@gmail.com> writes:

Toggle quote (3 lines)
> * gnu/packages/backup.scm (borgmatic): Update to 1.8.6.
> [inputs]: Add python-apprise.

This looks fine to me, but I'd have preferred the heavy reformatting
(produced by 'guix style'?) to be done in a prior commit to keep the
diff clean). Something to keep in mind for future contributions!

I'll await your v2 for 1/2, and then we can apply the series.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Jan 06:00 +0100
control message for bug #68569
(address . control@debbugs.gnu.org)
874jf7b7sb.fsf@gmail.com
tags 68569 + moreinfo
quit
M
M
Mike Delago wrote on 21 Jan 21:07 +0100
[PATCH v2 0/2] gnu: borgmatic: Update to 1.8.6
(address . 68569@debbugs.gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
cover.1705867641.git.michaeldelago98@gmail.com
Hey Maxim,

This revision of the patchset should have corrected the
things you've noted.

Toggle quote (3 lines)
> Nitpick: I prefer to list inputs in the order of native, inputs,
> propagated. Was the above order produced by the pypi importer?

Yes - the manifest came largely from the pypi importer. The
`native-inputs` block was added in order to cover the
"dev-requirements.txt"[0] file in the upstream repo. This was needed in
order for tests to pass.

Corrected in this revision to the patch.


Toggle quote (3 lines)
> This is too verbose for a synopsis...
> That sounds like marketing talk...

Good catch - this was the default value from the page on pypi.

Both the description and the synopsis should be corrected for this
patch, but please let me know if they don't contain sufficient
information.

Toggle quote (2 lines)
> Please punctuate your comments (including periods).

Done, thanks

Toggle quote (2 lines)
> Github says bsd-2. Could you check?

This has been corrected

Thanks for your review, please let me know if I missed anything else


---
Best,
Mike Delago

Mike Delago (2):
gnu: Add python-apprise.
gnu: borgmatic: Update to 1.8.6.

gnu/packages/backup.scm | 61 +++++++++++++++++++------------------
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++
2 files changed, 70 insertions(+), 29 deletions(-)


base-commit: 48b5e885182738fe28bed2d1b45e91be95dce67c
--
2.41.0
M
M
Mike Delago wrote on 21 Jan 21:07 +0100
[PATCH v2 1/2] gnu: Add python-apprise.
(address . 68569@debbugs.gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
a01e58cad9943d713e05012a656efb91059929df.1705867641.git.michaeldelago98@gmail.com
* gnu/packages/python-xyz.scm (python-apprise): New variable.

Change-Id: I24659780121e3d428002f504a459bea442790a7b
---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index aebbae1521..223d2e6f58 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14364,6 +14364,44 @@ (define-public python-appdirs
should be stored on various operating systems.")
(license license:expat)))
+(define-public python-apprise
+ (package
+ (name "python-apprise")
+ (version "1.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apprise" version))
+ (sha256
+ (base32 "0nkfv0pyn13lqdr3g3r1dhhnqxkjiayf9pny4m254w04al49shwd"))
+ ;; MacOS tests are failing when attempting to mock terminal-notifier calls.
+ ;; We don't need to test for MacOS support, and removing this file causes
+ ;; tests to succeed.
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "test/test_plugin_macosx.py")))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-babel
+ python-coverage
+ python-flake8
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-xdist))
+ (propagated-inputs (list python-certifi
+ python-click
+ python-markdown
+ python-pyyaml
+ python-requests
+ python-requests-oauthlib))
+ (home-page "https://github.com/caronc/apprise")
+ (synopsis "Push notification library and utility")
+ (description
+ "This module can send notifications to a large number of popular notification
+ services. This package also includes a command line tool for sending
+ notifications through the large number of supported services.")
+ (license license:bsd-2)))
+
(define-public python-google-pasta
(package
(name "python-google-pasta")
--
2.41.0
M
M
Mike Delago wrote on 21 Jan 21:07 +0100
[PATCH v2 2/2] gnu: borgmatic: Update to 1.8.6.
(address . 68569@debbugs.gnu.org)(name . Mike Delago)(address . michaeldelago98@gmail.com)
f9f1c548680a5fee45cca555ce7ad941e7de0d7c.1705867641.git.michaeldelago98@gmail.com
* gnu/packages/backup.scm (borgmatic): Update to 1.8.6.
[inputs]: Add python-apprise.

Change-Id: I4daed9554eec0117cecccc74325cc1b4b75aa7b2
---
gnu/packages/backup.scm | 61 +++++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 29 deletions(-)

Toggle diff (81 lines)
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 3126464347..c2482f0792 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1304,42 +1304,45 @@ (define-public disarchive
(define-public borgmatic
(package
(name "borgmatic")
- (version "1.7.12")
+ (version "1.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgmatic" version))
(sha256
- (base32 "0720wvs3h2w8h28d7mpvjfp0q37dnrwf1y2ik3y4yr9csih7fmgh"))))
+ (base32 "14bngfhfzlrqjhqw059gr6mggz84nr97b3y7y8nj53431jwrfpas"))))
(build-system python-build-system)
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Set absolute store path to borg.
- (substitute* "borgmatic/commands/borgmatic.py"
- (("\\.get\\('local_path', 'borg'\\)")
- (string-append ".get('local_path', '"
- (search-input-file inputs "bin/borg")
- "')")))
- (substitute* "tests/unit/commands/test_borgmatic.py"
- (("(module.get_local_path.+ == )'borg'" all start)
- (string-append start "'"
- (search-input-file inputs "bin/borg")
- "'")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Tests require the installed executable.
- (setenv "PATH" (string-append #$output "/bin"
- ":" (getenv "PATH")))
- (invoke "pytest")))))))
- (inputs
- (list borg python-colorama python-jsonschema python-requests
- python-ruamel.yaml))
- (native-inputs
- (list python-flexmock python-pytest python-pytest-cov))
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Set absolute store path to borg.
+ (substitute* "borgmatic/commands/borgmatic.py"
+ (("\\.get\\('local_path', 'borg'\\)")
+ (string-append ".get('local_path', '"
+ (search-input-file inputs "bin/borg")
+ "')")))
+ (substitute* "tests/unit/commands/test_borgmatic.py"
+ (("(module.get_local_path.+ == )'borg'" all start)
+ (string-append start "'"
+ (search-input-file inputs "bin/borg")
+ "'")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests require the installed executable.
+ (setenv "PATH"
+ (string-append #$output "/bin" ":"
+ (getenv "PATH")))
+ (invoke "pytest")))))))
+ (inputs (list borg
+ python-apprise
+ python-colorama
+ python-jsonschema
+ python-requests
+ python-ruamel.yaml))
+ (native-inputs (list python-flexmock python-pytest python-pytest-cov))
(home-page "https://torsion.org/borgmatic/")
(synopsis "Simple, configuration-driven backup software")
(description
--
2.41.0
?