This is to workaround an issue I don't know how to fix right now.
In effect: Some of the Nix code contains the placeholder for $out,
which then gets translated to $out for that store path. Converting that
fails, for obvious reasons. However, rewriting those to self-references
is more complicated than I want to get into right now, and as the
behavior of self-references is vaguely broken (and this only affects
one test and a comment), I'm going to take the easy way out and make
it generate a dangling reference.
Lix is deprecating CA derivations, and it's not too difficult to have
this be handled entirely by Zilch. This also improves stability and
future handling of the feature, as Zilch does not depend on how the
daemon handles CA derivations. Though right now, the behavior of
CA derivations is identical to that of the experimental feature, at
this time.
Building CA derivations requires a small scheduler to bypass the Nix
behavior. Each CA derivation is recorded, and then all derivations that
have no CA dependencies get built. These are used to resolve the
realisations for the derivations that depend upon them, and the the
cycle continues.
It's possible for the thread to be interrupted between configuring the
timeout and the file descriptor wait. This causes a low-probability 60
second wait until the timeout expires.
Now that this is fixed, we can set a normal timeout on the socket once
again, so do that.
Link: https://github.com/ursetto/socket-egg/pull/7