aboutsummaryrefslogtreecommitdiff
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
guix-38ee8f7dbaabbb1ba28bc0fa6240a19bba2450c3.zip
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.