sharlatan pushed a commit to branch go-team
in repository guix.

commit dbdc3694b656fb639d389d78a3325512be038870
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Sat Jan 11 14:37:15 2025 +0000

    gnu: Add go-github-com-klauspost-reedsolomon.
    
    * gnu/packages/golang-xyz.scm (go-github-com-klauspost-reedsolomon): New 
variable.
    
    Change-Id: I85674269cfe5fc6e4a9729ae8a6858daee31aedd
---
 gnu/packages/golang-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 9a03861100..2cf575ad1b 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -8875,6 +8875,49 @@ very eas to use.")
      (list
       #:import-path "github.com/klauspost/cpuid/v2"))))
 
+(define-public go-github-com-klauspost-reedsolomon
+  (package
+    (name "go-github-com-klauspost-reedsolomon")
+    (version "1.12.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/klauspost/reedsolomon";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04j6arqk9pisn3yjr9k90nmfs51fh5i7firl7lzs3x98d84qq5lv"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/klauspost/reedsolomon"
+      #:test-flags #~(list "-short")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-examples-and-benchmarks
+            (lambda* (#:key tests? import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (delete-file-recursively "benchmark")
+                (delete-file-recursively "examples"))))
+        (add-before 'build 'go-generate
+          (lambda* (#:key import-path #:allow-other-keys)
+            (with-directory-excursion (string-append "src/" import-path)
+              (invoke "go" "generate" "-v" "-n" "_gen")))))))
+    (propagated-inputs (list go-github-com-klauspost-cpuid-v2))
+    (home-page "https://github.com/klauspost/reedsolomon";)
+    (synopsis "Reed-Solomon algorithm implementation in Golang")
+    (description
+     "Package reedsolomon enables
+@url{https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction,
+Erasure Coding}.  It's a Go port of the
+@url{https://github.com/Backblaze/JavaReedSolomon, JavaReedSolomon}.
+
+For encoding high shard counts (>256) a Leopard implementation is used.  For
+most platforms this performs close to the original Leopard implementation in
+terms of speed.")
+    (license license:expat)))
+
 (define-public go-github-com-kljensen-snowball
   (package
     (name "go-github-com-kljensen-snowball")

Reply via email to