summary refs log tree commit diff
path: root/gnu/packages/golang-crypto.scm
diff options
context:
space:
mode:
authorRodion Goritskov <rodion.goritskov@gmail.com>2024-05-01 00:42:42 +0400
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-07-11 12:29:43 +0100
commit819d33a18d3acd1ed571f6643b75beee1fd1feb7 (patch)
treefa3accf8a6be5019661e5f17eb364ee24abcf8d0 /gnu/packages/golang-crypto.scm
parentb91351416914222d6dcd0ceb4bc0776c50e7bc76 (diff)
downloadguix-819d33a18d3acd1ed571f6643b75beee1fd1feb7.tar.gz
gnu: Add go-github-com-google-go-tpm.
* gnu/packages/golang-crypto.scm (go-github-com-google-go-tpm): New variable.

Change-Id: Ib7b640dcb4ea6b87fca1d320f044315620f7e5f3
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/golang-crypto.scm')
-rw-r--r--gnu/packages/golang-crypto.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index ddeb79badf..c07c58f685 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -578,6 +578,48 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
       #:go go-1.18
       #:import-path "github.com/golang-jwt/jwt/v5"))))
 
+(define-public go-github-com-google-go-tpm
+  (package
+    (name "go-github-com-google-go-tpm")
+    (version "0.9.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/google/go-tpm")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1c5j5cvwl45ka93nknmv454ivd7kp9n8yql19gr6z01z0s1ph7sg"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:go go-1.22
+      #:import-path "github.com/google/go-tpm"
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: Break cycle:
+          ;; github.com/google/go-tpm/tpm2/transport/simulator/simulator.go ->
+          ;; github.com/google/go-tpm-tools -> github.com/google/go-tpm.
+          ;; Consider to add required inputs on dependent package.
+          (delete 'build)
+          (delete 'check))))
+    (home-page "https://github.com/google/go-tpm")
+    (synopsis "Go-TPM Legacy TPM 2.0 library")
+    (description
+     "This package provides a functionality to communicate directly with a
+@acronym{Trusted Platform Module, TPM} device.  The libraries don't implement
+the entire spec for neither 1.2 nor 2.0.
+
+Included submodules:
+@itemize
+@item @code{tpm} - TPM 1.2 client library
+@item @code{tpm2} - TPM 2.0 client library.
+@item @code{direct} - the prototype \"TPMDirect\" TPM 2.0 API, which is
+intended to (eventually) be 1:1 with the TPM 2.0 spec
+@end itemize")
+    (license license:asl2.0)))
+
 ;; It's not public for purpose, as it contains a lot of golang modules which
 ;; may be inherited from the single source, but the package itself does not
 ;; have to be installed directly or linked to other packages..