From bcf63e6bf2ed3dec447d5c2fa3bc67b784eacbe1 Mon Sep 17 00:00:00 2001 From: Timo Wilken Date: Fri, 21 Apr 2023 21:55:15 +0200 Subject: gnu: Add restic-rest-server. * gnu/packages/backup.scm (restic-rest-server): New variable. Signed-off-by: Leo Famulari --- gnu/packages/backup.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu/packages/backup.scm') diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 134647d33d..94e8e3acc4 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Feng Shu +;;; Copyright © 2023 Timo Wilken ;;; ;;; This file is part of GNU Guix. ;;; @@ -1029,6 +1030,53 @@ precious backup space. @end itemize") (license license:bsd-2))) +(define-public restic-rest-server + (package + (name "restic-rest-server") + (version "0.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/restic/rest-server") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1nvmxc9x0mlks6yfn66fmwn50k5q83ip4g9vvb0kndzd7hwcyacy")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/restic/rest-server/cmd/rest-server" + #:unpack-path "github.com/restic/rest-server" + #:install-source? #f ;all we need is the binary + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys . args) + (when tests? + ;; Unit tests seems to break with Guix' non-standard TMPDIR. + (setenv "TMPDIR" "/tmp") + (apply (assoc-ref %standard-phases + 'check) args)))) + (add-after 'install 'rename-binary + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (assoc-ref outputs "out") + ;; "rest-server" is a bit too generic. + (rename-file "bin/rest-server" + "bin/restic-rest-server"))))))) + (propagated-inputs (list go-golang-org-x-crypto + go-github-com-spf13-cobra + go-github-com-prometheus-client-golang + go-github-com-miolini-datacounter + go-github-com-minio-sha256-simd + go-github-com-gorilla-handlers + go-github-com-coreos-go-systemd-activation)) + (home-page "https://github.com/restic/rest-server") + (synopsis "Restic REST server") + (description + "The Restic REST server is a high performance HTTP server that implements +restic's REST backend API. It provides a secure and efficient way to backup +data remotely, using the restic backup client and a @code{rest:} URL.") + (license license:bsd-2))) + (define-public zbackup (package (name "zbackup") -- cgit 1.4.1