diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix index 31ec4ebc5836..5418d73e352a 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/static.nix @@ -4,8 +4,8 @@ hostPlatform, fetchurl, bash, + gcc-buildbuild, gcc, - musl, binutils, gnumake, gnused, @@ -25,6 +25,10 @@ let url = "mirror://gnu/bash/bash-${version}.tar.gz"; sha256 = "sha256-DVzYaWX4aaJs9k9Lcb57lvkKO6iz104n6OnZ1VUPMbo="; }; + + binutilsTargetPrefix = lib.optionalString ( + hostPlatform.config != buildPlatform.config + ) "${hostPlatform.config}-"; in bash.runCommand "${pname}-${version}" { @@ -32,7 +36,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -56,6 +59,10 @@ bash.runCommand "${pname}-${version}" tar xf ${src} cd bash-${version} + export AR="${binutilsTargetPrefix}ar" + export STRIP="${binutilsTargetPrefix}strip" + export STRIPPROG="$STRIP" + # Configure bash ./configure \ --prefix=$out \ @@ -65,7 +72,7 @@ bash.runCommand "${pname}-${version}" --disable-dependency-tracking \ --disable-nls \ --enable-static-link \ - CC=musl-gcc + CC_FOR_BUILD=${gcc-buildbuild}/bin/gcc # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix index 6461f6523c0b..e29e884a2dfd 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/binutils/static.nix @@ -4,8 +4,8 @@ hostPlatform, fetchurl, bash, + gcc-buildbuild, gcc, - musl, binutils, gnumake, gnupatch, @@ -33,8 +33,6 @@ let ]; configureFlags = [ - "CC=musl-gcc" - "LDFLAGS=--static" "--prefix=${placeholder "out"}" "--build=${buildPlatform.config}" "--host=${hostPlatform.config}" @@ -42,7 +40,6 @@ let "--disable-dependency-tracking" "--disable-nls" - "--with-sysroot=/" "--enable-deterministic-archives" # depends on bison "--disable-gprofng" @@ -70,7 +67,7 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl + gcc-buildbuild binutils gnumake gnupatch diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix index 80b488a800dd..fc588600d5d6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bison/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,8 +68,7 @@ bash.runCommand "${pname}-${version}" --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --disable-dependency-tracking \ - CC=musl-gcc + --disable-dependency-tracking # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix index 540f86112aa4..5a1b0187857f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/static.nix @@ -1,9 +1,10 @@ { lib, fetchurl, + buildPlatform, + hostPlatform, bash, gcc, - musl, binutils, findutils, gnumake, @@ -18,6 +19,10 @@ let url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"; sha256 = "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb"; }; + + binutilsTargetPrefix = lib.optionalString ( + hostPlatform.config != buildPlatform.config + ) "${hostPlatform.config}-"; in bash.runCommand "${pname}-${version}" { @@ -25,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils findutils gnumake @@ -72,9 +76,10 @@ bash.runCommand "${pname}-${version}" # Build make \ -j $NIX_BUILD_CORES \ - CC=musl-gcc \ - CFLAGS=-static \ - bzip2 + bzip2 \ + CC=${hostPlatform.config}-gcc \ + AR=${binutilsTargetPrefix}ar \ + RANLIB=${binutilsTargetPrefix}ranlib # Install mkdir -p $out/bin @@ -84,5 +89,5 @@ bash.runCommand "${pname}-${version}" # Strip # Ignore failures, because strip may fail on non-elf files. - strip --strip-debug $out/bin/bzip2 || true + ${binutilsTargetPrefix}strip --strip-debug $out/bin/bzip2 || true '' diff --git a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix index 2291a5dedba3..6c92f12bf58b 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -36,8 +35,7 @@ let # libstdbuf.so fails in static builds "--enable-no-install-program=stdbuf" "--enable-single-binary=symlinks" - "CC=musl-gcc" - "CFLAGS=\"-static -I${linux-headers}/include\"" + "CFLAGS=\"-I${linux-headers}/include\"" ]; in bash.runCommand "${pname}-${version}" @@ -46,7 +44,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix index 6afd5e5f6259..ac31f89dfa66 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix @@ -48,6 +48,7 @@ lib.makeScope }; bash-static = callPackage ./bash/static.nix { + gcc-buildbuild = gcc-latest; gcc = gcc-latest; gnumake = gnumake-musl; gnutar = gnutar-latest; @@ -60,6 +61,7 @@ lib.makeScope }; binutils-static = callPackage ./binutils/static.nix { + gcc-buildbuild = gcc-latest; gcc = gcc-latest; gnumake = gnumake-musl; gnutar = gnutar-latest; @@ -435,7 +437,7 @@ lib.makeScope echo ${gcc46.tests.get-version} echo ${gcc46-cxx.tests.hello-world} echo ${gcc10.tests.hello-world} - echo ${gcc-latest.tests.hello-world} + echo ${gcc-latest-unwrapped.tests.hello-world} '' + (lib.strings.optionalString (hostPlatform.libc == "glibc") '' echo ${gcc-glibc.tests.hello-world} diff --git a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix index f46805411c61..3ab214a9b179 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -64,15 +62,15 @@ bash.runCommand "${pname}-${version}" cd diffutils-${version} # Configure + # Manually set strcasecmp_works, because we might be cross-compiling bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static \ - ac_cv_path_PR_PROGRAM=pr + ac_cv_path_PR_PROGRAM=pr \ + gl_cv_func_strcasecmp_works=y # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix index c6b1c6e2ba0c..b183888ce033 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/findutils/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,9 +68,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix index c6175308d59d..d35bb47674d6 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gawk/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -66,9 +64,7 @@ bash.runCommand "${pname}-${version}" --disable-extensions \ --disable-mpfr \ --disable-nls \ - --disable-pma \ - CC=musl-gcc \ - CFLAGS=-static + --disable-pma # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix index 18e71d833461..7680ce122fa4 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnugrep/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -70,9 +68,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix index 71ff15627feb..1f3edd005952 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnum4/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -71,7 +69,6 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ CFLAGS=-I${linux-headers}/include # Build diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix index d24f0e6d12ce..65369e28fb64 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnupatch, @@ -42,7 +41,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnupatch @@ -80,8 +78,7 @@ bash.runCommand "${pname}-${version}" --host=${hostPlatform.config} \ --disable-dependency-tracking \ --disable-nls \ - CC=musl-gcc \ - CFLAGS="-static -std=gnu17" + CFLAGS="-std=gnu17" # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix index ee25341e0b3b..287776101e8f 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnupatch/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -69,9 +67,7 @@ bash.runCommand "${pname}-${version}" --prefix=$out \ --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ - --disable-dependency-tracking \ - CC=musl-gcc \ - CFLAGS=-static + --disable-dependency-tracking # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix index 8ebb1791e55c..90346ee634ba 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -62,9 +60,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix index 07eba0ef2fe4..fb6f5ea5ba41 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -32,7 +31,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -62,9 +60,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - --disable-nls \ - CC=musl-gcc \ - CFLAGS=-static + --disable-nls # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix index f449fdcd3609..76d1ef9474a3 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/gzip/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -69,7 +67,6 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ CFLAGS=-static # Build diff --git a/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix index 1bec275f7b2a..622dc2846468 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/patchelf/static.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -31,7 +30,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -71,8 +69,7 @@ bash.runCommand "${pname}-${version}" --build=${buildPlatform.config} \ --host=${hostPlatform.config} \ --disable-dependency-tracking \ - CC=musl-gcc \ - CXXFLAGS="-static -g0 -O2 -DNDEBUG -ffile-prefix-map=${gcc}=. -fmacro-prefix-map=${gcc}=." + CXXFLAGS="-g0 -O2 -DNDEBUG -ffile-prefix-map=${gcc}=. -fmacro-prefix-map=${gcc}=." # Build make -j $NIX_BUILD_CORES diff --git a/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix index bc12245fd9db..ff04626a6336 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/python/default.nix @@ -5,7 +5,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnupatch, @@ -42,7 +41,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnupatch @@ -80,11 +78,9 @@ bash.runCommand "${pname}-${version}" ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches} # Configure - export CC=musl-gcc export C_INCLUDE_PATH="${zlib}/include" export LIBRARY_PATH="${zlib}/lib" - export LDFLAGS="-Wl,-rpath,${zlib}/lib -L${zlib}/lib" - export LD_LIBRARY_PATH="$LIBRARY_PATH" + export LDFLAGS="-L${zlib}/lib" bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ diff --git a/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix b/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix index 707cec7369e3..cc224fdaeab9 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/xz/static.nix @@ -12,7 +12,6 @@ gawk, gnutar, gzip, - musl, }: let pname = "xz"; @@ -30,7 +29,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ binutils gcc - musl gnumake gnused gnugrep @@ -66,10 +64,8 @@ bash.runCommand "${pname}-${version}" cd xz-${version} # Configure - export CC=musl-gcc export CFLAGS="-g0 -O2 -DNDEBUG" export CXXFLAGS="$CFLAGS" - export LDFLAGS=-static bash ./configure \ --prefix=$out \ --build=${buildPlatform.config} \ @@ -87,7 +83,7 @@ bash.runCommand "${pname}-${version}" --disable-assembler # Build - make -j $NIX_BUILD_CORES LDFLAGS=-all-static + make -j $NIX_BUILD_CORES # Install make -j $NIX_BUILD_CORES install-strip diff --git a/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix index 845f49a48157..79a87e210934 100644 --- a/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix +++ b/pkgs/os-specific/linux/minimal-bootstrap/zlib/default.nix @@ -3,7 +3,6 @@ fetchurl, bash, gcc, - musl, binutils, gnumake, gnused, @@ -26,7 +25,6 @@ bash.runCommand "${pname}-${version}" nativeBuildInputs = [ gcc - musl binutils gnumake gnused @@ -49,7 +47,6 @@ bash.runCommand "${pname}-${version}" cd zlib-${version} # Configure - export CC=musl-gcc bash ./configure --prefix=$out # Build