summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-07-29 15:00:13 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-07-29 22:03:33 -0400
commit84fa28234f452985237f94b6ca7349fb2edfb426 (patch)
tree2a64a5002bb731226629c803e24aab3b7052a036 /gnu/packages
parent00c55e856f532ef845f78144fdf2ff938ca3dffd (diff)
downloadguix-84fa28234f452985237f94b6ca7349fb2edfb426.tar.gz
gnu: Add zchunk.
* gnu/packages/compression.scm (zchunk): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/compression.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index cf4ec4e644..26cddb12fa 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2020 Léo Le Bouter <lle-bout@zaclys.net>
 ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2346,6 +2347,49 @@ reading from and writing to ZIP archives. ")
     ;; distributed under zlib terms.
     (license (list license:lgpl2.1+ license:zlib))))
 
+(define-public zchunk
+  (package
+    (name "zchunk")
+    (version "1.1.16")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zchunk/zchunk")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nlzwnv6wh2yjyyv27f81jnvmk7psgpbnw7dsdp7frfkya569hgv"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)))
+    (propagated-inputs
+     `(("zstd" ,zstd "lib")))           ;in Requires.private of zck.pc
+    (home-page "https://github.com/zchunk/zchunk")
+    (synopsis "Compressed file format for efficient deltas")
+    (description "The zchunk compressed file format allows splitting a file
+into independent chunks.  This makes it possible to retrieve only changed
+chunks when downloading a new version of the file, and also makes zchunk files
+efficient over rsync.  Along with the library, this package provides the
+following utilities:
+@table @command
+@item unzck
+To decompress a zchunk file.
+@item zck
+To compress a new zchunk file, or re-compress an existing one.
+@item zck_delta_size
+To calculate the difference between two zchunk files.
+@item zck_gen_zdict
+To create a dictionary for a zchunk file.
+@item zck_read_header
+To read a zchunk header.
+@item zckdl
+To download a zchunk file.
+@end table")
+    (license license:bsd-2)))
+
 (define-public zutils
   (package
     (name "zutils")