anchor.diff:    '';
   
     staticConfig = (if enableStatic then ''
  -      sed -i 's,.*CONFIG_STATIC.*,CONFIG_STATIC=y,' .config
  +      CONFIG_STATIC y
       '' else "");
   
   in
  
positive.code: {stdenv, fetchurl, enableStatic ? false, extraConfig ? ""}:
  
  let
    configParser = ''
      function parseconfig {
          set -x
          while read LINE; do
              NAME=`cut -d \  -f 1 $LINE`
              OPTION=`cut -d \  -f 2 $LINE`
  
              if test -z "$NAME"; then
                  continue
              fi
  
              if test "$NAME" == "CLEAR"; then
                  echo > .config
              fi
  
              sed -i /^$NAME=/d .config
  
              if test "$OPTION" != n; then
                  echo "$NAME=$OPTION" >> .config
              fi
          done
  
negative.code:   };
  
    configurePhase = ''
      make defconfig
      ${configParser}
      cat << EOF | parseconfig
      ${staticConfig}
      ${extraConfig}
      ${nixConfig}
      $extraCrossConfig
      EOF
      make oldconfig
    '';
  
    crossAttrs = {
      extraCrossConfig = ''
        CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-"
      '' +
        (if (stdenv.cross.platform.kernelMajor == "2.4") then ''
          CONFIG_IONICE n
  