anchor.diff:      map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents;
     pathsFromGraph = ./paths-from-graph.pl;
   
  -  crossAttrs = {
  -    nativeBuildInputs = inputsFun stdenv.cross.platform.uboot;
  -    makeUInitrd = makeUInitrdFun stdenv.cross.platform.uboot;
  -  };
     inherit compressor prepend;
   }
  
positive.code: # `contents = {object = ...; symlink = /init;}' is a typical
  # argument.
  
  { stdenv, perl, cpio, contents, ubootChooser, compressor, prepend }:
  
  let
    inputsFun = ubootName : [ perl cpio ]
  
negative.code: stdenv.mkDerivation {
    name = "initrd";
    builder = ./make-initrd.sh;
    nativeBuildInputs = inputsFun hostPlatform.platform.uboot;
  
    makeUInitrd = makeUInitrdFun hostPlatform.platform.uboot;
  
    # !!! should use XML.
    objects = map (x: x.object) contents;
  