anchor.diff:    };
   
     configurePhase = ''
  -    set -x
       make defconfig
       ${configParser}
       cat << EOF | parseconfig
  +    ${staticConfig}
       ${extraConfig}
       ${nixConfig}
       $extraCrossConfig
       EOF
  -    set +x
  +    make oldconfig
     '';
   
     crossAttrs = {
       extraCrossConfig = ''
  -      CONFIG_CROSS_COMPILER_PREFIX "$crossConfig-"
  +      CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-"
       '' +
         (if (stdenv.cross.platform.kernelMajor == "2.4") then ''
           CONFIG_IONICE n
  
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:   '';
  
    staticConfig = (if enableStatic then ''
        CONFIG_STATIC y
      '' else "");
  
  in
  