Subject: [bug#55757] reproducible builds: disable parllel build in isl

From: Vagrant Cascadian <[email-masked]>
Date: Thu, 09 Jun 2022 08:28:04 -0700

On 2022-06-01, Vagrant Cascadian wrote:
> The attached patch makes isl build reproducibly in guix by disabling
> parallelism.
>
> Admittedly, I'm unsure what the root cause is, and Debian's build of isl
> does not appear to have this problem, despite building in parallel.
>
> Seems like patches to isl should go to core-updates:
>
>   $ guix refresh --list-dependent isl                                                               
>   Building the following 2192 packages would ensure 5967 dependent packages are rebuilt: ...

I'm less confident this actually fixes reproducibility issues, as I've
had several cases with other packages (that didn't need to go through
core-updates) that *seemed* to be fixed by disabling parallelism on my
local builds, but once ci and bordeaux built them, they were still
unreproducible... (need to follow-up and revert those changes on master,
too)

Given that parallelism isn't an issue for the Debian package, my guess
is my "fix" for this is probably not necessarily effective either.

live well,
  vagrant

>
>
> live well,
>   vagrant
> From 234e662df27771742b3e8b82e2115284e1cab5a8 Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <[email-masked]>
> Date: Wed, 1 Jun 2022 11:58:41 -0700
> Subject: [PATCH 1/4] gnu: isl: Disable parallel build.
>
> * gnu/packages/gcc.scm (isl)[arguments]: Pass parallel-build #f.
> ---
>  gnu/packages/gcc.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
> index cd144772b8..560a35af2d 100644
> --- a/gnu/packages/gcc.scm
> +++ b/gnu/packages/gcc.scm
> @@ -1218,7 +1218,8 @@ (define-public isl
>      (build-system gnu-build-system)
>      (outputs '("out" "static"))
>      (arguments
> -     '(#:phases (modify-phases %standard-phases
> +     '(#:parallel-build? #f
> +       #:phases (modify-phases %standard-phases
>                    (add-after 'install 'move-static-library
>                      (lambda* (#:key outputs #:allow-other-keys)
>                        (let* ((out (assoc-ref outputs "out"))
> -- 
> 2.35.1