about summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-09-28 21:51:00 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-09-28 21:52:28 +0200
commit80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d (patch)
tree02a1ac59ed95ab0232ab21d8ad37230f07a2953d /pkgs/development/compilers/gcc
parent144914121c158d2b3c738b74cd4b2e127c1d04f5 (diff)
downloadnixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar.gz
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar.bz2
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar.lz
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar.xz
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.tar.zst
nixlib-80c57fd96a8f4aa9b7ef69a01f50f4c264c49f7d.zip
gcj, gccgo: port fixes for 4.9 to 6
Tested that pdftk builds on linux again, and gccgo6 builds hello-world.
The default gcc doesn't rebuild.
Diffstat (limited to 'pkgs/development/compilers/gcc')
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 2c8a9696e693..47cb93c19953 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -217,7 +217,8 @@ stdenv.mkDerivation ({
 
   inherit patches;
 
-  outputs = [ "out" "lib" "man" "info" ];
+  outputs = if langJava || langGo then ["out" "man" "info"]
+    else [ "out" "lib" "man" "info" ];
   setOutputFlags = false;
   NIX_NO_SELF_RPATH = true;
 
@@ -323,7 +324,11 @@ stdenv.mkDerivation ({
     export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
     export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
     export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
-  '';
+  ''
+  + stdenv.lib.optionalString (langJava || langGo) ''
+    export lib=$out;
+  ''
+  ;
 
   dontDisableStatic = true;
 
@@ -565,4 +570,10 @@ stdenv.mkDerivation ({
 // optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+
+// optionalAttrs (langJava) {
+     postFixup = ''
+       target="$(echo "$out/libexec/gcc"/*/*/ecj*)"
+       patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target"
+     '';}
 )