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

commit 4b41b00f7df5e5e71ec18da4e9e20c5fb995430a
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Thu Jan 2 22:33:40 2025 +0000

    gnu: Add go-github-com-saracen-fastzip.
    
    * gnu/packages/golang-compression.scm (go-github-com-saracen-fastzip): New 
variable.
    
    Change-Id: Idcc6bcaf6f665aa985202f8ecd56308be94efd98
---
 gnu/packages/golang-compression.scm | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/golang-compression.scm 
b/gnu/packages/golang-compression.scm
index ab32f28dc8..bc62277285 100644
--- a/gnu/packages/golang-compression.scm
+++ b/gnu/packages/golang-compression.scm
@@ -29,6 +29,8 @@
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages golang-build)
+  #:use-module (gnu packages golang-check)
   #:use-module (gnu packages golang-xyz))
 
 ;;; Commentary:
@@ -384,6 +386,48 @@ LZ4 data blocks.  The implementation is based on the 
reference C
            go-github-com-pierrec-cmdflag
            go-github-com-schollz-progressbar-v3))))
 
+(define-public go-github-com-saracen-fastzip
+  (package
+    (name "go-github-com-saracen-fastzip")
+    (version "0.1.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/saracen/fastzip";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1h63lhbwkga920n6lrh1ccfps2k4c3dn2pqap0i6mvjk6dba95s0"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/saracen/fastzip"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (propagated-inputs
+     (list go-github-com-klauspost-compress
+           go-github-com-saracen-zipextra
+           go-golang-org-x-sync
+           go-golang-org-x-sys))
+    (home-page "https://github.com/saracen/fastzip";)
+    (synopsis "Zip archiver and extractor with a focus on speed")
+    (description
+     "Fastzip is an opinionated Zip archiver and extractor with a focus on
+speed.
+Features:
+@itemize
+@item archiving and extraction of files and directories can only occur within
+a specified directory
+@item permissions, ownership (uid, gid on linux/unix) and modification times
+are preserved
+@item buffers used for copying files are recycled to reduce allocations
+@item files are archived and extracted concurrently
+@item by default, @code{github.com/klauspost/compress/flate} library is used
+for compression and decompression
+@end itemize")
+    (license license:expat)))
+
 (define-public go-github-com-saracen-zipextra
   (package
     (name "go-github-com-saracen-zipextra")

Reply via email to