From 9a6e53de4ee2a1458566a0c21993a6841f18f985 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 24 Jul 2013 16:05:46 +0200 Subject: [PATCH 1/9] Add explicit dependencies between some of the boost sub-packages --- boost.spec | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 899b0e1..18383aa 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: 8%{?dist} +Release: 9%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -216,6 +216,7 @@ variables. %package chrono Summary: Run-Time component of boost chrono library Group: System Environment/Libraries +Requires: boost-system = %{version}-%{release} %description chrono @@ -244,6 +245,7 @@ on generic programming concepts. %package filesystem Summary: Run-Time component of boost filesystem library Group: System Environment/Libraries +Requires: boost-system = %{version}-%{release} %description filesystem @@ -254,6 +256,7 @@ directories. %package graph Summary: Run-Time component of boost graph library Group: System Environment/Libraries +Requires: boost-regex = %{version}-%{release} %description graph @@ -273,6 +276,9 @@ stream buffers and i/o filters. %package locale Summary: Run-Time component of boost locale library Group: System Environment/Libraries +Requires: boost-chrono = %{version}-%{release} +Requires: boost-system = %{version}-%{release} +Requires: boost-thread = %{version}-%{release} %description locale @@ -390,6 +396,7 @@ program execution monitoring. %package thread Summary: Run-Time component of boost thread library Group: System Environment/Libraries +Requires: boost-system = %{version}-%{release} %description thread @@ -401,6 +408,8 @@ data specific to individual threads. %package timer Summary: Run-Time component of boost timer library Group: System Environment/Libraries +Requires: boost-chrono = %{version}-%{release} +Requires: boost-system = %{version}-%{release} %description timer @@ -411,6 +420,11 @@ with as little as one #include and one additional line of code. %package wave Summary: Run-Time component of boost C99/C++ pre-processing library Group: System Environment/Libraries +Requires: boost-chrono = %{version}-%{release} +Requires: boost-date-time = %{version}-%{release} +Requires: boost-filesystem = %{version}-%{release} +Requires: boost-system = %{version}-%{release} +Requires: boost-thread = %{version}-%{release} %description wave @@ -469,6 +483,7 @@ Summary: Run-Time component of Boost.MPI library Group: System Environment/Libraries Requires: openmpi BuildRequires: openmpi-devel +Requires: boost-serialization = %{version}-%{release} %description openmpi @@ -492,6 +507,8 @@ API over the OpenMPI implementation of MPI. Summary: Python run-time component of Boost.MPI library Group: System Environment/Libraries Requires: boost-openmpi = %{version}-%{release} +Requires: boost-python = %{version}-%{release} +Requires: boost-serialization = %{version}-%{release} %description openmpi-python @@ -502,6 +519,7 @@ API over the OpenMPI implementation of MPI. Summary: Run-Time component of parallel boost graph library Group: System Environment/Libraries Requires: boost-openmpi = %{version}-%{release} +Requires: boost-serialization = %{version}-%{release} %description graph-openmpi @@ -520,6 +538,7 @@ Summary: Run-Time component of Boost.MPI library Group: System Environment/Libraries Requires: mpich2 BuildRequires: mpich2-devel +Requires: boost-serialization = %{version}-%{release} %description mpich2 @@ -543,6 +562,8 @@ API over the MPICH2 implementation of MPI. Summary: Python run-time component of Boost.MPI library Group: System Environment/Libraries Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-python = %{version}-%{release} +Requires: boost-serialization = %{version}-%{release} %description mpich2-python @@ -553,6 +574,7 @@ API over the MPICH2 implementation of MPI. Summary: Run-Time component of parallel boost graph library Group: System Environment/Libraries Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-serialization = %{version}-%{release} %description graph-mpich2 @@ -1197,6 +1219,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Wed Jul 24 2013 Petr Machata - 1.53.0-9 +- Add explicit dependencies between some of the boost sub-packages + * Fri Jul 19 2013 Petr Machata - 1.53.0-8 - Install supporting files (images etc.) for documentation (courtesy Marcel Metz, bug 985593) From 8133fa30c131a0b3cf29f9c71345509d9f34d53f Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Tue, 23 Jul 2013 19:21:12 +0200 Subject: [PATCH 2/9] s/mpich2/mpich/ --- boost.spec | 96 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 47 deletions(-) diff --git a/boost.spec b/boost.spec index 18383aa..8fa77f6 100644 --- a/boost.spec +++ b/boost.spec @@ -6,9 +6,9 @@ %define boost_examplesdir __tmp_examplesdir %ifarch %{arm} - %bcond_with mpich2 + %bcond_with mpich %else - %bcond_without mpich2 + %bcond_without mpich %endif %ifarch s390 s390x %{arm} @@ -531,56 +531,56 @@ back-end to do the parallel work. %endif -%if %{with mpich2} +%if %{with mpich} -%package mpich2 +%package mpich Summary: Run-Time component of Boost.MPI library Group: System Environment/Libraries -Requires: mpich2 -BuildRequires: mpich2-devel +Requires: mpich +BuildRequires: mpich-devel Requires: boost-serialization = %{version}-%{release} -%description mpich2 +%description mpich -Run-Time support for Boost.MPI-MPICH2, a library providing a clean C++ -API over the MPICH2 implementation of MPI. +Run-Time support for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. -%package mpich2-devel +%package mpich-devel Summary: Shared library symbolic links for Boost.MPI Group: System Environment/Libraries Requires: boost-devel = %{version}-%{release} -Requires: boost-mpich2 = %{version}-%{release} -Requires: boost-mpich2-python = %{version}-%{release} -Requires: boost-graph-mpich2 = %{version}-%{release} +Requires: boost-mpich = %{version}-%{release} +Requires: boost-mpich-python = %{version}-%{release} +Requires: boost-graph-mpich = %{version}-%{release} -%description mpich2-devel +%description mpich-devel -Devel package for Boost.MPI-MPICH2, a library providing a clean C++ -API over the MPICH2 implementation of MPI. +Devel package for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. -%package mpich2-python +%package mpich-python Summary: Python run-time component of Boost.MPI library Group: System Environment/Libraries -Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-mpich = %{version}-%{release} Requires: boost-python = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} -%description mpich2-python +%description mpich-python -Python support for Boost.MPI-MPICH2, a library providing a clean C++ -API over the MPICH2 implementation of MPI. +Python support for Boost.MPI-MPICH, a library providing a clean C++ +API over the MPICH implementation of MPI. -%package graph-mpich2 +%package graph-mpich Summary: Run-Time component of parallel boost graph library Group: System Environment/Libraries -Requires: boost-mpich2 = %{version}-%{release} +Requires: boost-mpich = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} -%description graph-mpich2 +%description graph-mpich Run-Time support for the Parallel BGL graph library. The interface and graph components are generic, in the same sense as the the Standard -Template Library (STL). This libraries in this package use MPICH2 +Template Library (STL). This libraries in this package use MPICH back-end to do the parallel work. %endif @@ -702,7 +702,7 @@ echo ============================= build serial ================== # Build MPI parts of Boost with OpenMPI support -%if %{with openmpi} || %{with mpich2} +%if %{with openmpi} || %{with mpich} # First, purge all modules so that user environment doesn't conflict # with the build. module purge ||: @@ -723,15 +723,15 @@ echo ============================= build $MPI_COMPILER ================== export PATH=/bin${PATH:+:}$PATH %endif -# Build MPI parts of Boost with MPICH2 support -%if %{with mpich2} -%{_mpich2_load} +# Build MPI parts of Boost with MPICH support +%if %{with mpich} +%{_mpich_load} echo ============================= build $MPI_COMPILER ================== ./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ variant=release threading=multi debug-symbols=on pch=off \ python=%{python2_version} stage -%{_mpich2_unload} +%{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif @@ -748,7 +748,7 @@ rm -rf $RPM_BUILD_ROOT cd %{_builddir}/%{toplev_dirname} -%if %{with openmpi} || %{with mpich2} +%if %{with openmpi} || %{with mpich} # First, purge all modules so that user environment doesn't conflict # with the build. module purge ||: @@ -770,8 +770,8 @@ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* export PATH=/bin${PATH:+:}$PATH %endif -%if %{with mpich2} -%{_mpich2_load} +%if %{with mpich} +%{_mpich_load} echo ============================= install $MPI_COMPILER ================== ./b2 -q %{?_smp_mflags} --layout=tagged \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ @@ -782,7 +782,7 @@ echo ============================= install $MPI_COMPILER ================== # Remove generic parts of boost that were built for dependencies. rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* -%{_mpich2_unload} +%{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif @@ -1148,8 +1148,8 @@ rm -rf $RPM_BUILD_ROOT %defattr(-, root, root, -) %doc LICENSE_1_0.txt %{_libdir}/*.a -%if %{with mpich2} -%{_libdir}/mpich2/lib/*.a +%if %{with mpich} +%{_libdir}/mpich/lib/*.a %endif %if %{with openmpi} %{_libdir}/openmpi/lib/*.a @@ -1181,29 +1181,29 @@ rm -rf $RPM_BUILD_ROOT %endif -# MPICH2 packages -%if %{with mpich2} +# MPICH packages +%if %{with mpich} -%files mpich2 +%files mpich %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/mpich2/lib/libboost_mpi-mt.so.%{sonamever} +%{_libdir}/mpich/lib/libboost_mpi-mt.so.%{sonamever} -%files mpich2-devel +%files mpich-devel %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/mpich2/lib/libboost_*.so +%{_libdir}/mpich/lib/libboost_*.so -%files mpich2-python +%files mpich-python %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever} -%{_libdir}/mpich2/lib/mpi.so +%{_libdir}/mpich/lib/libboost_mpi_python*.so.%{sonamever} +%{_libdir}/mpich/lib/mpi.so -%files graph-mpich2 +%files graph-mpich %defattr(-, root, root, -) %doc LICENSE_1_0.txt -%{_libdir}/mpich2/lib/libboost_graph_parallel-mt.so.%{sonamever} +%{_libdir}/mpich/lib/libboost_graph_parallel-mt.so.%{sonamever} %endif @@ -1221,6 +1221,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Wed Jul 24 2013 Petr Machata - 1.53.0-9 - Add explicit dependencies between some of the boost sub-packages +- MPICH2 became MPICH -- rename subpackages, dependencies and + conditionals. * Fri Jul 19 2013 Petr Machata - 1.53.0-8 - Install supporting files (images etc.) for documentation From fa4385ac135d989a87c86f16b0c5d72f63ad5f58 Mon Sep 17 00:00:00 2001 From: Deji Akingunola Date: Thu, 25 Jul 2013 10:09:54 -0400 Subject: [PATCH 3/9] Add Provides and Obsoletes for the mpich2->mpich renames --- boost.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 8fa77f6..ab958e8 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: 9%{?dist} +Release: 10%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -539,6 +539,8 @@ Group: System Environment/Libraries Requires: mpich BuildRequires: mpich-devel Requires: boost-serialization = %{version}-%{release} +Provides: %{name}-mpich2 = %{version}-%{release} +Obsoletes: %{name}-mpich2 < 1.53.0-9 %description mpich @@ -552,6 +554,8 @@ Requires: boost-devel = %{version}-%{release} Requires: boost-mpich = %{version}-%{release} Requires: boost-mpich-python = %{version}-%{release} Requires: boost-graph-mpich = %{version}-%{release} +Provides: %{name}-mpich2-devel = %{version}-%{release} +Obsoletes: %{name}-mpich2-devel < 1.53.0-9 %description mpich-devel @@ -564,6 +568,8 @@ Group: System Environment/Libraries Requires: boost-mpich = %{version}-%{release} Requires: boost-python = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} +Provides: %{name}-mpich2-python = %{version}-%{release} +Obsoletes: %{name}-mpich2-python < 1.53.0-9 %description mpich-python @@ -575,6 +581,8 @@ Summary: Run-Time component of parallel boost graph library Group: System Environment/Libraries Requires: boost-mpich = %{version}-%{release} Requires: boost-serialization = %{version}-%{release} +Provides: %{name}-graph-mpich2 = %{version}-%{release} +Obsoletes: %{name}-graph-mpich2 < 1.53.0-9 %description graph-mpich @@ -1219,6 +1227,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Thu Jul 25 2013 Deji Akingunola - 1.53.0-10 +- Add Provides and Obsoletes for the mpich2->mpich renames + * Wed Jul 24 2013 Petr Machata - 1.53.0-9 - Add explicit dependencies between some of the boost sub-packages - MPICH2 became MPICH -- rename subpackages, dependencies and From cda0485c62eb9ace38f311c67fe0be13fcfd25c7 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 26 Jul 2013 23:13:52 +0200 Subject: [PATCH 4/9] Add Obsoletes: for odeint package --- boost.spec | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index ab958e8..4fede0c 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: 10%{?dist} +Release: 11%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -438,6 +438,14 @@ Group: Development/Libraries Requires: boost = %{version}-%{release} Provides: boost-python-devel = %{version}-%{release} +# Odeint was shipped in Fedora 18, but later became part of Boost. +# Note we also obsolete odeint-doc down there. +# https://bugzilla.redhat.com/show_bug.cgi?id=892850 +Provides: odeint = 2.2-4 +Obsoletes: odeint < 2.2-4 +Provides: odeint-devel = 2.2-4 +Obsoletes: odeint-devel < 2.2-4 + %description devel Headers and shared object symbolic links for the Boost C++ libraries. @@ -459,6 +467,10 @@ BuildArch: noarch %endif Provides: boost-python-docs = %{version}-%{release} +# See the description above. +Provides: odeint-doc = 2.2-4 +Obsoletes: odeint-doc < 2.2-4 + %description doc This package contains the documentation in the HTML format of the Boost C++ libraries. The documentation provides the same content as that on the Boost @@ -1227,6 +1239,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Fri Jul 26 2013 Petr Machata - 1.53.0-11 +- Add Obsoletes for odeint (bug 892850) + * Thu Jul 25 2013 Deji Akingunola - 1.53.0-10 - Add Provides and Obsoletes for the mpich2->mpich renames From 5be51286f9d827de64a654defbe280e8177f3feb Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 21 Aug 2013 11:15:06 +0200 Subject: [PATCH 5/9] Fix boost::signals2::signal on LLVM --- boost-1.53.0-signals2-std_get_llvm.patch | 59 ++++++++++++++++++++++++ boost.spec | 11 ++++- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 boost-1.53.0-signals2-std_get_llvm.patch diff --git a/boost-1.53.0-signals2-std_get_llvm.patch b/boost-1.53.0-signals2-std_get_llvm.patch new file mode 100644 index 0000000..b54de5b --- /dev/null +++ b/boost-1.53.0-signals2-std_get_llvm.patch @@ -0,0 +1,59 @@ +Index: /trunk/boost/signals2/detail/variadic_slot_invoker.hpp +=================================================================== +--- /trunk/boost/signals2/detail/variadic_slot_invoker.hpp (revision 78502) ++++ /trunk/boost/signals2/detail/variadic_slot_invoker.hpp (revision 83041) +@@ -16,4 +16,5 @@ + #define BOOST_SIGNALS2_DETAIL_VARIADIC_SLOT_INVOKER_HPP + ++#include + #include + +@@ -23,7 +24,9 @@ + #include + #define BOOST_SIGNALS2_TUPLE boost::tuple ++#define BOOST_SIGNALS2_GET boost::get + #else + #include + #define BOOST_SIGNALS2_TUPLE std::tuple ++#define BOOST_SIGNALS2_GET std::get + #endif + +@@ -71,8 +74,8 @@ + typedef R result_type; + +- template +- R operator()(Func &func, BOOST_SIGNALS2_TUPLE args) const ++ template ++ R operator()(Func &func, BOOST_SIGNALS2_TUPLE args, mpl::size_t) const + { +- typedef typename make_unsigned_meta_array::type indices_type; ++ typedef typename make_unsigned_meta_array::type indices_type; + typename Func::result_type *resolver = 0; + return m_invoke(resolver, func, indices_type(), args); +@@ -82,10 +85,10 @@ + R m_invoke(T *, Func &func, unsigned_meta_array, BOOST_SIGNALS2_TUPLE args) const + { +- return func(std::get(args)...); ++ return func(BOOST_SIGNALS2_GET(args)...); + } + template + R m_invoke(void *, Func &func, unsigned_meta_array, BOOST_SIGNALS2_TUPLE args) const + { +- func(std::get(args)...); ++ func(BOOST_SIGNALS2_GET(args)...); + return R(); + } +@@ -112,5 +115,5 @@ + const void_type *) const + { +- return call_with_tuple_args()(connectionBody->slot.slot_function(), _args); ++ return call_with_tuple_args()(connectionBody->slot.slot_function(), _args, mpl::size_t()); + return void_type(); + } +@@ -118,5 +121,5 @@ + result_type m_invoke(const ConnectionBodyType &connectionBody, ...) const + { +- return call_with_tuple_args()(connectionBody->slot.slot_function(), _args); ++ return call_with_tuple_args()(connectionBody->slot.slot_function(), _args, mpl::size_t()); + } + BOOST_SIGNALS2_TUPLE _args; diff --git a/boost.spec b/boost.spec index 4fede0c..5b3db8f 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: 11%{?dist} +Release: 12%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -189,6 +189,10 @@ 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/8102 +# https://bugzilla.redhat.com/show_bug.cgi?id=999320 +Patch50: boost-1.53.0-signals2-std_get_llvm.patch + %bcond_with tests %bcond_with docs_generated @@ -668,6 +672,7 @@ a number of significant features and is now developed independently %patch47 -p1 %patch48 -p1 %patch49 -p1 +%patch50 -p2 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1239,6 +1244,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Wed Aug 21 2013 Petr Machata - 1.53.0-12 +- Fix boost::signals2::signal on LLVM + (boost-1.53.0-signals2-std_get_llvm.patch) + * Fri Jul 26 2013 Petr Machata - 1.53.0-11 - Add Obsoletes for odeint (bug 892850) From 05d0598188ba01d76822149fc5e84f0750ac7f86 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 23 Aug 2013 13:27:58 +0200 Subject: [PATCH 6/9] Apply several patches to fix problems revealed by the test suite --- boost-1.54.0-pool-max_chunks_shadow.patch | 14 +++ boost-1.54.0-pool-test_linking.patch | 31 ++++++ ...t-1.54.0-thread-cond_variable_shadow.patch | 104 ++++++++++++++++++ boost.spec | 22 +++- 4 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 boost-1.54.0-pool-max_chunks_shadow.patch create mode 100644 boost-1.54.0-pool-test_linking.patch create mode 100644 boost-1.54.0-thread-cond_variable_shadow.patch diff --git a/boost-1.54.0-pool-max_chunks_shadow.patch b/boost-1.54.0-pool-max_chunks_shadow.patch new file mode 100644 index 0000000..1a85fce --- /dev/null +++ b/boost-1.54.0-pool-max_chunks_shadow.patch @@ -0,0 +1,14 @@ +diff -up ./boost/pool/pool.hpp~ ./boost/pool/pool.hpp +--- ./boost/pool/pool.hpp~ 2013-08-21 17:49:56.023296922 +0200 ++++ ./boost/pool/pool.hpp 2013-08-22 11:38:01.133912638 +0200 +@@ -361,9 +361,7 @@ class pool: protected simple_segregated_ + { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. + size_type partition_size = alloc_size(); + size_type POD_size = math::static_lcm::value + sizeof(size_type); +- size_type max_chunks = (std::numeric_limits::max() - POD_size) / alloc_size(); +- +- return max_chunks; ++ return (std::numeric_limits::max() - POD_size) / alloc_size(); + } + + static void * & nextof(void * const ptr) diff --git a/boost-1.54.0-pool-test_linking.patch b/boost-1.54.0-pool-test_linking.patch new file mode 100644 index 0000000..0f749f7 --- /dev/null +++ b/boost-1.54.0-pool-test_linking.patch @@ -0,0 +1,31 @@ +diff -up ./libs/pool/test/Jamfile.v2~ ./libs/pool/test/Jamfile.v2 +--- ./libs/pool/test/Jamfile.v2~ 2011-08-02 19:04:07.000000000 +0200 ++++ ./libs/pool/test/Jamfile.v2 2013-08-22 11:48:34.907287286 +0200 +@@ -24,17 +24,17 @@ run valgrind_config_check.cpp : : : /boost/system//boost_system ] ++ [ run test_pool_alloc.cpp : : : /boost/system//boost_system ] ++ [ run pool_msvc_compiler_bug_test.cpp : : : /boost/system//boost_system ] ++ [ run test_msvc_mem_leak_detect.cpp : : : /boost/system//boost_system ] ++ [ run test_bug_3349.cpp : : : /boost/system//boost_system ] ++ [ run test_bug_4960.cpp : : : /boost/system//boost_system ] ++ [ run test_bug_1252.cpp : : : /boost/system//boost_system ] ++ [ run test_bug_2696.cpp : : : /boost/system//boost_system ] ++ [ run test_bug_5526.cpp : : : /boost/system//boost_system ] + [ run test_threading.cpp : : : multi /boost/thread//boost_thread gcc:-Wno-attributes gcc:-Wno-missing-field-initializers ] +- [ run ../example/time_pool_alloc.cpp ] ++ [ run ../example/time_pool_alloc.cpp : : : /boost/system//boost_system ] + [ compile test_poisoned_macros.cpp ] + + # diff --git a/boost-1.54.0-thread-cond_variable_shadow.patch b/boost-1.54.0-thread-cond_variable_shadow.patch new file mode 100644 index 0000000..ba8cd01 --- /dev/null +++ b/boost-1.54.0-thread-cond_variable_shadow.patch @@ -0,0 +1,104 @@ +diff -up ./boost/thread/pthread/condition_variable.hpp~ ./boost/thread/pthread/condition_variable.hpp +--- ./boost/thread/pthread/condition_variable.hpp~ 2013-01-14 18:17:50.000000000 +0100 ++++ ./boost/thread/pthread/condition_variable.hpp 2013-08-22 11:47:48.330596804 +0200 +@@ -200,15 +200,15 @@ namespace boost + + #if defined BOOST_THREAD_USES_DATETIME + template +- bool timed_wait(lock_type& m,boost::system_time const& wait_until) ++ bool timed_wait(lock_type& m,boost::system_time const& a_wait_until) + { +- struct timespec const timeout=detail::to_timespec(wait_until); ++ struct timespec const timeout=detail::to_timespec(a_wait_until); + return do_wait_until(m, timeout); + } + template +- bool timed_wait(lock_type& m,xtime const& wait_until) ++ bool timed_wait(lock_type& m,xtime const& a_wait_until) + { +- return timed_wait(m,system_time(wait_until)); ++ return timed_wait(m,system_time(a_wait_until)); + } + + template +@@ -218,20 +218,20 @@ namespace boost + } + + template +- bool timed_wait(lock_type& m,boost::system_time const& wait_until,predicate_type pred) ++ bool timed_wait(lock_type& m,boost::system_time const& a_wait_until,predicate_type pred) + { + while (!pred()) + { +- if(!timed_wait(m, wait_until)) ++ if(!timed_wait(m, a_wait_until)) + return pred(); + } + return true; + } + + template +- bool timed_wait(lock_type& m,xtime const& wait_until,predicate_type pred) ++ bool timed_wait(lock_type& m,xtime const& a_wait_until,predicate_type pred) + { +- return timed_wait(m,system_time(wait_until),pred); ++ return timed_wait(m,system_time(a_wait_until),pred); + } + + template +diff -up ./boost/thread/pthread/condition_variable_fwd.hpp~ ./boost/thread/pthread/condition_variable_fwd.hpp +--- ./boost/thread/pthread/condition_variable_fwd.hpp~ 2013-01-14 18:17:50.000000000 +0100 ++++ ./boost/thread/pthread/condition_variable_fwd.hpp 2013-08-22 11:46:26.579385366 +0200 +@@ -98,21 +98,21 @@ namespace boost + #if defined BOOST_THREAD_USES_DATETIME + inline bool timed_wait( + unique_lock& m, +- boost::system_time const& wait_until) ++ boost::system_time const& a_wait_until) + { + #if defined BOOST_THREAD_WAIT_BUG +- struct timespec const timeout=detail::to_timespec(wait_until + BOOST_THREAD_WAIT_BUG); ++ struct timespec const timeout=detail::to_timespec(a_wait_until + BOOST_THREAD_WAIT_BUG); + return do_wait_until(m, timeout); + #else +- struct timespec const timeout=detail::to_timespec(wait_until); ++ struct timespec const timeout=detail::to_timespec(a_wait_until); + return do_wait_until(m, timeout); + #endif + } + bool timed_wait( + unique_lock& m, +- xtime const& wait_until) ++ xtime const& a_wait_until) + { +- return timed_wait(m,system_time(wait_until)); ++ return timed_wait(m,system_time(a_wait_until)); + } + + template +@@ -126,11 +126,11 @@ namespace boost + template + bool timed_wait( + unique_lock& m, +- boost::system_time const& wait_until,predicate_type pred) ++ boost::system_time const& a_wait_until,predicate_type pred) + { + while (!pred()) + { +- if(!timed_wait(m, wait_until)) ++ if(!timed_wait(m, a_wait_until)) + return pred(); + } + return true; +@@ -139,9 +139,9 @@ namespace boost + template + bool timed_wait( + unique_lock& m, +- xtime const& wait_until,predicate_type pred) ++ xtime const& a_wait_until,predicate_type pred) + { +- return timed_wait(m,system_time(wait_until),pred); ++ return timed_wait(m,system_time(a_wait_until),pred); + } + + template diff --git a/boost.spec b/boost.spec index 5b3db8f..f9a1e0d 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: 12%{?dist} +Release: 13%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -193,6 +193,15 @@ Patch49: boost-1.54.0-python-unused_typedef.patch # https://bugzilla.redhat.com/show_bug.cgi?id=999320 Patch50: boost-1.53.0-signals2-std_get_llvm.patch +# https://svn.boost.org/trac/boost/ticket/9038 +Patch51: boost-1.54.0-pool-test_linking.patch + +# https://svn.boost.org/trac/boost/ticket/9037 +Patch52: boost-1.54.0-thread-cond_variable_shadow.patch + +# This was already fixed upstream, so no tracking bug. +Patch53: boost-1.54.0-pool-max_chunks_shadow.patch + %bcond_with tests %bcond_with docs_generated @@ -673,6 +682,9 @@ a number of significant features and is now developed independently %patch48 -p1 %patch49 -p1 %patch50 -p2 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1244,6 +1256,14 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Fri Aug 23 2013 Petr Machata - 1.53.0-13 +- Fix compilation of Boost.Pool test cases + (boost-1.54.0-pool-test_linking.patch) +- Fix -Wshadow warnings in Boost.Pool + (boost-1.54.0-pool-max_chunks_shadow.patch) + -Wshadow warnings in Boost.Thread + (boost-1.54.0-thread-cond_variable_shadow.patch) + * Wed Aug 21 2013 Petr Machata - 1.53.0-12 - Fix boost::signals2::signal on LLVM (boost-1.53.0-signals2-std_get_llvm.patch) From 0ef7d672066c19fcbfc397b7fddd3219cf5cd28a Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 30 Aug 2013 00:28:31 +0200 Subject: [PATCH 7/9] Fix atomic_cas32 in Boost.Interprocess --- boost-1.54.0-interprocess-atomic_cas32-ppc.patch | 14 ++++++++++++++ boost.spec | 11 ++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 boost-1.54.0-interprocess-atomic_cas32-ppc.patch diff --git a/boost-1.54.0-interprocess-atomic_cas32-ppc.patch b/boost-1.54.0-interprocess-atomic_cas32-ppc.patch new file mode 100644 index 0000000..e5268d1 --- /dev/null +++ b/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/boost.spec b/boost.spec index f9a1e0d..0547256 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: 13%{?dist} +Release: 14%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -202,6 +202,10 @@ Patch52: boost-1.54.0-thread-cond_variable_shadow.patch # This was already fixed upstream, so no tracking bug. Patch53: boost-1.54.0-pool-max_chunks_shadow.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1002578 +# https://svn.boost.org/trac/boost/ticket/9065 +Patch55: boost-1.54.0-interprocess-atomic_cas32-ppc.patch + %bcond_with tests %bcond_with docs_generated @@ -685,6 +689,7 @@ a number of significant features and is now developed independently %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch55 -p1 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1256,6 +1261,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Thu Aug 29 2013 Petr Machata - 1.53.0-14 +- Fix atomic_cas32 (thanks Jaroslav Škarvada for figuring out where + the problem is) (boost-1.54.0-interprocess-atomic_cas32-ppc.patch) + * Fri Aug 23 2013 Petr Machata - 1.53.0-13 - Fix compilation of Boost.Pool test cases (boost-1.54.0-pool-test_linking.patch) From a228e0d35a12dbad32db021209208a50a4aebfba Mon Sep 17 00:00:00 2001 From: Deji Akingunola Date: Sat, 22 Feb 2014 13:18:38 -0500 Subject: [PATCH 8/9] Rebuild for mpich-3.1 --- boost.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 0547256..a268b88 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: 14%{?dist} +Release: 15%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -1261,6 +1261,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Sat Feb 22 2014 Deji Akingunola - 1.53.0-15 +- Rebuild for mpich-3.1 + * Thu Aug 29 2013 Petr Machata - 1.53.0-14 - Fix atomic_cas32 (thanks Jaroslav Škarvada for figuring out where the problem is) (boost-1.54.0-interprocess-atomic_cas32-ppc.patch) From add91fb57b0baf072f9ef8f4a54f9cb969f67665 Mon Sep 17 00:00:00 2001 From: Deji Akingunola Date: Sat, 22 Feb 2014 13:29:12 -0500 Subject: [PATCH 9/9] Revert last change --- boost.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/boost.spec b/boost.spec index a268b88..0547256 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: 15%{?dist} +Release: 14%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -1261,9 +1261,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog -* Sat Feb 22 2014 Deji Akingunola - 1.53.0-15 -- Rebuild for mpich-3.1 - * Thu Aug 29 2013 Petr Machata - 1.53.0-14 - Fix atomic_cas32 (thanks Jaroslav Škarvada for figuring out where the problem is) (boost-1.54.0-interprocess-atomic_cas32-ppc.patch)