[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#51502] [PATCH] gnu: Add borgmatic.
From: |
Arun Isaac |
Subject: |
[bug#51502] [PATCH] gnu: Add borgmatic. |
Date: |
Sat, 30 Oct 2021 14:27:48 +0530 |
* gnu/packages/backup.scm (borgmatic): New variable.
---
gnu/packages/backup.scm | 50 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 49 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 61d330e861..acde7e5b2f 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
@@ -80,6 +80,7 @@ (define-module (gnu packages backup)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rsync)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
@@ -1174,3 +1175,50 @@ (define-public disarchive
Gzip will need to describe the order of files in the tarball and the
compression parameters used by Gzip.")
(license license:gpl3+)))
+
+(define-public borgmatic
+ (package
+ (name "borgmatic")
+ (version "1.5.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "borgmatic" version))
+ (sha256
+ (base32 "1rdpj1mii4fbyprg56krf5k0xsd97ghybaabr7zdhsrcsxf719ha"))))
+ (build-system python-build-system)
+ (arguments
+ `(#: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"
+ (("location\\.get\\('local_path', 'borg'\\)")
+ (string-append "location.get('local_path', '"
+ (assoc-ref inputs "borg") "/bin/borg"
+ "')")))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ ;; Tests require the installed executable.
+ (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
+ ":" (getenv "PATH")))
+ (invoke "pytest")))))))
+ (inputs
+ `(("borg" ,borg)
+ ("python-colorama" ,python-colorama)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-requests" ,python-requests)
+ ("python-ruamel.yaml" ,python-ruamel.yaml)))
+ (native-inputs
+ `(("python-flexmock" ,python-flexmock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://torsion.org/borgmatic/")
+ (synopsis "Simple, configuration-driven backup software")
+ (description "borgmatic is simple, configuration-driven backup software
+for servers and workstations. Protect your files with client-side encryption.
+Backup your databases too. Monitor it all with integrated third-party
+services. borgmatic is powered by borg.")
+ (license license:gpl3+)))
--
2.33.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#51502] [PATCH] gnu: Add borgmatic.,
Arun Isaac <=