[boost] Fix detection of availability of {, u}int64_t in glibc headers
Petr Machata
pmachata at fedoraproject.org
Wed Jun 26 14:24:05 UTC 2013
commit 43e7bf161024c7e965716935305cc875f3d1e477
Author: Petr Machata <pmachata at redhat.com>
Date: Wed Jun 26 16:23:18 2013 +0200
Fix detection of availability of {,u}int64_t in glibc headers
boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch | 22 ++++++++++++++++++++++
boost.spec | 12 +++++++++++-
2 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch b/boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
new file mode 100644
index 0000000..3c425f3
--- /dev/null
+++ b/boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
@@ -0,0 +1,22 @@
+diff -up boost/cstdint.hpp\~ boost/cstdint.hpp
+--- boost/cstdint.hpp~ 2013-03-07 01:46:19.000000000 +0100
++++ boost/cstdint.hpp 2013-06-25 21:56:25.930276225 +0200
+@@ -41,7 +41,15 @@
+ // 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))
++// This define has been dropped altogether in GLIBC 2.17. As of then,
++// support for long long is part of baseline requirements, and
++// [u]int64_t is always defined. See here:
++// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
++//
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
+
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
+
+Diff finished. Tue Jun 25 21:56:32 2013
diff --git a/boost.spec b/boost.spec
index 0e72a17..9d026b9 100644
--- a/boost.spec
+++ b/boost.spec
@@ -34,7 +34,7 @@ Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.53.0
%define version_enc 1_53_0
-Release: 6%{?dist}
+Release: 7%{?dist}
License: Boost and MIT and Python
%define toplev_dirname %{name}_%{version_enc}
@@ -115,6 +115,10 @@ Patch15: boost-1.50.0-pool.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=909888
Patch16: boost-1.53.0-context.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=977098
+# https://svn.boost.org/trac/boost/ticket/8731
+Patch17: boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
+
%bcond_with tests
%bcond_with docs_generated
@@ -349,6 +353,7 @@ Summary: The Boost C++ headers and shared development libraries
Group: Development/Libraries
Requires: boost = %{version}-%{release}
Provides: boost-python-devel = %{version}-%{release}
+Requires: libicu-devel%{?_isa}
%description devel
Headers and shared object symbolic links for the Boost C++ libraries.
@@ -523,6 +528,7 @@ a number of significant features and is now developed independently
%patch10 -p1
%patch15 -p0
%patch16 -p1
+%patch17 -p0
# At least python2_version needs to be a macro so that it's visible in
# %%install as well.
@@ -1081,6 +1087,10 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/bjam.1*
%changelog
+* Wed Jun 26 2013 Petr Machata <pmachata at redhat.com> - 1.53.0-7
+- Fix detection of availability of {,u}int64_t in glibc headers.
+ (boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch)
+
* Wed Mar 6 2013 Petr Machata <pmachata at redhat.com> - 1.53.0-6
- libboost_context.so must be guarded by conditional in the expanded
filelist at boost-devel.
More information about the scm-commits
mailing list