Subject: Re: bug#30914: guix build --with-source: transformation had no effect

From: Marius Bakke <[email-masked]>
Date: Fri, 23 Mar 2018 15:08:04 +0100

Chris Marusich <[email-masked]> writes:

> Hi,
>
> Is this expected?
>
>   [0] [email-masked]:~/my-guix
>   $ guix build --with-source=. guix
>   guix build: warning: transformation 'with-source' had no effect on guix-0.14.0-9.bdf0c64
>   /gnu/store/kxihyd1f9kxrh5s2r2yk1f1kwbnxnbvs-guix-0.14.0-9.bdf0c64
>   [0] [email-masked]:~/my-guix
>   $ guix build --with-source=$(pwd) guix
>   guix build: warning: transformation 'with-source' had no effect on guix-0.14.0-9.bdf0c64
>   /gnu/store/kxihyd1f9kxrh5s2r2yk1f1kwbnxnbvs-guix-0.14.0-9.bdf0c64
>   [0] [email-masked]:~/my-guix
>   $ 

The --with-source argument requires that the directory is named the same
as the package you are building.  This is so that you can pass it
multiple times in one invocation, with multiple transformations.

> The manual provides the following examples (see: (guix) Package
> Transformation Options), so I was a little surprised that the similar
> invocations above didn't work for Guix:
>
>   guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz
>   guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz

...except for tarballs, apparently.

> For the record, it DOES work if I run:
>
>   guix build --with-source=guix=$(pwd) guix

This was added in 3e30cdf1c35ebeb52630ec19b3b43b9e6d5ffb81 precisely to
provide a convenient method for using --with-source without renaming or
symlinking the target directory, IIRC.

Hope this clears things up!