aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/pack.scm16
1 files changed, 8 insertions, 8 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 7a0e54d4cd..c3d85c568c 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -43,20 +43,19 @@
;; Type of a compression tool.
(define-record-type <compressor>
- (compressor name package extension tar-option)
+ (compressor name package extension command)
compressor?
(name compressor-name) ;string (e.g., "gzip")
(package compressor-package) ;package
(extension compressor-extension) ;string (e.g., "lz")
- (tar-option compressor-tar-option)) ;string (e.g., "--lzip")
+ (command compressor-command)) ;list (e.g., '("gzip" "-9n"))
(define %compressors
;; Available compression tools.
- ;; FIXME: Use '--no-name' for gzip.
- (list (compressor "gzip" gzip "gz" "--gzip")
- (compressor "lzip" lzip "lz" "--lzip")
- (compressor "xz" xz "xz" "--xz")
- (compressor "bzip2" bzip2 "bz2" "--bzip2")))
+ (list (compressor "gzip" gzip "gz" '("gzip" "-9n"))
+ (compressor "lzip" lzip "lz" '("lzip" "-9"))
+ (compressor "xz" xz "xz" '("xz" "-e"))
+ (compressor "bzip2" bzip2 "bz2" '("bzip2" "-9"))))
(define (lookup-compressor name)
"Return the compressor object called NAME. Error out if it could not be
@@ -130,7 +129,8 @@ added to the pack."
;; length limitation.
(with-directory-excursion %root
(exit
- (zero? (apply system* "tar" #$(compressor-tar-option compressor)
+ (zero? (apply system* "tar"
+ "-I" #$(string-join (compressor-command compressor))
"--format=gnu"
;; Avoid non-determinism in the archive. Use