Hey Guix! This is me grubbing around with internals I know nothing about. Here is a quick and dirty proof-of-concept patch that extends 'add-input-label' to use the 'name' property of plain-file, program-file, etc. In addition, it also labels auxiliary files, using the same path string one provides to search-auxiliary-file. This part is the dirtiest, especially since we cannot make use of %auxiliary-files-path from (gnu packages) since that would introduce a circular dependency. The motivation for this arose while recently munging a package to use new-style inputs. The package's inputs include an auxiliary file and custom program-file gexp; however, with new-style inputs there is no obvious way to get get access to these input paths within the build phases: - Both get the default "_" label; and - search-input-file only finds files inside store path *directories*. There potentially a workaround using file-union, but it's clearly friction. Naive package-writing me wanted one of two things: 1) Ability to mix old, explicit labels with the new labelless inputs, or 2) Labels that come from the gexp name. The first option is much more general, but somehow I stumbled across the add-input-label procedure, so went with 2. What are your thoughts? Clear unknows to me: - Is add-input-label in a fast path? This patch significantly increases the cases supplied to 'match', which feels like it has the potential to hit performance in a bad way. - Using the 'name' property is kind of obvious, but add-input-label looks deliberatly small. Was using 'name' intentionally avoided for some reason? - Are there other implicit concerns/constraints within guix/packages.scm that I am oblivious to? - etc? Anyway, by no means do I expect this to get merged, mostly just hoping to learn something. Cheers, B. Wilson