diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 4e0f2d40f257..685d39d0d3de 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -7,14 +7,14 @@ let # stdenv-linux's dependencies, rather than building new ones with # dietlibc. bootStdenv = removeAttrs (pkgs.useDietLibC pkgs.stdenv) - ["binutils" "gcc" "coreutils" "findutils" "gnused" "gnugrep" "gnutar" "gzip" "bzip2" "bash" "patch" "patchelf"]; + ["binutils" "gcc" "coreutils" "findutils" "gnused" "gnugrep" "gnutar" "gzip" "bzip2" "gnumake" "bash" "patch" "patchelf"]; }; generator = pkgs.stdenv.mkDerivation { name = "bootstrap-tools-generator"; builder = ./make-bootstrap-tools.sh; - inherit (pkgsDiet) coreutils findutils gnugrep gnutar gzip bzip2 bash patch; + inherit (pkgsDiet) coreutils findutils gnugrep gnutar gzip bzip2 gnumake bash patch; gnused = pkgsDiet.gnused412; # 4.1.5 gives "Memory exhausted" errors binutils = pkgsDiet.binutils; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.sh b/pkgs/stdenv/linux/make-bootstrap-tools.sh index 70a9f9760430..d9db28f5f9c4 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.sh +++ b/pkgs/stdenv/linux/make-bootstrap-tools.sh @@ -20,13 +20,14 @@ nukeRefs() { # Create the tools that need to be in-tree, i.e., the ones that are # necessary for the absolute first stage of the bootstrap. cp $bash/bin/bash $out/in-nixpkgs -cp $bzip2/bin/bunzip2 $out/in-nixpkgs -cp $gnutar/bin/tar $out/in-nixpkgs -cp $curl/bin/curl $out/check-only -bzip2 < $curl/bin/curl > $out/in-nixpkgs/curl.bz2 - nukeRefs $out/in-nixpkgs/bash +cp $bzip2/bin/bunzip2 $out/in-nixpkgs +cp $coreutils/bin/cp $out/in-nixpkgs +bzip2 < $curl/bin/curl > $out/in-nixpkgs/curl.bz2 +cp $tar/bin/tar $out/in-nixpkgs nukeRefs $out/in-nixpkgs/tar +bzip2 $out/in-nixpkgs/tar +chmod +x $out/in-nixpkgs/*.bz2 # Create the tools tarball. @@ -44,6 +45,7 @@ cp $gnugrep/bin/* tools/bin cp $gnutar/bin/* tools/bin cp $gunzip/bin/gunzip tools/bin cp $bzip2/bin/bunzip2 tools/bin +cp $gnumake/bin/* tools/bin cp $patch/bin/* tools/bin cp $patchelf/bin/* tools/bin @@ -51,6 +53,7 @@ nukeRefs tools/bin/sed nukeRefs tools/bin/tar nukeRefs tools/bin/grep nukeRefs tools/bin/patchelf +nukeRefs tools/bin/make # Create the binutils tarball. @@ -117,3 +120,7 @@ tar cfj $out/on-server/glibc.tar.bz2 glibc for i in $out/on-server/*.tar.bz2; do (cd $out/check-only && tar xfj $i) done + +for i in $out/in-nixpkgs/*.bz2; do + (cd $out/check-only && bunzip2 < $i > $(basename $i .bz2)) +done