From cd5b677576ecab782edcf3f5066c399be7b56e44 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 13 Apr 2016 18:46:06 +0200 Subject: [PATCH] gcc49 (gcj): do not create separate lib output (cyclical dependency), fix ecj1 linking. Does not affect the hash of normal gcc49 --- pkgs/development/compilers/gcc/4.9/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index d478196af51..74612ae7754 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -218,7 +218,7 @@ stdenv.mkDerivation ({ inherit patches; - outputs = [ "out" "lib" "man" "info" ]; + outputs = if langJava then ["out" "man" "info"] else [ "out" "lib" "man" "info" ]; setOutputFlags = false; NIX_NO_SELF_RPATH = true; @@ -315,7 +315,11 @@ stdenv.mkDerivation ({ FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ ) fi - ''; + '' + + stdenv.lib.optionalString langJava '' + export lib=$out; + '' + ; dontDisableStatic = true; @@ -538,4 +542,10 @@ stdenv.mkDerivation ({ // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } + +// optionalAttrs (langJava) { + postFixup = '' + target="$(echo "$out/libexec/gcc"/*/*/ecj*)" + patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" + '';} )