aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-02-02Merge branch 'parser-improvements' of https://github.com/pennae/nixEelco Dolstra
2022-02-02Merge branch 'more-stringviews' of https://github.com/pennae/nixEelco Dolstra
2022-01-31Merge pull request #6022 from thkoch2001/fix-lowdown_libsEelco Dolstra
use LOWDOWN_LIBS variable
2022-01-31Merge pull request #5990 from lincolnauster/flakes-nixconfig-docsEelco Dolstra
flakes: document nixConfig option
2022-01-30use LOWDOWN_LIBS variableThomas Koch
fixes: #5931
2022-01-30Merge pull request #6018 from dtzWill/fix/issue-6017Eelco Dolstra
canonPath: fix missing slash when resolving links
2022-01-30fix spelling mistakes reported by Debian's lintian toolThomas Koch
2022-01-29canonPath: fix missing slash when resolving linksWill Dietz
Fixes #6017
2022-01-28Remove a repeated std::move in a for loopEelco Dolstra
2022-01-27optionally return string_view from coerceToStringpennae
we'll retain the old coerceToString interface that returns a string, but callers that don't need the returned value to outlive the Value it came from can save copies by using the new interface instead. for values that weren't stringy we'll pass a new buffer argument that'll be used for storage and shouldn't be inspected.
2022-01-27return string_views from forceString*pennae
once a string has been forced we already have dynamic storage allocated for it, so we can easily reuse that storage instead of copying.
2022-01-27convert a for more utilities to string_viewpennae
2022-01-27Don’t require `NIX_PATH` entries to be valid pathsregnat
It’s totally valid to have entries in `NIX_PATH` that aren’t valid paths (they can even be arbitrary urls or `channel:<channel-name>`). Fix #5998 and #5980
2022-01-26Stop vendoring nlohmann_jsonEelco Dolstra
2022-01-26Merge pull request #5991 from edolstra/remote-nix-versionEelco Dolstra
nix store ping: Report Nix daemon version
2022-01-25fix typolincoln auster
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2022-01-25nix store ping: Report Nix daemon versionEelco Dolstra
Fixes #5952.
2022-01-25flakes: document nixConfig optionlincoln auster [they/them]
Fixes #5988.
2022-01-25Merge pull request #5987 from edolstra/rust-cleanupEelco Dolstra
Remove unused Rust stuff
2022-01-25Merge pull request #5922 from fzakaria/fzakaria/json-ignore-assertionEelco Dolstra
Add try/catch to queryJSON for assertion and errors
2022-01-25Remove unused Rust stuffEelco Dolstra
In particular we were still compiling rust-ffi.cc even though we're not using it.
2022-01-25Fix parsing of variable names that are a suffix of '__curPos'regnat
Follow-up from #5969 Fix #5982
2022-01-24Do not suppress errors in nix-env from feedback by EelcoFarid Zakaria
2022-01-24Allow builtins.{readFile,path} on invalid pathsEelco Dolstra
Stop-gap measure to fix #5975.
2022-01-24Fix parsing of variable names that are a prefix of '__curPos'Eelco Dolstra
Fixes $ nix-instantiate --parse -E 'x: with x; _' (x: (with x; __curPos))
2022-01-24ExprConcatStrings::show(): Print values instead of pointersEelco Dolstra
2022-01-24hiliteMatches(): Style fixes, pass more stuff by referenceEelco Dolstra
2022-01-24Merge pull request #5945 from afishhh/masterThéophane Hufschmitt
Make `nix search` highlight all regexes and matches
2022-01-24Merge pull request #5964 from pennae/fix-bulk-allocEelco Dolstra
allocate a GC root value for the Value cache pointer
2022-01-24Merge pull request #5965 from SuperSandro2000/nix-shell-rmEelco Dolstra
nix-shell: use clean rm, not any aliases/functions
2022-01-24Merge pull request #5875 from hercules-ci/fix-large-drv-field-stack-overflowEelco Dolstra
Fix segfault or stack overflow caused by large derivation fields
2022-01-24Add a small documentation for `hiliteMatches`regnat
2022-01-23nix-shell: use clean rm, not any aliases/functionsSandro Jäckel
2022-01-22allocate a GC root value for the Value cache pointerpennae
keeping it as a simple data member means it won't be scanned by the GC, so eventually the GC will collect a cache that is still referenced (resulting in use-after-free of cache elements). fixes #5962
2022-01-21Add some tests for hiliteMatches in libutilFishhh
2022-01-21Move hilite_all into libutil and rename it to hiliteMatchesFishhh
The signature was also changed so the function now accepts a vector instead of an iterator
2022-01-21derivations.cc: Use larger buffer in printString Robert Hensing
If we want to be careful about hitting the stack protector page, we should use `-fstack-check` instead. Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-01-21Fix exception handling around realisePath()Eelco Dolstra
This no longer worked correctly because 'path' is uninitialised when an exception occurs, leading to errors like … while importing '' at /nix/store/rrzz5b1pshvzh1437ac9nkl06br81lkv-source/flake.nix:352:13: So move the adding of the error context into realisePath().
2022-01-21Merge pull request #5949 from obsidiansystems/old-copyClosureEelco Dolstra
Add back `copyClosure` for plain `StorePath`s
2022-01-21Merge pull request #5943 from NixOS/3204-fix-build-with-newer-nlohmann-jsonEelco Dolstra
Fix the build with nlohmann/json 3.10.4+
2022-01-21Merge pull request #5942 from NixOS/5912-quieter-nix-why-dependsEelco Dolstra
Make `nix why-depends` quieter by default
2022-01-21Improve the description of the `--precise` optionThéophane Hufschmitt
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-01-20Add back `copyClosure` for plain `StorePath`sJohn Ericson
This was removed in 2e199673a523fa81de31ffdd2a25976ce0814631 when `copyPath` transitioned to use `RealisedPath`. But then in e9848beca704d27a13e28b4403251725bd485bb2 we added it back just for `realisedPath`. I think it is a good utility function --- one can easily imagine it becoming optimized in the future, and copying paths *violating* the closure is a very niche feature. So if we have `copyPaths` for both sorts of paths, I think we should have `copyClosure` for both sorts too.
2022-01-20Make `hilite_all` take an iterator of matches instead of a vector.Hubert Głuchowski
2022-01-19Remove dead field in NixArgsJohn Ericson
This has been unused since 170e86dff5724264e0d3d25b9af1bd42df6aec74 CC @thufschmitt
2022-01-19Make `nix search` highlight all matches of a regexHubert Głuchowski
2022-01-19Make `nix search` highlight all regexesHubert Głuchowski
2022-01-19defer formals duplicate check for incresed efficiency all roundpennae
if we defer the duplicate argument check for lambda formals we can use more efficient data structures for the formals set, and we can get rid of the duplication of formals names to boot. instead of a list of formals we've seen and a set of names we'll keep a vector instead and run a sort+dupcheck step before moving the parsed formals into a newly created lambda. this improves performance on search and rebuild by ~1%, pure parsing gains more (about 4%). this does reorder lambda arguments in the xml output, but the output is still stable. this shouldn't be a problem since argument order is not semantically important anyway. before nix search --no-eval-cache --offline ../nixpkgs hello Time (mean ± σ): 8.550 s ± 0.060 s [User: 6.470 s, System: 1.664 s] Range (min … max): 8.435 s … 8.666 s 20 runs nix eval -f ../nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix Time (mean ± σ): 346.7 ms ± 2.1 ms [User: 312.4 ms, System: 34.2 ms] Range (min … max): 343.8 ms … 353.4 ms 20 runs nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system' Time (mean ± σ): 2.720 s ± 0.031 s [User: 2.415 s, System: 0.231 s] Range (min … max): 2.662 s … 2.780 s 20 runs after nix search --no-eval-cache --offline ../nixpkgs hello Time (mean ± σ): 8.462 s ± 0.063 s [User: 6.398 s, System: 1.661 s] Range (min … max): 8.339 s … 8.542 s 20 runs nix eval -f ../nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix Time (mean ± σ): 329.1 ms ± 1.4 ms [User: 296.8 ms, System: 32.3 ms] Range (min … max): 326.1 ms … 330.8 ms 20 runs nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system' Time (mean ± σ): 2.687 s ± 0.035 s [User: 2.392 s, System: 0.228 s] Range (min … max): 2.626 s … 2.754 s 20 runs
2022-01-19Replace withBuffer by boost small_vectorRobert Hensing
Although this will leave gaps in the stack, the performance impact of those should be insignificant and we get a simpler solution this way.
2022-01-19withBuffer: Make sure to hit the stack protectorRobert Hensing