Author: ludo
Date: Mon Apr 23 15:47:37 2012
New Revision: 33894
URL: https://nixos.org/websvn/nix/?rev=33894&sc=1

Log:
Darwin: Use GCC 4.6 in `stdenvNix'.

Modified:
   nixpkgs/trunk/pkgs/development/compilers/gcc/4.6/default.nix
   nixpkgs/trunk/pkgs/development/libraries/ncurses/default.nix
   nixpkgs/trunk/pkgs/stdenv/nix/default.nix
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Modified: nixpkgs/trunk/pkgs/development/compilers/gcc/4.6/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/development/compilers/gcc/4.6/default.nix        Mon Apr 
23 15:47:31 2012        (r33893)
+++ nixpkgs/trunk/pkgs/development/compilers/gcc/4.6/default.nix        Mon Apr 
23 15:47:37 2012        (r33894)
@@ -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 @@
     ++ (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

Modified: nixpkgs/trunk/pkgs/development/libraries/ncurses/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/development/libraries/ncurses/default.nix        Mon Apr 
23 15:47:31 2012        (r33893)
+++ nixpkgs/trunk/pkgs/development/libraries/ncurses/default.nix        Mon Apr 
23 15:47:37 2012        (r33894)
@@ -27,7 +27,11 @@
 
   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

Modified: nixpkgs/trunk/pkgs/stdenv/nix/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/stdenv/nix/default.nix   Mon Apr 23 15:47:31 2012        
(r33893)
+++ nixpkgs/trunk/pkgs/stdenv/nix/default.nix   Mon Apr 23 15:47:37 2012        
(r33894)
@@ -28,7 +28,7 @@
         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";
   };

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Mon Apr 23 15:47:31 
2012        (r33893)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Mon Apr 23 15:47:37 
2012        (r33894)
@@ -1962,8 +1962,12 @@
       (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 @@
     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 @@
   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;
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to