forked from mirrors/nixpkgs
make-derivation: don’t add host suffix if there is no c compiler
Some trivial builders use the name attr to choose the exec name produced. For example nixos-install, nixos-install = makeProg { name = "nixos-install"; src = ./nixos-install.sh; nix = config.nix.package.out; path = makeBinPath [ nixos-enter ]; }; When cross compiling, this puts the prog in, /bin/nixos-install-powerpc64le-unknown-linux-gnu
This commit is contained in:
parent
a9b7fa7634
commit
a56fe056ec
|
@ -96,7 +96,7 @@ rec {
|
||||||
++ depsHostHost ++ depsHostHostPropagated
|
++ depsHostHost ++ depsHostHostPropagated
|
||||||
++ buildInputs ++ propagatedBuildInputs
|
++ buildInputs ++ propagatedBuildInputs
|
||||||
++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
|
++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
|
||||||
runtimeSensativeIfFixedOutput = fixedOutputDrv -> !noNonNativeDeps;
|
dontAddHostSuffix = attrs ? outputHash && !noNonNativeDeps || stdenv.cc == null;
|
||||||
supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
|
supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
|
||||||
defaultHardeningFlags = if stdenv.targetPlatform.isMusl
|
defaultHardeningFlags = if stdenv.targetPlatform.isMusl
|
||||||
then supportedHardeningFlags
|
then supportedHardeningFlags
|
||||||
|
@ -187,7 +187,7 @@ rec {
|
||||||
# suffix. But we have some weird ones with run-time deps that are
|
# suffix. But we have some weird ones with run-time deps that are
|
||||||
# just used for their side-affects. Those might as well since the
|
# just used for their side-affects. Those might as well since the
|
||||||
# hash can't be the same. See #32986.
|
# hash can't be the same. See #32986.
|
||||||
(stdenv.hostPlatform != stdenv.buildPlatform && runtimeSensativeIfFixedOutput)
|
(stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix)
|
||||||
("-" + stdenv.hostPlatform.config);
|
("-" + stdenv.hostPlatform.config);
|
||||||
|
|
||||||
builder = attrs.realBuilder or stdenv.shell;
|
builder = attrs.realBuilder or stdenv.shell;
|
||||||
|
|
Loading…
Reference in a new issue