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")