(define-module (tw packages restic) #:use-module (gnu packages golang) #:use-module (gnu packages syncthing) ;some Go libraries #:use-module (guix build utils) #:use-module (guix build-system copy) #:use-module (guix build-system go) #:use-module (guix git-download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:)) (define-public go-github-com-coreos-go-systemd-activation (package (name "go-github-com-coreos-go-systemd-activation") (version "0.0.0-20191104093116-d3cd4ed1dbcf") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/coreos/go-systemd") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "193mgqn7n4gbb8jb5kyn6ml4lbvh4xs55qpjnisaz7j945ik3kd8")))) (build-system go-build-system) (arguments '(#:import-path "github.com/coreos/go-systemd/activation" #:unpack-path "github.com/coreos/go-systemd")) (home-page "https://github.com/coreos/go-systemd") (synopsis "Go bindings to systemd socket activation") (description "Go bindings to systemd socket activation; for writing and using socket activation from Go.") (license license:asl2.0))) (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)))