From 43e7bf161024c7e965716935305cc875f3d1e477 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 26 Jun 2013 16:23:18 +0200 Subject: [PATCH] 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 deletion(-) create mode 100644 boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch 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 - 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 - 1.53.0-6 - libboost_context.so must be guarded by conditional in the expanded filelist at boost-devel.