summary refs log tree commit diff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-06-10 22:03:27 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-06-16 13:35:33 +0200
commit38ee8f7dbaabbb1ba28bc0fa6240a19bba2450c3 (patch)
tree95e2323815671eb5347c5d5d087feedfe72067a8
parent5f7b17a6e1205d9f337ffbfd5fa29e0aea15d438 (diff)
downloadguix-38ee8f7dbaabbb1ba28bc0fa6240a19bba2450c3.tar.gz
pack: Add zstd compressor.
* guix/scripts/pack.scm (%compressors): Add zstd.
* doc/guix.texi (Invoking guix pack): Document it.
-rw-r--r--doc/guix.texi3
-rw-r--r--guix/scripts/pack.scm6
2 files changed, 8 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ab44dd76ac..6b4fa5b441 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5345,7 +5345,8 @@ configuration triplets,, autoconf, Autoconf}).
 @item --compression=@var{tool}
 @itemx -C @var{tool}
 Compress the resulting tarball using @var{tool}---one of @code{gzip},
-@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression.
+@code{zstd}, @code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no
+compression.
 
 @item --symlink=@var{spec}
 @itemx -S @var{spec}
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 518bf6e7e3..55fb3e8df3 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
 ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -81,6 +82,11 @@
                     #~(#+(file-append xz "/bin/xz") "-e"))
         (compressor "bzip2" ".bz2"
                     #~(#+(file-append bzip2 "/bin/bzip2") "-9"))
+        (compressor "zstd" ".zst"
+                    ;; The default level 3 compresses better than gzip in a
+                    ;; fraction of the time, while the highest level 19
+                    ;; (de)compresses more slowly and worse than xz.
+                    #~(#+(file-append zstd "/bin/zstd") "-3"))
         (compressor "none" "" #f)))
 
 ;; This one is only for use in this module, so don't put it in %compressors.