diff options
Diffstat (limited to 'pkgs/os-specific/linux/minimal-bootstrap/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/minimal-bootstrap/default.nix | 148 |
1 files changed, 92 insertions, 56 deletions
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix index 55900f86d21..a246b587dd4 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -17,46 +17,43 @@ lib.makeScope bash = callPackage ./bash { bootBash = bash_2_05; - gcc = gcc2; - glibc = glibc22; - gawk = gawk-mes; + tinycc = tinycc-musl; + coreutils = coreutils-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; binutils = callPackage ./binutils { - bash = bash_2_05; - gcc = gcc2; - binutils = binutils-mes; - glibc = glibc22; - sed = heirloom.sed; - gawk = gawk-mes; - }; - binutils-mes = callPackage ./binutils { - bash = bash_2_05; - tinycc = tinycc-mes; - sed = heirloom.sed; - gawk = gawk-mes; - mesBootstrap = true; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; bzip2 = callPackage ./bzip2 { - bash = bash_2_05; - tinycc = tinycc-mes; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; coreutils = callPackage ./coreutils { tinycc = tinycc-mes; }; + coreutils-musl = callPackage ./coreutils/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + }; diffutils = callPackage ./diffutils { bash = bash_2_05; - gcc = gcc2; - glibc = glibc22; - gawk = gawk-mes; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; findutils = callPackage ./findutils { - bash = bash_2_05; - gcc = gcc2; - glibc = glibc22; - gawk = gawk-mes; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; gawk-mes = callPackage ./gawk/mes.nix { @@ -67,35 +64,42 @@ lib.makeScope gawk = callPackage ./gawk { bash = bash_2_05; - gcc = gcc2; - glibc = glibc22; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; bootGawk = gawk-mes; }; - gcc2 = callPackage ./gcc/2.nix { - bash = bash_2_05; - gcc = gcc2-mes; - binutils = binutils-mes; - glibc = glibc22; + gcc46 = callPackage ./gcc/4.6.nix { + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; }; - gcc2-mes = callPackage ./gcc/2.nix { - bash = bash_2_05; - tinycc = tinycc-mes; - binutils = binutils-mes; - mesBootstrap = true; + gcc46-cxx = callPackage ./gcc/4.6.cxx.nix { + gcc = gcc46; + gnumake = gnumake-musl; + gnutar = gnutar-musl; + # FIXME: not sure why new gawk doesn't work + gawk = gawk-mes; }; - gcc46 = callPackage ./gcc/4.6.nix { - gcc = gcc2; - glibc = glibc22; + gcc8 = callPackage ./gcc/8.nix { + gcc = gcc46-cxx; + gnumake = gnumake-musl; + gnutar = gnutar-latest; + # FIXME: not sure why new gawk doesn't work gawk = gawk-mes; }; - inherit (callPackage ./glibc { - bash = bash_2_05; - gnused = gnused-mes; + gcc-latest = callPackage ./gcc/latest.nix { + gcc = gcc8; + gnumake = gnumake-musl; + gnutar = gnutar-latest; + # FIXME: not sure why new gawk doesn't work gawk = gawk-mes; - }) glibc22; + }; gnugrep = callPackage ./gnugrep { bash = bash_2_05; @@ -104,26 +108,44 @@ lib.makeScope gnumake = callPackage ./gnumake { tinycc = tinycc-mes; }; + gnumake-musl = callPackage ./gnumake/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gawk = gawk-mes; + gnumakeBoot = gnumake; + }; + gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; }; gnused = callPackage ./gnused { bash = bash_2_05; - gcc = gcc2; - glibc = glibc22; + tinycc = tinycc-musl; gnused = gnused-mes; }; - gnused-mes = callPackage ./gnused { + gnused-mes = callPackage ./gnused/mes.nix { bash = bash_2_05; tinycc = tinycc-mes; - mesBootstrap = true; }; - gnutar = callPackage ./gnutar { + gnutar = callPackage ./gnutar/mes.nix { bash = bash_2_05; tinycc = tinycc-mes; gnused = gnused-mes; }; + gnutar-musl = callPackage ./gnutar/musl.nix { + bash = bash_2_05; + tinycc = tinycc-musl; + gnused = gnused-mes; + }; + + # FIXME: better package naming scheme + gnutar-latest = callPackage ./gnutar/latest.nix { + gcc = gcc46; + gnumake = gnumake-musl; + gnutarBoot = gnutar-musl; + }; + gzip = callPackage ./gzip { bash = bash_2_05; tinycc = tinycc-mes; @@ -144,9 +166,15 @@ lib.makeScope mes = lib.recurseIntoAttrs (callPackage ./mes { }); mes-libc = callPackage ./mes/libc.nix { }; + musl11 = callPackage ./musl/1.1.nix { + bash = bash_2_05; + tinycc = tinycc-mes; + gnused = gnused-mes; + }; + musl = callPackage ./musl { gcc = gcc46; - gawk = gawk-mes; + gnumake = gnumake-musl; }; stage0-posix = callPackage ./stage0-posix { }; @@ -155,12 +183,16 @@ lib.makeScope tinycc-bootstrappable = lib.recurseIntoAttrs (callPackage ./tinycc/bootstrappable.nix { }); tinycc-mes = lib.recurseIntoAttrs (callPackage ./tinycc/mes.nix { }); + tinycc-musl = lib.recurseIntoAttrs (callPackage ./tinycc/musl.nix { + bash = bash_2_05; + musl = musl11; + }); xz = callPackage ./xz { bash = bash_2_05; - tinycc = tinycc-mes; - gawk = gawk-mes; - inherit (heirloom) sed; + tinycc = tinycc-musl; + gnumake = gnumake-musl; + gnutar = gnutar-musl; }; inherit (callPackage ./utils.nix { }) derivationWithMeta writeTextFile writeText; @@ -169,24 +201,28 @@ lib.makeScope echo ${bash.tests.get-version} echo ${bash_2_05.tests.get-version} echo ${binutils.tests.get-version} - echo ${binutils-mes.tests.get-version} echo ${bzip2.tests.get-version} + echo ${coreutils-musl.tests.get-version} echo ${diffutils.tests.get-version} echo ${findutils.tests.get-version} echo ${gawk-mes.tests.get-version} echo ${gawk.tests.get-version} - echo ${gcc2.tests.get-version} - echo ${gcc2-mes.tests.get-version} echo ${gcc46.tests.get-version} + echo ${gcc46-cxx.tests.hello-world} + echo ${gcc8.tests.hello-world} + echo ${gcc-latest.tests.hello-world} echo ${gnugrep.tests.get-version} echo ${gnused.tests.get-version} echo ${gnused-mes.tests.get-version} echo ${gnutar.tests.get-version} + echo ${gnutar-musl.tests.get-version} + echo ${gnutar-latest.tests.get-version} echo ${gzip.tests.get-version} echo ${heirloom.tests.get-version} echo ${mes.compiler.tests.get-version} echo ${musl.tests.hello-world} echo ${tinycc-mes.compiler.tests.chain} + echo ${tinycc-musl.compiler.tests.hello-world} echo ${xz.tests.get-version} mkdir ''${out} ''; |