Subject: Re: [bug#57326] [PATCH 0/7] gnu: Add hydroxide.

From: "(" <[email-masked]>
Date: Sat, 10 Sep 2022 08:51:53 +0100

Hi Cairn, sorry for the delay!

On Mon Aug 29, 2022 at 1:23 AM BST, Cairn wrote:
> Could you explain why this is necessary? It doesn't seem to require it to build or run, at least for me. And do you mean for every package, or just this particular case?

This is because Go libraries (though not programs) are stored as source code in the
output directory and later fetched and rebuilt when you build one of their dependents.

So, if go-foo requires go-bar requires go-baz, go-bar will be rebuilt whenever go-foo
is built. But if go-bar doesn't use propagated-inputs, the go-baz dependency of go-bar
will be absent from the build environment.

In this case, we're talking about go-github-com-emersion-go-bcrypt depending on the
go-golang-org-x-crypto package; since x-crypto is probably already propagated in the
hydroxide build environment, as it's quite a common package, you don't see any issues;
but were you to write a package that solely depended on go-bcrypt, it'd fail to build
because x-crypto wasn't in the build environment.

> Sounds fine to me. Also, I'm just borrowing the description from the GitHub page. If you do think it should be changed though, what would be a good change?

IMO, the use of `vCard' as the object of that phrase without any further explanation
of what `vCard' is sounds a wee bit strange, so maybe something like:

  parse and format the vCard file format

Assuming vCard is a file format.

    -- (