diff --git a/0001-Changes-required-for-aarch64-support-in-boost-config.patch b/0001-Changes-required-for-aarch64-support-in-boost-config.patch deleted file mode 100644 index 5003a58..0000000 --- a/0001-Changes-required-for-aarch64-support-in-boost-config.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8787f6b0718b6b0750869ba52bc65d26db665a05 Mon Sep 17 00:00:00 2001 -From: Ananth Jasty -Date: Wed, 15 Apr 2015 17:59:47 -0700 -Subject: [PATCH] Changes required for aarch64 support in boost::config. - ---- - libs/config/checks/architecture/arm.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libs/config/checks/architecture/arm.cpp b/libs/config/checks/architecture/arm.cpp -index 6a83737..794aba8 100644 ---- a/libs/config/checks/architecture/arm.cpp -+++ b/libs/config/checks/architecture/arm.cpp -@@ -8,6 +8,8 @@ - - #if !defined(__arm__) && !defined(__thumb__) && \ - !defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \ -- !defined(_ARM) && !defined(_M_ARM) -+ !defined(_ARM) && !defined(_M_ARM) && \ -+ !defined(__aarch64__) - #error "Not ARM" - #endif -+ --- -2.4.5 - diff --git a/boost-1.54.0-python-unused_typedef.patch b/boost-1.54.0-python-unused_typedef.patch deleted file mode 100644 index 8adf8ed..0000000 --- a/boost-1.54.0-python-unused_typedef.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up boost_1_53_0/boost/python/to_python_value.hpp\~ boost_1_53_0/boost/python/to_python_value.hpp ---- boost_1_53_0/boost/python/to_python_value.hpp~ 2007-12-16 11:12:07.000000000 +0100 -+++ boost_1_53_0/boost/python/to_python_value.hpp 2013-07-23 16:19:02.518904596 +0200 -@@ -147,8 +147,8 @@ namespace detail - template - inline PyObject* registry_to_python_value::operator()(argument_type x) const - { -- typedef converter::registered r; - # if BOOST_WORKAROUND(__GNUC__, < 3) -+ typedef converter::registered r; - // suppresses an ICE, somehow - (void)r::converters; - # endif - -Diff finished. Tue Jul 23 16:19:05 2013 diff --git a/boost-1.57.0-uuid-comparison.patch b/boost-1.57.0-uuid-comparison.patch deleted file mode 100644 index 7b7f991..0000000 --- a/boost-1.57.0-uuid-comparison.patch +++ /dev/null @@ -1,22 +0,0 @@ -From fc32eea4ac9e514a7d210306cd9fa3a017dfe02c Mon Sep 17 00:00:00 2001 -From: VemundH -Date: Tue, 30 Sep 2014 21:53:45 +0200 -Subject: [PATCH] remove incorrect casts - ---- - include/boost/uuid/detail/uuid_x86.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/uuid/detail/uuid_x86.hpp b/include/boost/uuid/detail/uuid_x86.hpp -index 1a329b0..5a2cdec 100644 ---- a/include/boost/uuid/detail/uuid_x86.hpp -+++ b/include/boost/uuid/detail/uuid_x86.hpp -@@ -100,7 +100,7 @@ inline bool operator< (uuid const& lhs, uuid const& rhs) BOOST_NOEXCEPT - cmp = (cmp - 1u) ^ cmp; - rcmp = (rcmp - 1u) ^ rcmp; - -- return static_cast< uint16_t >(cmp) < static_cast< uint16_t >(rcmp); -+ return cmp < rcmp; - } - - } // namespace uuids diff --git a/boost-1.58-ublas-inlines.patch b/boost-1.58-ublas-inlines.patch deleted file mode 100644 index e50ca3f..0000000 --- a/boost-1.58-ublas-inlines.patch +++ /dev/null @@ -1,52 +0,0 @@ -From ca2ff08600fa63c8dea90897cfe649427bf58a6e Mon Sep 17 00:00:00 2001 -From: Nasos -Date: Wed, 5 Aug 2015 10:17:51 -0400 -Subject: [PATCH] Corrected inline issue in storage.hpp - ---- - include/boost/numeric/ublas/storage.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/numeric/ublas/storage.hpp b/include/boost/numeric/ublas/storage.hpp -index 8821309..19bc907 100644 ---- a/include/boost/numeric/ublas/storage.hpp -+++ b/include/boost/numeric/ublas/storage.hpp -@@ -777,8 +777,8 @@ namespace boost { namespace numeric { namespace ublas { - BOOST_UBLAS_INLINE - shallow_array_adaptor (size_type size, pointer data): - size_ (size), own_ (false), data_ (data, leaker ()) {} -- BOOST_UBLAS_INLINE - template -+ BOOST_UBLAS_INLINE - shallow_array_adaptor (T (&data)[N]): - size_ (N), own_ (false), data_ (data, leaker ()) {} - -From b805369990aed13a2c837f642a280a7b6352e012 Mon Sep 17 00:00:00 2001 -From: Nasos -Date: Wed, 5 Aug 2015 10:31:25 -0400 -Subject: [PATCH] Corrected inline issue in storage.hpp - ---- - include/boost/numeric/ublas/storage.hpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/boost/numeric/ublas/storage.hpp b/include/boost/numeric/ublas/storage.hpp -index 19bc907..bd64892 100644 ---- a/include/boost/numeric/ublas/storage.hpp -+++ b/include/boost/numeric/ublas/storage.hpp -@@ -833,13 +833,13 @@ namespace boost { namespace numeric { namespace ublas { - void resize (size_type size, pointer data, value_type init) { - resize_internal (size, data, init, true); - } -- BOOST_UBLAS_INLINE - template -+ BOOST_UBLAS_INLINE - void resize (T (&data)[N]) { - resize_internal (N, data, value_type (), false); - } -- BOOST_UBLAS_INLINE - template -+ BOOST_UBLAS_INLINE - void resize (T (&data)[N], value_type init) { - resize_internal (N, data, init, true); - } diff --git a/boost-1.58.0-variant-includes.patch b/boost-1.58.0-variant-includes.patch deleted file mode 100644 index 2938371..0000000 --- a/boost-1.58.0-variant-includes.patch +++ /dev/null @@ -1,18 +0,0 @@ -commit 2b2cc6543c44beeb8331dc8e1a7eff2e071a8cc8 -Author: Antony Polukhin -Date: Sun May 10 21:53:27 2015 +0300 - - Fix error with missing include, that was found by Maarten de Vries - -diff --git a/include/boost/variant/detail/element_index.hpp b/include/boost/variant/detail/element_index.hpp -index bd80bdd..842b018 100644 ---- a/include/boost/variant/detail/element_index.hpp -+++ b/include/boost/variant/detail/element_index.hpp -@@ -16,6 +16,7 @@ - #include "boost/variant/recursive_wrapper_fwd.hpp" - #include "boost/variant/variant_fwd.hpp" - -+#include "boost/type_traits/remove_cv.hpp" - #include "boost/mpl/find_if.hpp" - - namespace boost { namespace detail { namespace variant { diff --git a/boost-1.59.0-log.patch b/boost-1.59.0-log.patch new file mode 100644 index 0000000..844b3ff --- /dev/null +++ b/boost-1.59.0-log.patch @@ -0,0 +1,106 @@ +From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001 +From: Andrey Semashev +Date: Sun, 23 Aug 2015 17:27:20 +0300 +Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when + the operator right hand argument is not directly supported by + formatting_ostream. Fixed #11549. + +--- + +diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp +index b3c58e2..c1e8059 100644 +--- a/include/boost/log/sources/record_ostream.hpp ++++ b/include/boost/log/sources/record_ostream.hpp +@@ -39,6 +39,18 @@ namespace boost { + + BOOST_LOG_OPEN_NAMESPACE + ++template< typename CharT > ++class basic_record_ostream; ++ ++namespace aux { ++ ++template< typename StreamT, typename R > ++struct enable_if_record_ostream {}; ++template< typename CharT, typename R > ++struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; }; ++ ++} // namespace aux ++ + /*! + * \brief Logging record adapter with a streaming capability + * +@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ + typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging + #endif + ++// Implementation note: these operators below should be the least attractive for the compiler ++// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// record_ostream& operator<< (record_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ + namespace aux { + + //! Internal class that provides formatting streams for record pumps +diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp +index 4345206..744acc0 100644 +--- a/include/boost/log/utility/formatting_ostream.hpp ++++ b/include/boost/log/utility/formatting_ostream.hpp +@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const + + // Implementation note: these operators below should be the least attractive for the compiler + // so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. + template< typename StreamT, typename T > + inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type + operator<< (StreamT& strm, T const& value) diff --git a/boost.spec b/boost.spec index 61b2fbe..5d8f982 100644 --- a/boost.spec +++ b/boost.spec @@ -30,9 +30,9 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries -Version: 1.58.0 -%define version_enc 1_58_0 -Release: 9%{?dist} +Version: 1.59.0 +%define version_enc 1_59_0 +Release: 1%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -107,9 +107,6 @@ Patch36: boost-1.57.0-spirit-unused_typedef.patch # https://svn.boost.org/trac/boost/ticket/8878 Patch45: boost-1.54.0-locale-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/9038 Patch51: boost-1.58.0-pool-test_linking.patch @@ -121,19 +118,11 @@ Patch63: boost-1.55.0-python-test-PyImport_AppendInittab.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1190039 Patch65: boost-1.57.0-build-optflags.patch -# https://svn.boost.org/trac/boost/ticket/10510 -Patch66: boost-1.57.0-uuid-comparison.patch - -# https://svn.boost.org/trac/boost/ticket/11283 -Patch67: boost-1.58.0-variant-includes.patch - # Prevent gcc.jam from setting -m32 or -m64. Patch68: boost-1.58.0-address-model.patch -# https://github.com/boostorg/ublas/pull/25 -Patch69: boost-1.58-ublas-inlines.patch - -Patch70: 0001-Changes-required-for-aarch64-support-in-boost-config.patch +# https://svn.boost.org/trac/boost/ticket/11549 +Patch70: boost-1.59.0-log.patch %bcond_with tests %bcond_with docs_generated @@ -206,7 +195,7 @@ Group: System Environment/Libraries %description date-time -Run-Time support for Boost Date Time, set of date-time libraries based +Run-Time support for Boost Date Time, a set of date-time libraries based on generic programming concepts. %package filesystem @@ -268,7 +257,7 @@ Group: System Environment/Libraries %description math -Run-Time support for C99 and C++ TR1 C-style Functions from math +Run-Time support for C99 and C++ TR1 C-style Functions from the math portion of Boost.TR1. %package program-options @@ -279,7 +268,7 @@ Group: System Environment/Libraries Run-Time support of boost program options library, which allows program developers to obtain (name, value) pairs from the user, via -conventional methods such as command line and configuration file. +conventional methods such as command-line and configuration file. %package python Summary: Run-Time component of boost python library @@ -288,7 +277,7 @@ Group: System Environment/Libraries %description python The Boost Python Library is a framework for interfacing Python and -C++. It allows you to quickly and seamlessly expose C++ classes +C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for Boost Python Library. @@ -302,7 +291,7 @@ Group: System Environment/Libraries %description python3 The Boost Python Library is a framework for interfacing Python and -C++. It allows you to quickly and seamlessly expose C++ classes +C++. It allows you to quickly and seamlessly expose C++ classes, functions and objects to Python, and vice versa, using no special tools -- just your C++ compiler. This package contains run-time support for Boost Python Library compiled for Python 3. @@ -358,8 +347,7 @@ Group: System Environment/Libraries %description system Run-Time component of Boost operating system support library, including -the diagnostics support that will be part of the C++0x standard -library. +the diagnostics support that is part of the C++11 standard library. %package test Summary: Run-Time component of boost test library @@ -623,17 +611,13 @@ a number of significant features and is now developed independently %patch25 -p1 %patch36 -p1 %patch45 -p1 -%patch49 -p1 %patch51 -p1 %patch61 -p1 %patch62 -p1 %patch63 -p1 %patch65 -p1 -%patch66 -p2 -%patch67 -p2 %patch68 -p1 -%patch69 -p2 -%patch70 -p1 +%patch70 -p2 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -652,7 +636,8 @@ a number of significant features and is now developed independently # There are many strict aliasing warnings, and it's not feasible to go # through them all at this time. -export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +# There are also lots of noisy but harmless unused local typedef warnings. +export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs" cat > ./tools/build/src/user-config.jam << "EOF" import os ; @@ -663,8 +648,7 @@ using gcc : : : $(RPM_OPT_FLAGS) ; using mpi ; %endif %if %{with python3} -# This _adds_ extra python version. It doesn't replace whatever -# python 2.X is default on the system. +using python : %{python2_version} : /usr/bin/python2 : /usr/include/python%{python2_version} : : : : ; using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ; %endif EOF @@ -837,7 +821,7 @@ echo ============================= install Boost.QuickBook ================== # Install documentation files (HTML pages) within the temporary place echo ============================= install documentation ================== -# Prepare the place to temporary store the generated documentation +# Prepare the place to temporarily store the generated documentation rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html DOCPATH=%{boost_docdir} DOCREGEX='.*\.\(html?\|css\|png\|gif\)' @@ -850,8 +834,8 @@ sed "s:^:$DOCPATH/:" tmp-doc-directories \ | xargs -P 0 --no-run-if-empty %{__install} -d cat tmp-doc-directories | while read tobeinstalleddocdir; do - find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX \ - | xargs -P 0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir + find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX -print0 \ + | xargs -P 0 -0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir done rm -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html boost.png rst.css boost.css @@ -870,7 +854,7 @@ do rm -f libs/${tmp_doc_file}.iso8859 done -# Prepare the place to temporary store the examples +# Prepare the place to temporarily store the examples rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html EXAMPLESPATH=%{boost_examplesdir} find libs -type d -name example -exec find {} -type f \; \ @@ -1295,6 +1279,9 @@ fi %{_mandir}/man1/bjam.1* %changelog +* Wed Aug 26 2015 Jonathan Wakely 1.59.0-1 +- Rebase to 1.59.0 + * Tue Aug 25 2015 Jonathan Wakely 1.58.0-9 - Add boost-doctools subpackage (#1244268). diff --git a/sources b/sources index fab7022..07a2024 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b8839650e61e9c1c0a89f371dd475546 boost_1_58_0.tar.bz2 +6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2