anchor.diff:  
               # In nixpkgs, sometimes 'null' gets in as a buildInputs element,
               # and we handle that through isAttrs.
  -            getBuildDrv = drv : if (builtins.isAttrs drv && drv ? nativeDrv) then drv.nativeDrv else drv;
  -            getHostDrv = drv : if (builtins.isAttrs drv && drv ? crossDrv) then drv.crossDrv else drv;
  +            getBuildDrv = drv: drv.nativeDrv or drv;
  +            getHostDrv = drv: drv.crossDrv or drv;
               nativeBuildInputsDrvs = map (getBuildDrv) nativeBuildInputs;
               buildInputsDrvs = map (getHostDrv) buildInputs;
               buildInputsDrvsAsBuildInputs = map (getBuildDrv) buildInputs;
  
positive.code:         # These are added *after* the command-line flags, so we'll
          # always optimise for size.
          NIX_CFLAGS_COMPILE =
            (if args ? NIX_CFLAGS_COMPILE then args.NIX_CFLAGS_COMPILE else "")
            + " -Os -s";
  
          configureFlags =
            (if args ? configureFlags then args.configureFlags else "")
            + " --disable-shared"; # brrr...
  
          NIX_GCC = runCommand "klibc-wrapper" {} ''
            mkdir -p $out/bin
  
negative.code:                     propagatedNativeBuildInputs = propagatedNativeBuildInputsDrvs;
  
                      crossConfig = cross.config;
                  } // args.crossAttrs or {});
          in nativeDrv // {
              inherit crossDrv nativeDrv;
          };
  