* 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

View File

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