aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-27Merge pull request #5048 from tweag/flox-eval-storeEelco Dolstra
--eval-store and faster closure copying
2021-07-27Add --eval-store testEelco Dolstra
2021-07-27nix-instantiate: Fix --eval-storeEelco Dolstra
2021-07-27Merge pull request #5046 from ncfavier/patch-1Eelco Dolstra
Fix --no-gc-warning
2021-07-27Merge pull request #5043 from alyssais/vexingEelco Dolstra
libutil: use uniform initialization in _deletePath
2021-07-27Merge pull request #5049 from Pamplemousse/less_globalsEelco Dolstra
libexpr: Remove unused code
2021-07-26libexpr: Remove unused codePamplemousse
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-07-26Merge pull request #5037 from Pamplemousse/less_globalsEelco Dolstra
Avoid global counters
2021-07-26Revert no longer necessary changeEelco Dolstra
2021-07-26Low-latency closure copyEelco Dolstra
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
2021-07-25Fix --no-gc-warningNaïm Favier
Broken by 8e758d402ba1045c7b8273f8cb1d6d8d917ca52b
2021-07-24libutil: use uniform initialization in _deletePathAlyssa Ross
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); | ^~~~~
2021-07-23Merge pull request #5040 from SuperSandro2000/patch-1Domen Kožar
installer: fix --no-modify-profile help text
2021-07-23Merge pull request #5041 from SuperSandro2000/patch-2Domen Kožar
installer: update global nix.conf location
2021-07-23installer: update global nix.conf locationSandro
2021-07-23installer: fix --no-modify-profile help textSandro
2021-07-22RemoteStore::buildPaths(): Handle evalStoreEelco Dolstra
2021-07-22Remove redundant RealisedPath::closure() callEelco Dolstra
2021-07-22Fix formatting error in 'nix store' manpageEelco Dolstra
2021-07-22buildPaths(): Add an evalStore argumentEelco Dolstra
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.
2021-07-22copyPaths: Pass store by referenceEelco Dolstra
2021-07-22Use eval-store in more placesEelco Dolstra
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.
2021-07-22DummyStore: Remove redundant methodEelco Dolstra
2021-07-22nix-shell: Handle --eval-store correctlyEelco Dolstra
2021-07-22nix-build: Copy drv closure between eval store and build storeEelco Dolstra
2021-07-22Support --eval-store in nix-instantiate and nix-buildEelco Dolstra
2021-07-22Hacky fast closure copying mechanismEelco Dolstra
2021-07-22Add --eval-store optionEelco Dolstra
2021-07-22Downgrade warning messageEelco Dolstra
If a store doesn't support GC, then we don't need to warn about the inability to create roots.
2021-07-21Avoid global countersPamplemousse
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-07-21Tweak --no/use-registries doc stringsEelco Dolstra
2021-07-21Merge branch 'balsoft/no-registries' of https://github.com/serokell/nixEelco Dolstra
2021-07-20deletePath(): Return ENFILE instead of EBADF when out of file descriptorsEelco Dolstra
Also remove an erroneous comment.
2021-07-20Merge remote-tracking branch 'origin/repl-flake-support'Eelco Dolstra
2021-07-20Merge pull request #5030 from NixOS/lock-ca-derivationsEelco Dolstra
Properly lock the builds of CA derivations
2021-07-20Properly lock the builds of CA derivationsregnat
Make sure that we can’t build the same derivation twice at the same time. Fix https://github.com/NixOS/nix/issues/5029
2021-07-19Merge pull request #5028 from hercules-ci/edit-package-not-derivationEelco Dolstra
nix repl: Update :edit doc to remove inaccurate use of "derivation"
2021-07-19Merge remote-tracking branch 'origin/cleaner-nix3-manpages-install'Eelco Dolstra
2021-07-19nix repl: Update :edit help textRobert Hensing
It supports functions as well. Also change `package` to `derivation` because it operates at the language level and does not open the derivation (which would be useful but not nearly as much).
2021-07-19Rename findDerivationFilename -> findPackageFilenameRobert Hensing
It does not operate on a derivation and does not return a derivation path. Instead it works at the language level, where a distinct term "package" is more appropriate to distinguish the parent object of `meta.position`; an attribute which doesn't even make it into the derivation.
2021-07-19Add a `:load-flake` command to the nix replregnat
`:lf ref` does essentially the same thing as `:a (builtins.getFlake "ref")` (but cannonicalising `ref` if needs be, so that `:lf .` works) Fix #3803
2021-07-19Cleanup the generation of the nix3 manpagesregnat
Use a dedicated make target for the man page rather than bundling the generation as part of `install`. Also make sure that `make install` is a fixpoint by - Removing the generated markdown files from `MANUAL_SRCS` - Not having the manpage generation write in its source directory so as to not update its timestamp (it would run each time otherwise)
2021-07-19Merge pull request #5020 from NixOS/make-the-repl-reuse-the-whole-nix-configEelco Dolstra
Forward the whole Nix config to the repl subprocesses
2021-07-19Merge pull request #5022 from NixOS/more-lenient-realisation-compatibility-checkEelco Dolstra
Be more lenient when realisations have a conflicting dependency set
2021-07-16Add use-registries config option (and deprecate --no-registries flag)Alexander Bantyev
Some people want to avoid using registries at all on their system; Instead of having to add --no-registries to every command, this commit allows to set use-registries = false in the config. --no-registries is still allowed everywhere it was allowed previously, but is now deprecated. Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2021-07-16Be more lenient when realisations have a conflicting dependency setregnat
- This can legitimately happen (for example because of a non-determinism causing a build-time dependency to be kept or not as a runtime reference) - Because of older Nix versions, it can happen that we encounter a realisation with an (erroneously) empty set of dependencies, in which case we don’t want to fail, but just warn the user and try to fix it.
2021-07-16Forward the whole Nix config to the repl subprocessesregnat
Fill `NIX_CONFIG` with the value of the current Nix configuration before calling the nix subprocesses in the repl That way the whole configuration (including the possible `experimental-features`, a possibly `--store` option or whatever) will be made available. This is required for example to make `nix repl` work with a custom `--store`
2021-07-15Merge pull request #5019 from NixOS/make-the-post-hook-reuse-the-process-configEelco Dolstra
Forward the whole Nix config to the post-build-hook
2021-07-15Forward the whole Nix config to the post-build-hookregnat
Fill `NIX_CONFIG` with the value of the current Nix configuration before calling the post-build-hook. That way the whole configuration (including the possible `experimental-features`, a possibly `--store` option or whatever) will be made available to the hook
2021-07-15Merge pull request #5016 from edolstra/nlohmannEelco Dolstra
nlohmann_json: Update to 3.9.1, fix use of internal copy