diff mbox series

[bug#58340,v2] gnu: Add age and its modules.

Message ID 20221013211031.22485-1-ngraves@ngraves.fr
State Accepted
Headers show
Series [bug#58340,v2] gnu: Add age and its modules. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Nicolas Graves Oct. 13, 2022, 9:10 p.m. UTC
* gnu/packages/golang.scm
  (age): New variable.
  (go-filippo-io-cmd-age): New variable.
  (go-filippo-io-cmd-age-keygen): New variable.
---
 gnu/packages/golang.scm | 51 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f404adc646..b9ac942702 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -36,6 +36,7 @@ 
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
+;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -950,6 +951,56 @@  (define-public go-filippo-io-edwards25519
 the necessary APIs to build a wide array of higher-level primitives.")
     (license license:bsd-3)))
 
+(define-public age
+  (package
+    (name "age")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FiloSottile/age")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19fz68n262kvg2ssw4r6nik30zk6g6cy7rdi0fm05czwigqrdz1i"))))
+    (build-system go-build-system)
+    (arguments `(#:import-path "filippo.io/age"))
+    (inputs
+     (list go-golang-org-x-sys
+           go-golang-org-x-term
+           go-golang-org-x-crypto
+           go-filippo-io-edwards25519))
+    (propagated-inputs
+     (list go-filippo-io-cmd-age
+           go-filippo-io-cmd-age-keygen))
+    (home-page "https://filippo.io/age")
+    (synopsis "Secure file encryption tool, format, and Go library")
+    (description
+     "This package implements file encryption according to the
+@code{age-encryption.org/v1} specification. It features small explicit keys,
+no config options, and UNIX-style composability.")
+    (license license:bsd-3)))
+
+(define-public go-filippo-io-cmd-age
+  (package
+    (inherit age)
+    (name "go-filippo-io-cmd-age")
+    (propagated-inputs '())
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
+(define-public go-filippo-io-cmd-age-keygen
+  (package
+    (inherit go-filippo-io-cmd-age)
+    (name "go-filippo-io-cmd-age-keygen")
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age-keygen"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
         (revision "12"))