forked from mirrors/nixpkgs
Merge pull request #44517 from oxij/stdenv/shadows
stdenv: simplify a bit using shadowing
This commit is contained in:
commit
fe68c9d450
|
@ -78,6 +78,15 @@ rec {
|
|||
, ... } @ attrs:
|
||||
|
||||
let
|
||||
# TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
|
||||
# no package has `doCheck = true`.
|
||||
doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
|
||||
outputs' =
|
||||
outputs ++
|
||||
(if separateDebugInfo then assert stdenv.hostPlatform.isLinux; [ "debug" ] else []);
|
||||
|
||||
fixedOutputDrv = attrs ? outputHash;
|
||||
noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated
|
||||
++ depsHostHost ++ depsHostHostPropagated
|
||||
|
@ -97,6 +106,11 @@ rec {
|
|||
inherit erroneousHardeningFlags hardeningDisable hardeningEnable supportedHardeningFlags;
|
||||
})
|
||||
else let
|
||||
doCheck = doCheck';
|
||||
doInstallCheck = doInstallCheck';
|
||||
|
||||
outputs = outputs';
|
||||
|
||||
references = nativeBuildInputs ++ buildInputs
|
||||
++ propagatedNativeBuildInputs ++ propagatedBuildInputs;
|
||||
|
||||
|
@ -111,7 +125,7 @@ rec {
|
|||
[
|
||||
(map (drv: drv.__spliced.hostHost or drv) depsHostHost)
|
||||
(map (drv: drv.crossDrv or drv) (buildInputs
|
||||
++ lib.optionals doCheck' checkInputs
|
||||
++ lib.optionals doCheck checkInputs
|
||||
++ lib.optionals doInstallCheck' installCheckInputs))
|
||||
]
|
||||
[
|
||||
|
@ -133,15 +147,6 @@ rec {
|
|||
]
|
||||
];
|
||||
|
||||
# TODO(@oxij, @Ericson2314): This is here to keep the old semantics, remove when
|
||||
# no package has `doCheck = true`.
|
||||
doCheck' = doCheck && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
doInstallCheck' = doInstallCheck && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
|
||||
outputs' =
|
||||
outputs ++
|
||||
(if separateDebugInfo then assert stdenv.hostPlatform.isLinux; [ "debug" ] else []);
|
||||
|
||||
computedSandboxProfile =
|
||||
lib.concatMap (input: input.__propagatedSandboxProfile or [])
|
||||
(stdenv.extraNativeBuildInputs
|
||||
|
@ -165,7 +170,6 @@ rec {
|
|||
derivationArg =
|
||||
(removeAttrs attrs
|
||||
["meta" "passthru" "pos"
|
||||
"doCheck" "doInstallCheck"
|
||||
"checkInputs" "installCheckInputs"
|
||||
"__impureHostDeps" "__propagatedImpureHostDeps"
|
||||
"sandboxProfile" "propagatedSandboxProfile"])
|
||||
|
@ -212,15 +216,11 @@ rec {
|
|||
++ optional (elem "host" configurePlatforms) "--host=${stdenv.hostPlatform.config}"
|
||||
++ optional (elem "target" configurePlatforms) "--target=${stdenv.targetPlatform.config}";
|
||||
|
||||
inherit doCheck doInstallCheck;
|
||||
|
||||
inherit outputs;
|
||||
} // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) {
|
||||
NIX_HARDENING_ENABLE = enabledHardeningOptions;
|
||||
} // lib.optionalAttrs (outputs' != [ "out" ]) {
|
||||
outputs = outputs';
|
||||
} // lib.optionalAttrs doCheck' {
|
||||
doCheck = true;
|
||||
} // lib.optionalAttrs doInstallCheck' {
|
||||
doInstallCheck = true;
|
||||
|
||||
} // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) {
|
||||
# TODO: remove lib.unique once nix has a list canonicalization primitive
|
||||
__sandboxProfile =
|
||||
|
@ -261,9 +261,8 @@ rec {
|
|||
# unless they are comfortable with this default.
|
||||
outputsToInstall =
|
||||
let
|
||||
outs = outputs'; # the value passed to derivation primitive
|
||||
hasOutput = out: builtins.elem out outs;
|
||||
in [( lib.findFirst hasOutput null (["bin" "out"] ++ outs) )];
|
||||
hasOutput = out: builtins.elem out outputs;
|
||||
in [( lib.findFirst hasOutput null (["bin" "out"] ++ outputs) )];
|
||||
}
|
||||
// attrs.meta or {}
|
||||
# Fill `meta.position` to identify the source location of the package.
|
||||
|
|
Loading…
Reference in a new issue