Hello! I have pushed a big update of the daemon code. We were using a copy of the Nix code from May 2014, and there have been worthwhile changes in the meantime (thanks for the Nix folks!).
There have also been undesirable changes, such as the gratuitous switch to multithreading, which entails various issues (see <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00363.html>.) Thus, in our ‘nix’ branch, I have selected a the best of those changes ;-). The main difference is that I didn’t take said multithreading-related commits, as well as a couple of less significant, Nix-specific changes. The new changes include some refactorization and cosmetic changes (a bunch of C++11 lambdas here, a bit of ‘auto’ there.) Interesting changes include: • The possibility to use regular files as GC roots, where the file name denotes a store item; this reduces I/O compared to using symlinks. • Slightly reduced I/O for GC. • New ‘disallowedReferences’ and ‘disallowedRequisites’ attributes for derivations (akin to our #:allowed-references.) • New ‘optimiseStore’ RPC. • ASLR disabled in the build environment. Please report any issues with the daemon! Thanks, Ludo’.