anchor.diff:        extraAttrs = extraAttrs // { inherit platform; };
         overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
       };
  -    in thisStdenv;
  +    thisPkgs = allPackages {
  +      inherit system platform;
  +      bootStdenv = thisStdenv;
  +    };
  +    in { stdenv = thisStdenv; pkgs = thisPkgs; };
   
     # Build a dummy stdenv with no GCC or working fetchurl.  This is
     # because we need a stdenv to build the GCC wrapper and fetchurl.
  -  stdenvLinuxBoot0 = stdenvBootFun {
  +  stage0 = stageFun {
       gcc = "/no-such-path";
  -  };
  -
  -
  -  # The Glibc include directory cannot have the same prefix as the GCC
  -  # include directory, since GCC gets confused otherwise (it will
  -  # search the Glibc headers before the GCC headers).  So create a
  -  # dummy Glibc.
  -  bootstrapGlibc = stdenvLinuxBoot0.mkDerivation {
  -    name = "bootstrap-glibc";
  -    buildCommand = ''
  -      mkdir -p $out
  -      ln -s ${bootstrapTools}/lib $out/lib
  -      ln -s ${bootstrapTools}/include-glibc $out/include
  -    '';
  +
  +    overrides = pkgs: {
  +      # The Glibc include directory cannot have the same prefix as the
  +      # GCC include directory, since GCC gets confused otherwise (it
  +      # will search the Glibc headers before the GCC headers).  So
  +      # create a dummy Glibc here, which will be used in the stdenv of
  +      # stage1.
  +      glibc = stage0.stdenv.mkDerivation {
  +        name = "bootstrap-glibc";
  +        buildCommand = ''
  +          mkdir -p $out
  +          ln -s ${bootstrapTools}/lib $out/lib
  +          ln -s ${bootstrapTools}/include-glibc $out/include
  +        '';
  +      };
  +    };
     };
   
   
  
positive.code:       '';
  
      initialPath =
        ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;})
        ++ [stdenvLinuxBoot4Pkgs.patchelf stdenvLinuxBoot4Pkgs.paxctl ];
  
      shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash";
  
      gcc = (wrapGCC rec {
        gcc = stdenvLinuxBoot4.gcc.gcc;
        libc = stdenvLinuxGlibc;
        inherit (stdenvLinuxBoot4Pkgs) binutils coreutils;
        name = "";
      }).override { inherit shell; };
  
      fetchurlBoot = stdenvLinuxBoot0.fetchurlBoot;
  
      extraAttrs = {
        inherit (stdenvLinuxBoot3Pkgs) glibc;
        inherit platform bootstrapTools;
        shellPackage = stdenvLinuxBoot4Pkgs.bash;
      };
  
      overrides = pkgs: {
        inherit gcc;
        inherit (stdenvLinuxBoot3Pkgs) glibc;
        inherit (stdenvLinuxBoot4Pkgs) binutils;
        inherit (stdenvLinuxBoot4Pkgs)
          gzip bzip2 xz bash coreutils diffutils findutils gawk
          gnumake gnused gnutar gnugrep gnupatch patchelf
          attr acl paxctl;
  
negative.code:   # The bootstrap process proceeds in several steps.
  
  
    # Create a standard environment by downloading pre-built binaries of
    # coreutils, GCC, etc.
  
  
    # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...).
  