~ruther/guix-local

63102406f22412bb922de5549deb89d3594a38c0 — Efraim Flashner 9 years ago 6800c79
guix: Compress and decompress xz archives in parallel.

* guix/scripts/pack.scm (%compressors): Add flag '-T0' when calling "xz".
* guix/utils.scm (decompressed-port, compressed-port,
compressed-output-port): Same.
2 files changed, 6 insertions(+), 4 deletions(-)

M guix/scripts/pack.scm
M guix/utils.scm
M guix/scripts/pack.scm => guix/scripts/pack.scm +2 -1
@@ 1,5 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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"))))


M guix/utils.scm => guix/utils.scm +4 -3
@@ 5,6 5,7 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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))))