[Nix-dev] Splitting packages silently breaks a lot of stuff

Profpatsch mail at profpatsch.de
Mon Jun 6 12:17:26 CEST 2016


In the past month or so more and more packages have been
split into multiple outputs. I like that, but:

Doing so breaks lots of dependencies silently.

I think that is a very bad problem we need to address.
Every program with runtime dependencies does build just
fine, but breaks once its executed.

Two solutions I can think of:
1. Programs can assert *files* they depend on directly in the
   nix expression and nix ensures these exist on build time.
2. Don’t use the first element in the `outputs` list by default.
   Default to a derivation of *all* outputs if no output is given
   by name.

1 might be hard to implement (afaik aszlig tried something in that
direction) and still breaks old packages that are not updated.
2 will un-break all packages again and they need to be patched to
get the closure size down again.

Thoughts? Anything I’ve missed?

-- 
Proudly written in Mutt with Vim on NixOS.
Q: Why is this email five sentences or less?
A: http://five.sentenc.es
May take up to five days to read your message. If it’s urgent, call me.


More information about the nix-dev mailing list