Subject: Re: [bug#42735] [PATCH] pre-inst-env: don't use GUIX_PACKAGE_PATH

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Sun, 9 Aug 2020 11:09:39 +0200

On Fri, 07 Aug 2020 10:41:52 +0200
Mathieu Othacehe <[email-masked]> wrote:
> Let say you have a custom my-hello package inheriting from hello, and
> you want to build it on top of a recent Guix checkout, then you
> probably want GUIX_PACKAGE_PATH to cooperate with pre-inst-env.
> 
> Same goes if you have a manifest mixing Guix packages and custom
> packages accessed by GUIX_PACKAGE_PATH, and you want to test your
> manifest on top of a Guix checkout using pre-inst-env.
Thanks for the explanation.

What would be the way for both use cases to be addressed?

Should a warning be emitted when packages come from GUIX_PACKAGE_PATH
with ./pre-inst-env ?

What about something that would look like that:
>    guix build: warning: GUIX_PACKAGE_PATH is set
>    guix build: warning: choosing [email-masked] from
>                         /home/[...]/.config/guix/local/custom.scm:31:2
>    guix build: warning: If you don't want to use
>                         packages from GUIX_PACKAGE_PATH you can run
>                         'unset GUIX_PACKAGE_PATH' before running
>                         pre-inst-env

The issue is if it picks dependencies from GUIX_PACKAGE_PATH which are
not in Guix source code yet. In that case it might be more complicated
to make sure that people will see the warning as it might be hidden in
the huge build log.

Another option which can also be combined with the previous one would be
to warn people in the manual.

Note that I'm also fine with the status quo, but if it's not too
complicated to improve the situation in a way that doesn't break
existing use cases it would probably make sense to do it.

Denis.