Subject: Re: bug#47754: [PATCH] gnu: transformations: fix with-latest option for git source package.

From: zimoun <[email-masked]>
Date: Wed, 3 Nov 2021 17:18:40 +0100

Hi,

On Wed, 3 Nov 2021 at 16:34, Z572 <[email-masked]> wrote:

> $ file `guix build fbreader --with-latest=fbreader -S`
> /gnu/store/rdqkmjpiig9gddzsxj4mdyw8lvn944xg-FBReader: HTML document, UTF-8 Unicode text, with very long lines

> If a package is a git source package, after use "with-latest" option, it's url
> will become to it's source. and build will fail.
>
> This patch just fix this.

I see.  However, I am not convinced your example is correct, because
for instance,

--8<---------------cut here---------------start------------->8---
$ file $(guix build r-soupx -S)
/gnu/store/1z0j6i4a9xwwd8d3955m7vq3f1x4p3aq-r-soupx-0.3.1-1.a3354be-checkout:
directory
--8<---------------cut here---------------end--------------->8---

What you are seeing is: Git upstream source is modified by Guix (for
instance, patches are applied or files are removed; in the field
'origin') and "guix build -S" returns what Guix actually builds, not
what upstream provides.  Therefore, in this case, the modified source
is returned as compressed archive.  However, when using the
transformation 'with-latest', in this case, "guix build -S
--with-latest" returns what upstream provides, thus a directory (or
something else as a file).

Maybe I miss something, but from me, the inconsistency comes from the
behavior of "guix build -S", not about the behaviour of 'with-latest'
transformation.  And I also miss why the build would fail.

Cheers,
simon