* Die tabs die. Also, renamed FullDepEntry and PackEntry to

fullDepEntry and packEntry for consistency.

svn path=/nixpkgs/trunk/; revision=15549
This commit is contained in:
Eelco Dolstra 2009-05-11 11:55:05 +00:00
parent 27152e987a
commit 2f33cdec38
1 changed files with 34 additions and 53 deletions

View File

@ -14,63 +14,44 @@ Usage:
*/ */
args: args:
with args;
with lib; with args;
let with lib;
inherit (builtins)
head tail isList isAttrs; let
inherit (builtins) head tail isList isAttrs;
in in
rec { rec {
/* textClosureDupList = arg:
let shelllib = rec { if isList arg then
a= { textClosureDupList {text = ""; deps = arg;}
text = "aaaa"; else
deps = [b c]; concatLists (map textClosureDupList arg.deps) ++ [arg];
};
b = {
text = "b";
};
c = {
text = "c";
deps = [];
};
};
in
[textClosure [shelllib.a] textClosureDupListOverridable = predefined: arg:
textclosure shelllib.a]; if isList arg then
textClosureDupListOverridable predefined {text = ""; deps = arg;}
else if isAttrs arg then
concatLists (map (textClosureDupListOverridable predefined) arg.deps) ++ [arg]
else
textClosureDupListOverridable predefined (getAttr [arg] [] predefined);
textClosureListOverridable = predefined: arg:
map (x: x.text) (uniqList {inputList = textClosureDupListOverridable predefined arg;});
*/ textClosureOverridable = predefined: arg: concatStringsSep "\n" (textClosureListOverridable predefined arg);
textClosureDupList = arg: textClosureMapOveridable = f: predefined: arg:
( concatStringsSep "\n" (map f (textClosureListOverridable predefined arg));
if isList arg then
textClosureDupList {text = ""; deps = arg;}
else
(concatLists (map textClosureDupList arg.deps)) ++ [arg]
);
textClosureDupListOverridable = predefined: arg: noDepEntry = text: {inherit text; deps = [];};
( fullDepEntry = text: deps: {inherit text deps;};
if isList arg then packEntry = deps: {inherit deps; text="";};
textClosureDupListOverridable predefined {text = ""; deps = arg;}
else if isAttrs arg then
(concatLists (map (textClosureDupListOverridable predefined) arg.deps)) ++ [arg]
else
textClosureDupListOverridable predefined (getAttr [arg] [] predefined)
);
textClosureListOverridable = predefined: arg: # Old names - don't use.
(map (x : x.text) FullDepEntry = fullDepEntry;
(uniqList {inputList = textClosureDupListOverridable predefined arg;})); PackEntry = packEntry;
textClosureOverridable = predefined: arg: concatStringsSep "\n" (textClosureListOverridable predefined arg);
textClosureMapOveridable = f: predefined: arg:
concatStringsSep "\n" (map f (textClosureListOverridable predefined arg));
noDepEntry = text : {inherit text;deps = [];};
FullDepEntry = text : deps: {inherit text deps;};
PackEntry = deps: {inherit deps; text="";};
} }