Subject: bug#43843: git-annex is not Reproducible

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 10 Oct 2020 11:35:50 +0200

zimoun <[email-masked]> writes:

> Dear,
>
> On Thu, 08 Oct 2020 at 09:17, Efraim Flashner <[email-masked]> wrote:
>
>>>     $ guix time-machine --commit=e13fefbcffa50144d9301d67b61928ac3c964fb3 --
>>> build --no-grafts --check git-annex
>>>     guix build: error: derivation
>>> `/gnu/store/5illriaaijqrhl17aymzgiw6wzaq666s-git-annex-8.20200810.drv' may
>>> not be deterministic: output
>>> `/gnu/store/32h0xbqdwkm22naqba10fk9124cdgw9q-git-annex-8.20200810' differs
>>>
>>> However, going back one more to 35e24fab73 (gnu: git-annex: Update to
>>> 8.20200810, 2020-08-11), the check was successful:
>>>
>>>     $ guix time-machine --commit=35e24fab73bc450c6e0d3b9a5bbdfa88d2c425f4 --
>>> build --no-grafts --check git-annex
>>>     [...]
>>>     /gnu/store/m79ri0g2s3d8pk52ysjkdvallk2zqbwb-git-annex-8.20200810
>
>> In between those two commits is also the change to the haskell build
>> system update, where we use the dynamic libraries. The best bet is to
>> make sure the dependencies are built reproducibly.
>
> Yep, it is what “git bisect” says.
>
> --8<---------------cut here---------------start------------->8---
> 67cb9fa2357026ee42ec5bb0923ec4dc4a43abe2 is the first bad commit
> commit 67cb9fa2357026ee42ec5bb0923ec4dc4a43abe2
> Author: Ricardo Wurmus <[email-masked]>
> Date:   Tue Jun 16 22:25:48 2020 +0200
>
>     build-system/haskell: Support parallel builds.
>
>     * guix/build-system/haskell.scm (haskell-build): Add keyword
>       PARALLEL-BUILD?
>     and pass it on to the builder.
>     * guix/build/haskell-build-system.scm (build): Accept keyword
>       PARALLEL-BUILD?
>     and pass the number of parallel jobs to GHC.
>
>  guix/build-system/haskell.scm       | 2 ++
>  guix/build/haskell-build-system.scm | 7 +++++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> bisect run success
> --8<---------------cut here---------------end--------------->8---

Shall we revert it?  Previously the build system also supported parallel
builds, but didn’t seem to pass the right arguments to actually make it
happen.

-- 
Ricardo