Subject: [bug#73137] this-package-input vs. propagated-inputs in package definition

From: Simon Tournier <[email-masked]>
Date: Tue, 10 Sep 2024 19:14:44 +0200

Hi,

On Mon, 09 Sep 2024 at 11:27, Andy Tai <[email-masked]> wrote:
> A question on package definition (likely scope of guix-devel, but
> anyway posted here first):
>
> I have updated the definition of package ddd which has libxft as
> input. Libxft in turn has freefont as propagated-input.   In the
> definition of ddd I tried to do
>
> (this-package-input "freefont")
>
> which returns #f.

I think that’s expected.  ’this-package-input’ searches only in the list
of ’inputs’ and ’propagated-inputs’ of the package itself and not of the
inputs.  Somehow, it’s not recursive and “freetype” is not an “inputs”
of the package ddd.

BTW, I am not sure to understand what mean a propagated-inputs in the
context of a build.  I mean, it sounds at run-time, not build-time.  No?
Do I miss something?

> I had to add freefont as input to ddd to make this work.

BTW, for the package ddd, is freetype an input or also a
propagated-input ?

> As propagated-input should be propagated, shall the addition of
> freefont as input to ddd be unneeded?

Well, for sure, considering the current implementation, you cannot reach
the propagated-inputs of the inputs using this-package-inputs.

Cheers,
simon