diff --git a/SOURCES/boost-1.53.0-lexical_cast.patch b/SOURCES/boost-1.53.0-lexical_cast.patch new file mode 100644 index 0000000..245f47f --- /dev/null +++ b/SOURCES/boost-1.53.0-lexical_cast.patch @@ -0,0 +1,67 @@ +diff -up boost_1_53_0/boost/lexical_cast.hpp\~ boost_1_53_0/boost/lexical_cast.hpp +--- /boost_1_53_0/boost/lexical_cast.hpp~ 2014-09-15 15:36:36.915684568 +0200 ++++ /boost_1_53_0/boost/lexical_cast.hpp 2014-09-15 15:43:54.086756641 +0200 +@@ -2404,16 +2404,57 @@ namespace boost { + return caster_type::lexical_cast_impl(arg); + } + +- template +- inline Target lexical_cast(const CharType* chars, std::size_t count) ++ template ++ inline Target lexical_cast(const char* chars, std::size_t count) ++ { ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) ++ ); ++ } ++ ++ template ++ inline Target lexical_cast(const unsigned char* chars, std::size_t count) + { +- BOOST_STATIC_ASSERT_MSG(boost::detail::is_char_or_wchar::value, +- "CharType must be a character or wide character type"); ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) ++ ); ++ } + +- return boost::lexical_cast( +- boost::iterator_range(chars, chars + count) ++ template ++ inline Target lexical_cast(const signed char* chars, std::size_t count) ++ { ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) ++ ); ++ } ++ ++#ifndef BOOST_LCAST_NO_WCHAR_T ++ template ++ inline Target lexical_cast(const wchar_t* chars, std::size_t count) ++ { ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) + ); + } ++#endif ++#ifndef BOOST_NO_CHAR16_T ++ template ++ inline Target lexical_cast(const char16_t* chars, std::size_t count) ++ { ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) ++ ); ++ } ++#endif ++#ifndef BOOST_NO_CHAR32_T ++ template ++ inline Target lexical_cast(const char32_t* chars, std::size_t count) ++ { ++ return ::boost::lexical_cast( ++ ::boost::iterator_range(chars, chars + count) ++ ); ++ } ++#endif + + } // namespace boost + diff --git a/SOURCES/boost-1.54.0-interprocess-atomic_cas32-ppc.patch b/SOURCES/boost-1.54.0-interprocess-atomic_cas32-ppc.patch new file mode 100644 index 0000000..e5268d1 --- /dev/null +++ b/SOURCES/boost-1.54.0-interprocess-atomic_cas32-ppc.patch @@ -0,0 +1,14 @@ +diff -up boost_1_54_0/boost/interprocess/detail/atomic.hpp\~ boost_1_54_0/boost/interprocess/detail/atomic.hpp +--- boost_1_54_0/boost/interprocess/detail/atomic.hpp~ 2012-09-24 14:17:34.000000000 +0200 ++++ boost_1_54_0/boost/interprocess/detail/atomic.hpp 2013-08-29 16:36:51.682606594 +0200 +@@ -213,7 +213,7 @@ inline boost::uint32_t atomic_cas32 + "bne- 1b\n\t" + "2:" + : "=&r"(prev) +- : "b" (mem), "r"(cmp), "r" (with) ++ : "b" (mem), "r" (with), "r" (cmp) + : "cc", "memory"); + return prev; + } + +Diff finished. Thu Aug 29 16:36:55 2013 diff --git a/SPECS/boost.spec b/SPECS/boost.spec index d067da1..a27bc8e 100644 --- a/SPECS/boost.spec +++ b/SPECS/boost.spec @@ -5,13 +5,13 @@ %define boost_docdir __tmp_docdir %define boost_examplesdir __tmp_examplesdir -%ifarch %{arm} +%ifarch %{arm} ppc64le %bcond_with mpich %else %bcond_without mpich %endif -%ifarch s390 s390x %{arm} +%ifarch s390 s390x %{arm} ppc64le # No OpenMPI support on these arches %bcond_with openmpi %else @@ -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: 18%{?dist} +Release: 23%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -204,6 +204,14 @@ Patch54: boost-1.53.0-mpi-version_type.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1070789 Patch55: boost-1.53.0-buildflags.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1002578 +# https://svn.boost.org/trac/boost/ticket/9065 +Patch56: boost-1.54.0-interprocess-atomic_cas32-ppc.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=1134058 +# https://svn.boost.org/trac/boost/ticket/7421 +Patch57: boost-1.53.0-lexical_cast.patch + %bcond_with tests %bcond_with docs_generated @@ -668,6 +676,8 @@ a number of significant features and is now developed independently %patch53 -p1 %patch54 -p1 %patch55 -p1 +%patch56 -p1 +%patch57 -p2 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1239,6 +1249,19 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Mon Sep 22 2014 Petr Machata - 1.53.0-23 +- Fix ambiguity in Boost.LexicalCast. + +* Wed Sep 10 2014 Petr Machata - 1.53.0-22 +- Re-enable mpich and openmpi on aarch64, they are available now. + +* Fri Aug 22 2014 Petr Machata - 1.53.0-21 +- Fix atomic_cas32 (thanks Jaroslav Škarvada for figuring out where + the problem is) (boost-1.54.0-interprocess-atomic_cas32-ppc.patch) + +* Fri Aug 8 2014 Petr Machata - 1.53.0-20 +- Disable mpich and openmpi support for ppc64le until port available. + * Fri Feb 28 2014 Petr Machata - 1.53.0-18 - Turn off build flags pre-set by Boost distribution. (boost-1.53.0-buildflags.patch) @@ -1248,6 +1271,9 @@ rm -rf $RPM_BUILD_ROOT - Fix misunderstanding of Boost.MPI about widths of some Boost.Serialization types. (boost-1.53.0-mpi-version_type.patch) +* Tue Feb 4 2014 Brendan Conoboy - 1.53.0-16.1 +- Disable mpich and openmpi support for aarch64 until port available. + * Fri Jan 24 2014 Daniel Mach - 1.53.0-16 - Mass rebuild 2014-01-24