aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-10-05Add FIXME about ptsnameEelco Dolstra
2021-10-05Connect/bind Unix domain sockets in a child processEelco Dolstra
In the child process, we can do a chdir() and avoid the problem of the path not fitting into sockaddr_un.
2021-10-04Add a test for RefScanSink and clean up the codeEelco Dolstra
Issue #5322.
2021-10-04scanForReferences(): Use a StorePathSetEelco Dolstra
2021-10-03Merge pull request #5310 from trofi/drop-spammy-rewriteEelco Dolstra
local-derivation-goal.cc: drop spammy "warning: rewriting hashes in..…
2021-10-02fix creation of NAR files >4GB on 32-bit platformskvtb
`size_t` is 32-bit on 32-bit platforms, while the file size can be bigger
2021-10-02Fix typoAleksey Kladov
2021-10-01local-derivation-goal.cc: downgrade "warning: rewriting hashes in..." down ↵Sergei Trofimovich
to debug Before the changes when building the whole system with `contentAddressedByDefault = true;` we get many noninformative messages: $ nix build -f nixos system --keep-going ... warning: rewriting hashes in '/nix/store/...-clang-11.1.0.drv.chroot/nix/store/...-11.1.0'; cross fingers warning: rewriting hashes in '/nix/store/...-clang-11.1.0.drv.chroot/nix/store/...-11.1.0-dev'; cross fingers warning: rewriting hashes in '/nix/store/...-clang-11.1.0.drv.chroot/nix/store/...-11.1.0-python'; cross fingers error: 2 dependencies of derivation '/nix/store/...-hub-2.14.2.drv' failed to build warning: rewriting hashes in '/nix/store/...-subversion-1.14.1.drv.chroot/nix/store/...-subversion-1.14.1-dev'; cross fingers warning: rewriting hashes in '/nix/store/...-subversion-1.14.1.drv.chroot/nix/store/...-subversion-1.14.1-man'; cross fingers ... Let's downgrade these messages down to debug().
2021-10-01Merge pull request #5167 from Ma27/keep-failed-on-ssh-remote-buildEelco Dolstra
nix-store --serve: pass on `settings.keepFailed` from SSH store
2021-09-30`std::visit` by referenceJohn Ericson
I had started the trend of doing `std::visit` by value (because a type error once mislead me into thinking that was the only form that existed). While the optomizer in principle should be able to deal with extra coppying or extra indirection once the lambdas inlined, sticking with by reference is the conventional default. I hope this might even improve performance.
2021-09-29reset yylloc when yyless(0) is calledTaeer Bar-Yam
2021-09-29Merge pull request #5301 from Ma27/builtins-missing-feature-errorEelco Dolstra
libexpr: throw a more helpful eval-error if a builtin is not available due to a missing feature-flag
2021-09-29libexpr: throw a more helpful eval-error if a builtin is not available due ↵Maximilian Bosch
to a missing feature-flag I found it somewhat confusing to have an error like error: attribute 'getFlake' missing if the required experimental-feature (`flakes`) is not enabled. Instead, I'd expect Nix to throw an error just like it's the case when using e.g. `nix flake` without `flakes` being enabled. With this change, the error looks like this: $ nix-instantiate -E 'builtins.getFlake "nixpkgs"' error: Cannot call 'builtins.getFlake' because experimental Nix feature 'flakes' is disabled. You can enable it via '--extra-experimental-features flakes'. at «string»:1:1: 1| builtins.getFlake "nixpkgs" | ^ I didn't use `settings.requireExperimentalFeature` here on purpose because this doesn't contain a position. Also, it doesn't seem as if we need to catch the error and check for the missing feature here since this already happens at evaluation time.
2021-09-29Merge pull request #5295 from Ma27/bmcheck-fod-mismatchEelco Dolstra
build: also throw hash-mismatch errors if `buildMode == bmCheck`
2021-09-27build: also throw hash-mismatch errors if `buildMode == bmCheck`Maximilian Bosch
This actually bit me quite recently in `nixpkgs` because I assumed that `nix-build --check` would also error out if hashes don't match anymore[1] and so I wrongly assumed that I couldn't reproduce the mismatch error. The fix is rather simple, during the output registration a so-called `delayedException` is instantiated e.g. if a FOD hash-mismatch occurs. However, in case of `nix-build --check` (or `--rebuild` in case of `nix build`), the code-path where this exception is thrown will never be reached. By adding that check to the if-clause that causes an early exit in case of `bmCheck`, the issue is gone. Also added a (previously failing) test-case to demonstrate the problem. [1] https://github.com/NixOS/nixpkgs/pull/139238, the underlying issue was that `nix-prefetch-git` returns different hashes than `fetchgit` because the latter one fetches submodules by default.
2021-09-27Fix 'error: reading a line: Input/output error' in startBuilder()Eelco Dolstra
With -vvvv, the ProgressBar was polluting the stderr of the child, messing up its \2 message to the parent.
2021-09-27Don't copy in rethrowEelco Dolstra
2021-09-27nix path-info -r: Don't duplicate the root pathsEelco Dolstra
This fixes $ nix path-info -r $(type -P ls) /nix/store/vfilzcp8a467w3p0mp54ybq6bdzb8w49-coreutils-8.32 /nix/store/5d821pjgzb90lw4zbg6xwxs7llm335wr-libunistring-0.9.10 ... /nix/store/mrv4y369nw6hg4pw8d9p9bfdxj9pjw0x-acl-2.3.0 /nix/store/vfilzcp8a467w3p0mp54ybq6bdzb8w49-coreutils-8.32 Also, output the paths in topologically sorted order like we used to.
2021-09-27run(): MoveEelco Dolstra
2021-09-27Merge pull request #5292 from edolstra/update-lowdownEelco Dolstra
Update lowdown
2021-09-24Explicitly set initial branch name for gitoxalica
2021-09-24Use latest lowdownEelco Dolstra
This improves list rendering (https://github.com/kristapsdz/lowdown/issues/73).
2021-09-24Merge pull request #5253 from edolstra/flake-ifdEelco Dolstra
Don't allow IFD in flakes by default
2021-09-23Shut down write side before draining the read sideEelco Dolstra
This is important if the remote side *does* execute nix-store/nix-daemon successfully, but stdout is polluted (e.g. because the remote user's bashrc script prints something to stdout). In that case we have to shutdown the write side to force the remote nix process to exit.
2021-09-23SSHStore / LegacySSHStore: Show a better error message if the remote is ↵Eelco Dolstra
"nologin" Instead of error: serialised integer 7161674624452356180 is too large for type 'j' we now get error: 'nix-store --serve' protocol mismatch from 'sshtest@localhost', got 'This account is currently not available.' Fixes https://github.com/NixOS/nixpkgs/issues/37287.
2021-09-23Remove risky char *Eelco Dolstra
2021-09-23Add some more instrumentationEelco Dolstra
2021-09-22Revert "Merge pull request #4922 from nrdxp/default-submodules"Eelco Dolstra
This reverts commit 6678e98411cd3bfe8143a4ba1b35d1451babce32, reversing changes made to 90b2dd570cbd8313a8cf45b3cf66ddef2bb06e07.
2021-09-22Disable IFD selectivelyEelco Dolstra
It's now disabled by default for the following: * 'nix search' (this was already implied by read-only mode) * 'nix flake show' * 'nix flake check', but only on the hydraJobs output
2021-09-22Make setDefault() typedEelco Dolstra
2021-09-22Don't cache realiseContext() errorsEelco Dolstra
Errors that depend on the configuration (such as whether allow-import-from-derivation is set) should not be cached.
2021-09-22Add missing #includeEelco Dolstra
Fixes #5282.
2021-09-21Set input parent at construction timeEelco Dolstra
2021-09-21Allow relative paths anywhere into the parent's store pathEelco Dolstra
2021-09-21path fetcher: Fix relative path checkEelco Dolstra
2021-09-17Fix scheme argument to s3 cacheGregor Kleen
2021-09-16Include subpath in flake fingerprintGeoff Reedy
Without this, flakes within the same tree and same lock data will have the same fingerprint and the eval cache for one flake will be incorrectly used for another.
2021-09-15Merge pull request #5257 from edolstra/dirty-lock-fileEelco Dolstra
If we can't write a lock file, pretend the top-level flake is dirty
2021-09-15Merge branch 'mh/fix-chroot-eval' of https://github.com/obsidiansystems/nixEelco Dolstra
2021-09-15If we can't write a lock file, pretend the top-level flake is dirtyEelco Dolstra
Alternative to #4639. You can still read flake.lock, but at least in reproducible workflows like NixOS configurations where you require a non-dirty tree, evaluation will fail because there is no rev.
2021-09-15Revert "Disallow reading flake.lock"Eelco Dolstra
This reverts commit e5596113f7fc5e47e058bb15afdf75eee02ed95e.
2021-09-15sandbox: allow Rosetta 2 on DarwinEmily
This allows sandboxed x86_64-darwin builds on aarch64-darwin.
2021-09-14Rename unnecessary git@Eelco Dolstra
2021-09-14Merge pull request #5249 from edolstra/nix-profileEelco Dolstra
Add missing 'nix profile' subcommands
2021-09-14Disallow reading flake.lockEelco Dolstra
With --no-write-lock-file, it's possible that flake.lock is out of sync with the actual inputs used by the evaluation. So doing fromJSON (readFile ./flake.lock) will give wrong results. Fixes #4639.
2021-09-14nix profile history: Show profile dateEelco Dolstra
2021-09-14Add 'nix profile wipe-history' commandEelco Dolstra
2021-09-14Generations -> profile versionsEelco Dolstra
2021-09-14Fix quotesEelco Dolstra
2021-09-14Add "nix profile rollback" commandEelco Dolstra