GNU bug report logs -
#64358
“guix refresh” chokes on cran.scm
Previous Next
Reported by: Ricardo Wurmus <rekado <at> elephly.net>
Date: Thu, 29 Jun 2023 21:32:01 UTC
Severity: normal
Done: Ricardo Wurmus <rekado <at> elephly.net>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 64358 <at> debbugs.gnu.org (full text, mbox):
> 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.
I see these options:
1 - pass a value to “update-package” that corresponds to line changes so
far and let it return an updated value, making “update-package” aware
of file changes. This would be rather ugly.
2 - compute the location of the target package anew if the file it is
located in has since been edited.
3 - never rely on the line number of the package location value; just open
the specified file and always search it for a package definition.
Optionally take the line number into account as a starting point for a
search in both directions.
4 - integrate changes with git, so that all edits are commits that are
applied to the very same base commit.
The third option seems the most reasonable and lightweight to me.
--
Ricardo
This bug report was last modified 1 year and 363 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.