Subject: Re: bug#42212: Guix version rendered as 0.0-git in info manual

From: Ludovic Courtès <[email-masked]>
Date: Thu, 16 Jul 2020 01:26:59 +0200

Hi,

Arun Isaac <[email-masked]> skribis:

>> The “0.0-git” string comes from (guix self).  As noted there, we can’t
>> really afford to change the version string at each commit, or we’d have
>> to rebuild the manual at each commit.
>>
>> We could perhaps choose a more meaningful version string, though, maybe
>> by looking at the closest tag or something.
>
> That sounds good, and `git describe` could provide us with the closest
> tag. Unfortunately, (git) doesn't seem to be available during `guix
> pull`. I'm trying to come up with workarounds. Do you have any ideas?

I’m not sure exactly.  (guix self) receives a commit ID as #:version
(though it doesn’t have to; it can be a random string too, as in
‘build-aux/compile-as-derivation.scm’).

Maybe when (guix channels) ‘build-from-source’ invokes ‘build’, it could
pass it an optional short version identifier guaranteed to rarely
change.  (There’s a (git describe) module in Guile-Git that might be
helpful.)

That version identifier must then be passed from
‘build-aux/build-self.scm’ all the way to ‘info-manual’ in (guix self).

Thoughts?

Ludo’.