Darwin: Use GCC 4.6 in `stdenvNix'.

svn path=/nixpkgs/trunk/; revision=33894
This commit is contained in:
Ludovic Courtès 2012-04-23 15:47:37 +00:00
parent 04600bbec1
commit 29bc53265d
4 changed files with 32 additions and 5 deletions

View File

@ -28,6 +28,7 @@
, gnat ? null
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, stripped ? true
, gnused
}:
assert langJava -> zip != null && unzip != null
@ -226,6 +227,10 @@ stdenv.mkDerivation ({
++ (optionals (cross != null) [binutilsCross])
++ (optionals langAda [gnatboot])
++ (optionals langVhdl [gnat])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional stdenv.isDarwin gnused)
;
configureFlagsArray = stdenv.lib.optionals

View File

@ -27,7 +27,11 @@ stdenv.mkDerivation (rec {
enableParallelBuilding = true;
preBuild = ''sed -e "s@\([[:space:]]\)sh @\1''${SHELL} @" -i */Makefile Makefile'';
preBuild =
# On Darwin, we end up using the native `sed' during bootstrap, and it
# fails to run this command, which isn't needed anyway.
stdenv.lib.optionalString (!stdenv.isDarwin)
''sed -e "s@\([[:space:]]\)sh @\1''${SHELL} @" -i */Makefile Makefile'';
# When building a wide-character (Unicode) build, create backward
# compatibility links from the the "normal" libraries to the

View File

@ -28,7 +28,7 @@ import ../generic rec {
import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}
else
pkgs.binutils;
gcc = if stdenv.isDarwin then pkgs.gccApple.gcc else pkgs.gcc.gcc;
gcc = pkgs.gcc.gcc;
coreutils = pkgs.coreutils;
shell = pkgs.bash + "/bin/sh";
};

View File

@ -1962,8 +1962,12 @@ let
(if stdenv.system == "i686-darwin"
then import ../development/compilers/gcc/4.2-apple32
else import ../development/compilers/gcc/4.2-apple64) {
inherit fetchurl stdenv noSysDirs;
inherit fetchurl noSysDirs;
profiledCompiler = true;
# Since it fails to build with GCC 4.6, build it with the "native"
# Apple-GCC.
stdenv = allStdenvs.stdenvNative;
});
gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
@ -3199,7 +3203,14 @@ let
target = crossSystem;
};
valgrind = callPackage ../development/tools/analysis/valgrind { };
valgrind = callPackage ../development/tools/analysis/valgrind {
stdenv =
# On Darwin, Valgrind 3.7.0 expects Apple's GCC (for
# `__private_extern'.)
if stdenv.isDarwin
then overrideGCC stdenv gccApple
else stdenv;
};
valkyrie = callPackage ../development/tools/analysis/valkyrie { };
@ -4429,8 +4440,15 @@ let
mysocketw = callPackage ../development/libraries/mysocketw { };
ncurses = makeOverridable (import ../development/libraries/ncurses) {
inherit fetchurl stdenv;
inherit fetchurl;
unicode = system != "i686-cygwin";
stdenv =
# On Darwin, NCurses uses `-no-cpp-precomp', which is specific to
# Apple-GCC. Since NCurses is part of stdenv, always use
# `stdenvNative' to build it.
if stdenv.isDarwin
then allStdenvs.stdenvNative
else stdenv;
};
neon = neon029;