summary refs log tree commit diff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-07-13 09:36:30 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-07-15 12:17:52 +0100
commit26e7288812f06364c3ddd21207cd80d0b068739e (patch)
tree6f188120fc3903ebb71455675348935f5b9609af
parente61013a0d8658f4c7eb3cd7020e8dafe69307a4a (diff)
downloadguix-26e7288812f06364c3ddd21207cd80d0b068739e.tar.gz
gnu: Add go-c2sp-org-cctv-age.
* gnu/packages/golang-crypto.scm (go-c2sp-org-cctv-age): New variable.

Change-Id: Ib7f88cc33de9e4521df21856312182eff221f0a7
-rw-r--r--gnu/packages/golang-crypto.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index a1c75620b8..ad829551e7 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -67,6 +67,55 @@
 ;;; Libraries:
 ;;;
 
+(define-public go-c2sp-org-cctv-age
+  (package
+    (name "go-c2sp-org-cctv-age")
+    (version "0.0.0-20240306222714-3ec4d716e805")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/C2SP/CCTV")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "00bk05ca94lm3b029ycwj0krmg2gfjv1c3pc7dvq9gmwwzr564v5"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            ;; Sub folders containing different projects with their own
+            ;; licenses.
+            (for-each delete-file-recursively
+                      (list "ML-KEM" "RFC6979" "ed25519" "jq255"))))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "c2sp.org/CCTV/age"
+      #:unpack-path "c2sp.org/CCTV"))
+    (propagated-inputs
+     (list go-golang-org-x-crypto))
+    (home-page "https://c2sp.org/CCTV/age")
+    (synopsis "Community Cryptography Test Vectors")
+    (description
+     "This package provides a large set of test vectors for the age file
+encryption format, as well as a framework to easily generate them.
+
+The test suite can be applied to any age implementation, regardless of the
+language it's implemented in, and the level of abstraction of its
+interface.  For the simplest, most universal integration, the implementation
+can just attempt to decrypt the test files, check the operation only succeeds
+if expect is success, and compare the decrypted payload.  Test vectors
+involving unimplemented features (such as passphrase encryption or armoring)
+can be ignored.")
+    ;; age/internal/LICENSE: Redistribution and use in source and binary
+    ;; forms, with or without modification, are permitted provided that the
+    ;; following conditions are met
+    ;;
+    ;; age/README: The vectors in the testdata folder are available under the
+    ;; terms of the Zero-Clause BSD (reproduced below), CC0 1.0, or Unlicense
+    ;; license, to your choice.
+    (license license:cc0)))
+
 (define-public go-filippo-io-age
   (package
     (name "go-filippo-io-age")