Eelco Dolstra
c9d0cf7e02
Don't include error.hh in util.hh to prevent header bloat
2020-04-22 15:29:27 +02:00
Eelco Dolstra
7114f088fc
Don't install error-demo
2020-04-22 15:29:22 +02:00
Eelco Dolstra
16e3bf4537
Merge branch 'error-format' of https://github.com/bburdette/nix
2020-04-22 15:29:10 +02:00
Eelco Dolstra
2ea4d45449
Path fetcher: Fix store path name
...
(cherry picked from commit c7af247bea
)
2020-04-22 15:27:06 +02:00
Eelco Dolstra
4a2a45f53d
Merge pull request #3522 from HackerFoo/replace-select-with-poll
...
Replace select() with poll()
2020-04-22 12:25:41 +02:00
Eelco Dolstra
c7af247bea
Path fetcher: Fix store path name
2020-04-22 10:15:32 +02:00
Dustin DeWeese
c0d940978a
Replace select() with poll() to allow waiting on more than FD_SETSIZE fds
2020-04-21 16:21:28 -07:00
Ben Burdette
e4fb9a3849
remove 'format' from Error constructor calls
2020-04-21 17:07:07 -06:00
Ben Burdette
d3052197fe
add ErrorInfo to BaseError
2020-04-21 13:25:41 -06:00
Eelco Dolstra
8c75621da6
Fix typo
2020-04-20 15:28:56 +02:00
Eelco Dolstra
b69323f8c9
Revive 'nix search'
...
It uses the evaluation cache now rather than the ad hoc JSON cache.
2020-04-20 15:27:09 +02:00
Eelco Dolstra
42a12f9232
Move eval-cache.{cc,hh}
2020-04-20 13:14:59 +02:00
Eelco Dolstra
539a9c1c5f
Get rid of the old eval cache
2020-04-20 13:13:52 +02:00
Ben Burdette
15e9564fd1
logEI for tunnelLogger and progressbar
2020-04-19 17:16:51 -06:00
Eelco Dolstra
0725ab2fd7
Store more stuff in the evaluation cache
...
In particular, we store whether an attribute failed to evaluate (threw
an exception) or was an unsupported type. This is to ensure that a
repeated 'nix flake show' never has to evaluate anything, so it can
execute without fetching the flake.
With this, 'nix flake show nixpkgs/nixos-20.03 --legacy' executes in
0.6s (was 3.4s).
2020-04-19 23:07:06 +02:00
Eelco Dolstra
3738bcb05e
Eval cache: Don't replace real attributes with placeholders
2020-04-18 15:12:31 +02:00
Domen Kožar
25ed842725
Merge pull request #3502 from NixOS/more-pos
...
pass Pos to forceValue to improve infinite recursion error
2020-04-18 14:05:21 +02:00
Ben Burdette
4697552948
demoing other error levels than warn/error; rename line and file fields in errPos
2020-04-17 15:50:46 -06:00
Eelco Dolstra
69cb9f7eee
Wrap eval cache creation in a giant transaction
...
This speeds up the creation of the cache for the nixpkgs flake from
21.2s to 10.2s. Oddly, it also speeds up querying the cache
(i.e. running 'nix flake show nixpkgs/nixos-20.03 --legacy') from 4.2s
to 3.4s.
(For comparison, running with --no-eval-cache takes 9.5s, so the
overhead of building the SQLite cache is only 0.7s.)
2020-04-17 23:17:21 +02:00
Ben Burdette
3d5b1032a1
logError, logWarning; Logger functions; switch to Verbosity enum
2020-04-17 15:07:44 -06:00
Eelco Dolstra
aaa109565e
Use a more space/time-efficient representation for the eval cache
2020-04-17 23:04:21 +02:00
Eelco Dolstra
bdb3226607
Add flag to disable the eval cache
2020-04-17 14:30:04 +02:00
Eelco Dolstra
aa34c0ef51
nix flake show: Speed up eval cache bigly
...
In the fully cached case for the 'nixpkgs' flake, it went from 101s to
4.6s. Populating the cache went from 132s to 17.4s (which could
probably be improved further by combining INSERTs).
2020-04-17 13:57:02 +02:00
Eelco Dolstra
9ea4f93f88
nix flake show: Support apps
2020-04-17 01:21:24 +02:00
Eelco Dolstra
a6c4fd044c
Hide progress bar on exit
2020-04-17 01:13:13 +02:00
Eelco Dolstra
12b7eefbc5
nix flake show: Use evaluation cache
2020-04-17 01:02:29 +02:00
Eelco Dolstra
7a9687ba30
SQLiteStmt: Use std::string_view
2020-04-17 01:00:56 +02:00
Eelco Dolstra
3b489e8843
Add 'nix flake show' command
2020-04-16 19:52:39 +02:00
Eelco Dolstra
29043e7e9e
Fix
2020-04-16 19:01:49 +02:00
Ben Burdette
12814806ef
iomanip no longer needed
2020-04-16 10:48:15 -06:00
Eelco Dolstra
c277231b7d
Use RootValue
2020-04-16 18:33:34 +02:00
Eelco Dolstra
f89349f07e
Merge remote-tracking branch 'origin/master' into flakes
2020-04-16 18:33:10 +02:00
Eelco Dolstra
0858738355
Merge remote-tracking branch 'origin/master' into flakes
2020-04-16 18:27:37 +02:00
Eelco Dolstra
efaffaa9d1
Use Logger::stdout()
...
(cherry picked from commit 8f41847394
)
2020-04-16 18:14:01 +02:00
Eelco Dolstra
67a5941472
Logger: Add method for writing to stdout
...
Usually this just writes to stdout, but for ProgressBar, we need to
clear the current line, write the line to stdout, and then redraw the
progress bar.
(cherry picked from commit 696c026006
)
2020-04-16 18:03:38 +02:00
Eelco Dolstra
fcd048a526
Use RootValue
2020-04-16 18:02:59 +02:00
Ben Burdette
96262e744e
switch to structs, which don't need public:
2020-04-16 09:55:38 -06:00
Eelco Dolstra
9f46f54de4
JSONSax: Use a RootValue
...
More #3377 .
2020-04-16 17:30:18 +02:00
Eelco Dolstra
10e17eaa58
ValueMap, VectorVector: Use traceable_allocator
...
We want to *trace* the 'Value *' arrays, not garbage-collect them!
Otherwise the vectors/maps can end up pointing to nowhere.
Fixes #3377 . Closes #3384 .
2020-04-16 17:30:13 +02:00
Eelco Dolstra
b3e5eea4a9
Add function to allocate a Value in traceable memory
2020-04-16 17:30:05 +02:00
Eelco Dolstra
1290411c2d
fetchMercurial: Use inputFromAttrs()
2020-04-16 17:29:30 +02:00
Eelco Dolstra
8f41847394
Use Logger::stdout()
2020-04-16 13:47:59 +02:00
Eelco Dolstra
696c026006
Logger: Add method for writing to stdout
...
Usually this just writes to stdout, but for ProgressBar, we need to
clear the current line, write the line to stdout, and then redraw the
progress bar.
2020-04-16 13:47:59 +02:00
Domen Kožar
b865b5b40c
pass Pos to forceValue to improve infinite recursion error
2020-04-16 12:32:07 +02:00
Ben Burdette
057e5b6b2e
move implementation to cc
2020-04-15 10:09:43 -06:00
Ben Burdette
adf03b0b8e
Merge branch 'initializer-style' into error-format
2020-04-15 10:06:20 -06:00
Eelco Dolstra
2f9789c2e6
Merge pull request #3492 from andir/nix-build-gc-free
...
SourceExprCommand: allocate the vSourceExpr via uncollectable memory
2020-04-15 13:01:04 +02:00
Eelco Dolstra
a118293bd0
Merge pull request #3458 from zimbatm/nix-user-conf-dir
...
NIX_USER_CONF_FILES
2020-04-15 13:00:28 +02:00
Jonas Chevalier
895516cadf
add NIX_USER_CONF_FILES
...
Motivation: maintain project-level configuration files.
Document the whole situation a bit better so that it corresponds to the
implementation, and add NIX_USER_CONF_FILES that allows overriding
which user files Nix will load during startup.
2020-04-14 18:45:06 +02:00
Eelco Dolstra
3729df34da
Make Registry::read() more robust
2020-04-14 17:25:39 +02:00