Refactor: switch to using bindings to nix instead of REPL #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Parallel builds somehow work, for them unfinished multithreaded nix branch was used: DeterminateSystems/nix-src#125
On top of this branch, some fixes were implemented to add wanted functions to C api, but most of the missing functionality was added by binding to nix C++ api using cxx
Old logger implementation (based on stdout parsing) is still here, but every log from nix evaluator and building are now processed by overriding nix logger itself
The bindings themselves might be unsound in some parts, but C++ api sometimes has very unclear semantics on how it is supposed to work, so it is the best I can offer for now.
I am already using this branch for a couple of weeks, so it should work, but testing/review by other people is very welcome.