anchor.diff:  
     You define you custom builder script by adding all build steps to a list.
     for example:
  -	builder = writeScript "fsg-4.4-builder"
  -		(textClosure [doUnpack addInputs preBuild doMake installPhase doForceShare]);
  +       builder = writeScript "fsg-4.4-builder"
  +               (textClosure [doUnpack addInputs preBuild doMake installPhase doForceShare]);
   
     a step is defined by noDepEntry, fullDepEntry or packEntry.
     To ensure that prerequisite are met those are added before the task itself by
  
positive.code: 
    See trace/nixpkgs/trunk/pkgs/top-level/builder-defs.nix for some predefined build steps
  
  */
  
  {stdenv, lib}:
  
negative.code:           else if hasAttr entry done then f done (tail todo)
            else f (done // listToAttrs [{name = entry; value = 1;}]) ([(builtins.getAttr entry predefined)] ++ tail todo);
      in (f {} arg).result;
  
    textClosureMap = f: predefined: names:
      concatStringsSep "\n" (map f (textClosureList predefined names));
  
  