On Wed, Dec 06, 2017 at 03:16:45AM +0100, Tobias Geerinckx-Rice wrote: > Hold on. I thought this happened *all the actual time*. > > To me, the output of ‘guix graph’ implies that ghc[*] refers directly to > perl, and ghc-haddock-library to hspec-discover, and that both of those > are native inputs. > > These are just the first two examples of packages with native inputs > that I happened to pull out of my haskell.scm. While Haskell does seem > particularly naughty, I've no reason to believe it's unique. > > Are these not ‘run-time references’? Is your use of the term narrower > than mine? I think of "run-time references" as explicit store references (file-names) found in the build output by the post-build reference scanner and recorded in /var/guix/db. These references are what grafting rewrites. `guix gc --references` can be used to query the database for a given store item. `guix graph`, on the other hand, shows the graphs of package definitions. That is, the list of inputs, native-inputs, propagated-inputs, etc. Some of these inputs could be totally superfluous, and the build output would ideally not contain any explicit references to them at all. The term "reference" has a few meanings in Guix, but I think that Mark is talking about explicit store paths.