diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index ea2710c8e56..c53bb39717e 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, makeSetupHook +{ stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames , toolset ? null , enableRelease ? true , enableDebug ? false @@ -90,7 +90,7 @@ let # Create a derivation which encompasses everything, making buildInputs nicer mkdir -p $out/nix-support - echo "${stripHeaderPathHook} $dev $lib" > $out/nix-support/propagated-native-build-inputs + echo "$dev $lib" > $out/nix-support/propagated-native-build-inputs ''; commonConfigureFlags = [ @@ -98,7 +98,13 @@ let "--libdir=$(lib)/lib" ]; - stripHeaderPathHook = makeSetupHook { } ./strip-header-path.sh; + fixup = '' + # Make boost header paths relative so that they are not runtime dependencies + ( + cd "$dev" + find include \( -name '*.hpp' -or -name '*.h' \) -exec sed '1i#line 1 "{}"' -i '{}' \; + ) + ''; in @@ -144,6 +150,8 @@ stdenv.mkDerivation { installPhase = installer nativeB2Args; + postFixup = fixup; + outputs = [ "out" "dev" "lib" ]; crossAttrs = rec { @@ -162,5 +170,6 @@ stdenv.mkDerivation { ''; buildPhase = builder crossB2Args; installPhase = installer crossB2Args; + postFixup = fixup; }; } diff --git a/pkgs/development/libraries/boost/strip-header-path.sh b/pkgs/development/libraries/boost/strip-header-path.sh deleted file mode 100644 index f8243fc27be..00000000000 --- a/pkgs/development/libraries/boost/strip-header-path.sh +++ /dev/null @@ -1,12 +0,0 @@ -postPhases+=" boostHeaderStripPhase" - -boostHeaderStripPhase() { - runHook preBoostHeaderStrip - [ -z "$outputs" ] && outputs=out - for output in $outputs; do - eval "path=\$$outputs" - [ -d "$path/bin" ] || continue - find "$path/bin" -type f -exec sed -i "s,[^/]*\(-boost-[0-9.]*-dev\),xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\1,g" {} \; - done - runHook postBoostHeaderStrip -}