aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-01-24Fix 'destructor called on non-final ...' warningGuillaume Maudoux
clangStdenv compiles with a single warning: ``` warning: destructor called on non-final 'nix::PosAdapter' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] ``` This fixes the warning by making the destructor of PosAdapter virtual, deffering to the correct destructor from the concrete child classes. This has no impact in the end, as none of these classes have specific destructors. Technicaly, it may be faster not to have this indirection, but as per the warning, there is only one place where we have to delete abstract PosAdapter values. Not worth bikesheding I guess.
2023-01-23Merge pull request #7595 from cole-h/show-setting-valueEelco Dolstra
nix/show-config: allow getting the value of a specific setting
2023-01-23Merge pull request #7447 from aakropotkin/read-file-typeRobert Hensing
Read file type
2023-01-23Merge pull request #7657 from obsidiansystems/fix-7655Robert Hensing
Fix #7655
2023-01-23Test store paths, with property testsJohn Ericson
The property test in fact found a bug: we were excluding numbers!
2023-01-23Better-scope `Store` forward declarationsJohn Ericson
2023-01-23Add `rapidcheck` dependency for testingJohn Ericson
Property tests are great! Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2023-01-22primop: add readFileType, optimize readDirAlex Ameen
Allows checking directory entry type of a single file/directory. This was added to optimize the use of `builtins.readDir` on some filesystems and operating systems which cannot detect this information using POSIX's `readdir`. Previously `builtins.readDir` would eagerly use system calls to lookup these filetypes using other interfaces; this change makes these operations lazy in the attribute values for each file with application of `builtins.readFileType`.
2023-01-21Fix #7655John Ericson
We had some local variables left over from the older (more complicated) implementation of this function. They should all be unused, but one wasn't by mistake. Delete them all, and replace the one that was still in use as intended.
2023-01-20Use complete '__toString' attribute nameGuillaume Maudoux
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-01-20Fix unreachable error messageGuillaume Maudoux
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-01-19Always display addErrorContext messages in (expanded) tracesGuillaume Maudoux
2023-01-19Discuss re-entrant errors and designGuillaume Maudoux
2023-01-19Add tests for error traces, and fixesGuillaume Maudoux
2023-01-19Revert "Revert "Merge pull request #6204 from layus/coerce-string""Guillaume Maudoux
This reverts commit 9b33ef3879a764bed4cc2404a08344c3a697a646.
2023-01-18Merge pull request #7631 from edolstra/output-namesEelco Dolstra
OutputSpec: Allow all valid output names
2023-01-18Add test for OutputsSpec::NamesEelco Dolstra
From @Ericson2314.
2023-01-18OutputSpec: Allow all valid output namesEelco Dolstra
Fixes #7624.
2023-01-18Restore support for channel: URLs in fetchTarballEelco Dolstra
Fixes #7625.
2023-01-18Revert "Merge pull request #6204 from layus/coerce-string"Robert Hensing
This reverts commit a75b7ba30f1e4f8b15e810fd18e63ee9552e0815, reversing changes made to 9af16c5f742300e831a2cc400e43df1e22f87f31.
2023-01-17Try again to fix aarch64-linux build failureJohn Ericson
f419ab48e6394838097f158265ac3cc531ee7958 was on the right track, but there are a few more missing `raw()` calls to fix.
2023-01-17Merge pull request #7606 from hercules-ci/recognize-some-flake-attributesEelco Dolstra
flake check: Recognize well known community attributes
2023-01-16flake check: Recognize well known community attributesRobert Hensing
This avoids warning fatigue, making `nix flake check` more effective.
2023-01-16Merge pull request #7585 from NixOS/macos-disconnectEelco Dolstra
MonitorFdHup: Make it work on macOS again
2023-01-15Try to fix build failureJohn Ericson
Failure: https://hydra.nixos.org/build/205357257/nixlog/1 The problem seems to be trying to `std::visit` a derived class of `std::variant`. Per https://stackoverflow.com/questions/63616709/incomplete-type-stdvariant-used-in-nested-name-specifier certain C++ standard library implementations allow this, but others do not. The solution is simply to call the `raw` method, which upcasts the reference back to the `std::variant`.
2023-01-13Move `ValidPathInfo` defintions to `path-info.cc`John Ericson
Originally there was no `path-info.*`, then there was `path-info.hh`, then there was `path-info.cc`, but only for new things. Moving this stuff over makes everything consistent.
2023-01-13Merge pull request #7597 from tweag/move-implem-bit-to-implem-fileRobert Hensing
Move the `getBuildLog` implementation to its own implementation file
2023-01-13Merge pull request #6815 from obsidiansystems/better-wanted-outputsRobert Hensing
`OutputSpec` for `DerivationGoal` and `DerivedPath`, today's `OutputSpec` -> `ExtendedOutputSpec`
2023-01-13Move the `getBuildLog` implementation to its own implementation fileThéophane Hufschmitt
Keep the header minimal and clean
2023-01-13Merge pull request #7430 from tweag/ca/fix-nix-logThéophane Hufschmitt
Ca/fix nix log
2023-01-12Write more (extended) output spec testsJohn Ericson
2023-01-12Assert on construction that `OutputsSpec::Names` is non-emptyJohn Ericson
2023-01-12Unit test `OuputsSpec::{union_, isSubsetOf}`John Ericson
2023-01-12Split `OutputsSpec::merge` into `OuputsSpec::{union_, isSubsetOf}`John Ericson
Additionally get rid of the evil time we made an empty `OutputSpec::Names()`.
2023-01-12nix/show-config: allow getting the value of a specific settingCole Helbling
Instead of needing to run `nix show-config --json | jq -r '."warn-dirty".value'` to view the value of `warn-dirty`, you can now run `nix show-config warn-dirty`.
2023-01-12Merge pull request #7590 from fricklerhandwerk/remove-unnecessary-castThéophane Hufschmitt
remove unncessary cast
2023-01-12remove unncessary castValentin Gagarin
2023-01-11Improve tests for `OutputsSpec`John Ericson
2023-01-11Remove default constructor from `OutputsSpec`John Ericson
This forces us to be explicit. It also requires to rework how `from_json` works. A `JSON_IMPL` is added to assist with this.
2023-01-11Make it hard to construct an empty `OutputsSpec::Names`John Ericson
This should be a non-empty set, and so we don't want people doing this by accident. We remove the zero-0 constructor with a little inheritance trickery.
2023-01-11Simplify and document store path installable parsingJohn Ericson
2023-01-11Split `OutputsSpec` and `ExtendedOutputsSpec`, use the former moreJohn Ericson
`DerivedPath::Built` and `DerivationGoal` were previously using a regular set with the convention that the empty set means all outputs. But it is easy to forget about this rule when processing those sets. Using `OutputSpec` forces us to get it right.
2023-01-11Rename `OutputPath` -> `ExtendedOutputPath`John Ericson
Do this prior to making a new more limitted `OutputPath` we will use in more places.
2023-01-11Improve `OutputsSpec` slightlyJohn Ericson
A few little changes preparing for the rest.
2023-01-11MonitorFdHup: Make it work on macOS againEelco Dolstra
It appears that on current macOS versions, our use of poll() to detect client disconnects no longer works. As a workaround, poll() for POLLRDNORM, since this *will* wake up when the client has disconnected. The downside is that it also wakes up when input is available. So just sleep for a bit in that case. This means that on macOS, a client disconnect may take up to a second to be detected, but that's better than not being detected at all. Fixes #7584.
2023-01-11Backport getLine tests from lazy-treesEelco Dolstra
2023-01-11Merge pull request #7543 from obsidiansystems/typed-string-contextThéophane Hufschmitt
Parse string context elements properly
2023-01-10Merge pull request #7541 from hercules-ci/check-manual-linksRobert Hensing
Check links in the manual
2023-01-10doc/manual: Apply suggestions from code reviewRobert Hensing
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-10doc/manual: Fix broken internal linksRobert Hensing
The targets I could find.