Subject: [bug#49169] [PATCH 00/11] Removing input labels from package definitions

From: Sarah Morgensen <[email-masked]>
Date: Sun, 11 Jul 2021 23:15:07 -0700

Hi!

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

> On closer inspection, it seems that this change would affect the Crate
> importer.  Unfortunately, Crate packages live in their own world and are
> unaffected by package input simplification.

Well, that was an interesting code dive :) They really do live in their
own world...

>
> This is unfortunate, also because they probably never even use input
> labels that can be seen in #:cargo-development-inputs and the likes.
>
> That said, it would be good to simplify that too, and I’m open to
> suggestions on how to achieve that!

I have submitted a patchset [0] which just has the crate importer use
the same sanitizer as package inputs, which should be good enough until
we get rid of input labels in the internals.

In the longer term, perhaps we would benefit from some way of indicating
inputs which are just source? Something like

  (package ... (source-inputs ...))

where the listed packages only provide their source instead of any
outputs, and only transitively include other packages via source-inputs.
This would bypass any patching done in phases, but I don't think that's
common enough in these "source" packages that it would be onerous to use
origin patches/snippets instead. This would be useful for any build
system which does not (re)use artifacts from a package's dependencies
(such as cargo and go).

[0] https://issues.guix.gnu.org/49531

--
Sarah