summary refs log tree commit diff
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
parent27d59d8bf5ed9a6560f15951395d03f05dc8d645 (diff)
downloadguix-90f2a8480518555a2eb3b8fa0cb3616fdab0ccb8.tar.gz
gnu: Add go-github-com-minio-blake2b-simd.
* gnu/packages/golang.scm (go-github-com-minio-blake2b-simd): New variable.
-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))))