From 9d59a4df78af3c3d76f84319b40fc654ef186178 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 29 Jul 2022 18:24:00 -0400 Subject: [PATCH 1/2] stdenv/common-path.nix: move to stdenv/generic/ Do this since it is part of the generic stdenv/`mkDerivation` infrastructure, rather than being a bootstrapping strategy. --- pkgs/misc/my-env/default.nix | 2 +- pkgs/stdenv/darwin/default.nix | 2 +- pkgs/stdenv/{ => generic}/common-path.nix | 0 pkgs/stdenv/linux/default.nix | 2 +- pkgs/stdenv/nix/default.nix | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename pkgs/stdenv/{ => generic}/common-path.nix (100%) diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix index 8a35525b3e82..df4c8fc6b63d 100644 --- a/pkgs/misc/my-env/default.nix +++ b/pkgs/misc/my-env/default.nix @@ -73,7 +73,7 @@ mkDerivation { }; buildPhase = let - initialPath = import ../../stdenv/common-path.nix { inherit pkgs; }; + initialPath = import ../../stdenv/generic/common-path.nix { inherit pkgs; }; in '' set -x mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin" diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index bbc15bad2620..ff56f1de0226 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -683,7 +683,7 @@ rec { __stdenvImpureHostDeps = commonImpureHostDeps; __extraImpureHostDeps = commonImpureHostDeps; - initialPath = import ../common-path.nix { inherit pkgs; }; + initialPath = import ../generic/common-path.nix { inherit pkgs; }; shell = "${pkgs.bash}/bin/bash"; cc = pkgs."${finalLlvmPackages}".libcxxClang; diff --git a/pkgs/stdenv/common-path.nix b/pkgs/stdenv/generic/common-path.nix similarity index 100% rename from pkgs/stdenv/common-path.nix rename to pkgs/stdenv/generic/common-path.nix diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 723ebf24fe52..f04d21e1c2f1 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -397,7 +397,7 @@ in preHook = commonPreHook; initialPath = - ((import ../common-path.nix) {pkgs = prevStage;}); + ((import ../generic/common-path.nix) {pkgs = prevStage;}); extraNativeBuildInputs = [ prevStage.patchelf ] ++ # Many tarballs come with obsolete config.sub/config.guess that don't recognize aarch64. diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index 2fb19992bc1e..e9e9936ccd80 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -21,7 +21,7 @@ bootStages ++ [ export NIX_IGNORE_LD_THROUGH_GCC=1 ''; - initialPath = (import ../common-path.nix) { pkgs = prevStage; }; + initialPath = (import ../generic/common-path.nix) { pkgs = prevStage; }; cc = import ../../build-support/cc-wrapper { inherit lib; From 650380ca0b1509cff4ec1ba4daa78357388fecee Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 29 Jul 2022 18:34:02 -0400 Subject: [PATCH 2/2] stdenv: Simplify dispatch This is a change for `powerpc-linux` but that is ancient and I don't think it matters. The impure bootstrap that was previously assigned to it has probably bitrotted anyways. --- pkgs/stdenv/default.nix | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 25a593c67437..7a2ad665e09d 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -38,28 +38,10 @@ let in if crossSystem != localSystem || crossOverlays != [] then stagesCross else if config ? replaceStdenv then stagesCustom - else { # switch - i686-linux = stagesLinux; - x86_64-linux = stagesLinux; - armv5tel-linux = stagesLinux; - armv6l-linux = stagesLinux; - armv6m-linux = stagesLinux; - armv7a-linux = stagesLinux; - armv7l-linux = stagesLinux; - armv7r-linux = stagesLinux; - armv7m-linux = stagesLinux; - armv8a-linux = stagesLinux; - armv8r-linux = stagesLinux; - armv8m-linux = stagesLinux; - aarch64-linux = stagesLinux; - mipsel-linux = stagesLinux; - mips64el-linux = stagesLinux; - powerpc-linux = /* stagesLinux */ stagesNative; - powerpc64-linux = stagesLinux; - powerpc64le-linux = stagesLinux; - riscv64-linux = stagesLinux; - x86_64-darwin = stagesDarwin; - aarch64-darwin = stagesDarwin; + else if localSystem.isLinux then stagesLinux + else if localSystem.isDarwin then stagesDarwin + else # misc special cases + { # switch x86_64-solaris = stagesNix; i686-cygwin = stagesNative; x86_64-cygwin = stagesNative;