Subject: Re: [bug#43647] [PATCH 2/3] gnu: icedove: Update to 78.3.0.

From: Jonathan Brielmaier <[email-masked]>
Date: Mon, 28 Sep 2020 11:41:38 +0200

>>              (lambda _
>>                (use-modules (guix build cargo-utils))
>>                (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
>> -               (substitute* '("Cargo.lock" "gfx/wr/Cargo.lock")
>> -                 (("(\"checksum .* = )\".*\"" all name)
>> -                  (string-append name "\"" null-hash "\"")))
>> -               (generate-all-checksums "third_party/rust"))
>> +               (for-each (lambda (file)
>> +                           (format #t "patching checksums in ~a~%" file)
>> +                           (substitute* (find-files "." "Cargo.lock$")
>> +                             (("^checksum = \".*\"")
>> +                              (string-append "checksum = \"" null-hash "\""))))
>> +                         (find-files "." "Cargo.lock$"))
>> +               (for-each generate-all-checksums
>> +                         '("third_party/rust"
>> +                           "toolkit/library/rust")))
>>                #t))
>
> This change was inherited from a change I made in the IceCat 78 update
> (commit c7011ff850420fdbe1319b3d218bd362f2f9d618), and as Zhu Zihao
> <[email-masked]> recently pointed out on guix-devel, it has a
> problem which turns out to be harmless but wasteful: the argument to the
> second call to 'substitute*' should be 'files' instead of
> (find-files "." "Cargo.lock$").
>
> I'm currently testing the 'icedove' build with this minor fix applied.

I saw this proposal already on the ML and it's a good one :)