projects/guix·blob javascript-team · refs

1323 lines · 48.1 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 Leo Famulari <[email protected]>
3;;; Copyright © 2020 Danny Milosavljevic <[email protected]>
4;;; Copyright © 2021, 2026 Arun Isaac <[email protected]>
5;;; Copyright © 2021 Efraim Flashner <[email protected]>
6;;; Copyright © 2022-2026 Sharlatan Hellseher <[email protected]>
7;;; Copyright © 2024 Troy Figiel <[email protected]>
8;;; Copyright © 2025 Patrick Norton <[email protected]>
9;;; Copyright © 2026 Orahcio Felício de Sousa <[email protected]>
10;;;
11;;; This file is part of GNU Guix.
12;;;
13;;; GNU Guix is free software; you can redistribute it and/or modify it
14;;; under the terms of the GNU General Public License as published by
15;;; the Free Software Foundation; either version 3 of the License, or (at
16;;; your option) any later version.
17;;;
18;;; GNU Guix is distributed in the hope that it will be useful, but
19;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21;;; GNU General Public License for more details.
22;;;
23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
26;;; Commentary:
27;;;
28;;; Please: Try to add new module packages in alphabetic order.
29;;;
30;;; Code:
31
32(define-module (gnu packages golang-compression)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix build-system go)
35 #:use-module (guix gexp)
36 #:use-module (guix git-download)
37 #:use-module (guix packages)
38 #:use-module (guix utils)
39 #:use-module (gnu packages)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages golang-build)
42 #:use-module (gnu packages golang-check)
43 #:use-module (gnu packages golang-crypto)
44 #:use-module (gnu packages golang-xyz)
45 #:use-module (gnu packages pkg-config))
46
47
48(define-public go-code-forgejo-org-forgejo-go-rpmutils
49 (package
50 (name "go-code-forgejo-org-forgejo-go-rpmutils")
51 (version "1.0.0")
52 (source
53 (origin
54 (method git-fetch)
55 (uri (git-reference
56 (url "https://code.forgejo.org/forgejo/go-rpmutils.git")
57 (commit (string-append "v" version))))
58 (file-name (git-file-name name version))
59 (sha256
60 (base32 "1zgqr3il0w7j6964mh1nw5zg9shp1p039a8sj0y946r26labqm9i"))))
61 (build-system go-build-system)
62 (arguments
63 (list
64 #:import-path "code.forgejo.org/forgejo/go-rpmutils"))
65 (native-inputs
66 (list go-github-com-stretchr-testify))
67 (propagated-inputs
68 (list go-github-com-protonmail-go-crypto))
69 (home-page "https://code.forgejo.org/forgejo/go-rpmutils")
70 (synopsis "Go RPM Utils")
71 (description
72 "go-rpmutils is a Golang library for parsing @url{http://www.rpm.org,
73RPM} file archives. It's a slimmed version of
74@url{https://github.com/sassoftware/go-rpmutils, go-rpmutils}.")
75 (license license:asl2.0)))
76
77(define-public go-github-com-a1ex3-zstd-seekable-format-go-pkg
78 (let ((commit "eb2f95f46725437a64063e005a54e20c95b774c6")
79 (revision "0"))
80 (package
81 (name "go-github-com-a1ex3-zstd-seekable-format-go-pkg")
82 (version (git-version "0.0.0" revision commit))
83 (source
84 (origin
85 (method git-fetch)
86 (uri (git-reference
87 (url "https://github.com/a1ex3/zstd-seekable-format-go")
88 (commit commit)))
89 (file-name (git-file-name name version))
90 (sha256
91 (base32 "13bads7hxqf3c5rszhyib6km4bq6zslayzg2787czn3avbnh8g6f"))))
92 (build-system go-build-system)
93 (arguments
94 (list
95 #:skip-build? #t
96 #:import-path "github.com/a1ex3/zstd-seekable-format-go"))
97 (native-inputs
98 (list go-github-com-klauspost-compress
99 go-github-com-stretchr-testify))
100 (propagated-inputs
101 (list go-github-com-cespare-xxhash-v2
102 go-github-com-google-btree
103 go-golang-org-x-sync))
104 (home-page "https://github.com/a1ex3/zstd-seekable-format-go")
105 (synopsis "Seekable ZSTD compression format implemented in Golang")
106 (description
107 "This packages provides a seekable ZSTD compression format implemented in
108Golang. It is a random access reader (using uncompressed file offsets) for
109ZSTD-compressed streams. This can be used for creating transparent
110compression layers. Coupled with Content Defined Chunking (CDC) it can also
111be used as a robust de-duplication layer. It is an alternative fork of
112@url{https://github.com/SaveTheRbtz/zstd-seekable-format-go}.")
113 (license license:expat))))
114
115(define-public go-github-com-anchore-go-lzo
116 (package
117 (name "go-github-com-anchore-go-lzo")
118 (version "0.1.0")
119 (source
120 (origin
121 (method git-fetch)
122 (uri (git-reference
123 (url "https://github.com/anchore/go-lzo")
124 (commit (string-append "v" version))))
125 (file-name (git-file-name name version))
126 (sha256
127 (base32 "1d8vi92s4h9spi3jsh6d4gri4g8qjpaa51f2b2sir6r32imymi68"))))
128 (build-system go-build-system)
129 (arguments
130 (list
131 #:import-path "github.com/anchore/go-lzo"
132 #:test-flags
133 ;; XXX: reader_utils_test.go:119: using native LZO
134 ;; validator...
135 ;; reader_test.go:95: compressed file
136 ;; testdata/cache/short-repeated.cpp.lzo using method cpp: 400 -> 39
137 ;; bytes reader_utils_test.go:147: lzo-wrapper decompression failed:
138 ;; signal: aborted Stderr: malloc(): invalid size (unsorted)
139 #~(list "-skip" (string-join
140 (list "Test_Decompression_Fixed/short-repeated"
141 "Test_Decompression_Fixed/long-repeated"
142 "Test_Decompression_Fixed/zeros")
143 "|"))))
144 (propagated-inputs
145 (list lzo))
146 (home-page "https://github.com/anchore/go-lzo")
147 (synopsis "LZO1X decompression library written in Go")
148 (description
149 "This package provides an implementation of the LZO1X decompression
150algorithm in Go. The implementation is derived from the
151@url{https://docs.kernel.org/staging/lzo.html, Linux kernel documentation for
152the LZO stream format} and the @url{https://github.com/AxioDL/lzokay,
153implementation from lzokay project} (MIT licensed). It includes a
154@code{Reader} for streaming decompressed data and a standalone
155@code{Decompress} function for use with byte slices.")
156 (license license:expat)))
157
158(define-public go-github-com-andybalholm-brotli
159 (package
160 (name "go-github-com-andybalholm-brotli")
161 (version "1.1.1")
162 (source
163 (origin
164 (method git-fetch)
165 (uri (git-reference
166 (url "https://github.com/andybalholm/brotli")
167 (commit (string-append "v" version))))
168 (file-name (git-file-name name version))
169 (sha256
170 (base32 "011yj5pqcy97614njzgcn8apxbk14m57h534jkvgr0mmna57wawh"))))
171 (build-system go-build-system)
172 (arguments
173 (list
174 #:import-path "github.com/andybalholm/brotli"))
175 (native-inputs
176 (list go-github-com-xyproto-randomstring))
177 (home-page "https://github.com/andybalholm/brotli")
178 (synopsis "Pure Go Brotli encoder and decoder")
179 (description
180 "This package is a brotli compressor and decompressor implemented in Go.
181It was translated from the reference implementation
182(@url{https://github.com/google/brotli}) with the @code{c2go} tool at
183@url{https://github.com/andybalholm/c2go}.")
184 (license license:expat)))
185
186(define-public go-github-com-blakesmith-ar
187 (package
188 (name "go-github-com-blakesmith-ar")
189 (version "0.0.0-20190502131153-809d4375e1fb")
190 (source
191 (origin
192 (method git-fetch)
193 (uri (git-reference
194 (url "https://github.com/blakesmith/ar")
195 (commit (go-version->git-ref version))))
196 (file-name (git-file-name name version))
197 (sha256
198 (base32 "00fxkc04b9cb53xxzw5gdqqpwlqv9n5kk0yn2lb5w4rgj5gm8ph1"))))
199 (build-system go-build-system)
200 (arguments
201 (list
202 #:import-path "github.com/blakesmith/ar"
203 #:test-flags #~(list "-vet=off")))
204 (home-page "https://github.com/blakesmith/ar")
205 (synopsis "Golang archive file reader")
206 (description
207 "This package provides a Golang file reader for archive files generated
208with @code{ar}.")
209 (license license:expat)))
210
211(define-public go-github-com-bodgit-sevenzip
212 (package
213 (name "go-github-com-bodgit-sevenzip")
214 (version "1.6.1")
215 (source
216 (origin
217 (method git-fetch)
218 (uri (git-reference
219 (url "https://github.com/bodgit/sevenzip")
220 (commit (string-append "v" version))))
221 (file-name (git-file-name name version))
222 (sha256
223 (base32 "0hjams64h6i3in3w35ip5d4n0diza5ara58k82y4cb59micv4qqd"))))
224 (build-system go-build-system)
225 (arguments
226 (list
227 #:import-path "github.com/bodgit/sevenzip"))
228 (native-inputs
229 (list go-github-com-stretchr-testify))
230 (propagated-inputs
231 (list go-github-com-andybalholm-brotli
232 go-github-com-bodgit-plumbing
233 go-github-com-bodgit-windows ;fails to build without
234 go-github-com-hashicorp-golang-lru-v2
235 go-github-com-klauspost-compress
236 go-github-com-pierrec-lz4-v4
237 go-github-com-spf13-afero
238 go-github-com-ulikunitz-xz
239 go-go4-org
240 go-golang-org-x-sync
241 go-golang-org-x-text))
242 (home-page "https://github.com/bodgit/sevenzip")
243 (synopsis "Golang library for dealing with 7-zip archives")
244 (description
245 "Package sevenzip provides read access to 7-zip archives inspired by std
246@code{archive/zip}. It is implemented in pure Go without external libraries
247or binaries needed.")
248 (license license:bsd-3)))
249
250(define-public go-github-com-buengese-sgzip
251 (package
252 (name "go-github-com-buengese-sgzip")
253 (version "0.1.1")
254 (source
255 (origin
256 (method git-fetch)
257 (uri (git-reference
258 (url "https://github.com/buengese/sgzip")
259 (commit (string-append "v" version))))
260 (file-name (git-file-name name version))
261 (sha256
262 (base32 "01gh3d9nnb5aljjyk3svhdbihhz9x448qh6xkl2fps8w1h2knw58"))))
263 (build-system go-build-system)
264 (arguments
265 (list
266 #:import-path "github.com/buengese/sgzip"))
267 (propagated-inputs
268 (list go-github-com-klauspost-compress))
269 (home-page "https://github.com/buengese/sgzip")
270 (synopsis "Gzip implementation that allows seeking in the compressed file")
271 (description
272 "This package implements a seekable version of gzip-format compressed files,
273compliant with @url{https://rfc-editor.org/rfc/rfc1952.html, RFC 1952}. This
274implementation allows seeking in the compressed file. In normal gzip files
275that can only be achieved by decompressing from the start and discarding all
276data until the selected offset. This gzip implementation works around this by
277creating a special metadata file that maps uncompressed blocks to compressed
278blocks allowing it to only read the compressed blocks required.")
279 (license (list license:bsd-3
280 license:expat))))
281
282(define-public go-github-com-cavaliergopher-cpio
283 (package
284 (name "go-github-com-cavaliergopher-cpio")
285 (version "1.0.1")
286 (source
287 (origin
288 (method git-fetch)
289 (uri (git-reference
290 (url "https://github.com/cavaliergopher/cpio")
291 (commit (string-append "v" version))))
292 (file-name (git-file-name name version))
293 (sha256
294 (base32 "0b1ix8z9kwfpwqi0q08ivcfcimlqk781jbzbfw7qbqavh702w3m2"))))
295 (build-system go-build-system)
296 (arguments
297 (list
298 #:import-path "github.com/cavaliergopher/cpio"))
299 (home-page "https://github.com/cavaliergopher/cpio")
300 (synopsis "Readers and writers for CPIO archives")
301 (description
302 "This package provides readers and writers for CPIO archives. Currently,
303only the SVR4 (New ASCII) format is supported, both with and without
304checksums.")
305 (license license:bsd-3)))
306
307(define-public go-github-com-codeclysm-extract
308 (package
309 (name "go-github-com-codeclysm-extract")
310 (version "4.0.0")
311 (source
312 (origin
313 (method git-fetch)
314 (uri (git-reference
315 (url "https://github.com/codeclysm/extract")
316 (commit (string-append "v" version))))
317 (file-name (git-file-name name version))
318 (sha256
319 (base32 "1sghhj00j370x7871i1qrnk349mld5ssk2nk74xq77bkf64mxccz"))))
320 (build-system go-build-system)
321 (arguments
322 (list
323 #:import-path "github.com/codeclysm/extract/v4"
324 #:test-flags
325 ;; Skip tests which requires network connection.
326 #~(list "-skip" (string-join
327 (list "TestTarGzMemoryConsumption"
328 "TestZipMemoryConsumption"
329 "TestZipDirectoryPermissions")
330 "|"))))
331 (native-inputs
332 (list go-github-com-stretchr-testify))
333 (propagated-inputs
334 (list go-github-com-arduino-go-paths-helper
335 go-github-com-h2non-filetype
336 go-github-com-juju-errors
337 go-github-com-klauspost-compress
338 go-github-com-ulikunitz-xz
339 go-golang-org-x-sys))
340 (home-page "https://github.com/codeclysm/extract")
341 (synopsis "Extract archives for different formats")
342 (description
343 "Package extract allows to extract archives in @code{zip},@code{tar.gz}
344or @code{tar.bz2} formats easily.")
345 (license license:expat)))
346
347(define-public go-github-com-containerd-stargz-snapshotter-estargz
348 (package
349 (name "go-github-com-containerd-stargz-snapshotter-estargz")
350 (version "0.18.0")
351 (source
352 (origin
353 (method git-fetch)
354 (uri (git-reference
355 (url "https://github.com/containerd/stargz-snapshotter")
356 (commit (go-version->git-ref version
357 #:subdir "estargz"))))
358 (file-name (git-file-name name version))
359 (sha256
360 (base32 "0058acl307d8gkkp0iyd9w290kwixi9362ji48azl5cp7mx4l27f"))))
361 (build-system go-build-system)
362 (arguments
363 (list
364 #:import-path "github.com/containerd/stargz-snapshotter/estargz"
365 #:unpack-path "github.com/containerd/stargz-snapshotter"))
366 (propagated-inputs
367 (list go-github-com-klauspost-compress
368 go-github-com-opencontainers-go-digest
369 go-github-com-vbatts-tar-split
370 go-golang-org-x-sync))
371 (home-page "https://github.com/containerd/stargz-snapshotter")
372 (synopsis "Reader/writer library for eStargz container image format")
373 (description
374 "This package implements reader/writer library
375@url{https://github.com/containerd/stargz-snapshotter/blob/v0.18.0/docs/estargz.md,
376eStargz} - a lazily-pullable image format.")
377 (license license:asl2.0)))
378
379(define-public go-github-com-cpuguy83-tar2go
380 (package
381 (name "go-github-com-cpuguy83-tar2go")
382 (version "0.3.1")
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/cpuguy83/tar2go")
388 (commit (string-append "v" version))))
389 (file-name (git-file-name name version))
390 (sha256
391 (base32 "0vag88n77kfmb4msygkyyywcjyxlmjbsx4sqnhmi92jcb8bh93bb"))))
392 (build-system go-build-system)
393 (arguments
394 (list
395 #:import-path "github.com/cpuguy83/tar2go"))
396 (home-page "https://github.com/cpuguy83/tar2go")
397 (synopsis "Tar files interfaces for Golang")
398 (description
399 "This package defines basic interfaces to handle tar files. It is similar
400to @url{https://pkg.go.dev/io/fs#FS, fs.FS}, but for tar files.")
401 (license license:expat)))
402
403(define-public go-github-com-datadog-zstd
404 (package
405 (name "go-github-com-datadog-zstd")
406 (version "1.5.7")
407 (source
408 (origin
409 (method git-fetch)
410 (uri (git-reference
411 (url "https://github.com/DataDog/zstd")
412 (commit (string-append "v" version))))
413 (file-name (git-file-name name version))
414 (sha256
415 (base32 "0hm1blyymf1zhgid8f65s2bdd2qz4wiicpnxrv1b18xc8q7fv8hs"))))
416 (build-system go-build-system)
417 (arguments
418 (list
419 ;; XXX: These flags need to be applied in the final application as well
420 ;; to build with system's libzstd. Keep all inputs as propagated as
421 ;; well.
422 #:build-flags #~(list "-tags" "external_libzstd")
423 #:test-flags #~(list "-tags" "external_libzstd")
424 #:import-path "github.com/DataDog/zstd"))
425 (propagated-inputs
426 (list pkg-config
427 (list zstd "lib")))
428 (home-page "https://github.com/DataDog/zstd")
429 (synopsis "Zstd Golang wrapper")
430 (description
431 "This package provides a Go wrapper to
432@url{https://github.com/facebook/zstd, zstd} C library.")
433 (license license:bsd-3)))
434
435(define-public go-github-com-dsnet-compress
436 (package
437 (name "go-github-com-dsnet-compress")
438 (version "0.0.1")
439 (source
440 (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/dsnet/compress")
444 (commit (string-append "v" version))))
445 (file-name (git-file-name name version))
446 (sha256
447 (base32 "1wwjaymzb1xxq3ybch3nwn72xhi2s40cvz0cl986yad3w1xwzj91"))))
448 (build-system go-build-system)
449 (arguments
450 (list
451 #:import-path "github.com/dsnet/compress"
452 #:test-subdirs
453 #~(list "brotli/..." "bzip2/..." "flate" "internal" "internal/prefix"
454 "internal/testutil" "xflate/...")
455 #:phases
456 #~(modify-phases %standard-phases
457 ;; Testdata directories contains some compressed files requiring
458 ;; for running tests but not required on run time.
459 (add-after 'check 'remove-testdata
460 (lambda* (#:key import-path #:allow-other-keys)
461 (delete-file-recursively
462 (string-append "src/" import-path "/bzip2/testdata"))
463 (delete-file-recursively
464 (string-append "src/" import-path "/brotli/testdata"))
465 (delete-file-recursively
466 (string-append "src/" import-path "/testdata")))))))
467 (propagated-inputs
468 (list go-github-com-dsnet-golib
469 go-github-com-klauspost-compress
470 go-github-com-ulikunitz-xz))
471 (home-page "https://github.com/dsnet/compress")
472 (synopsis "Collection of compression libraries for Golang")
473 (description
474 "Package compress is a collection of compression libraries implementing
475Golang modules:
476@table @code
477@item brotli
478Implements the Brotli format, described in RFC 7932.
479@item bzip2
480Implements the BZip2 compressed data format.
481@item flate
482Implements the DEFLATE format, described in RFC 1951.
483@item xflate
484Implements the XFLATE format, an random-access extension to DEFLATE.
485@end table")
486 (license license:bsd-3)))
487
488(define-public go-github-com-golang-snappy
489 (package
490 (name "go-github-com-golang-snappy")
491 (version "0.0.4")
492 (source
493 (origin
494 (method git-fetch)
495 (uri (git-reference
496 (url "https://github.com/golang/snappy")
497 (commit (string-append "v" version))))
498 (file-name (git-file-name name version))
499 (sha256
500 (base32 "004cw699yz3pdpawhjhpa0y94c4w479nw1rf39zj6h6027kpwv2j"))
501 (patches (search-patches "go-github-com-golang-snappy-32bit-test.patch"))))
502 (build-system go-build-system)
503 (arguments
504 `(#:import-path "github.com/golang/snappy"))
505 (home-page "https://github.com/golang/snappy")
506 (synopsis "Snappy compression format in the Go programming language")
507 (description "This package provides a Go implementation of the Snappy
508compression format.")
509 (license license:bsd-3)))
510
511(define-public go-github-com-google-rpmpack
512 (package
513 (name "go-github-com-google-rpmpack")
514 (version "0.7.1")
515 (source
516 (origin
517 (method git-fetch)
518 (uri (git-reference
519 (url "https://github.com/google/rpmpack")
520 (commit (string-append "v" version))))
521 (file-name (git-file-name name version))
522 (sha256
523 (base32 "17h2s1g191cvbs16fnclkpb42d9mx6mdmhd04kxzv8bss7m59pr4"))))
524 (build-system go-build-system)
525 (arguments
526 (list
527 #:import-path "github.com/google/rpmpack"))
528 (native-inputs
529 (list go-github-com-google-go-cmp))
530 (propagated-inputs
531 (list go-github-com-cavaliergopher-cpio
532 go-github-com-klauspost-compress
533 go-github-com-klauspost-pgzip
534 go-github-com-ulikunitz-xz))
535 (home-page "https://github.com/google/rpmpack")
536 (synopsis "Pack files to rpm files")
537 (description
538 "Package rpmpack packs files to rpm files. It is designed to be simple
539to use and deploy, not requiring any filesystem access to create rpm files.")
540 (license license:asl2.0)))
541
542(define-public go-github-com-hhrutter-lzw
543 (package
544 (name "go-github-com-hhrutter-lzw")
545 (version "1.0.0")
546 (source
547 (origin
548 (method git-fetch)
549 (uri (git-reference
550 (url "https://github.com/hhrutter/lzw")
551 (commit (string-append "v" version))))
552 (file-name (git-file-name name version))
553 (sha256
554 (base32 "1n13qhf8ih08jzm10wprdvjy56ylmy6fhakyqrddm6nszf397wch"))))
555 (build-system go-build-system)
556 (arguments
557 (list
558 #:import-path "github.com/hhrutter/lzw"))
559 (home-page "https://github.com/hhrutter/lzw")
560 (synopsis "Extended version of @code{compress/lzw}")
561 (description
562 "This package provides an enhanced version of the @code{compress/lzw}
563library included in the stdlib, and supports GIF, TIFF and PDF.")
564 (license license:bsd-3)))
565
566(define-public go-github-com-klauspost-compress
567 (package
568 (name "go-github-com-klauspost-compress")
569 (version "1.18.0")
570 (source
571 (origin
572 (method git-fetch)
573 (uri (git-reference
574 (url "https://github.com/klauspost/compress")
575 (commit (string-append "v" version))))
576 (file-name (git-file-name name version))
577 (sha256
578 (base32 "1vpk98rkfc67pniqj7xvxm2b275xwzav8rnca06023py769rlkyy"))))
579 (build-system go-build-system)
580 (arguments
581 (list
582 #:test-flags #~(list "-short" "-tags=nounsafe")
583 #:import-path "github.com/klauspost/compress"))
584 (home-page "https://github.com/klauspost/compress")
585 (synopsis "Go compression library")
586 (description "@code{compress} provides various compression algorithms.")
587 (license license:bsd-3)))
588
589(define-public go-github-com-klauspost-pgzip
590 (package
591 (name "go-github-com-klauspost-pgzip")
592 (version "1.2.6")
593 (source
594 (origin
595 (method git-fetch)
596 (uri (git-reference
597 (url "https://github.com/klauspost/pgzip")
598 (commit (string-append "v" version))))
599 (file-name (git-file-name name version))
600 (sha256
601 (base32 "1j29wr6nd9ncdbkjphyziv0h8p5s2mj222cgcfqxmzjnfn7623d8"))))
602 (build-system go-build-system)
603 (arguments
604 (list
605 #:import-path "github.com/klauspost/pgzip"))
606 (propagated-inputs (list go-github-com-klauspost-compress))
607 (home-page "https://github.com/klauspost/pgzip")
608 (synopsis "Parallel (de)compression of gzip files in Go")
609 (description
610 "This package implements parallel gzip compression and decompression in
611Golang and is fully compatible with @code{compress/gzip} from the standard
612library. This is beneficial for large amounts of data, say more than 1MB at a
613time, as otherwise the internal gzip library will likely be faster.")
614 (license (list license:bsd-3 license:expat))))
615
616(define-public go-github-com-mholt-archiver-v3
617 (package
618 (name "go-github-com-mholt-archiver-v3")
619 (version "3.5.1")
620 (source
621 (origin
622 (method git-fetch)
623 (uri (git-reference
624 (url "https://github.com/mholt/archiver")
625 (commit (string-append "v" version))))
626 (file-name (git-file-name name version))
627 (sha256
628 (base32 "1py186hfy4p69wghqmbsyi1r3xvw1nyl55pz8f97a5qhmwxb3mwp"))))
629 (build-system go-build-system)
630 (arguments
631 (list
632 #:import-path "github.com/mholt/archiver/v3"))
633 (propagated-inputs
634 (list go-github-com-andybalholm-brotli
635 go-github-com-dsnet-compress
636 go-github-com-golang-snappy
637 go-github-com-klauspost-compress
638 go-github-com-klauspost-pgzip
639 go-github-com-nwaples-rardecode
640 go-github-com-pierrec-lz4-v4
641 go-github-com-ulikunitz-xz
642 go-github-com-xi2-xz))
643 (home-page "https://github.com/mholt/archiver")
644 (synopsis "Multi format archiver Golang library and CLI command")
645 (description
646 "Package archiver facilitates convenient, cross-platform, high-level
647archival and compression operations for a variety of formats and compression
648algorithms.
649
650Features:
651@itemize
652@item stream-oriented APIs
653@item automatically identify archive and compression formats
654@item traverse directories, archive files, and any other file uniformly as
655@code{io/fs} file systems
656@item compress and decompress files
657@item create and extract archive files
658@item walk or traverse into archive files
659@item extract only specific files from archives
660@item insert (append) into .tar and .zip archives
661@item read from password-protected 7-Zip files
662@item numerous archive and compression formats supported
663@item extensible (add more formats just by registering them)
664@item cross-platform, static binary
665@item pure Golang (no cgo)
666@item multithreaded Gzip
667@item adjust compression levels
668@item automatically add compressed files to zip archives without
669re-compressing
670@item open password-protected rar archives
671@end itemize
672
673Supported compression formats:
674@itemize
675@item brotli (.br)
676@item bzip2 (.bz2)
677@item flate (.zip)
678@item gzip (.gz)
679@item lz4 (.lz4)
680@item lzip (.lz)
681@item snappy (.sz)
682@item xz (.xz)
683@item zlib (.zz)
684@item zstandard (.zst)
685@end itemize
686
687Supported archive formats:
688@itemize
689@item .zip
690@item .tar (including any compressed variants like .tar.gz)
691@item .rar (read-only)
692@item .7z (read-only)
693@end itemize")
694 (license license:expat)))
695
696(define-public go-github-com-mholt-archives
697 (package
698 (name "go-github-com-mholt-archives")
699 (version "0.1.5")
700 (source
701 (origin
702 (method git-fetch)
703 (uri (git-reference
704 (url "https://github.com/mholt/archives")
705 (commit (string-append "v" version))))
706 (file-name (git-file-name name version))
707 (sha256
708 (base32 "1bir5v306nxkxgr7kdpbnknaw03iqnpgbw26qzs2d2jmy0ahf8jq"))))
709 (build-system go-build-system)
710 (arguments
711 (list
712 #:import-path "github.com/mholt/archives"
713 #:test-flags
714 #~(list "-skip"
715 (string-join
716 (list "TestBrotli_Fuzzy_Both/ascii_107"
717 "TestBrotli_Fuzzy_Both/ascii_231"
718 "TestBrotli_Fuzzy_Both/ascii_25"
719 "TestBrotli_Fuzzy_Both/ascii_284"
720 "TestBrotli_Fuzzy_Both/ascii_310"
721 "TestBrotli_Fuzzy_Both/ascii_341"
722 "TestBrotli_Fuzzy_Both/ascii_351"
723 "TestBrotli_Match_SmallStreams/empty_stream_uncompressed"
724 "TestBrotli_Match_Stream/uncompressed_yaml"
725 "TestIdentifyCanAssessSmallOrNoContent/should_.*_stream")
726 "|"))))
727 (propagated-inputs
728 (list go-github-com-andybalholm-brotli
729 go-github-com-bodgit-sevenzip
730 go-github-com-dsnet-compress
731 go-github-com-klauspost-compress
732 go-github-com-klauspost-pgzip
733 go-github-com-mikelolasagasti-xz
734 go-github-com-minio-minlz
735 go-github-com-nwaples-rardecode-v2
736 go-github-com-pierrec-lz4-v4
737 go-github-com-sorairolake-lzip-go
738 go-github-com-starry-s-zip
739 go-github-com-ulikunitz-xz
740 go-golang-org-x-text))
741 (home-page "https://github.com/mholt/archives")
742 (synopsis "Multi type library to work with archives for Go")
743 (description
744 "This package provides a multi-format Go library for working with
745archives and compression formats with a unified API and as virtual file
746systems compatible with @url{https://pkg.go.dev/io/fs, @code{ io/fs}}.")
747 (license license:expat)))
748
749(define-public go-github-com-mikelolasagasti-xz
750 (package
751 (name "go-github-com-mikelolasagasti-xz")
752 (version "1.0.1")
753 (source
754 (origin
755 (method git-fetch)
756 (uri (git-reference
757 (url "https://github.com/mikelolasagasti/xz")
758 (commit (string-append "v" version))))
759 (file-name (git-file-name name version))
760 (sha256
761 (base32 "1qh5cms6ggihz302dbxjb6g4z1pnkbll564zwg2838ykbh3hlny2"))))
762 (build-system go-build-system)
763 (arguments
764 (list
765 #:import-path "github.com/mikelolasagasti/xz"))
766 (home-page "https://github.com/mikelolasagasti/xz")
767 (synopsis "Native Go XZ decompression package")
768 (description "Package xz implements XZ decompression natively in Go.")
769 (license license:bsd-0)))
770
771(define-public go-github-com-minio-minlz
772 (package
773 (name "go-github-com-minio-minlz")
774 (version "1.0.1")
775 (source
776 (origin
777 (method git-fetch)
778 (uri (git-reference
779 (url "https://github.com/minio/minlz")
780 (commit (string-append "v" version))))
781 (file-name (git-file-name name version))
782 (sha256
783 (base32 "0m493zr2810p0zscpwnl0yp8nh8y9rkgahhgpz9k6aqi9nwwvmyz"))))
784 (build-system go-build-system)
785 (arguments
786 (list
787 #:import-path "github.com/minio/minlz"))
788 (propagated-inputs
789 (list go-github-com-klauspost-compress))
790 (home-page "https://github.com/minio/minlz")
791 (synopsis "LZ77 compressor")
792 (description
793 "@code{MinLZ} is a LZ77-type compressor with a fixed byte-aligned
794encoding, in the similar class to Snappy and LZ4.")
795 (license license:asl2.0)))
796
797(define-public go-github-com-moby-go-archive
798 (package
799 (name "go-github-com-moby-go-archive")
800 (version "0.1.0")
801 (source
802 (origin
803 (method git-fetch)
804 (uri (git-reference
805 (url "https://github.com/moby/go-archive")
806 (commit (string-append "v" version))))
807 (file-name (git-file-name name version))
808 (sha256
809 (base32 "1vyz6nxbs368wf4ndn0l6b190rb303frf1sbp5c5s09law14cs24"))))
810 (build-system go-build-system)
811 (arguments
812 (list
813 #:import-path "github.com/moby/go-archive"))
814 (native-inputs
815 (list go-github-com-adalogics-go-fuzz-headers
816 go-gotest-tools-v3))
817 (propagated-inputs
818 (list go-github-com-containerd-log
819 go-github-com-google-go-cmp
820 go-github-com-klauspost-compress
821 go-github-com-moby-patternmatcher
822 go-github-com-moby-sys-mount
823 go-github-com-moby-sys-mountinfo
824 go-github-com-moby-sys-reexec
825 go-github-com-moby-sys-sequential
826 go-github-com-moby-sys-user
827 go-github-com-moby-sys-userns
828 go-golang-org-x-sys))
829 (home-page "https://github.com/moby/go-archive")
830 (synopsis "Utility for packing and unpacking container tar archives")
831 (description
832 "Package archive provides helper functions for dealing with archive
833files.")
834 (license license:asl2.0)))
835
836(define-public go-github-com-nwaples-rardecode
837 (package
838 (name "go-github-com-nwaples-rardecode")
839 (version "1.1.3")
840 (source
841 (origin
842 (method git-fetch)
843 (uri (git-reference
844 (url "https://github.com/nwaples/rardecode")
845 (commit (string-append "v" version))))
846 (file-name (git-file-name name version))
847 (sha256
848 (base32 "0s00b8a9gppka3yxkxh7z5wy0ahygl8wbb0fbyx2r0rj879a1c2z"))))
849 (build-system go-build-system)
850 (arguments
851 (list
852 #:import-path "github.com/nwaples/rardecode"))
853 (home-page "https://github.com/nwaples/rardecode")
854 (synopsis "Reading RAR archives in Go")
855 (description
856 "This package provides a library for reading RAR archives with Golang.")
857 (license license:bsd-2)))
858
859(define-public go-github-com-nwaples-rardecode-v2
860 (package
861 (inherit go-github-com-nwaples-rardecode)
862 (name "go-github-com-nwaples-rardecode-v2")
863 (version "2.2.2")
864 (source
865 (origin
866 (method git-fetch)
867 (uri (git-reference
868 (url "https://github.com/nwaples/rardecode")
869 (commit (string-append "v" version))))
870 (file-name (git-file-name name version))
871 (sha256
872 (base32 "1i48ca45726jyhg8i1j14ikf0pc16i1gq027zlmf12l3z37vzw78"))))
873 (arguments
874 (list
875 #:import-path "github.com/nwaples/rardecode/v2"))))
876
877(define-public go-github-com-pierrec-lz4
878 (package
879 (name "go-github-com-pierrec-lz4")
880 (version "2.6.1")
881 (source
882 (origin
883 (method git-fetch)
884 (uri (git-reference
885 (url "https://github.com/pierrec/lz4")
886 (commit (string-append "v" version))))
887 (file-name (git-file-name name version))
888 (sha256
889 (base32 "0vfn01gd3hcpbj6gb4ig3pw6bv0g4j5780awr0fv4kf9id8gjvyy"))
890 (snippet
891 ;; XXX: fiano uses this package as library only, cmd requires very
892 ;; additional not packed and dated inputs. Overwrite with
893 ;; go-github-com-pierrec-lz4-v4 when fiano is updated.
894 #~(begin (use-modules (guix build utils))
895 (delete-file-recursively "cmd")))))
896 (build-system go-build-system)
897 (arguments
898 (list
899 #:import-path "github.com/pierrec/lz4"))
900 (native-inputs
901 (list go-github-com-frankban-quicktest))
902 (home-page "https://github.com/pierrec/lz4")
903 (synopsis "LZ4 compression in pure Go")
904 (description
905 "@code{lz4} provides a streaming interface to
906@url{http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html,
907LZ4 data streams} as well as low level compress and uncompress functions for
908LZ4 data blocks. The implementation is based on the reference C
909@url{https://github.com/lz4/lz4, one}.")
910 (license license:bsd-3)))
911
912(define-public go-github-com-pierrec-lz4-v4
913 (package
914 (inherit go-github-com-pierrec-lz4)
915 (name "go-github-com-pierrec-lz4-v4")
916 (version "4.1.21")
917 (source
918 (origin
919 (method git-fetch)
920 (uri (git-reference
921 (url "https://github.com/pierrec/lz4")
922 (commit (string-append "v" version))))
923 (file-name (git-file-name name version))
924 (sha256
925 (base32 "0nc2aprbw4s6cx2mijaqdswkgnizx8fqb0mzha82wrznl3gz69ni"))))
926 (build-system go-build-system)
927 (arguments
928 (list
929 #:import-path "github.com/pierrec/lz4/v4"))
930 ;; For CLI.
931 (native-inputs
932 (list go-code-cloudfoundry-org-bytefmt
933 go-github-com-pierrec-cmdflag
934 go-github-com-schollz-progressbar-v3))))
935
936(define-public go-github-com-roaringbitmap-roaring
937 (package
938 (name "go-github-com-roaringbitmap-roaring")
939 (version "2.14.4")
940 (source
941 (origin
942 (method git-fetch)
943 (uri (git-reference
944 (url "https://github.com/RoaringBitmap/roaring")
945 (commit (string-append "v" version))))
946 (file-name (git-file-name name version))
947 (sha256
948 (base32 "0qs11vr7bnsabrzhfz0fdphjsvv7xbp11d4ixd6qhbg5bvkzikyc"))))
949 (build-system go-build-system)
950 (arguments
951 (list
952 #:import-path "github.com/RoaringBitmap/roaring"))
953 (native-inputs
954 (list go-github-com-stretchr-testify))
955 (propagated-inputs
956 (list go-github-com-bits-and-blooms-bitset
957 go-github-com-google-uuid
958 go-github-com-mschoch-smat))
959 (home-page "http://roaringbitmap.org/")
960 (synopsis "Roaring bitmaps in Go")
961 (description
962 "This package is an implementation of Roaring bitmaps as described at
963@url{https://roaringbitmap.org/about/} in Go. Roaring bitmaps are fast
964compressed bitmap data structures (also called bitset). They are ideally
965suited to represent sets of integers over relatively small ranges.")
966 (license license:asl2.0)))
967
968(define-public go-github-com-roaringbitmap-roaring-v2
969 (package
970 (inherit go-github-com-roaringbitmap-roaring)
971 (name "go-github-com-roaringbitmap-roaring-v2")
972 (version "2.18.2")
973 (source
974 (origin
975 (method git-fetch)
976 (uri (git-reference
977 (url "https://github.com/RoaringBitmap/roaring")
978 (commit (string-append "v" version))))
979 (file-name (git-file-name name version))
980 (sha256
981 (base32 "0i213i44834anir2m675dc9h809ni5ncrnnynmm6vdvjfinacaic"))))
982 (build-system go-build-system)
983 (arguments
984 (list
985 #:import-path "github.com/RoaringBitmap/roaring/v2"))))
986
987(define-public go-github-com-saracen-fastzip
988 (package
989 (name "go-github-com-saracen-fastzip")
990 (version "0.1.11")
991 (source
992 (origin
993 (method git-fetch)
994 (uri (git-reference
995 (url "https://github.com/saracen/fastzip")
996 (commit (string-append "v" version))))
997 (file-name (git-file-name name version))
998 (sha256
999 (base32 "1h63lhbwkga920n6lrh1ccfps2k4c3dn2pqap0i6mvjk6dba95s0"))))
1000 (build-system go-build-system)
1001 (arguments
1002 (list
1003 #:import-path "github.com/saracen/fastzip"))
1004 (native-inputs
1005 (list go-github-com-stretchr-testify))
1006 (propagated-inputs
1007 (list go-github-com-klauspost-compress
1008 go-github-com-saracen-zipextra
1009 go-golang-org-x-sync
1010 go-golang-org-x-sys))
1011 (home-page "https://github.com/saracen/fastzip")
1012 (synopsis "Zip archiver and extractor with a focus on speed")
1013 (description
1014 "Fastzip is an opinionated Zip archiver and extractor with a focus on
1015speed.
1016Features:
1017@itemize
1018@item archiving and extraction of files and directories can only occur within
1019a specified directory
1020@item permissions, ownership (uid, gid on linux/unix) and modification times
1021are preserved
1022@item buffers used for copying files are recycled to reduce allocations
1023@item files are archived and extracted concurrently
1024@item by default, @code{github.com/klauspost/compress/flate} library is used
1025for compression and decompression
1026@end itemize")
1027 (license license:expat)))
1028
1029(define-public go-github-com-saracen-zipextra
1030 (package
1031 (name "go-github-com-saracen-zipextra")
1032 (version "0.0.0-20220303013732-0187cb0159ea")
1033 (source
1034 (origin
1035 (method git-fetch)
1036 (uri (git-reference
1037 (url "https://github.com/saracen/zipextra")
1038 (commit (go-version->git-ref version))))
1039 (file-name (git-file-name name version))
1040 (sha256
1041 (base32 "0j24jdi5495nfq08xm6yjr9s32z13x6y961ry1ihhhgi6s8zdddj"))))
1042 (build-system go-build-system)
1043 (arguments
1044 (list
1045 #:import-path "github.com/saracen/zipextra"
1046 #:phases
1047 #~(modify-phases %standard-phases
1048 (add-after 'unpack 'remove-examples
1049 (lambda* (#:key tests? import-path #:allow-other-keys)
1050 (with-directory-excursion (string-append "src/" import-path)
1051 (delete-file "zipextra_example_test.go")))))))
1052 (home-page "https://github.com/saracen/zipextra")
1053 (synopsis "Encoding and decoding ZIP archive format's \"Extra Fields\"")
1054 (description
1055 "This package provides a library for encoding and decoding ZIP archive
1056format's \"Extra Fields\". The intention is to eventually support and provide
1057a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.")
1058 (license license:expat)))
1059
1060(define-public go-github-com-sassoftware-go-rpmutils
1061 (package
1062 (name "go-github-com-sassoftware-go-rpmutils")
1063 (version "0.4.0")
1064 (source
1065 (origin
1066 (method git-fetch)
1067 (uri (git-reference
1068 (url "https://github.com/sassoftware/go-rpmutils")
1069 (commit (string-append "v" version))))
1070 (file-name (git-file-name name version))
1071 (sha256
1072 (base32 "06ymwjn6xvc4cpxcsh5achwgma4i075ikbzq8jm143m0pck4pmfi"))))
1073 (build-system go-build-system)
1074 (arguments
1075 (list
1076 #:import-path "github.com/sassoftware/go-rpmutils"))
1077 (native-inputs
1078 (list go-github-com-stretchr-testify
1079 go-go-uber-org-goleak))
1080 (propagated-inputs
1081 (list go-github-com-datadog-zstd
1082 go-github-com-klauspost-compress
1083 go-github-com-protonmail-go-crypto
1084 go-github-com-ulikunitz-xz
1085 go-github-com-xi2-xz
1086 go-golang-org-x-sys))
1087 (home-page "https://github.com/sassoftware/go-rpmutils")
1088 (synopsis "Parse RPM packages in Golang")
1089 (description
1090 "This package provides some Golang interfaces for handling RPM packages,
1091such extracting RPM header and CPIO content.")
1092 (license license:asl2.0)))
1093
1094(define-public go-github-com-savetherbtz-zstd-seekable-format-go-pkg
1095 (package
1096 (name "go-github-com-savetherbtz-zstd-seekable-format-go-pkg")
1097 (version "0.10.0")
1098 (source
1099 (origin
1100 (method git-fetch)
1101 (uri (git-reference
1102 (url "https://github.com/SaveTheRbtz/zstd-seekable-format-go")
1103 (commit (go-version->git-ref version #:subdir "pkg"))))
1104 (file-name (git-file-name name version))
1105 (sha256
1106 (base32 "01xdwqk9281jk4jz7kqr2crqb2nmrlmv8wz2n155433gd1gb4g3f"))))
1107 (build-system go-build-system)
1108 (arguments
1109 (list
1110 #:import-path "github.com/SaveTheRbtz/zstd-seekable-format-go/pkg"
1111 #:unpack-path "github.com/SaveTheRbtz/zstd-seekable-format-go"))
1112 (native-inputs
1113 (list go-github-com-stretchr-testify))
1114 (propagated-inputs
1115 (list go-github-com-cespare-xxhash-v2
1116 go-github-com-klauspost-compress
1117 go-golang-org-x-sync))
1118 (home-page "https://github.com/SaveTheRbtz/zstd-seekable-format-go")
1119 (synopsis "Writes and reads streams using the Zstandard seekable format")
1120 (description
1121 "A seekable stream is a valid Zstandard stream made from one or more
1122compressed frames followed by a final skippable frame containing a seek table.
1123Standard Zstandard decoders can read the stream from the beginning, while
1124Reader uses the seek table to serve @code{Read}, @code{ReadAt}, and
1125@code{Seek} calls by uncompressed byte offset and exposes the parsed metadata
1126through @code{Reader.SeekTable}.
1127
1128The package accepts small encoder and decoder interfaces and is tested with
1129@url{github.com/klauspost/compress/zstd}.")
1130 (license license:expat)))
1131
1132(define-public go-github-com-sorairolake-lzip-go
1133 (package
1134 (name "go-github-com-sorairolake-lzip-go")
1135 (version "0.3.8")
1136 (source
1137 (origin
1138 (method git-fetch)
1139 (uri (git-reference
1140 (url "https://github.com/sorairolake/lzip-go")
1141 (commit (string-append "v" version))))
1142 (file-name (git-file-name name version))
1143 (sha256
1144 (base32 "1d5lxwfg3diij77892bl07n2530263703kps6rirfyjx27z9dzcr"))))
1145 (build-system go-build-system)
1146 (arguments
1147 (list
1148 #:import-path "github.com/sorairolake/lzip-go"))
1149 (native-inputs
1150 (list go-github-com-google-go-cmdtest))
1151 (propagated-inputs
1152 (list go-github-com-ulikunitz-xz))
1153 (home-page "https://github.com/sorairolake/lzip-go")
1154 (synopsis "Pure Go implementation for reading and writing lzip")
1155 (description
1156 "Package lzip implements the
1157@url{https://www.nongnu.org/lzip/manual/lzip_manual.html#File-format, lzip
1158compressed format} and supports reading and writing of lzip compressed
1159streams.")
1160 (license (list license:asl2.0 license:expat))))
1161
1162(define-public go-github-com-starry-s-zip
1163 (package
1164 (name "go-github-com-starry-s-zip")
1165 (version "0.2.3")
1166 (source
1167 (origin
1168 (method git-fetch)
1169 (uri (git-reference
1170 (url "https://github.com/STARRY-S/zip")
1171 (commit (string-append "v" version))))
1172 (file-name (git-file-name name version))
1173 (sha256
1174 (base32 "1n3ynxx6dmwvgfwfv0il3s8m40wdssip400rp20rb23vq6kk4fsr"))))
1175 (build-system go-build-system)
1176 (arguments
1177 (list
1178 #:import-path "github.com/STARRY-S/zip"
1179 ;; updater_test.go:260: open /var/tmp/test-0-846075180.iso: no such file
1180 ;; or directory
1181 #:test-flags #~(list "-skip" "TestUpdaterOverwriteZip64")))
1182 (home-page "https://github.com/STARRY-S/zip")
1183 (synopsis "Go zip library")
1184 (description
1185 "Package zip provides support for reading and writing ZIP archives.")
1186 (license license:bsd-3)))
1187
1188(define-public go-github-com-ulikunitz-xz
1189 (package
1190 (name "go-github-com-ulikunitz-xz")
1191 (version "0.5.12")
1192 (source
1193 (origin
1194 (method git-fetch)
1195 (uri (git-reference
1196 (url "https://github.com/ulikunitz/xz")
1197 (commit (string-append "v" version))))
1198 (file-name (git-file-name name version))
1199 (sha256
1200 (base32 "09n4zawzycab4mmk20sv0490xrx9ighv25g5hj578vsjgzz842n1"))))
1201 (build-system go-build-system)
1202 (arguments
1203 (list
1204 #:import-path "github.com/ulikunitz/xz"))
1205 (home-page "https://github.com/ulikunitz/xz")
1206 (synopsis "Read and write xz compressed streams in Go")
1207 (description
1208 "This package provides a support of reading and writing of xz
1209compressed streams. It includes also a gxz command for compressing and
1210decompressing data. The package is completely written in Go and doesn't have
1211any dependency on any C code.")
1212 (license license:bsd-3)))
1213
1214(define-public go-github-com-vbatts-tar-split
1215 (package
1216 (name "go-github-com-vbatts-tar-split")
1217 (version "0.12.3")
1218 (source
1219 (origin
1220 (method git-fetch)
1221 (uri (git-reference
1222 (url "https://github.com/vbatts/tar-split")
1223 (commit (string-append "v" version))))
1224 (file-name (git-file-name name version))
1225 (sha256
1226 (base32 "1m1c3phig5c0k1g2445h0ic81mkpvbhn476crmdzc4hpc22imj9s"))))
1227 (build-system go-build-system)
1228 (arguments
1229 (list
1230 #:skip-build? #t
1231 #:import-path "github.com/vbatts/tar-split"))
1232 (native-inputs
1233 (list go-github-com-fatih-color
1234 go-github-com-magefile-mage
1235 go-github-com-sirupsen-logrus
1236 go-github-com-stretchr-testify
1237 go-github-com-urfave-cli))
1238 (home-page "https://github.com/vbatts/tar-split")
1239 (synopsis "Checksum-reproducible tar archives")
1240 (description
1241 "This package implements a functionality for pristinely disassembling a tar
1242archive, and stashing needed raw bytes and offsets to reassemble a validating
1243original archive.")
1244 (license license:bsd-3)))
1245
1246(define-public go-github-com-xi2-xz
1247 (package
1248 (name "go-github-com-xi2-xz")
1249 (version "0.0.0-20171230120015-48954b6210f8")
1250 (source
1251 (origin
1252 (method git-fetch)
1253 (uri (git-reference
1254 (url "https://github.com/xi2/xz")
1255 (commit (go-version->git-ref version))))
1256 (file-name (git-file-name name version))
1257 (sha256
1258 (base32 "178r0fa2dpzxf0sabs7dn0c8fa7vs87zlxk6spkn374ls9pir7nq"))))
1259 (build-system go-build-system)
1260 (arguments
1261 (list
1262 #:import-path "github.com/xi2/xz"))
1263 (home-page "https://github.com/xi2/xz")
1264 (synopsis "Native Golang XZ decompression package")
1265 (description
1266 "This package implements a native XZ decompression in Golang.")
1267 ;; This package is a modified version of XZ Embedded
1268 ;; <http://tukaani.org/xz/embedded.html>: 0BSD
1269 ;;
1270 ;; The contents of the testdata directory are modified versions of the
1271 ;; test files from XZ Utils <http://tukaani.org/xz/>: 0BSD
1272 (license license:public-domain)))
1273
1274;;;
1275;;; Executables:
1276;;;
1277
1278(define-public go-arc
1279 (package
1280 (inherit go-github-com-mholt-archiver-v3)
1281 (name "go-arc")
1282 (arguments
1283 (list
1284 #:install-source? #f
1285 #:import-path "github.com/mholt/archiver/cmd/arc"
1286 #:unpack-path "github.com/mholt/archiver"))
1287 (description
1288 (string-append (package-description go-github-com-mholt-archiver-v3)
1289 "\nThis package provides an command line interface (CLI)
1290tool."))))
1291
1292(define-public go-lz4c
1293 (package
1294 (inherit go-github-com-pierrec-lz4-v4)
1295 (name "go-lz4c")
1296 (arguments
1297 (list
1298 #:install-source? #f
1299 #:import-path "github.com/pierrec/lz4/cmd/lz4c"
1300 #:unpack-path "github.com/pierrec/lz4"))
1301 (description
1302 (string-append (package-description go-github-com-pierrec-lz4-v4)
1303 " This package provides an additional command line
1304interface tool to compress and decompress LZ4 files."))))
1305
1306(define-public go-tar-split
1307 (package/inherit go-github-com-vbatts-tar-split
1308 (name "go-tar-split")
1309 (arguments
1310 (substitute-keyword-arguments arguments
1311 ((#:tests? _ #t) #f)
1312 ((#:install-source? _ #t) #f)
1313 ((#:skip-build? _ #t) #f)
1314 ((#:import-path _) "github.com/vbatts/tar-split/cmd/tar-split")
1315 ((#:unpack-path _ "") "github.com/vbatts/tar-split")))
1316 (propagated-inputs '())
1317 (inputs '())))
1318
1319;;;
1320;;; Avoid adding new packages to the end of this file. To reduce the chances
1321;;; of a merge conflict, place them above by existing packages with similar
1322;;; functionality or similar names.
1323;;;