aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-09-14Escape `${` in strings when printing Nix expressionsregnat
Otherwise the result of the printing can't be parsed back correctly by Nix (because the unescaped `${` will be parsed as the begining of an anti-quotation). Fix #3989
2020-09-14nix-daemon: Lower verbosity of restricted setting warningEelco Dolstra
Fixes #3992.
2020-09-14Merge pull request #4005 from Infinisil/fix-autoArgsEelco Dolstra
Fix auto argument passing for more auto arguments than formals
2020-09-13Fix unspecified behaviour in readStorePathCAMapaszlig
When deploying a Hydra instance with current Nix master, most builds would not run because of errors like this: queue monitor: error: --- Error --- hydra-queue-runner error: --- UsageError --- nix-daemon not a content address because it is not in the form '<prefix>:<rest>': /nix/store/...-somedrv The last error message is from parseContentAddress, which expects a colon-separated string, however what we got here is a store path. Looking at the worker protocol, the following message sent to the Nix daemon caused the error above: 0x1E -> wopQuerySubstitutablePathInfos 0x01 -> Number of paths 0x16 -> Length of string "/nix/store/...-somedrv" 0x00 -> Length of string "" Looking at writeStorePathCAMap, the store path is indeed the first field that's transmitted. However, readStorePathCAMap expects it to be the *second* field *on my machine*, since expression evaluation order is a classic form of unspecified behaviour[1] in C++. This has been introduced in https://github.com/NixOS/nix/pull/3689, specifically in commit 66a62b3189c8c9b0965850e6b3c9b0fda0b50fd8. [1]: https://en.wikipedia.org/wiki/Unspecified_behavior#Order_of_evaluation_of_subexpressions Signed-off-by: aszlig <aszlig@nix.build>
2020-09-11Fix auto argument passing for more auto arguments than formalsSilvan Mosberger
The change in 626200713bb3cc844a9feb6af583c9b6b42c6dbc didn't account for when the number of auto arguments is bigger than the number of formal arguments. This causes the following: $ nix-instantiate --eval -E '{ ... }@args: args.foo' --argstr foo foo nix-instantiate: src/libexpr/attr-set.hh:55: void nix::Bindings::push_back(const nix::Attr&): Assertion `size_ < capacity_' failed. Aborted (core dumped)
2020-09-04Add `nix-shell` support for preserving PS1Gabriel Gonzalez
Fixes https://github.com/NixOS/nix/issues/1268 `nix-shell` will now preserve `PS1` if the `NIX_SHELL_PRESERVE_PROMPT` environment variable is set.
2020-09-03Remove gc-check-reachabilityEelco Dolstra
2020-09-03addPermRoot(): Remove indirect flagEelco Dolstra
2020-09-03Remove the --indirect flagEelco Dolstra
All GC roots are now indirect.
2020-09-03createGeneration(): Always create an indirect rootEelco Dolstra
This means profiles outside of /nix/var/nix/profiles don't get garbage-collected. It also means we don't need to scan /nix/var/nix/profiles for GC roots anymore, except for compatibility with previously existing generations.
2020-09-03createGeneration(): Take a StorePathEelco Dolstra
2020-09-02EvalCache: Fix caching of stringsEelco Dolstra
This was broken in 50f13b06fb1b2f50a97323c000d1094d090f08ea. Once again it turns out that putting a bool in a std::variant is a bad idea, since pointers get silently cast to them...
2020-09-01Allow HTTP binary cache to request absolute urisDomen Kožar
2020-09-01github: Use access token when calling .../commits APIEelco Dolstra
2020-08-31Merge remote-tracking branch 'origin/master' into markdownEelco Dolstra
2020-08-28nix develop: Add convenience flags for running specific phasesEelco Dolstra
For example, for building the Nix flake, you would do: $ nix develop --configure $ nix develop --install $ nix develop --installcheck
2020-08-28nix develop: Set output paths to writable locationsEelco Dolstra
Currently, they're set to $(pwd)/outputs/$outputName. This allows commands like 'make install' to work.
2020-08-28Merge branch 'minimal-logger' of https://github.com/Ma27/nixEelco Dolstra
2020-08-27Pass all args when auto-calling a function with an ellipsisGriffin Smith
The command line options --arg and --argstr that are used by a bunch of CLI commands to pass arguments to top-level functions in files go through the same code-path as auto-calling top-level functions with their default arguments - this, however, was only passing the arguments that were *explicitly* mentioned in the formals of the function - in the case of an as-pattern with an ellipsis (eg args @ { ... }) extra passed arguments would get omitted. This fixes that to instead pass *all* specified auto args in the case that our function has an ellipsis. Fixes #598
2020-08-27Merge pull request #3434 from Ericson2314/derivation-header-include-orderEelco Dolstra
Revise division of labor in deserialization of derivations
2020-08-27TypoEelco Dolstra
2020-08-27RemoteStore::addToStore(): Fix race between stderrThread and NAR writerEelco Dolstra
As pointed out by @B4dM4n, the call to to.flush() on stderrThread is unsafe because the NAR writer thread is also writing to 'to'. Fixes #3943.
2020-08-26Remove obsolete commentEelco Dolstra
2020-08-25Merge remote-tracking branch 'origin/master' into markdownEelco Dolstra
2020-08-25Move import docsEelco Dolstra
2020-08-25Add getDoc() functionEelco Dolstra
2020-08-25Use RegisterPrimOp for some undocumented primopsEelco Dolstra
2020-08-25Document some primopsEelco Dolstra
2020-08-25Fix testsEelco Dolstra
2020-08-24Fix clang buildEelco Dolstra
2020-08-24Don't barf if corepkgs is in the store but not a valid pathEelco Dolstra
This can happen when using a dummy store (or indeed any non-local store).
2020-08-24Add DummyStore (dummy://)Eelco Dolstra
DummyStore does not allow building or adding paths. This is useful for evaluation tests when you don't want to initialize a "proper" store.
2020-08-24nix repl ':doc': Render using lowdownEelco Dolstra
2020-08-24Generate builtins section of the manualEelco Dolstra
2020-08-24Move primop docs inlineEelco Dolstra
This makes them available to 'nix repl'.
2020-08-24Allow primops to have Markdown documentationEelco Dolstra
2020-08-24Fix testsEelco Dolstra
2020-08-24Merge pull request #3950 from obsidiansystems/tabs-spacesEelco Dolstra
tabs -> spaces
2020-08-23`writeDerivation` just needs a plain store referenceJohn Ericson
2020-08-21tabs -> spacesJohn Ericson
Sorry I let the tab sneak in there in the first place.
2020-08-20Merge pull request #3859 from obsidiansystems/drv-outputs-map-allow-missingEelco Dolstra
`queryDerivationOutputMap` no longer assumes all outputs have a mapping
2020-08-20Rename drv output querying functionsJohn Ericson
- `queryDerivationOutputMapAssumeTotal` -> `queryPartialDerivationOutputMap` - `queryDerivationOutputMapAssumeTotal` -> `queryDerivationOutputMap`
2020-08-20Remove PrimOp constructorEelco Dolstra
2020-08-20Allow 'nix' subcommands to provide docs in Markdown formatEelco Dolstra
2020-08-20List deprecated option aliases in the docsEelco Dolstra
2020-08-20Config: Use nlohmann/jsonEelco Dolstra
2020-08-19fix spellingRyan Mulligan
2020-08-19Generate the nix.conf docs from the source codeEelco Dolstra
This means we don't have two (divergent) sets of option descriptions anymore.
2020-08-19Change option descriptions to MarkdownEelco Dolstra
2020-08-18Merge remote-tracking branch 'upstream/master' into ↵John Ericson
derivation-header-include-order