mirror of
https://github.com/NixOS/nix.git
synced 2025-11-26 12:10:59 +01:00
* Fixed very old transactional bug that caused a freeze sometimes
* State components that get their state at runtime can now be (un)installed with nix-env
This commit is contained in:
parent
05297240ea
commit
53a6b9aaa5
20 changed files with 186 additions and 87 deletions
|
|
@ -59,6 +59,29 @@ string DrvInfo::queryStateIdentifier(EvalState & state) const
|
|||
return stateIdentifier;
|
||||
}
|
||||
|
||||
string DrvInfo::queryRuntimeStateArgs(EvalState & state) const
|
||||
{
|
||||
if (runtimeStateArgs == "") {
|
||||
ATermMap attrs2 = *attrs;
|
||||
|
||||
for (ATermMap::const_iterator i = attrs2.begin(); i != attrs2.end(); ++i) {
|
||||
|
||||
string key = (string)aterm2String(i->key); //cast because aterm2String returns a char*
|
||||
if(key == "runtimeStateArgs"){
|
||||
PathSet context;
|
||||
string value = coerceToString(state, i->value, context);
|
||||
(string &) runtimeStateArgs = value;
|
||||
}
|
||||
}
|
||||
|
||||
//If still empty
|
||||
if (trim(runtimeStateArgs) == "")
|
||||
(string &) runtimeStateArgs = "__NOARGS__";
|
||||
}
|
||||
|
||||
return runtimeStateArgs;
|
||||
}
|
||||
|
||||
|
||||
MetaInfo DrvInfo::queryMetaInfo(EvalState & state) const
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue