summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/editors/vim/default.nix6
-rw-r--r--pkgs/applications/editors/vim/macvim.nix5
-rw-r--r--pkgs/applications/version-management/subversion/default.nix13
-rw-r--r--pkgs/build-support/cabal/default.nix5
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh40
-rw-r--r--pkgs/build-support/clang-wrapper/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/default.nix1
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix3
-rw-r--r--pkgs/development/compilers/ghc/7.8.3-binary.nix93
-rw-r--r--pkgs/development/compilers/ghc/7.8.3.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang.nix4
-rw-r--r--pkgs/development/interpreters/guile/clang.patch14
-rw-r--r--pkgs/development/interpreters/guile/default.nix6
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix2
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix1
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix2
-rw-r--r--pkgs/development/libraries/aspell/clang.patch18
-rw-r--r--pkgs/development/libraries/aspell/default.nix4
-rw-r--r--pkgs/development/libraries/db/generic.nix4
-rw-r--r--pkgs/development/libraries/db/osx.patch20
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix3
-rw-r--r--pkgs/development/libraries/libedit/default.nix2
-rw-r--r--pkgs/development/libraries/libffi/default.nix2
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix2
-rw-r--r--pkgs/development/libraries/libunistring/clang.patch14
-rw-r--r--pkgs/development/libraries/libunistring/default.nix2
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix2
-rw-r--r--pkgs/development/libraries/ncurses/clang.patch42
-rw-r--r--pkgs/development/libraries/ncurses/default.nix4
-rw-r--r--pkgs/development/libraries/readline/clang.patch13
-rw-r--r--pkgs/development/libraries/readline/readline6.nix5
-rw-r--r--pkgs/development/libraries/serf/default.nix6
-rw-r--r--pkgs/development/libraries/zlib/default.nix4
-rw-r--r--pkgs/development/tools/misc/distcc/masq.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix1
-rw-r--r--pkgs/stdenv/darwin/default.nix47
-rw-r--r--pkgs/stdenv/default.nix8
-rw-r--r--pkgs/stdenv/generic/default.nix3
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix6
-rw-r--r--pkgs/tools/misc/getopt/default.nix2
-rw-r--r--pkgs/tools/security/gnupg/clang.patch13
-rw-r--r--pkgs/tools/security/gnupg/default.nix1
-rw-r--r--pkgs/tools/system/tree/default.nix1
-rw-r--r--pkgs/tools/typesetting/tex/tetex/clang.patch13
-rw-r--r--pkgs/tools/typesetting/tex/tetex/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix33
-rw-r--r--pkgs/top-level/haskell-defaults.nix4
48 files changed, 415 insertions, 71 deletions
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 95f654eb8cac..8f27f5409975 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
name = "vim-${version}";
- version = "7.4.335";
+ version = "7.4.410";
src = fetchhg {
url = "https://vim.googlecode.com/hg/";
- rev = "v7-4-335";
- sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+ rev = "v7-4-410";
+ sha256 = "145llhj6gq2bh9b7p8xkxc388krrximq80b87f3cn4w4d4k9fhqp";
};
enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index feafa7b99777..ad40344f19f4 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,9 +1,8 @@
-{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
+{ stdenv, stdenvAdapters, fetchFromGitHub, ncurses, gettext,
pkgconfig, cscope, python, ruby, tcl, perl, luajit
}:
-let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
-in mkDerivation rec {
+stdenv.mkDerivation rec {
name = "macvim-${version}";
version = "7.4.355";
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 283ea7591538..30283ad387c8 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -15,7 +15,7 @@ assert httpServer -> httpd != null;
assert pythonBindings -> swig != null && python != null;
assert javahlBindings -> jdk != null && perl != null;
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
version = "1.8.10";
@@ -73,14 +73,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- # Hack to build on Mac OS X. The system header files use C99-style
- # comments, but Subversion passes -std=c90.
- NIX_CFLAGS_COMPILE = "-std=c99";
-
meta = {
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
homepage = http://subversion.apache.org/;
maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
-}
+} // stdenv.lib.optionalAttrs stdenv.isDarwin {
+ CXX = "clang++";
+ CC = "clang";
+ CPP = "clang -E";
+ CXXCPP = "clang++ -E";
+})
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index d73b4a1f364c..bf91de0bd505 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -214,6 +214,10 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
''}
+ ${optionalString self.stdenv.isDarwin ''
+ configureFlags+=" --with-gcc=clang"
+ ''}
+
echo "configure flags: $extraConfigureFlags $configureFlags"
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
--libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
@@ -236,6 +240,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
test -n "$noHaddock" || ./Setup haddock --html --hoogle \
+ --ghc-options=-optP-P \
${optionalString self.hyperlinkSource "--hyperlink-source"}
eval "$postBuild"
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
index 0cdb2b96135e..2dec6c59933b 100644
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ b/pkgs/build-support/clang-wrapper/builder.sh
@@ -28,20 +28,32 @@ if test -z "$nativeLibc"; then
fi
if test -n "$nativeTools"; then
- clangPath="$nativePrefix/bin"
+ if [ -n "$isDarwin" ]; then
+ clangPath="$clang/bin"
+ else
+ clangPath="$nativePrefix/bin"
+ fi
ldPath="$nativePrefix/bin"
else
- basePath=`echo $gcc/lib/*/*/*`
- # Need libgcc until the llvm compiler-rt library is complete
- clangLDFlags="$clangLDFlags -L$basePath"
- if test -e "$gcc/lib64"; then
- clangLDFlags="$clangLDFlags -L$gcc/lib64"
- else
- clangLDFlags="$clangLDFlags -L$gcc/lib"
+ clangLDFlags=""
+ if test -d "$gcc/lib"; then
+ basePath=`echo $gcc/lib/*/*/*`
+ # Need libgcc until the llvm compiler-rt library is complete
+ clangLDFlags="$clangLDFlags -L$basePath"
+ if test -e "$gcc/lib64"; then
+ clangLDFlags="$clangLDFlags -L$gcc/lib64"
+ else
+ clangLDFlags="$clangLDFlags -L$gcc/lib"
+ fi
fi
- clangLDFlags="$clangLDFlags -L$clang/lib"
- echo "$clangLDFlags" > $out/nix-support/clang-ldflags
+ if test -d "$clang/lib"; then
+ clangLDFlags="$clangLDFlags -L$clang/lib"
+ fi
+
+ if [ -n "$clangLDFlags" ]; then
+ echo "$clangLDFlags" > $out/nix-support/clang-ldflags
+ fi
# Need files like crtbegin.o from gcc
# It's unclear if these will ever be provided by an LLVM project
@@ -49,9 +61,9 @@ else
clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
echo "$clangCFlags" > $out/nix-support/clang-cflags
-
- clangPath="$clang/bin"
+
ldPath="$binutils/bin"
+ clangPath="$clang/bin"
fi
@@ -125,6 +137,10 @@ test -n "$libc" && echo $libc > $out/nix-support/orig-libc
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
doSubstitute "$setupHook" "$out/nix-support/setup-hook"
+cat >> "$out/nix-support/setup-hook" << EOF
+export CC=clang
+export CXX=clang++
+EOF
cp -p $utils $out/nix-support/utils.sh
diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
index 7a5d87127d90..e61c07ca9d23 100644
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ b/pkgs/build-support/clang-wrapper/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation {
(if name != "" then name else clangName + "-wrapper") +
(if clang != null && clangVersion != "" then "-" + clangVersion else "");
+ isDarwin = stdenv.isDarwin;
+
builder = ./builder.sh;
setupHook = ./setup-hook.sh;
clangWrapper = ./clang-wrapper.sh;
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
index b2444ebb9bff..42d9f29e2b5b 100644
--- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix
+++ b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
@@ -4,6 +4,7 @@
, gmp ? null, mpfr ? null, bison ? null, flex ? null
}:
+assert false;
assert stdenv.isDarwin;
assert langF77 -> gmp != null;
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 7000081e5dbe..f6dc974227cc 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
'' else "");
configurePhase = ''
- ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
+ ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
+ --with-clang
'';
# Stripping combined with patchelf breaks the executables (they die
diff --git a/pkgs/development/compilers/ghc/7.8.3-binary.nix b/pkgs/development/compilers/ghc/7.8.3-binary.nix
new file mode 100644
index 000000000000..f2c65c6ad053
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.8.3-binary.nix
@@ -0,0 +1,93 @@
+{stdenv, fetchurl, perl, ncurses, gmp}:
+
+stdenv.mkDerivation rec {
+ version = "7.8.3";
+
+ name = "ghc-${version}-binary";
+
+ src =
+ if stdenv.system == "i686-linux" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
+ sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi";
+ }
+ else if stdenv.system == "x86_64-linux" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
+ sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns";
+ }
+ else if stdenv.system == "i686-darwin" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
+ sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0";
+ }
+ else if stdenv.system == "x86_64-darwin" then
+ fetchurl {
+ url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
+ sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay";
+ }
+ else throw "cannot bootstrap GHC on this platform";
+
+ buildInputs = [perl];
+
+ postUnpack =
+ # Strip is harmful, see also below. It's important that this happens
+ # first. The GHC Cabal build system makes use of strip by default and
+ # has hardcoded paths to /usr/bin/strip in many places. We replace
+ # those below, making them point to our dummy script.
+ ''
+ mkdir "$TMP/bin"
+ for i in strip; do
+ echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
+ chmod +x "$TMP/bin/$i"
+ done
+ PATH="$TMP/bin:$PATH"
+ '' +
+ # We have to patch the GMP paths for the integer-gmp package.
+ ''
+ find . -name integer-gmp.buildinfo \
+ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
+ '' +
+ # On Linux, use patchelf to modify the executables so that they can
+ # find editline/gmp.
+ (if stdenv.isLinux then ''
+ find . -type f -perm +100 \
+ -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+ --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
+ sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+ sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+ for prog in ld ar gcc strip ranlib; do
+ find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
+ done
+ '' else "");
+
+ configurePhase = ''
+ ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \
+ --with-gmp-includes=${gmp}/include
+ '';
+
+ # Stripping combined with patchelf breaks the executables (they die
+ # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
+ dontStrip = true;
+
+ # No building is necessary, but calling make without flags ironically
+ # calls install-strip ...
+ buildPhase = "true";
+
+ postInstall =
+ ''
+ # Sanity check, can ghc create executables?
+ cd $TMP
+ mkdir test-ghc; cd test-ghc
+ cat > main.hs << EOF
+ module Main where
+ main = putStrLn "yes"
+ EOF
+ $out/bin/ghc --make main.hs
+ echo compilation ok
+ [ $(./main) == "yes" ]
+ '';
+
+ meta.license = stdenv.lib.licenses.bsd3;
+ meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+}
diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix
index dbcba36fa8ff..0971cbb1f933 100644
--- a/pkgs/development/compilers/ghc/7.8.3.nix
+++ b/pkgs/development/compilers/ghc/7.8.3.nix
@@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'';
- configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
-
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" "--keep-file-symbols" ];
diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix
index 262e0bff2483..72287560b245 100644
--- a/pkgs/development/compilers/llvm/3.3/clang.nix
+++ b/pkgs/development/compilers/llvm/3.3/clang.nix
@@ -1,5 +1,9 @@
{ 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/interpreters/guile/clang.patch b/pkgs/development/interpreters/guile/clang.patch
new file mode 100644
index 000000000000..4d0f342b211f
--- /dev/null
+++ b/pkgs/development/interpreters/guile/clang.patch
@@ -0,0 +1,14 @@
+diff --git a/lib/stdint.in.h b/lib/stdint.in.h
+index 889bca7..15d39b0 100644
+--- a/lib/stdint.in.h
++++ b/lib/stdint.in.h
+@@ -74,7 +74,8 @@
+ in <inttypes.h> would reinclude us, skipping our contents because
+ _@GUARD_PREFIX@_STDINT_H is defined.
+ The include_next requires a split double-inclusion guard. */
+-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
++# include <inttypes.h>
++// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
+ #endif
+
+ #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 2ddad5cde677..ad5d2f1cc587 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,11 @@
else stdenv.mkDerivation)
(rec {
- name = "guile-2.0.9";
+ name = "guile-2.0.11";
src = fetchurl {
url = "mirror://gnu/guile/${name}.tar.xz";
- sha256 = "0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp";
+ sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f";
};
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
@@ -29,7 +29,7 @@
enableParallelBuilding = true;
- patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ] ++
+ patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ] ++
(stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
# Explicitly link against libgcc_s, to work around the infamous
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 444ecbc787af..b2ccc7fd6428 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
configurePhase =
if stdenv.isDarwin
then ''
- makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" )
+ makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC=clang )
installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
'' else ''
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index c1a5374c92ea..344f91b29805 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
# Miniperl needs -lm. perl needs -lrt.
configureFlags =
[ "-de"
- "-Dcc=gcc"
"-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5"
"-Duseshrplib"
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
index d18718184ba6..963d462dc009 100644
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ b/pkgs/development/interpreters/ruby/ruby-19.nix
@@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
installFlags = stdenv.lib.optionalString docSupport "install-doc";
+ CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.7";
+
postInstall = ''
# Bundler tries to create this directory
mkdir -pv $out/${passthru.gemPath}
diff --git a/pkgs/development/libraries/aspell/clang.patch b/pkgs/development/libraries/aspell/clang.patch
new file mode 100644
index 000000000000..c4cfa426588c
--- /dev/null
+++ b/pkgs/development/libraries/aspell/clang.patch
@@ -0,0 +1,18 @@
+--- interfaces/cc/aspell.h 2013-10-13 20:29:33.000000000 +0200
++++ interfaces/cc/aspell.h 2013-10-13 20:30:01.000000000 +0200
+@@ -237,6 +237,7 @@
+ /******************************** errors ********************************/
+
+
++#ifndef __cplusplus
+ extern const struct AspellErrorInfo * const aerror_other;
+ extern const struct AspellErrorInfo * const aerror_operation_not_supported;
+ extern const struct AspellErrorInfo * const aerror_cant_copy;
+@@ -322,6 +323,7 @@
+ extern const struct AspellErrorInfo * const aerror_bad_magic;
+ extern const struct AspellErrorInfo * const aerror_expression;
+ extern const struct AspellErrorInfo * const aerror_invalid_expression;
++#endif
+
+
+ /******************************* speller *******************************/
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 734bcc0797cc..a8d660e89a7f 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
};
+ patchPhase = ''
+ patch interfaces/cc/aspell.h < ${./clang.patch}
+ '';
+
buildInputs = [ perl ];
doCheck = true;
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index 6217bc461249..9d3f87ad5cb6 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
patches = extraPatches;
+ patchPhase = ''
+ patch src/dbinc/atomic.h < ${./osx.patch}
+ '';
+
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
diff --git a/pkgs/development/libraries/db/osx.patch b/pkgs/development/libraries/db/osx.patch
new file mode 100644
index 000000000000..398aa1d37002
--- /dev/null
+++ b/pkgs/development/libraries/db/osx.patch
@@ -0,0 +1,20 @@
+--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
++++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400
+@@ -144,7 +144,7 @@
+ #define atomic_inc(env, p) __atomic_inc(p)
+ #define atomic_dec(env, p) __atomic_dec(p)
+ #define atomic_compare_exchange(env, p, o, n) \
+- __atomic_compare_exchange((p), (o), (n))
++ __atomic_compare_exchange_db((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ int temp;
+@@ -176,7 +176,7 @@
+ * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+ * which configure could be changed to use.
+ */
+-static inline int __atomic_compare_exchange(
++static inline int __atomic_compare_exchange_db(
+ db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ atomic_value_t was;
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index 14a6d34d932b..5bee2fe43368 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -16,10 +16,13 @@ stdenv.mkDerivation (rec {
# Build a "fat binary", with routines for several sub-architectures
# (x86), except on Solaris where some tests crash with "Memory fault".
# See <http://hydra.nixos.org/build/2760931>, for instance.
+ #
+ # no darwin because gmp uses ASM that clang doesn't like
optional (!stdenv.isSunOS) "--enable-fat"
++ (if cxx then [ "--enable-cxx" ]
else [ "--disable-cxx" ])
++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+ ++ optional stdenv.isDarwin "ABI=64 CC=clang"
++ optional stdenv.is64bit "--with-pic"
;
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index 1382af16484c..659f22b9b3b3 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
NROFF = "${groff}/bin/nroff";
postInstall = ''
- sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
+ sed -i ${stde