Age | Commit message (Collapse) | Author |
|
|
|
Previously, despite having a boolean that tracked initialization, the
decode characters have been "calculated" every single time a base64
string was being decoded.
With this change we only initialize the decode array once in a
thread-safe manner.
|
|
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
|
|
Expose a perl method to query a derivation
|
|
Just doing a very stupid thing taking as argument a serialised drv
output and returning a serialised realisation.
This is needed for `nix-serve` to handle ca derivations
|
|
The experimental features are, well, experimental, and shouldn’t be
carelessly and transparently enabled.
Besides, some (`ca-derivations` at least) need to be enabled at startup
in order to work properly.
So it’s better to just require that daemon be started with the right
`experimental-features` option.
Fix #5017
|
|
|
|
|
|
Enable pthreads for new libraries
|
|
nix develop: Support chroot stores
|
|
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
|
|
For some reason, an old socket occasionally stays here on OSX, causing
the subsequent tests to fail
|
|
When `NIX_DAEMON_PACKAGE` is set, make all the tests use the Nix daemon.
That way we can test every piece of Nix functionality both with and
without the daemon.
Tests for which using the daemon isn’t possible or doesn’t make sens can
selectively be disabled with `needLocalStore`
|
|
Fix the generation of nix3 manpages
|
|
|
|
Fixes #5024.
|
|
- Separate the generation of the manpages from their installation
- Make sure that `make` generates the manpages
- Make sure that `make install` installs them
Fix #5051
|
|
--eval-store and faster closure copying
|
|
|
|
|
|
Fix --no-gc-warning
|
|
libutil: use uniform initialization in _deletePath
|
|
libexpr: Remove unused code
|
|
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
|
|
Avoid global counters
|
|
|
|
This adds a new store operation 'addMultipleToStore' that reads a
number of NARs and ValidPathInfos from a Source, allowing any number
of store paths to be copied in a single call. This is much faster on
high-latency links when copying a lot of small files, like .drv
closures.
For example, on a connection with an 50 ms delay:
Before:
$ nix copy --to 'unix:///tmp/proxy-socket?root=/tmp/dest-chroot' \
/nix/store/90jjw94xiyg5drj70whm9yll6xjj0ca9-hello-2.10.drv \
--derivation --no-check-sigs
real 0m57.868s
user 0m0.103s
sys 0m0.056s
After:
real 0m0.690s
user 0m0.017s
sys 0m0.011s
|
|
Broken by 8e758d402ba1045c7b8273f8cb1d6d8d917ca52b
|
|
Otherwise I get a compiler error when building for NetBSD:
src/libutil/util.cc: In function 'void nix::_deletePath(const Path&, uint64_t&)':
src/libutil/util.cc:438:17: error: base operand of '->' is not a pointer
438 | AutoCloseFD dirfd(open(dir.c_str(), O_RDONLY));
| ^~~~~
src/libutil/util.cc:439:10: error: 'dirfd' was not declared in this scope
439 | if (!dirfd) {
| ^~~~~
src/libutil/util.cc:444:17: error: 'dirfd' was not declared in this scope
444 | _deletePath(dirfd.get(), path, bytesFreed);
| ^~~~~
|
|
Otherwise the lack of pthread causes linking to fail for NetBSD.
|
|
installer: fix --no-modify-profile help text
|
|
installer: update global nix.conf location
|
|
|
|
|
|
|
|
|
|
|
|
With this, we don't have to copy the entire .drv closure to the
destination store ahead of time (or at all). Instead, buildPaths()
reads .drv files from the eval store and copies inputSrcs to the
destination store if it needs to build a derivation.
Issue #5025.
|
|
|
|
In particular, this now works:
$ nix path-info --eval-store auto --store https://cache.nixos.org nixpkgs#hello
Previously this would fail as it would try to upload the hello .drv to
cache.nixos.org. Now the .drv is instantiated in the local store, and
then we check for the existence of the outputs in cache.nixos.org.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If a store doesn't support GC, then we don't need to warn about the
inability to create roots.
|
|
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
|
|
|
|
|