Fix tokenize output names in drv

This should fix the issue described in
https://discourse.nixos.org/t/derivation-does-not-have-wanted-outputs-dev-out/12905.

Specifically, we get an error of

  error: derivation '/nix/store/_.drv' does not have wanted outputs 'dev,out'

when a path like /nix/store/_.drv!dev,out is sent to the daemon.
This commit is contained in:
Matthew Bauer 2021-05-12 21:40:28 -05:00
parent d169eb2a1b
commit 8c7e043de2

View file

@ -62,7 +62,7 @@ DerivedPath::Built DerivedPath::Built::parse(const Store & store, std::string_vi
auto outputsS = s.substr(n + 1);
std::set<string> outputs;
if (outputsS != "*")
outputs = tokenizeString<std::set<string>>(outputsS);
outputs = tokenizeString<std::set<string>>(outputsS, ",");
return {drvPath, outputs};
}