From 3e8344d334d42824ac3061a919ac15b19a1bf21d Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Sun, 17 Aug 2014 13:17:13 -0700 Subject: suitable clang stdenv --- pkgs/development/libraries/aspell/clang.patch | 18 ++++++++++ pkgs/development/libraries/aspell/default.nix | 4 +++ pkgs/development/libraries/db/generic.nix | 4 +++ pkgs/development/libraries/db/osx.patch | 20 +++++++++++ pkgs/development/libraries/gmp/5.1.x.nix | 3 ++ pkgs/development/libraries/libedit/default.nix | 2 +- pkgs/development/libraries/libffi/default.nix | 2 +- pkgs/development/libraries/libgcrypt/default.nix | 2 ++ .../development/libraries/libunistring/clang.patch | 14 ++++++++ .../development/libraries/libunistring/default.nix | 2 ++ pkgs/development/libraries/mesa-darwin/default.nix | 2 +- pkgs/development/libraries/ncurses/clang.patch | 42 ++++++++++++++++++++++ pkgs/development/libraries/ncurses/default.nix | 4 +-- pkgs/development/libraries/readline/clang.patch | 13 +++++++ pkgs/development/libraries/readline/readline6.nix | 5 +++ pkgs/development/libraries/serf/default.nix | 6 +++- pkgs/development/libraries/zlib/default.nix | 4 ++- 17 files changed, 139 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/aspell/clang.patch create mode 100644 pkgs/development/libraries/db/osx.patch create mode 100644 pkgs/development/libraries/libunistring/clang.patch create mode 100644 pkgs/development/libraries/ncurses/clang.patch create mode 100644 pkgs/development/libraries/readline/clang.patch (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/aspell/clang.patch b/pkgs/development/libraries/aspell/clang.patch new file mode 100644 index 00000000000..c4cfa426588 --- /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 734bcc0797c..a8d660e89a7 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 6217bc46124..9d3f87ad5cb 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 00000000000..398aa1d3700 --- /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 14a6d34d932..5bee2fe4336 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 , 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 1382af16484..659f22b9b3b 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 ${stdenv.lib.optionalString (stdenv.isDarwin && stdenv.gcc.nativeTools) "''"} s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc ''; # taken from gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libedit/files/ diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index da5a080521c..20b697144a0 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { postInstall = # Install headers in the right place. - '' ln -s${if stdenv.isFreeBSD then "" else "r"}v "$out/lib/"libffi*/include "$out/include" + '' ln -s${if stdenv.isBSD then "" else "r"}v "$out/lib/"libffi*/include "$out/include" ''; meta = { diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index ed267e23c87..8cc5b924cce 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation (rec { propagatedBuildInputs = [ libgpgerror ]; + configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-asm"; + doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18 # For some reason the tests don't find `libgpg-error.so'. diff --git a/pkgs/development/libraries/libunistring/clang.patch b/pkgs/development/libraries/libunistring/clang.patch new file mode 100644 index 00000000000..fdcbc0d528d --- /dev/null +++ b/pkgs/development/libraries/libunistring/clang.patch @@ -0,0 +1,14 @@ +diff --git a/lib/stdint.in.h b/lib/stdint.in.h +index 997e406..e0827f5 100644 +--- a/lib/stdint.in.h ++++ b/lib/stdint.in.h +@@ -53,7 +53,8 @@ + in would reinclude us, skipping our contents because + _GL_STDINT_H is defined. + The include_next requires a split double-inclusion guard. */ +-# @INCLUDE_NEXT@ @NEXT_STDINT_H@ ++# include ++// # @INCLUDE_NEXT@ @NEXT_STDINT_H@ + #endif + + #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 2a87d7a3249..9470240fc14 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation (rec { sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1"; }; + patches = stdenv.lib.optional stdenv.isDarwin [ ./clang.patch ]; + propagatedBuildInputs = stdenv.lib.optional ((! (stdenv ? glibc)) || (stdenv ? cross && diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix index 98936904be5..f259a397c84 100644 --- a/pkgs/development/libraries/mesa-darwin/default.nix +++ b/pkgs/development/libraries/mesa-darwin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison +{ stdenv, stdenvAdapters, fetchurl, pkgconfig, intltool, flex, bison , python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt , enableExtraFeatures ? false # not maintained diff --git a/pkgs/development/libraries/ncurses/clang.patch b/pkgs/development/libraries/ncurses/clang.patch new file mode 100644 index 00000000000..ce33049bf40 --- /dev/null +++ b/pkgs/development/libraries/ncurses/clang.patch @@ -0,0 +1,42 @@ +diff -ruNp ncurses-5.8.orig/c++/cursesf.h ncurses-5.8/c++/cursesf.h +--- ncurses-5.8.orig/c++/cursesf.h 2005-08-13 21:08:24.000000000 +0300 ++++ ncurses-5.8/c++/cursesf.h 2011-04-03 18:29:29.000000000 +0300 +@@ -681,7 +681,7 @@ public: + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE, + bool autoDelete_Fields=FALSE) +- : NCursesForm (Fields, with_frame, autoDelete_Fields) { ++ : NCursesForm (&Fields, with_frame, autoDelete_Fields) { + if (form) + set_user (const_cast(p_UserData)); + }; +@@ -694,7 +694,7 @@ public: + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE, + bool autoDelete_Fields=FALSE) +- : NCursesForm (Fields, nlines, ncols, begin_y, begin_x, ++ : NCursesForm (&Fields, nlines, ncols, begin_y, begin_x, + with_frame, autoDelete_Fields) { + if (form) + set_user (const_cast(p_UserData)); +diff -ruNp ncurses-5.8.orig/c++/cursesm.h ncurses-5.8/c++/cursesm.h +--- ncurses-5.8.orig/c++/cursesm.h 2005-08-13 21:10:36.000000000 +0300 ++++ ncurses-5.8/c++/cursesm.h 2011-04-03 18:31:42.000000000 +0300 +@@ -639,7 +639,7 @@ public: + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE, + bool autoDelete_Items=FALSE) +- : NCursesMenu (Items, with_frame, autoDelete_Items) { ++ : NCursesMenu (&Items, with_frame, autoDelete_Items) { + if (menu) + set_user (const_cast(p_UserData)); + }; +@@ -651,7 +651,7 @@ public: + int begin_x = 0, + const T* p_UserData = STATIC_CAST(T*)(0), + bool with_frame=FALSE) +- : NCursesMenu (Items, nlines, ncols, begin_y, begin_x, with_frame) { ++ : NCursesMenu (&Items, nlines, ncols, begin_y, begin_x, with_frame) { + if (menu) + set_user (const_cast(p_UserData)); + }; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 631199bf87c..3aa27480a0f 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"; }; - patches = [ ./patch-ac ]; + patches = [ ./patch-ac ./clang.patch ]; configureFlags = '' --with-shared --without-debug --enable-pc-files --enable-symlinks @@ -35,8 +35,6 @@ stdenv.mkDerivation rec { export configureFlags="$configureFlags --includedir=$out/include" export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig" mkdir -p "$PKG_CONFIG_LIBDIR" - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace configure --replace -no-cpp-precomp "" ''; selfNativeBuildInput = true; diff --git a/pkgs/development/libraries/readline/clang.patch b/pkgs/development/libraries/readline/clang.patch new file mode 100644 index 00000000000..42bb0be09c3 --- /dev/null +++ b/pkgs/development/libraries/readline/clang.patch @@ -0,0 +1,13 @@ +diff --git a/support/shobj-conf b/support/shobj-conf +index 5a63e80..4b2a741 100644 +--- support/shobj-conf ++++ support/shobj-conf +@@ -189,7 +189,7 @@ darwin*|macosx*) + darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; +- *) SHOBJ_LDFLAGS='-dynamic' ++ *) SHOBJ_LDFLAGS='-dynamiclib' + SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; + esac diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/readline6.nix index d72d6566bbc..bffa838d2b3 100644 --- a/pkgs/development/libraries/readline/readline6.nix +++ b/pkgs/development/libraries/readline/readline6.nix @@ -10,10 +10,15 @@ stdenv.mkDerivation (rec { propagatedBuildInputs = [ncurses]; + preConfigure = '' + export CC=clang + ''; + patchFlags = "-p0"; patches = [ ./link-against-ncurses.patch ./no-arch_only.patch + ./clang.patch ] ++ (let diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 1e8eec6ae45..033e53e521d 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -18,9 +18,13 @@ stdenv.mkDerivation rec { buildPhase = '' scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \ - APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc" + APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${ + if stdenv.isDarwin then "clang" else "${stdenv.gcc}/bin/gcc" + }" ''; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib"; + installPhase = '' scons install ''; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 0938e2a17a7..1b46c959448 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -15,7 +15,9 @@ stdenv.mkDerivation rec { configureFlags = if static then "" else "--shared"; - preConfigure = '' + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + export CC=clang + '' + '' if test -n "$crossConfig"; then export CC=$crossConfig-gcc configureFlags=${if static then "" else "--shared"} -- cgit 1.4.1 From 7da056233f8436d361528d0eb20bec8286445a51 Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Wed, 20 Aug 2014 19:30:50 -0700 Subject: wip libc++ --- .../version-management/subversion/default.nix | 2 -- pkgs/development/compilers/llvm/3.4/llvm.nix | 2 +- pkgs/development/libraries/libc++abi/default.nix | 9 ++++----- pkgs/development/libraries/libunwind/native.nix | 22 ++++++++++++++++++++++ pkgs/development/libraries/mpc/default.nix | 2 ++ pkgs/development/libraries/mpfr/default.nix | 2 ++ pkgs/development/libraries/serf/default.nix | 8 ++++---- pkgs/stdenv/darwin/default.nix | 5 +++++ pkgs/tools/package-management/nix/default.nix | 4 +++- pkgs/tools/package-management/nix/unstable.nix | 5 +++-- pkgs/tools/text/sgml/opensp/default.nix | 5 +++++ pkgs/top-level/all-packages.nix | 2 ++ 12 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 pkgs/development/libraries/libunwind/native.nix (limited to 'pkgs/development/libraries') diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 30283ad387c..af9827ef4b8 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -46,8 +46,6 @@ stdenv.mkDerivation (rec { preBuild = '' makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules) - '' + stdenv.lib.optionalString stdenv.isDarwin '' - substituteInPlace configure --replace "-no-cpp-precomp" "" ''; postInstall = '' diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix index fbc881fc8e0..dfd7b5570ea 100644 --- a/pkgs/development/compilers/llvm/3.4/llvm.nix +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -65,6 +65,6 @@ in stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ]; platforms = stdenv.lib.platforms.all; - broken = stdenv.isDarwin; + # broken = stdenv.isDarwin; }; } diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix index 8218cbb966f..aae3027fd62 100644 --- a/pkgs/development/libraries/libc++abi/default.nix +++ b/pkgs/development/libraries/libc++abi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchsvn, libcxx, libunwind }: +{ stdenv, fetchsvn, libcxx, libunwind, gnused }: let rev = "199626"; in stdenv.mkDerivation { @@ -15,17 +15,16 @@ in stdenv.mkDerivation { postUnpack = '' unpackFile ${libcxx.src} export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include" + export TRIPLE=x86_64-apple-darwin ''; installPhase = '' install -d -m 755 $out/include $out/lib - install -m 644 lib/libc++abi.so.1.0 $out/lib + install -m 644 lib/libc++abi.dylib $out/lib install -m 644 include/cxxabi.h $out/include - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so - ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 ''; - patchPhase = "sed -e s,-lstdc++,, -i lib/buildit"; + patchPhase = "${gnused}/bin/sed -e s,-lstdc++,, -i lib/buildit"; buildPhase = "(cd lib; ./buildit)"; diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix new file mode 100644 index 00000000000..dd2ebb6a642 --- /dev/null +++ b/pkgs/development/libraries/libunwind/native.nix @@ -0,0 +1,22 @@ +{ stdenv }: + +stdenv.mkDerivation { + name = "libunwind-native"; + + unpackPhase = ":"; + dontBuild = true; + + installPhase = '' + mkdir -p $out/lib + cat ${/usr/lib/system/libunwind.dylib} > $out/lib/libunwind.dylib + /usr/bin/install_name_tool \ + -change /usr/lib/system/libunwind.dylib ${/usr/lib/system/libunwind.dylib} \ + -change /usr/lib/system/libsystem_malloc.dylib ${/usr/lib/system/libsystem_malloc.dylib} \ + -change /usr/lib/system/libsystem_pthread.dylib ${/usr/lib/system/libsystem_pthread.dylib} \ + -change /usr/lib/system/libsystem_platform.dylib ${/usr/lib/system/libsystem_platform.dylib} \ + -change /usr/lib/system/libsystem_c.dylib ${/usr/lib/system/libsystem_c.dylib} \ + -change /usr/lib/system/libdyld.dylib ${/usr/lib/system/libdyld.dylib} \ + -change /usr/lib/system/libkeymgr.dylib ${/usr/lib/system/libkeymgr.dylib} \ + $out/lib/libunwind.dylib + ''; +} diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix index 3d05fa2e040..dd132cfb5b7 100644 --- a/pkgs/development/libraries/mpc/default.nix +++ b/pkgs/development/libraries/mpc/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { buildInputs = [ gmp mpfr ]; + CFLAGS = "-I${gmp}/include"; + doCheck = true; meta = { diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index 653481aeccd..d999ba0cda5 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { buildInputs = [ gmp ]; + CFLAGS = "-I${gmp}/include"; + configureFlags = /* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite: http://hydra.bordeaux.inria.fr/build/34862 diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 033e53e521d..49d7cec9590 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }: +{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig, gnused }: stdenv.mkDerivation rec { name = "serf-1.3.7"; @@ -11,9 +11,9 @@ stdenv.mkDerivation rec { buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ]; configurePhase = '' - sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct - sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct - sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct + ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct + ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct + ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct ''; buildPhase = '' diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 5c2044386c6..d9668d0972c 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -27,6 +27,11 @@ import ../generic rec { nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr"; nativeLibc = true; inherit stdenv; + libcxx = pkgs.libcxx.override { + libcxxabi = pkgs.libcxxabi.override { + libunwind = pkgs.libunwindNative; + }; + }; binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}; clang = pkgs.clang_34; coreutils = pkgs.coreutils; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 6631214f39a..e64bc329393 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation rec { postUnpack = '' export CPATH="${bzip2}/include" export LIBRARY_PATH="${bzip2}/lib" + export CXX=/usr/bin/clang++ + export CXXFLAGS="-O3 -Wno-error=reserved-user-defined-literal" ''; configureFlags = @@ -32,7 +34,7 @@ stdenv.mkDerivation rec { --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc - CFLAGS=-O3 CXXFLAGS=-O3 + CFLAGS=-O3 ''; makeFlags = "profiledir=$(out)/etc/profile.d"; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 5c20c7eb72a..514924325e4 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null -, pkgconfig, boehmgc, perlPackages +, pkgconfig, boehmgc, perlPackages, bash , storeDir ? "/nix/store" , stateDir ? "/nix/var" }: @@ -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 = @@ -34,7 +35,7 @@ stdenv.mkDerivation rec { --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc - CFLAGS=-O3 CXXFLAGS=-O3 + CFLAGS=-O3 ''; makeFlags = "profiledir=$(out)/etc/profile.d"; diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix index 59b9b7bc13d..71901b20ff1 100644 --- a/pkgs/tools/text/sgml/opensp/default.nix +++ b/pkgs/tools/text/sgml/opensp/default.nix @@ -13,6 +13,11 @@ stdenv.mkDerivation { docsrc/*.xml ''; + configureFlags = [ + "--with-libintl-prefix=/usr" + "--with-libiconv-prefix=/usr" + ]; + setupHook = ./setup-hook.sh; buildInputs = [ xmlto docbook_xml_dtd_412 libxslt docbook_xsl ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4995b0e1d7..8e130d8c1b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5699,6 +5699,8 @@ let libunwind = callPackage ../development/libraries/libunwind { }; + libunwindNative = callPackage ../development/libraries/libunwind/native.nix {}; + libuvVersions = callPackage ../development/libraries/libuv { }; libv4l = lowPrio (v4l_utils.override { -- cgit 1.4.1 From 2e26f7bef14678667c87dcb1f9e76dcf1e47ec3d Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 21 Aug 2014 16:15:31 -0700 Subject: livcxx build --- pkgs/development/libraries/libc++/default.nix | 2 +- pkgs/development/libraries/libc++abi/default.nix | 2 +- pkgs/development/libraries/readline/readline6.nix | 4 ---- pkgs/stdenv/darwin/default.nix | 6 +++--- pkgs/stdenv/default.nix | 8 ++++++++ pkgs/top-level/all-packages.nix | 6 +++++- 6 files changed, 18 insertions(+), 10 deletions(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix index 32035709d8f..1ec1a61716d 100644 --- a/pkgs/development/libraries/libc++/default.nix +++ b/pkgs/development/libraries/libc++/default.nix @@ -26,6 +26,6 @@ in stdenv.mkDerivation rec { description = "A new implementation of the C++ standard library, targeting C++11"; license = "BSD"; maintainers = stdenv.lib.maintainers.shlevy; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix index aae3027fd62..141802d1616 100644 --- a/pkgs/development/libraries/libc++abi/default.nix +++ b/pkgs/development/libraries/libc++abi/default.nix @@ -33,6 +33,6 @@ in stdenv.mkDerivation { description = "A new implementation of low level support for a standard C++ library"; license = "BSD"; maintainers = stdenv.lib.maintainers.shlevy; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/readline6.nix index bffa838d2b3..1555f255c51 100644 --- a/pkgs/development/libraries/readline/readline6.nix +++ b/pkgs/development/libraries/readline/readline6.nix @@ -10,10 +10,6 @@ stdenv.mkDerivation (rec { propagatedBuildInputs = [ncurses]; - preConfigure = '' - export CC=clang - ''; - patchFlags = "-p0"; patches = [ ./link-against-ncurses.patch diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index d9668d0972c..28c863b63b0 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, config }: +{ stdenv, pkgs, config, haveLibCxx }: import ../generic rec { inherit config; @@ -27,11 +27,11 @@ import ../generic rec { nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr"; nativeLibc = true; inherit stdenv; - libcxx = pkgs.libcxx.override { + libcxx = if haveLibCxx then pkgs.libcxx.override { libcxxabi = pkgs.libcxxabi.override { libunwind = pkgs.libunwindNative; }; - }; + } else null; binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}; clang = pkgs.clang_34; coreutils = pkgs.coreutils; diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 8e8be748795..665cefbfc43 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -37,6 +37,14 @@ rec { inherit config; stdenv = stdenvNative; pkgs = stdenvNativePkgs; + haveLibCxx = true; + }; + + stdenvDarwinNaked = import ./darwin { + inherit config; + stdenv = stdenvNative; + pkgs = stdenvNativePkgs; + haveLibCxx = false; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8e130d8c1b8..49b1cd9b180 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1800,7 +1800,11 @@ let openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); - opensp = callPackage ../tools/text/sgml/opensp { }; + opensp = callPackage ../tools/text/sgml/opensp { + stdenv = if stdenv.isDarwin + then allStdenvs.stdenvDarwinNaked + else stdenv; + }; spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { }; -- cgit 1.4.1 From 6920b0066c1724784599aaad5cae4fd53157e814 Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 21 Aug 2014 16:49:36 -0700 Subject: stick darwin-specifics in a conditional --- pkgs/development/libraries/libc++abi/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix index 141802d1616..a2e333313b8 100644 --- a/pkgs/development/libraries/libc++abi/default.nix +++ b/pkgs/development/libraries/libc++abi/default.nix @@ -15,14 +15,23 @@ in stdenv.mkDerivation { postUnpack = '' unpackFile ${libcxx.src} export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include" + '' + stdenv.lib.optionalString '' export TRIPLE=x86_64-apple-darwin ''; - installPhase = '' - install -d -m 755 $out/include $out/lib - install -m 644 lib/libc++abi.dylib $out/lib - install -m 644 include/cxxabi.h $out/include - ''; + installPhase = if stdenv.isDarwin + then '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.dylib $out/lib + install -m 644 include/cxxabi.h $out/include + '' + else '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.so.1.0 $out/lib + install -m 644 include/cxxabi.h $out/include + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ''; patchPhase = "${gnused}/bin/sed -e s,-lstdc++,, -i lib/buildit"; -- cgit 1.4.1 From 799f4444778dc804f950e9559c46144bd7f7f0be Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 21 Aug 2014 16:50:34 -0700 Subject: libunwindNative for darwin only --- pkgs/development/libraries/libunwind/native.nix | 3 +++ 1 file changed, 3 insertions(+) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix index dd2ebb6a642..10e552a2810 100644 --- a/pkgs/development/libraries/libunwind/native.nix +++ b/pkgs/development/libraries/libunwind/native.nix @@ -6,6 +6,7 @@ stdenv.mkDerivation { unpackPhase = ":"; dontBuild = true; + # TODO: figure out if these are different in Mavericks + older installPhase = '' mkdir -p $out/lib cat ${/usr/lib/system/libunwind.dylib} > $out/lib/libunwind.dylib @@ -19,4 +20,6 @@ stdenv.mkDerivation { -change /usr/lib/system/libkeymgr.dylib ${/usr/lib/system/libkeymgr.dylib} \ $out/lib/libunwind.dylib ''; + + meta.platforms = stdenv.lib.platforms.darwin; } -- cgit 1.4.1 From e961c0621542d65abb0280b0daea25d4258c6aaf Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Thu, 21 Aug 2014 16:57:30 -0700 Subject: missing an argument --- pkgs/development/libraries/libc++abi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix index a2e333313b8..cedd4bc6dba 100644 --- a/pkgs/development/libraries/libc++abi/default.nix +++ b/pkgs/development/libraries/libc++abi/default.nix @@ -15,7 +15,7 @@ in stdenv.mkDerivation { postUnpack = '' unpackFile ${libcxx.src} export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include" - '' + stdenv.lib.optionalString '' + '' + stdenv.lib.optionalString stdenv.isDarwin '' export TRIPLE=x86_64-apple-darwin ''; -- cgit 1.4.1 From ed42a8c1387a4a642ea4656fd4c4b0eaba532810 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Thu, 21 Aug 2014 19:32:31 -0700 Subject: libcxxabi needs coreutils for `cp -d` --- pkgs/development/libraries/libc++abi/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix index cedd4bc6dba..4020856575b 100644 --- a/pkgs/development/libraries/libc++abi/default.nix +++ b/pkgs/development/libraries/libc++abi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchsvn, libcxx, libunwind, gnused }: +{ stdenv, coreutils, fetchsvn, libcxx, libunwind, gnused }: let rev = "199626"; in stdenv.mkDerivation { @@ -12,6 +12,8 @@ in stdenv.mkDerivation { NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind"; + buildInputs = [ coreutils ]; + postUnpack = '' unpackFile ${libcxx.src} export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include" -- cgit 1.4.1 From e22889064f82be3a7f841b87e7af63dd489e79e4 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Fri, 22 Aug 2014 09:06:19 -0700 Subject: fix boost build with clang --- pkgs/development/libraries/boost/1.55.nix | 6 +- .../libraries/boost/boost-155-clang.patch | 90 ++++++++++++++++++++++ 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/boost/boost-155-clang.patch (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix index 1e9d2134d12..cdbf98f4483 100644 --- a/pkgs/development/libraries/boost/1.55.nix +++ b/pkgs/development/libraries/boost/1.55.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames -, toolset ? null +, toolset ? if stdenv.isDarwin then "clang" else null , enableRelease ? true , enableDebug ? false , enableSingleThreaded ? false @@ -57,6 +57,8 @@ stdenv.mkDerivation { sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z"; }; + patches = stdenv.lib.optional (toolset == "clang") [ ./boost-155-clang.patch ]; + enableParallelBuilding = true; buildInputs = @@ -66,7 +68,7 @@ stdenv.mkDerivation { configureScript = "./bootstrap.sh"; configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python" + withToolset; - buildPhase = "${stdenv.lib.optionalString (toolset == "clang") "unset NIX_ENFORCE_PURITY; "}./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install${withToolset}"; + buildPhase = "${stdenv.lib.optionalString (toolset == "clang") "unset NIX_ENFORCE_PURITY; "}./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install"; # normal install does not install bjam, this is a separate step installPhase = '' diff --git a/pkgs/development/libraries/boost/boost-155-clang.patch b/pkgs/development/libraries/boost/boost-155-clang.patch new file mode 100644 index 00000000000..9c4e3a74cd2 --- /dev/null +++ b/pkgs/development/libraries/boost/boost-155-clang.patch @@ -0,0 +1,90 @@ +diff --git a/boost/atomic/detail/cas128strong.hpp b/boost/atomic/detail/cas128strong.hpp +index 906c13e..dcb4d7d 100644 +--- a/boost/atomic/detail/cas128strong.hpp ++++ b/boost/atomic/detail/cas128strong.hpp +@@ -196,15 +196,17 @@ class base_atomic + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void + store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type value_s = 0; ++ storage_type value_s; ++ memset(&value_s, 0, sizeof(value_s)); + memcpy(&value_s, &value, sizeof(value_type)); + platform_fence_before_store(order); + platform_store128(value_s, &v_); +@@ -247,7 +249,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + +diff --git a/boost/atomic/detail/gcc-atomic.hpp b/boost/atomic/detail/gcc-atomic.hpp +index a130590..4af99a1 100644 +--- a/boost/atomic/detail/gcc-atomic.hpp ++++ b/boost/atomic/detail/gcc-atomic.hpp +@@ -958,14 +958,16 @@ class base_atomic + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + } +@@ -980,7 +982,8 @@ class base_atomic + + value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + value_type res; +@@ -994,7 +997,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, +@@ -1010,7 +1015,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, -- cgit 1.4.1 From 6f949b2e872c8ef3d8c53c083506187c56afc85e Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Fri, 22 Aug 2014 23:51:25 -0700 Subject: get rid of nasty CC stuff --- pkgs/development/interpreters/lua-5/5.1.nix | 2 +- pkgs/development/libraries/gmp/5.1.x.nix | 2 +- pkgs/development/libraries/qt-4.x/4.8/default.nix | 2 -- pkgs/development/libraries/zlib/default.nix | 4 +--- pkgs/tools/misc/getopt/default.nix | 5 +++-- pkgs/tools/package-management/nix/default.nix | 16 +++++----------- pkgs/tools/system/tree/default.nix | 2 +- 7 files changed, 12 insertions(+), 21 deletions(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix index b2ccc7fd642..adeaa9fae7b 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="" CC=clang ) + makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC="$CC" ) 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/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index 5bee2fe4336..e9495b796dd 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (rec { ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]) ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" - ++ optional stdenv.isDarwin "ABI=64 CC=clang" + ++ optional stdenv.isDarwin "ABI=64" ++ optional stdenv.is64bit "--with-pic" ; diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 1679b4953e7..6c534f4220d 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -78,8 +78,6 @@ stdenv.mkDerivation rec { -translationdir $out/share/${name}/translations " '' + optionalString stdenv.isDarwin '' - export CXX=clang++ - export CC=clang sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf ''; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 1b46c959448..0938e2a17a7 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -15,9 +15,7 @@ stdenv.mkDerivation rec { configureFlags = if static then "" else "--shared"; - preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' - export CC=clang - '' + '' + preConfigure = '' if test -n "$crossConfig"; then export CC=$crossConfig-gcc configureFlags=${if static then "" else "--shared"} diff --git a/pkgs/tools/misc/getopt/default.nix b/pkgs/tools/misc/getopt/default.nix index 84d15a18747..14bdb7889c9 100644 --- a/pkgs/tools/misc/getopt/default.nix +++ b/pkgs/tools/misc/getopt/default.nix @@ -7,6 +7,7 @@ stdenv.mkDerivation { url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz; md5 = "02188ca68da27c4175d6e9f3da732101"; }; - - buildFlags = stdenv.lib.optional stdenv.isDarwin [ "CC=clang" ]; + preBuild = '' + export buildFlags=CC="$CC" # for darwin + ''; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index e64bc329393..e659a1f1b03 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -22,8 +22,6 @@ stdenv.mkDerivation rec { postUnpack = '' export CPATH="${bzip2}/include" export LIBRARY_PATH="${bzip2}/lib" - export CXX=/usr/bin/clang++ - export CXXFLAGS="-O3 -Wno-error=reserved-user-defined-literal" ''; configureFlags = @@ -34,7 +32,7 @@ stdenv.mkDerivation rec { --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc - CFLAGS=-O3 + CFLAGS=-O3 CXXFLAGS=-O3 ''; makeFlags = "profiledir=$(out)/etc/profile.d"; @@ -68,14 +66,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "Powerful package manager that makes package management reliable and reproducible"; - longDescription = '' - Nix is a powerful package manager for Linux and other Unix systems that - makes package management reliable and reproducible. It provides atomic - upgrades and rollbacks, side-by-side installation of multiple versions of - a package, multi-user package management and easy setup of build - environments. - ''; + # 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; maintainers = [ stdenv.lib.maintainers.eelco ]; diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix index 51de5998069..eca8882643d 100644 --- a/pkgs/tools/system/tree/default.nix +++ b/pkgs/tools/system/tree/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation { prefix=$out MANDIR=$out/share/man/man1 ${systemFlags} - CC=clang + CC="$CC" ) ''; -- cgit 1.4.1 From afa1db198bc88abea65d61ef6761866ed490ba6b Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Sat, 23 Aug 2014 23:15:23 -0700 Subject: fix even more clang builds --- pkgs/development/libraries/libdevil/default.nix | 9 +++++++++ pkgs/servers/x11/xorg/overrides.nix | 5 ++++- pkgs/stdenv/adapters.nix | 5 +++++ pkgs/top-level/all-packages.nix | 8 ++++---- 4 files changed, 22 insertions(+), 5 deletions(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix index d3053b4d2a5..6cbbddfdba8 100644 --- a/pkgs/development/libraries/libdevil/default.nix +++ b/pkgs/development/libraries/libdevil/default.nix @@ -16,6 +16,15 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-ILU" "--enable-ILUT" ]; + preConfigure = '' + sed -i 's, -std=gnu99,,g' configure + sed -i 's,malloc.h,stdlib.h,g' src-ILU/ilur/ilur.c + ''; + + postConfigure = '' + sed -i '/RESTRICT_KEYWORD/d' include/IL/config.h + ''; + patches = [ ( fetchurl { url = http://patch-tracker.debian.org/patch/series/dl/devil/1.7.8-6.1/03_CVE-2009-3994.diff; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 7073adb85dd..4811659ac41 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -102,8 +102,11 @@ in # Note: most of these are in Requires.private, so maybe builder.sh # should propagate them automatically. libXt = attrs: attrs // { - preConfigure = setMalloc0ReturnsNullCrossCompiling; + preConfigure = setMalloc0ReturnsNullCrossCompiling + '' + sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure + ''; propagatedBuildInputs = [ xorg.libSM ]; + CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; }; # See https://bugs.freedesktop.org/show_bug.cgi?id=47792 diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 09c92b552d4..c57f1d00f0a 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -299,4 +299,9 @@ rec { ''; # */ in overrideGCC stdenv (stdenv.gcc.override { binutils = binutils'; }); + dropCxx = drv: drv.override { + stdenv = if pkgs.stdenv.isDarwin + then pkgs.allStdenvs.stdenvDarwinNaked + else pkgs.stdenv; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22d35e03d59..623d464d30e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4574,7 +4574,7 @@ let coredumper = callPackage ../development/libraries/coredumper { }; - ctl = callPackage ../development/libraries/ctl { }; + ctl = dropCxx (callPackage ../development/libraries/ctl { }); cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; @@ -5079,7 +5079,7 @@ let ilixi = callPackage ../development/libraries/ilixi { }; - ilmbase = callPackage ../development/libraries/ilmbase { }; + ilmbase = dropCxx (callPackage ../development/libraries/ilmbase { }); imlib = callPackage ../development/libraries/imlib { libpng = libpng12; @@ -5253,7 +5253,7 @@ let libdc1394avt = callPackage ../development/libraries/libdc1394avt { }; - libdevil = callPackage ../development/libraries/libdevil { }; + libdevil = dropCxx (callPackage ../development/libraries/libdevil { }); libdiscid = callPackage ../development/libraries/libdiscid { }; @@ -5994,7 +5994,7 @@ let # this ctl version is needed by openexr_viewers openexr_ctl = callPackage ../development/libraries/openexr_ctl { }; - openexr = callPackage ../development/libraries/openexr { }; + openexr = dropCxx (callPackage ../development/libraries/openexr { }); openldap = callPackage ../development/libraries/openldap { stdenv = if stdenv.isDarwin -- cgit 1.4.1 From 25b395bc8d8b1590723dc42edd97561611f8db68 Mon Sep 17 00:00:00 2001 From: Joel Taylor Date: Wed, 3 Sep 2014 18:46:47 -0700 Subject: stop copying everything into the store --- pkgs/development/libraries/libunwind/native.nix | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'pkgs/development/libraries') diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix index 10e552a2810..3220d20495e 100644 --- a/pkgs/development/libraries/libunwind/native.nix +++ b/pkgs/development/libraries/libunwind/native.nix @@ -6,19 +6,9 @@ stdenv.mkDerivation { unpackPhase = ":"; dontBuild = true; - # TODO: figure out if these are different in Mavericks + older installPhase = '' mkdir -p $out/lib cat ${/usr/lib/system/libunwind.dylib} > $out/lib/libunwind.dylib - /usr/bin/install_name_tool \ - -change /usr/lib/system/libunwind.dylib ${/usr/lib/system/libunwind.dylib} \ - -change /usr/lib/system/libsystem_malloc.dylib ${/usr/lib/system/libsystem_malloc.dylib} \ - -change /usr/lib/system/libsystem_pthread.dylib ${/usr/lib/system/libsystem_pthread.dylib} \ - -change /usr/lib/system/libsystem_platform.dylib ${/usr/lib/system/libsystem_platform.dylib} \ - -change /usr/lib/system/libsystem_c.dylib ${/usr/lib/system/libsystem_c.dylib} \ - -change /usr/lib/system/libdyld.dylib ${/usr/lib/system/libdyld.dylib} \ - -change /usr/lib/system/libkeymgr.dylib ${/usr/lib/system/libkeymgr.dylib} \ - $out/lib/libunwind.dylib ''; meta.platforms = stdenv.lib.platforms.darwin; -- cgit 1.4.1