summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-03-30 03:10:48 -0400
committerLeo Famulari <leo@famulari.name>2017-04-15 18:34:59 -0400
commitc8a3dea847bb9f87fa1876d0c6c3356d6226f121 (patch)
tree9831c5fd2add6c9c08fde3693bd8ef8e66d59a3d
parentdc4ebebd61896b1122fde97644325d06e3f46b47 (diff)
downloadguix-c8a3dea847bb9f87fa1876d0c6c3356d6226f121.tar.gz
packages: Enable threaded compression of source tarballs.
This provides a ~2x speedup when using 4 threads.

* guix/packages.scm (patch-and-repack)[build]: Invoke xz with
'--threads=0' when re-packing tarballs.
-rw-r--r--guix/packages.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 61171b8342..29351ace1d 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -576,7 +576,12 @@ specifies modules in scope when evaluating SNIPPET."
                                                     #:fail-on-error? #t)))))
                         (zero? (apply system*
                                       (string-append #+tar "/bin/tar")
-                                      "cvfa" #$output
+                                      "cvf" #$output
+                                      ;; The bootstrap xz does not support
+                                      ;; threaded compression (introduced in
+                                      ;; 5.2.0), but it ignores the extra flag.
+                                      (string-append "--use-compress-program="
+                                                     #+xz "/bin/xz --threads=0")
                                       ;; avoid non-determinism in the archive
                                       "--mtime=@0"
                                       "--owner=root:0"