Merge remote-tracking branch 'eelco/master' into stdenv-updates
Conflicts: pkgs/development/compilers/gcc/4.7/default.nix Trivial solution.
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
|
||||
shlevy = "Shea Levy <shea@shealevy.com>";
|
||||
simons = "Peter Simons <simons@cryp.to>";
|
||||
smironov = "Sergey Mironov <ierton@gmail.com>";
|
||||
thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
|
||||
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
|
||||
viric = "Lluís Batlle i Rossell <viric@viric.name>";
|
||||
|
||||
@@ -176,6 +176,20 @@ rec {
|
||||
fold = op: nul: v: if v == null then nul else elemType.fold op nul v;
|
||||
};
|
||||
|
||||
functionTo = elemType: mkOptionType {
|
||||
name = "function that evaluates to a(n) ${elemType.name}";
|
||||
check = lib.traceValIfNot builtins.isFunction;
|
||||
merge = fns:
|
||||
args: elemType.merge (map (fn: fn args) fns);
|
||||
# These are guesses, I don't fully understand iter, fold, delayOnGlobalEval
|
||||
iter = f: path: v:
|
||||
args: elemType.iter f path (v args);
|
||||
fold = op: nul: v:
|
||||
args: elemType.fold op nul (v args);
|
||||
inherit (elemType) delayOnGlobalEval;
|
||||
hasOptions = false;
|
||||
};
|
||||
|
||||
# !!! this should be a type constructor that takes the options as
|
||||
# an argument.
|
||||
optionSet = mkOptionType {
|
||||
|
||||
Reference in New Issue
Block a user