ipxe: fix build by fixing -idirafter ordering
`ipxe` build broke after https://github.com/NixOS/nixpkgs/pull/210004 where we started dropping default libc include path and switched to `-idirafter` way of specifying libc headers. Unfortunately the way it's implemented it injects `-idirafter` after user's flags, not before. That allows users to inject their paths before libc include paths, not after (as it would notmally happen). The change works it around for `ipxe` by pulling `-idirafter` libc flags before user's flags.
This commit is contained in:
parent
277d34fbdf
commit
a9e6a5c1bc
1 changed files with 10 additions and 0 deletions
|
@ -48,6 +48,16 @@ stdenv.mkDerivation rec {
|
||||||
substituteInPlace src/util/genfsimg --replace " syslinux " " true "
|
substituteInPlace src/util/genfsimg --replace " syslinux " " true "
|
||||||
''; # calling syslinux on a FAT image isn't going to work
|
''; # calling syslinux on a FAT image isn't going to work
|
||||||
|
|
||||||
|
# Workaround '-idirafter' ordering bug in staging-next:
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/210004
|
||||||
|
# where libc '-idirafter' gets added after user's idirafter and
|
||||||
|
# breaks.
|
||||||
|
# TODO(trofi): remove it in staging once fixed in cc-wrapper.
|
||||||
|
preConfigure = ''
|
||||||
|
export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] buildPackages.stdenv.hostPlatform.config}=$(< ${buildPackages.stdenv.cc}/nix-support/libc-cflags)
|
||||||
|
export NIX_CFLAGS_COMPILE_BEFORE_${lib.replaceStrings ["-" "."] ["_" "_"] stdenv.hostPlatform.config}=$(< ${stdenv.cc}/nix-support/libc-cflags)
|
||||||
|
'';
|
||||||
|
|
||||||
# not possible due to assembler code
|
# not possible due to assembler code
|
||||||
hardeningDisable = [ "pic" "stackprotector" ];
|
hardeningDisable = [ "pic" "stackprotector" ];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue