aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2018-10-24 11:45:20 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2018-10-24 12:13:49 +0200
commit90f2a8480518555a2eb3b8fa0cb3616fdab0ccb8 (patch)
tree08252d735717adb07696f324f127fca357057a5f /gnu/packages/golang.scm
parent27d59d8bf5ed9a6560f15951395d03f05dc8d645 (diff)
downloadguix-90f2a8480518555a2eb3b8fa0cb3616fdab0ccb8.tar
guix-90f2a8480518555a2eb3b8fa0cb3616fdab0ccb8.tar.gz
gnu: Add go-github-com-minio-blake2b-simd.
* gnu/packages/golang.scm (go-github-com-minio-blake2b-simd): New variable.
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 87a1cd625e..6174f756b8 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2815,3 +2815,35 @@ encoding and 8 times faster decoding.")
(description "Package @command{keccak} implements the Keccak (SHA-3)
hash algorithm. See http://keccak.noekeon.org.")
(license license:expat))))
+
+(define-public go-github-com-minio-blake2b-simd
+ (let ((commit "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4")
+ (revision "0"))
+ (package
+ (name "go-github-com-minio-blake2b-simd")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minio/blake2b-simd.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/minio/blake2b-simd"))
+ (home-page "https://github.com/minio/blake2b-simd")
+ (synopsis "Fast hashing in pure Go of BLAKE2b with SIMD instructions")
+ (description "This package was initially based on the pure go BLAKE2b
+implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX
+optimized BLAKE2 implementation (which in turn is based on the official
+implementation. It does so by using Go's Assembler for amd64 architectures
+with a golang only fallback for other architectures.
+
+In addition to AVX there is also support for AVX2 as well as SSE. Best
+performance is obtained with AVX2 which gives roughly a 4X performance
+increase approaching hashing speeds of 1GB/sec on a single core.")
+ (license license:asl2.0))))