mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-03-08 03:44:07 +01:00
buildFHSEnv: don't overwrite env vars to /usr prefix
Overwriting needlessly breaks using buildFHSEnv programs inside other derivations / build envs. Fix it by prepending the FHS paths instead. (I think the FHS paths should have the lowest priority, by suffixing them, but prefixing is a less disruptive change, so do that for now.) Test setup: $ NIXPKGS_ALLOW_UNFREE=1 nix-build -A quartus-prime-lite Before: $ NIX_CFLAGS_COMPILE="-I /path" NIX_CFLAGS_LINK="-L /path" NIX_LDFLAGS="-L /path" PKG_CONFIG_PATH=/path ACLOCAL_PATH=/path ./result/bin/quartus-prime-lite bash -c 'printf "NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE\nNIX_CFLAGS_LINK=$NIX_CFLAGS_LINK\nNIX_LDFLAGS=$NIX_LDFLAGS\nPKG_CONFIG_PATH=$PKG_CONFIG_PATH\nACLOCAL_PATH=$ACLOCAL_PATH\n"' NIX_CFLAGS_COMPILE=-idirafter /usr/include NIX_CFLAGS_LINK=-L/usr/lib -L/usr/lib32 NIX_LDFLAGS=-L/usr/lib -L/usr/lib32 PKG_CONFIG_PATH=/usr/lib/pkgconfig ACLOCAL_PATH=/usr/share/aclocal After: $ NIX_CFLAGS_COMPILE="-I /path" NIX_CFLAGS_LINK="-L /path" NIX_LDFLAGS="-L /path" PKG_CONFIG_PATH=/path ACLOCAL_PATH=/path ./result/bin/quartus-prime-lite bash -c 'printf "NIX_CFLAGS_COMPILE=$NIX_CFLAGS_COMPILE\nNIX_CFLAGS_LINK=$NIX_CFLAGS_LINK\nNIX_LDFLAGS=$NIX_LDFLAGS\nPKG_CONFIG_PATH=$PKG_CONFIG_PATH\nACLOCAL_PATH=$ACLOCAL_PATH\n"' NIX_CFLAGS_COMPILE=-idirafter /usr/include -I /path NIX_CFLAGS_LINK=-L/usr/lib -L/usr/lib32 -L /path NIX_LDFLAGS=-L/usr/lib -L/usr/lib32 -L /path PKG_CONFIG_PATH=/usr/lib/pkgconfig:/path ACLOCAL_PATH=/usr/share/aclocal:/path (I also included GST_PLUGIN_SYSTEM_PATH_1_0, although it's not a "build" oriented variable.)
This commit is contained in:
parent
70cd18d925
commit
dfd0be8cd2
1 changed files with 7 additions and 6 deletions
|
|
@ -125,15 +125,16 @@ let
|
|||
unset NIX_ENFORCE_PURITY
|
||||
export NIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
|
||||
export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
|
||||
export NIX_CFLAGS_COMPILE='-idirafter /usr/include'
|
||||
export NIX_CFLAGS_LINK='-L/usr/lib -L/usr/lib32'
|
||||
export NIX_LDFLAGS='-L/usr/lib -L/usr/lib32'
|
||||
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
|
||||
export ACLOCAL_PATH=/usr/share/aclocal
|
||||
export NIX_CFLAGS_COMPILE="-idirafter /usr/include"''${NIX_CFLAGS_COMPILE:+" $NIX_CFLAGS_COMPILE"}
|
||||
export NIX_CFLAGS_LINK="-L/usr/lib -L/usr/lib32"''${NIX_CFLAGS_LINK:+" $NIX_CFLAGS_LINK"}
|
||||
export NIX_LDFLAGS="-L/usr/lib -L/usr/lib32"''${NIX_LDFLAGS:+" $NIX_LDFLAGS"}
|
||||
export PKG_CONFIG_PATH=/usr/lib/pkgconfig''${PKG_CONFIG_PATH:+":$PKG_CONFIG_PATH"}
|
||||
export ACLOCAL_PATH=/usr/share/aclocal''${ACLOCAL_PATH:+":$ACLOCAL_PATH"}
|
||||
|
||||
# GStreamer searches for plugins relative to its real binary's location
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/bd97973ce0f2c5495bcda5cccd4f7ef7dcb7febc
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0=/usr/lib/gstreamer-1.0:/usr/lib32/gstreamer-1.0
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0=/usr/lib/gstreamer-1.0:/usr/lib32/gstreamer-1.0''${GST_PLUGIN_SYSTEM_PATH_1_0:+":$GST_PLUGIN_SYSTEM_PATH_1_0"}
|
||||
|
||||
|
||||
${profile}
|
||||
'';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue