diff --git a/boost-1.54.0-lexical_cast-int128.patch b/boost-1.54.0-lexical_cast-int128.patch new file mode 100644 index 0000000..8e6c63c --- /dev/null +++ b/boost-1.54.0-lexical_cast-int128.patch @@ -0,0 +1,61 @@ +diff -up boost/lexical_cast.hpp\~ boost/lexical_cast.hpp +--- boost/lexical_cast.hpp~ 2013-07-27 12:03:21.000000000 +0200 ++++ boost/lexical_cast.hpp 2013-07-30 19:30:54.969548144 +0200 +@@ -69,11 +69,6 @@ + throw_exception(bad_lexical_cast(typeid(Source), typeid(Target))) + #endif + +-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700 +-#define BOOST_LCAST_HAS_INT128 +-#endif +- +- + namespace boost + { + // exception used to indicate runtime lexical_cast failure +@@ -316,7 +311,7 @@ namespace boost { + > {}; + #endif + +-#ifdef BOOST_LCAST_HAS_INT128 ++#ifdef BOOST_HAS_INT128 + template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {}; + template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {}; + #endif +@@ -613,7 +608,7 @@ namespace boost { + BOOST_LCAST_DEF(unsigned __int64) + BOOST_LCAST_DEF( __int64) + #endif +-#ifdef BOOST_LCAST_HAS_INT128 ++#ifdef BOOST_HAS_INT128 + BOOST_LCAST_DEF(boost::int128_type) + BOOST_LCAST_DEF(boost::uint128_type) + #endif +@@ -1827,7 +1822,7 @@ namespace boost { + bool operator<<( __int64 n) { return shl_signed(n); } + #endif + +-#ifdef BOOST_LCAST_HAS_INT128 ++#ifdef BOOST_HAS_INT128 + bool operator<<(const boost::uint128_type& n) { start = lcast_put_unsigned(n, finish); return true; } + bool operator<<(const boost::int128_type& n) { return shl_signed(n); } + #endif +@@ -2039,7 +2034,7 @@ namespace boost { + bool operator>>(__int64& output) { return shr_signed(output); } + #endif + +-#ifdef BOOST_LCAST_HAS_INT128 ++#ifdef BOOST_HAS_INT128 + bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); } + bool operator>>(boost::int128_type& output) { return shr_signed(output); } + #endif +@@ -2719,7 +2714,6 @@ namespace boost { + + #undef BOOST_LCAST_THROW_BAD_CAST + #undef BOOST_LCAST_NO_WCHAR_T +-#undef BOOST_LCAST_HAS_INT128 + + #endif // BOOST_LEXICAL_CAST_INCLUDED + + +Diff finished. Tue Jul 30 19:30:58 2013 diff --git a/boost.spec b/boost.spec index 4880f60..bce2df8 100644 --- a/boost.spec +++ b/boost.spec @@ -34,7 +34,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.54.0 %define version_enc 1_54_0 -Release: 1%{?dist} +Release: 2%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -176,6 +176,9 @@ Patch48: boost-1.54.0-mpi-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8888 Patch49: boost-1.54.0-python-unused_typedef.patch +# https://svn.boost.org/trac/boost/ticket/8941 +Patch50: boost-1.54.0-lexical_cast-int128.patch + %bcond_with tests %bcond_with docs_generated @@ -660,6 +663,7 @@ a number of significant features and is now developed independently %patch47 -p1 %patch48 -p1 %patch49 -p1 +%patch50 -p0 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1240,6 +1244,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Tue Jul 30 2013 Petr Machata - 1.54.0-2 +- Fix detection of availability of 128-bit integers in + Boost.LexicalCast (boost-1.54.0-lexical_cast-int128.patch) + * Fri Jul 26 2013 Petr Machata - 1.54.0-1 - Rebase to 1.54.0 - Add new sub-package boost-log