aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/golang-crypto.scm
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-01-17 00:03:18 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-01-28 23:21:05 +0000
commit65a2f158bbb3415abe83d454d2dc7235e65a77cc (patch)
treefc7ca1796296ac2ad77f2b99c8c0718ea752e1cf /gnu/packages/golang-crypto.scm
parent06e70201f3a5a54399fe6de29e6160816d5e4195 (diff)
downloadguix-65a2f158bbb3415abe83d454d2dc7235e65a77cc.tar
guix-65a2f158bbb3415abe83d454d2dc7235e65a77cc.tar.gz
gnu: go-github-com-minio-sha256-simd: Move to (gnu packages golang-crypto).
* gnu/packages/golang.scm (go-github-com-minio-sha256-simd): Move from here ... * gnu/packages/golang-crypto.scm: ... to here. * gnu/packages/backup.scm: Add (gnu packages golang-crypto) to used modules. Change-Id: I4e57a1bee0c7e19a9bb60ce5ff72ccd5e42deea5
Diffstat (limited to 'gnu/packages/golang-crypto.scm')
-rw-r--r--gnu/packages/golang-crypto.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 23c47712a5..c57c525a49 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
@@ -379,6 +380,39 @@ library's internal ChaCha20 package.")
the Go standard library's TLS 1.3 implementation.")
(license license:bsd-3)))
+(define-public go-github-com-minio-sha256-simd
+ (package
+ (name "go-github-com-minio-sha256-simd")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minio/sha256-simd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j0iqsckm97g4l79vd4mc7apbmkdar23jpzqpnpdhwpfd834j8lp"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/minio/sha256-simd"))
+ (home-page "https://github.com/minio/sha256-simd")
+ (synopsis "Accelerate SHA256 computations in pure Go")
+ (description "Accelerate SHA256 computations in pure Go using AVX512 and
+AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x
+improvement (over 3 GB/s per core) in comparison to AVX2.
+
+This package is designed as a replacement for @command{crypto/sha256}. For
+Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
+supported). For ARM CPUs with the Cryptography Extensions, advantage is taken
+of the SHA2 instructions resulting in a massive performance improvement.
+
+This package uses Golang assembly. The AVX512 version is based on the Intel's
+\"multi-buffer crypto library for IPSec\" whereas the other Intel
+implementations are described in \"Fast SHA-256 Implementations on Intel
+Architecture Processors\" by J. Guilford et al.")
+ (license license:asl2.0)))
+
(define-public go-github-com-multiformats-go-multihash
(let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
(revision "0"))