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
Yorick van Pelt
f765e44123
downgrade required libarchive version (ubuntu 16.04)
2019-12-09 18:39:37 +07:00
Yorick van Pelt
3663a8a7e9
release.nix: add libarchive to rpm and deb dependencies
2019-12-09 17:31:05 +07:00
Yorick van Pelt
b232eea40a
nix-rust: remove unused tar file code
2019-12-09 17:28:15 +07:00
Yorick van Pelt
eba82b7c88
further clean up libarchive code
2019-12-09 17:21:46 +07:00
Puck Meerburg
28ee687adf
Clean up libarchive support
2019-12-07 18:12:21 +00:00
Yorick van Pelt
fe7ec70e6b
remove rust unpack_tarfile ffi
2019-12-07 23:28:31 +07:00
Yorick van Pelt
1355554d12
code 'cleanup'
2019-12-07 23:23:11 +07:00
Yorick van Pelt
f54c168031
add wrapper function around libarchive to c++ errors
2019-12-07 23:10:27 +07:00
Yorick van Pelt
232b390766
fixup! libarchive proof of concept
2019-12-07 23:00:37 +07:00
Yorick van Pelt
9ff5f6492f
libarchive proof of concept
2019-12-07 22:35:14 +07: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