Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-12-22 | Move <nix/fetchurl.nix> into the nix binary | Eelco Dolstra | |
This makes the statically linked nix binary just work, without needing any additional files. | |||
2020-09-21 | Don't include <regex> in header files | Eelco Dolstra | |
This reduces compilation time by ~15 seconds (CPU time). Issue #4045. | |||
2020-08-25 | Add getDoc() function | Eelco Dolstra | |
2020-08-24 | Allow primops to have Markdown documentation | Eelco Dolstra | |
2020-08-20 | Remove PrimOp constructor | Eelco Dolstra | |
2020-08-19 | Generate the nix.conf docs from the source code | Eelco Dolstra | |
This means we don't have two (divergent) sets of option descriptions anymore. | |||
2020-08-07 | Make --no-eval-cache a global setting | Eelco Dolstra | |
2020-07-22 | Parse CA derivations using new output variants | John Ericson | |
We no longer need `ParsedDerivation` because everything libstore needs to know about is in the `BasicDerivation` proper. | |||
2020-07-06 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-06-29 | EvalCache: Store string contexts | Eelco Dolstra | |
2020-06-26 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-06-18 | Merge branch 'master' into caveman-LOCs | Ben Burdette | |
2020-06-18 | Some backports from the flakes branch | Eelco Dolstra | |
2020-06-17 | Replace struct StorePath with class StorePath | Matthew Bauer | |
also a similar case with struct Goal | |||
2020-05-20 | print LOC for stdin, string args | Ben Burdette | |
2020-04-27 | nix search: Search legacyPackages recursively | Eelco Dolstra | |
2020-04-17 | Use a more space/time-efficient representation for the eval cache | Eelco Dolstra | |
2020-03-24 | Misc changes from the flakes branch | Eelco Dolstra | |
2020-03-24 | EvalState::allocAttr(): Add convenience method | Eelco Dolstra | |
(cherry picked from commit c02da997570ac0d9b595d787bea8cb5a4e3cc1f5) | |||
2020-03-20 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-03-13 | Add missing `#include <regex>` | John Ericson | |
2020-03-11 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-03-11 | parseExprFromString(): Use std::string_view | Eelco Dolstra | |
2020-03-04 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2020-03-04 | builtins.cache: Cache regular expressions | Eelco Dolstra | |
The evaluator was spending about 1% of its time compiling a small number of regexes over and over again. | |||
2020-01-21 | Pluggable fetchers | Eelco Dolstra | |
Flakes are now fetched using an extensible mechanism. Also lots of other flake cleanups. | |||
2019-12-11 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2019-12-10 | Make the Store API more type-safe | Eelco Dolstra | |
Most functions now take a StorePath argument rather than a Path (which is just an alias for std::string). The StorePath constructor ensures that the path is syntactically correct (i.e. it looks like <store-dir>/<base32-hash>-<name>). Similarly, functions like buildPaths() now take a StorePathWithOutputs, rather than abusing Path by adding a '!<outputs>' suffix. Note that the StorePath type is implemented in Rust. This involves some hackery to allow Rust values to be used directly in C++, via a helper type whose destructor calls the Rust type's drop() function. The main issue is the dynamic nature of C++ move semantics: after we have moved a Rust value, we should not call the drop function on the original value. So when we move a value, we set the original value to bitwise zero, and the destructor only calls drop() if the value is not bitwise zero. This should be sufficient for most types. Also lots of minor cleanups to the C++ API to make it more modern (e.g. using std::optional and std::string_view in some places). | |||
2019-12-05 | Move #include | Eelco Dolstra | |
(cherry picked from commit 8beedd44861d1fe7208609ee8d231ca1c02dedf6) | |||
2019-12-04 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2019-11-28 | Remove builtins.valueSize | Eelco Dolstra | |
Fixes #3246. | |||
2019-11-22 | Turn NIX_PATH into a config setting | Eelco Dolstra | |
This allows it to be set in nix.conf. | |||
2019-11-20 | Remove #include | Eelco Dolstra | |
2019-11-20 | Move #include | Eelco Dolstra | |
2019-11-06 | Use more stable registry URL | Eelco Dolstra | |
2019-11-04 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2019-10-27 | Merge branch 'tojson-tostring-fix' of https://github.com/mayflower/nix | Eelco Dolstra | |
2019-10-27 | builtins.toJSON: fix __toString usage | Robin Gloster | |
2019-09-20 | Add flags to disallow dirty Git trees and to turn off warnings | Eelco Dolstra | |
2019-09-09 | Require flake.nix to be an attrset (not a non-trivial thunk) | Eelco Dolstra | |
2019-09-09 | Don't allow arbitrary computations in flake attributes | Eelco Dolstra | |
E.g. you can write 'edition = 201909' but not 'edition = 201909 + 0'. Fixes #3075. | |||
2019-08-30 | Extract flake dependencies from the 'outputs' arguments | Eelco Dolstra | |
That is, instead of inputs = [ "nixpkgs" ]; outputs = inputs: ... inputs.nixpkgs ...; you can write outputs = { nixpkgs }: ... inputs.nixpkgs ...; | |||
2019-08-29 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |
2019-08-14 | Track function start and ends for flame graphs | Graham Christensen | |
With this patch, and this file I called `log.py`: #!/usr/bin/env nix-shell #!nix-shell -i python3 -p python3 --pure import sys from pprint import pprint stack = [] timestack = [] for line in open(sys.argv[1]): components = line.strip().split(" ", 2) if components[0] != "function-trace": continue direction = components[1] components = components[2].rsplit(" ", 2) loc = components[0] _at = components[1] time = int(components[2]) if direction == "entered": stack.append(loc) timestack.append(time) elif direction == "exited": dur = time - timestack.pop() vst = ";".join(stack) print(f"{vst} {dur}") stack.pop() and: nix-instantiate --trace-function-calls -vvvv ../nixpkgs/pkgs/top-level/release.nix -A unstable > log.matthewbauer 2>&1 ./log.py ./log.matthewbauer > log.matthewbauer.folded flamegraph.pl --title matthewbauer-post-pr log.matthewbauer.folded > log.matthewbauer.folded.svg I can make flame graphs like: http://gsc.io/log.matthewbauer.folded.svg --- Includes test cases around function call failures and tryEval. Uses RAII so the finish is always called at the end of the function. | |||
2019-05-29 | Put flake-related stuff in its own namespace | Eelco Dolstra | |
2019-05-22 | Fetch the flake registry from the NixOS/flake-registry repo | Eelco Dolstra | |
2019-05-07 | Make the URL/path of the global flake registry configurable | Eelco Dolstra | |
2019-04-30 | Fixed issue #13 | Nick Van den Broeck | |
2019-03-27 | Merge remote-tracking branch 'tweag/flake-registries' into flakes | Eelco Dolstra | |
2019-03-26 | Merge remote-tracking branch 'origin/master' into flakes | Eelco Dolstra | |