diff options
Diffstat (limited to 'pkgs/development/compilers/gcc/5/default.nix')
-rw-r--r-- | pkgs/development/compilers/gcc/5/default.nix | 41 |
1 files changed, 13 insertions, 28 deletions
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 9ab725e2da88a..9e0220ffc728d 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -58,8 +58,7 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "5.4.0"; - sha256 = "0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0"; +let version = "5.3.0"; # Whether building a cross-compiler for GNU/Hurd. crossGNU = cross != null && cross.config == "i586-pc-gnu"; @@ -166,8 +165,8 @@ let version = "5.4.0"; " --disable-libatomic " + # libatomic requires libc " --disable-decimal-float" # libdecnumber requires libc else - (if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot" - else " --with-headers=${getDev libcCross}/include") + + (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot" + else " --with-headers=${libcCross}/include") + # Ensure that -print-prog-name is able to find the correct programs. (stdenv.lib.optionalString (crossMingw || crossDarwin) ( " --with-as=${binutilsCross}/bin/${cross.config}-as" + @@ -213,7 +212,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; - inherit sha256; + sha256 = "1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"; }; inherit patches; @@ -257,9 +256,9 @@ stdenv.mkDerivation ({ sed -i "${gnu_h}" \ -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." + echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' + -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' '' else if cross != null || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of @@ -273,7 +272,7 @@ stdenv.mkDerivation ({ grep -q LIBC_DYNAMIC_LINKER "$header" || continue echo " fixing \`$header'..." sed -i "$header" \ - -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' done '' else null; @@ -416,7 +415,6 @@ stdenv.mkDerivation ({ ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""} --with-gmp=${gmp.crossDrv} --with-mpfr=${mpfr.crossDrv} - --with-mpc=${libmpc.crossDrv} --disable-libstdcxx-pch --without-included-gettext --with-system-zlib @@ -484,28 +482,15 @@ stdenv.mkDerivation ({ ++ optional (libpthread != null) libpthread))); EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null then [ - "-idirafter ${getDev libcCross}/include" - ] - ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" - ] + if cross != null && libcCross != null + then "-idirafter ${libcCross}/include" else null; EXTRA_TARGET_LDFLAGS = - if cross != null && libcCross != null then [ - "-Wl,-L${libcCross.out}/lib" - ] - ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" - ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" - ]) - ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ] + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") else null; passthru = |