Subject: bug#65665: package-mapping with #:deep? #t doesn't get all the implicit inputs

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 12 Oct 2023 11:53:43 -0400

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Hi Ulf,
>
> Ulf Herrman <[email-masked]> skribis:
>
>> In short, the current approach of having the build-system lower
>> procedure leave the arguments mostly unchanged and letting the
>> bag->derivation procedure (the "bag builder") fill in lots of defaults
>> means that there are implicit inputs that cannot be touched at the
>> package level without adding special logic for every single build system
>> that does something like this.
>
> Could you share an example of what is fixed by these changes?

Ulf had mentioned the problems they were facing in the original post of
this issue:

> The problem with this approach is that it doesn't affect the bag
> arguments.  This means that packages passed in as arguments may still
> end up being used without being transformed.  Worse still, packages
> *not* passed in as arguments may end up being used *unless one is
> explicitly passed in as an argument*, as is the case with
> qt-build-system's #:qtbase argument.

Examples would be an Qt packages, or packages using #:meson
meson-variant.

Any build system accepting package as arguments are subject to this
problem, if I understand correctly.

I hope that helps,

-- 
Thanks,
Maxim