diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 6decc4c8cc3..fc007fe447b 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -32,8 +32,7 @@ , gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , stripped ? true -, gnused ? null -, binutils ? null +, CF ? null }: assert langJava -> zip != null && unzip != null @@ -45,11 +44,8 @@ assert langVhdl -> gnat != null; # LTO needs libelf and zlib. assert libelf != null -> zlib != null; -# Make sure we get GNU sed. -assert stdenv.isDarwin -> gnused != null; - -# Need c++filt on darwin -assert stdenv.isDarwin -> binutils != null; +# Make sure we get CoreFoundation. +assert stdenv.isDarwin -> CF != null; # The go frontend is written in c++ assert langGo -> langCC; @@ -286,11 +282,6 @@ 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) - ++ (optional stdenv.isDarwin binutils) ; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; @@ -301,14 +292,10 @@ stdenv.mkDerivation ({ 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 stdenv.isDarwin '' - if SDKROOT=$(/usr/bin/xcrun --show-sdk-path); then - configureFlagsArray+=(--with-native-system-header-dir=$SDKROOT/usr/include) - makeFlagsArray+=( \ - CFLAGS_FOR_BUILD=-F$SDKROOT/System/Library/Frameworks \ - CFLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ - FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ - ) - fi + configureFlagsArray+=( + --with-sysroot="${stdenv.libc}" + --with-native-system-header-dir=/include + ) ''; dontDisableStatic = true; @@ -475,10 +462,10 @@ stdenv.mkDerivation ({ ++ optionals javaAwtGtk [ gmp mpfr ] ++ optional (libpthread != null) libpthread))); - EXTRA_TARGET_CFLAGS = - if cross != null && libcCross != null + extraFlags = + (if cross != null && libcCross != null then "-idirafter ${libcCross}/include" - else null; + else "") + optionalString stdenv.isDarwin " -F${CF}/Library/Frameworks"; EXTRA_TARGET_LDFLAGS = if cross != null && libcCross != null diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0a088519b6..6150eb4f521 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3868,6 +3868,8 @@ let libcCross = if crossSystem != null then libcCross else null; isl = isl_0_14; + + inherit (darwin) CF; })); gfortran = if !stdenv.isDarwin then gfortran49