Subject: Re: bug#64358: “guix refresh” chokes on cran.scm

From: Ludovic Courtès <[email-masked]>
Date: Fri, 07 Jul 2023 15:42:59 +0200

Hi,

Ricardo Wurmus <[email-masked]> skribis:

>> Prior to that we see warnings like this:
>>
>> /home/rekado/dev/gx/branches/master/gnu/packages/cran.scm:36350:2: r-readtext: updating from version 0.82 to version 0.90...
>> /home/rekado/dev/gx/branches/master/gnu/packages/cran.scm:36350:2: warning: r-readtext: no `version' field in source; skipping
>>
>> It’s as if the position in the file has been lost and it tries to update
>> the definition of r-readtext that is no longer where the current port
>> position is.
>
> It seems that this is indeed the problem.  The value for a <package>’s
> “location” field is known at compile/eval time and this value will not
> be correct after the first substantial edit has taken place.

The way ‘guix style -S inputs’ handles it is by starting editing
packages from the bottom of the file and upwards (see the bottom of
(guix scripts style)).  That way, source location is valid as it edits
things.

Perhaps we can do that here?

Ludo’.