lix/src
John Ericson 7ad66cb3ef Allow dynamic derivation deps in inputDrvs
We use the same nested map representation we used for goals, again in
order to save space. We might someday want to combine with `inputDrvs`,
by doing `V = bool` instead of `V = std::set<OutputName>`, but we are
not doing that yet for sake of a smaller diff.

The ATerm format for Derivations also needs to be extended, in addition
to the in-memory format. To accomodate this, we added a new basic
versioning scheme, so old versions of Nix will get nice errors. (And
going forward, if the ATerm format changes again the errors will be even
better.)

`parsedStrings`, an internal function used as part of parsing
derivations in A-Term format, used to consume the final `]` but expect
the initial `[` to already be consumed. This made for what looked like
unbalanced brackets at callsites, which was confusing. Now it consumes
both which is hopefully less confusing.

As part of testing, we also created a unit test for the A-Term format for
regular non-experimental derivations too.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>

Apply suggestions from code review

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-09-07 10:39:37 -04:00
..
build-remote Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libcmd Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libexpr Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libfetchers Tarball trees: Propagate lastModified 2023-08-22 21:51:26 +02:00
libmain Prevent overriding virtual methods that are called in a destructor 2023-08-11 11:58:33 +02:00
libstore Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libutil Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
nix Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
nix-build Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
nix-channel Factor out nix-defexpr path computation 2023-08-02 12:54:48 -04:00
nix-collect-garbage Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
nix-copy-closure Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
nix-env Merge pull request #8735 from obsidiansystems/defexpr 2023-08-11 20:32:03 +02:00
nix-instantiate nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-store add nix-store --query --valid-derivers command 2023-08-24 11:37:24 +02:00
resolve-system-dependencies Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
toml11 Replace cpptoml with toml11 2021-12-17 22:03:33 +01:00