From 2a36c61541e0e23d44007a611c07a320be4f369b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 10 Dec 2013 11:50:29 +0100 Subject: [PATCH] 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 --- pkgs/development/libraries/boost/1.49.nix | 2 +- .../libraries/boost/boost-149-cstdint.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/boost/boost-149-cstdint.patch diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix index 6035232caf6..f502df4e19c 100644 --- a/pkgs/development/libraries/boost/1.49.nix +++ b/pkgs/development/libraries/boost/1.49.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation { }; # See . - 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; diff --git a/pkgs/development/libraries/boost/boost-149-cstdint.patch b/pkgs/development/libraries/boost/boost-149-cstdint.patch new file mode 100644 index 00000000000..94c7b471666 --- /dev/null +++ b/pkgs/development/libraries/boost/boost-149-cstdint.patch @@ -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