Eelco Dolstra
6317f0f7a0
StorePath improvements
2019-12-10 13:37:23 +01:00
Eelco Dolstra
cce218f950
Add base32 encoder/decoder
2019-12-10 13:37:23 +01:00
Eelco Dolstra
a1ff43045b
Move stuff around
2019-12-10 13:37:23 +01:00
Eelco Dolstra
ce3c41aef0
Drop some dependencies
2019-12-10 13:37:23 +01:00
Eelco Dolstra
d832a355ea
Use rustls
...
In particular, this enables HTTP/2 support in reqwest, which is a lot
more efficient.
2019-12-10 13:37:23 +01:00
Eelco Dolstra
dd5d76e2ed
Basic BinaryCacheStore implementation using async Rust
2019-12-10 13:37:23 +01:00
Eelco Dolstra
98ef11677c
EvalState::callFunction(): Make FunctionCallTrace use less stack space
...
The FunctionCallTrace object consumes a few hundred bytes of stack
space, even when tracing is disabled. This was causing stack overflows:
$ nix-instantiate '<nixpkgs> -A texlive.combined.scheme-full --dry-run
error: stack overflow (possible infinite recursion)
This is with the default stack size of 8 MiB.
Putting the object on the heap reduces stack usage to < 5 MiB.
2019-12-10 13:32:30 +01:00
Eelco Dolstra
61cc9f34d2
Remove UserLock self-lock check
...
This is no longer needed since we're not using POSIX locks anymore.
2019-12-09 23:57:33 +01:00
Eelco Dolstra
3b9c9d34e5
Shut up clang warning
...
(cherry picked from commit 3392f1b778
)
2019-12-05 20:41:44 +01:00
Eelco Dolstra
80ab95315d
nix doctor: Fix typo
...
(cherry picked from commit 96c6b08ed7
)
2019-12-05 20:40:52 +01:00
Eelco Dolstra
47a937d512
Show hash mismatch warnings in SRI format
...
(cherry picked from commit 63c5c91cc0
)
2019-12-05 20:32:25 +01:00
Eelco Dolstra
0678e4d56a
Move #include
...
(cherry picked from commit 8beedd4486
)
2019-12-05 20:30:29 +01:00
Eelco Dolstra
79142cbbe1
Bindings: Add convenience method for requiring an attribute
...
(cherry picked from commit fb692e5f7b
)
2019-12-05 20:29:15 +01:00
Eelco Dolstra
0d118ef0c9
Bindings::get(): Add convenience method
...
This allows writing attribute lookups as
if (auto name = value.attrs->get(state.sName))
...
(cherry picked from commit f216c76c56
)
2019-12-05 20:29:00 +01:00
Eelco Dolstra
50d483a2c1
Fix precompiled-headers generation
...
It's now regenerated when util.hh changes, and is ordered after
config.h to fix a race.
2019-12-05 20:26:24 +01:00
Eelco Dolstra
5e449b43ed
Initialize Command::_name
...
(cherry picked from commit d0a769cb06
)
2019-12-05 20:21:22 +01:00
Eelco Dolstra
ac67685606
Make subcommand construction in MultiCommand lazy
...
(cherry picked from commit a0de58f471
)
2019-12-05 20:19:26 +01:00
Eelco Dolstra
f964f428fe
Move Command and MultiCommand to libutil
...
(cherry picked from commit f70434b1fb
)
2019-12-05 20:13:47 +01:00
Eelco Dolstra
f1b5c76c1a
MultiCommand: Simplify construction
...
(cherry picked from commit 15a16e5c05
)
2019-12-05 20:10:35 +01:00
Eelco Dolstra
092af3c826
Eliminate more pass-by-value in variadic calls
2019-12-05 19:58:52 +01:00
Eelco Dolstra
603b2f583c
Revert "Make fmt() non-recursive"
...
This reverts commit 2b761d5f50
.
Also *really* make fmt() take arguments by reference.
2019-12-05 19:58:49 +01:00
Eelco Dolstra
334b8f8af1
fmt(): Pass arguments by reference rather than by value
2019-12-05 17:40:46 +01:00
Eelco Dolstra
f4b9495854
Merge pull request #3255 from Profpatsch/doc-manual-allowSubstitutes-add-note
...
doc/manual: add note to `allowSubstitutes` advanced attribute
2019-12-04 12:46:31 +01:00
Eelco Dolstra
c1d18050b4
Disable recursive Nix test on macOS
...
https://hydra.nixos.org/build/107724274
2019-12-03 19:19:14 +01:00
Profpatsch
7923e22276
doc/manual: add ids to the advanced attribute definitions
...
This makes it possible to reference single attribute definitions,
for pointing people to their exact definition.
2019-12-03 18:22:27 +01:00
Profpatsch
7395e091c5
doc/manual: add note to allowSubstitutes
advanced attribute
2019-12-03 18:01:45 +01:00
Eelco Dolstra
e59e2b2951
Merge branch 'pkg-config-static' of https://github.com/matthewbauer/nix
2019-12-02 13:20:02 +01:00
Eelco Dolstra
ac2bc721d8
Merge remote-tracking branch 'origin/recursive-nix'
2019-12-02 12:34:46 +01:00
Graham Christensen
ec364582eb
Merge pull request #3252 from bwignall/typo
...
Fix typos
2019-11-30 19:05:43 -05:00
Brian Wignall
8737980e75
Fix typos
2019-11-30 19:04:14 -05:00
Eelco Dolstra
f102d793f1
Merge pull request #2748 from edolstra/rust
...
Make nix/unpack-channel.nix a builtin builder
2019-11-29 19:33:31 +01:00
Eelco Dolstra
39954a9586
Make libnixrust a dynamic library
...
This is a hack to fix the build on macOS, which was failing because
libnixrust.a contains compiler builtins that clash with
libclang_rt.osx.a. There's probably a better solution...
https://hydra.nixos.org/build/107473280
2019-11-29 18:30:39 +01:00
Eelco Dolstra
895ed4cef0
Remove RPM spec file
...
Closes #3225 .
Closes #3226 .
2019-11-28 15:10:18 +01:00
Eelco Dolstra
2d6f1ddbb5
Remove builtins.valueSize
...
Fixes #3246 .
2019-11-28 13:52:42 +01:00
Eelco Dolstra
895ce1bb6c
make clean: Delete nix-rust/target
2019-11-27 17:33:59 +01:00
Eelco Dolstra
f553a8bdea
When OPTIMIZE=0, build rust code in debug mode
2019-11-27 14:18:57 +01:00
Eelco Dolstra
949dc84894
Fix segfault on i686-linux
...
https://hydra.nixos.org/build/107467517
Seems that on i686-linux, gcc and rustc disagree on how to return
1-word structs: gcc has the caller pass a pointer to the result, while
rustc has the callee return the result in a register. Work around this
by using a bare pointer.
2019-11-27 14:17:15 +01:00
Eelco Dolstra
dbc4f9d478
Fix macOS build
...
https://hydra.nixos.org/build/107466992
2019-11-27 00:17:39 +01:00
Eelco Dolstra
e6c1d1b474
Update Cargo.lock
2019-11-26 22:46:36 +01:00
Eelco Dolstra
88f8063917
-Z offline -> --offline
2019-11-26 22:45:15 +01:00
Eelco Dolstra
8918bae098
Drop remaining uses of external "tar"
...
Also, fetchGit now runs in O(1) memory since we pipe the output of
'git archive' directly into unpackTarball() (rather than first reading
it all into memory).
2019-11-26 22:07:28 +01:00
Eelco Dolstra
f2bd847092
Ignore tar header entries
...
In particular, these are emitted by 'git archive' (in fetchGit).
2019-11-26 22:07:28 +01:00
Eelco Dolstra
d33dd6e6c0
Move code around
2019-11-26 22:07:28 +01:00
Eelco Dolstra
d14b1c261c
Shut up some rust warnings
2019-11-26 22:07:28 +01:00
Eelco Dolstra
b7fba16613
Move code around
2019-11-26 22:07:28 +01:00
Eelco Dolstra
f738cd4d97
More Rust FFI adventures
...
We can now convert Rust Errors to C++ exceptions. At the Rust->C++ FFI
boundary, Result<T, Error> will cause Error to be converted to and
thrown as a C++ exception.
2019-11-26 22:07:28 +01:00
Eelco Dolstra
8110b4ebb2
Rust cleanup
2019-11-26 22:07:28 +01:00
Eelco Dolstra
343ebcc048
Only pass '-Z offline' to cargo if we have a vendor directory
2019-11-26 22:07:28 +01:00
Eelco Dolstra
afb021893b
Reduce the size of the vendor directory by removing some winapi cruft
2019-11-26 22:07:28 +01:00
Eelco Dolstra
d722e2175e
Include cargo dependencies in the Nix tarball
2019-11-26 22:07:28 +01:00