All,

I just attended David Thompson's talk about Guix and asked some
questions about the difference between inputs, propagated-inputs, and
native-inputs. I believe I now understand what each does but am unclear
as to why.

Currently, I use Arch. On Arch, we have makedepends and depends where
only depends are kept at runtime. On Guix, this distinction is detected
at build time by searching the output files for references into the
inputs. However, unless I'm mistaken, native-inputs are *usually* build
dependencies and inputs are *usually* runtime dependencies. So, my
question is why not:

1. Get rid of the automagic run/build dependency detection.
2. Have:
  a. private-inputs -- runtime dependencies not linked into the environment
  b. propagated-inputs -- no change
  c. build-inputs -- always native, never included in the final output

Specifically, what is the use case for non-native build-only dependencies 
(inputs that are not included in the final package) and native runtime
dependencies (native-inputs that *are* included in the final package)?
Alternatively, am I completely missing the point?

P.S. Please CC, I'm not subscribed.

-- 
Steven Allen

Attachment: signature.asc
Description: PGP signature

Reply via email to