[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#33643] [PATCH] gnu-build-system: Enable xz to decompress in paralle
From: |
Christopher Baines |
Subject: |
[bug#33643] [PATCH] gnu-build-system: Enable xz to decompress in parallel. |
Date: |
Wed, 13 May 2020 19:20:08 +0100 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Christopher Baines <address@hidden> writes:
> It can take a little while to decompress some packages with large xz
> compressed source tar files. xz includes support for parallelism, so enable
> this using the parallel job count for the overall derivation.
>
> * guix/build/gnu-build-system.scm (unpack): Set XZ_OPT to pass the -T option
> to xz to enable it to work in parallel if appropriate.
> ---
> guix/build/gnu-build-system.scm | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
> index e5f3197b0..9d11e5b1e 100644
> --- a/guix/build/gnu-build-system.scm
> +++ b/guix/build/gnu-build-system.scm
> @@ -147,7 +147,7 @@ chance to be set."
> locale (strerror (system-error-errno args)))
> #t)))
>
> -(define* (unpack #:key source #:allow-other-keys)
> +(define* (unpack #:key source parallel-build? #:allow-other-keys)
> "Unpack SOURCE in the working directory, and change directory within the
> source. When SOURCE is a directory, copy it in a sub-directory of the
> current
> working directory."
> @@ -161,6 +161,10 @@ working directory."
> (copy-recursively source "."
> #:keep-mtime? #t))
> (begin
> + (when parallel-build?
> + (setenv "XZ_OPT"
> + (format #f "-T~d" (parallel-job-count))))
> +
> (if (string-suffix? ".zip" source)
> (invoke "unzip" source)
> (invoke "tar" "xvf" source))
It's been a long long while, but now that core-updates has recently been
merged, I'd like to try and take a look at this again.
I think the consensus was that this will only help for xz compressed
files where they have been compressed in parallel. I think it's still
worth doing though, as some of the big xz files that need decompressing
have been compressed in parallel, and this will speed up the builds when
multiple cores are available.
Thanks,
Chris
signature.asc
Description: PGP signature
- [bug#33643] [PATCH] gnu-build-system: Enable xz to decompress in parallel.,
Christopher Baines <=