diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix index 72287560b245..262e0bff2483 100644 --- a/pkgs/development/compilers/llvm/3.3/clang.nix +++ b/pkgs/development/compilers/llvm/3.3/clang.nix @@ -1,9 +1,5 @@ { stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }: -# be sure not to rebuild clang on darwin; some packages request it specifically -# we need to fix those -assert stdenv.isDarwin -> stdenv.gcc.nativeTools; - let version = "3.3"; gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc; diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix index 6ec3f7bf44a3..fc33a7809a6c 100644 --- a/pkgs/development/compilers/llvm/3.4/clang.nix +++ b/pkgs/development/compilers/llvm/3.4/clang.nix @@ -1,5 +1,9 @@ { stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }: +# be sure not to rebuild clang on darwin; some packages request it specifically +# we need to fix those +assert stdenv.isDarwin -> stdenv.gcc.nativeTools; + stdenv.mkDerivation { name = "clang-${version}"; diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 28c863b63b0b..f42cd7139d91 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -1,4 +1,6 @@ -{ stdenv, pkgs, config, haveLibCxx }: +{ stdenv, pkgs, config +, haveLibCxx ? true +, useClang33 ? false }: import ../generic rec { inherit config; @@ -33,7 +35,7 @@ import ../generic rec { }; } else null; binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}; - clang = pkgs.clang_34; + clang = if useClang33 then pkgs.clang_33 else pkgs.clang; coreutils = pkgs.coreutils; shell = pkgs.bash + "/bin/sh"; }; diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 665cefbfc43b..674f5585c0b9 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -37,7 +37,6 @@ rec { inherit config; stdenv = stdenvNative; pkgs = stdenvNativePkgs; - haveLibCxx = true; }; stdenvDarwinNaked = import ./darwin { @@ -47,6 +46,13 @@ rec { haveLibCxx = false; }; + stdenvDarwin33 = import ./darwin { + inherit config; + stdenv = stdenvNative; + pkgs = stdenvNativePkgs; + useClang33 = true; + }; + # Linux standard environment. stdenvLinux = (import ./linux { inherit system allPackages platform config;}).stdenvLinux; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index d5aebe45dd64..514924325e4a 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { postUnpack = '' export CPATH="${bzip2}/include" export LIBRARY_PATH="${bzip2}/lib" + export CXXFLAGS="-O3 -Wno-error=reserved-user-defined-literal" ''; configureFlags = @@ -68,9 +69,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - # due to builder args bug; see - # https://github.com/NixOS/nix/commit/b224ac15201c57b40ea855f5a98b1bd166c1c7f6 - broken = stdenv.isDarwin; description = "The Nix Deployment System"; homepage = http://nixos.org/; license = stdenv.lib.licenses.lgpl2Plus; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49b1cd9b1801..22d35e03d594 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3209,11 +3209,7 @@ let llvm_v = path: callPackage path { }; - llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // { - # until someone solves build problems with _34 - llvm = llvm_33; - clang = clang_33; - }; + llvmPackages = llvmPackages_34; llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { inherit stdenv newScope fetchurl; @@ -11455,6 +11451,7 @@ let }; nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { + stdenv = if stdenv.isDarwin then allStdenvs.stdenvDarwin33 else stdenv; storeDir = config.nix.storeDir or "/nix/store"; stateDir = config.nix.stateDir or "/nix/var"; };