boost-1.49: Fix building against Glibc 2.18

Glibc 2.18 no longer defines __GLIBC_HAVE_LONG_LONG.

http://hydra.nixos.org/build/7003618
This commit is contained in:
Eelco Dolstra 2013-12-10 11:50:29 +01:00
parent da607b2110
commit 2a36c61541
2 changed files with 16 additions and 1 deletions

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation {
};
# See <http://svn.boost.org/trac/boost/ticket/4688>.
patches = [ ./boost_filesystem_post_1_49_0.patch ./time_utc.patch ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch );
patches = [ ./boost_filesystem_post_1_49_0.patch ./time_utc.patch ./boost-149-cstdint.patch ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch );
enableParallelBuilding = true;

View File

@ -0,0 +1,15 @@
diff -ru -x '*~' boost_1_49_0-orig/boost/cstdint.hpp boost_1_49_0/boost/cstdint.hpp
--- boost_1_49_0-orig/boost/cstdint.hpp 2012-01-29 22:58:13.000000000 +0100
+++ boost_1_49_0/boost/cstdint.hpp 2013-12-10 11:48:19.304042208 +0100
@@ -41,7 +41,10 @@
// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
//
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
+#if defined(BOOST_HAS_STDINT_H) \
+ && (!defined(__GLIBC__) \
+ || defined(__GLIBC_HAVE_LONG_LONG) \
+ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
// The following #include is an implementation artifact; not part of interface.
# ifdef __hpux