summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-12-10 11:50:29 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-12-10 11:50:29 +0100
commit2a36c61541e0e23d44007a611c07a320be4f369b (patch)
treec84fd3563a161c6ab7cda366fec1c705922ef5b2 /pkgs/development
parentda607b211080d5c95e51131868e0b0e998056f3d (diff)
downloadnixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar.gz
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar.bz2
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar.lz
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar.xz
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.tar.zst
nixlib-2a36c61541e0e23d44007a611c07a320be4f369b.zip
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
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/boost/1.49.nix2
-rw-r--r--pkgs/development/libraries/boost/boost-149-cstdint.patch15
2 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix
index 6035232caf6a..f502df4e19c3 100644
--- a/pkgs/development/libraries/boost/1.49.nix
+++ b/pkgs/development/libraries/boost/1.49.nix
@@ -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;
 
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 000000000000..94c7b4716664
--- /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