Subject: Re: bug#26225: [PATCH] guix: Compress and decompress xz archives in parallel.

From: Glenn Morris <[email-masked]>
Date: Fri, 24 Mar 2017 15:36:15 -0400

Reassigned to guix-patches.
(You must include a Package: line if reporting by bcc(?) ).

Efraim Flashner wrote:

> * guix/scripts/pack.scm (%compressors): Add flag '-T0' when calling "xz".
> * guix/utils.scm (decompressed-port, compressed-port,
> compressed-output-port): Same.
> ---
>  guix/scripts/pack.scm | 3 ++-
>  guix/utils.scm        | 7 ++++---
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
> index 626c592e1..9e91bc22a 100644
> --- a/guix/scripts/pack.scm
> +++ b/guix/scripts/pack.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2015, 2017 Ludovic Courtès <[email-masked]>
> +;;; Copyright © 2017 Efraim Flashner <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -59,7 +60,7 @@
>          (compressor "lzip"  "lz"
>                      #~(#+(file-append lzip "/bin/lzip") "-9"))
>          (compressor "xz"    "xz"
> -                    #~(#+(file-append xz "/bin/xz") "-e"))
> +                    #~(#+(file-append xz "/bin/xz") "-e -T0"))
>          (compressor "bzip2" "bz2"
>                      #~(#+(file-append bzip2 "/bin/bzip2") "-9"))))
>  
> diff --git a/guix/utils.scm b/guix/utils.scm
> index bc90686de..fb962df8b 100644
> --- a/guix/utils.scm
> +++ b/guix/utils.scm
> @@ -5,6 +5,7 @@
>  ;;; Copyright © 2014 Ian Denhardt <[email-masked]>
>  ;;; Copyright © 2016 Mathieu Lirzin <[email-masked]>
>  ;;; Copyright © 2015 David Thompson <[email-masked]>
> +;;; Copyright © 2017 Efraim Flashner <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -154,7 +155,7 @@ a symbol such as 'xz."
>    (match compression
>      ((or #f 'none) (values input '()))
>      ('bzip2        (filtered-port `(,%bzip2 "-dc") input))
> -    ('xz           (filtered-port `(,%xz "-dc") input))
> +    ('xz           (filtered-port `(,%xz "-dc -T0") input))
>      ('gzip         (filtered-port `(,%gzip "-dc") input))
>      (else          (error "unsupported compression scheme" compression))))
>  
> @@ -164,7 +165,7 @@ a symbol such as 'xz."
>    (match compression
>      ((or #f 'none) (values input '()))
>      ('bzip2        (filtered-port `(,%bzip2 "-c") input))
> -    ('xz           (filtered-port `(,%xz "-c") input))
> +    ('xz           (filtered-port `(,%xz "-c -T0") input))
>      ('gzip         (filtered-port `(,%gzip "-c") input))
>      (else          (error "unsupported compression scheme" compression))))
>  
> @@ -221,7 +222,7 @@ program--e.g., '(\"--fast\")."
>    (match compression
>      ((or #f 'none) (values output '()))
>      ('bzip2        (filtered-output-port `(,%bzip2 "-c" ,@options) output))
> -    ('xz           (filtered-output-port `(,%xz "-c" ,@options) output))
> +    ('xz           (filtered-output-port `(,%xz "-c -T0" ,@options) output))
>      ('gzip         (filtered-output-port `(,%gzip "-c" ,@options) output))
>      (else          (error "unsupported compression scheme" compression))))