From 5196c060c52789dc85f9d7f04936d7abe9684a4b Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 11 Mar 2025 12:59:08 +0000 Subject: [PATCH] import CS boost-1.75.0-10.el9 --- SOURCES/boost-1.75-asio-fix.patch | 29 ++++++++++++++++++++ SPECS/boost.spec | 44 ++++++++++++++++++------------- 2 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 SOURCES/boost-1.75-asio-fix.patch diff --git a/SOURCES/boost-1.75-asio-fix.patch b/SOURCES/boost-1.75-asio-fix.patch new file mode 100644 index 0000000..0f2af04 --- /dev/null +++ b/SOURCES/boost-1.75-asio-fix.patch @@ -0,0 +1,29 @@ +From 296746ce9469210fae520db31b07ccb31a6affce Mon Sep 17 00:00:00 2001 +From: Christopher Kohlhoff +Date: Wed, 3 Mar 2021 18:50:31 +1100 +Subject: [PATCH] The executor must be copied when an I/O object is + move-assigned. + +The moved-from I/O object needs to be left in the same state as if +constructed with a valid executor but without a resource. +--- + boost/asio/detail/io_object_impl.hpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/boost/asio/detail/io_object_impl.hpp b/boost/asio/detail/io_object_impl.hpp +index 54a622d..7f2f36c 100644 +--- a/boost/asio/detail/io_object_impl.hpp ++++ b/boost/asio/detail/io_object_impl.hpp +@@ -99,8 +99,7 @@ public: + service_->move_assign(implementation_, + *other.service_, other.implementation_); + executor_.~executor_type(); +- new (&executor_) executor_type( +- std::move(other.executor_)); ++ new (&executor_) executor_type(other.executor_); + service_ = other.service_; + } + return *this; +-- +2.47.0 + diff --git a/SPECS/boost.spec b/SPECS/boost.spec index cce55db..0014b25 100644 --- a/SPECS/boost.spec +++ b/SPECS/boost.spec @@ -42,7 +42,7 @@ Name: boost %global real_name boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.75.0 -Release: 8%{?dist} +Release: 10%{?dist} License: Boost and MIT and Python # Replace each . with _ in %%{version} @@ -157,6 +157,10 @@ Patch94: boost-1.73-locale-empty-vector.patch # https://github.com/boostorg/build/issues/696 Patch95: boost-1.75.0-boost-build-fix.patch +# https://issues.redhat.com/browse/RHEL-67973 +# https://github.com/chriskohlhoff/asio/issues/790 +Patch98: boost-1.75-asio-fix.patch + %bcond_with tests %bcond_with docs_generated @@ -672,15 +676,16 @@ a number of significant features and is now developed independently. %setup -q -n %{toplev_dirname} find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x -%patch15 -p0 -%patch51 -p1 -%patch96 -p1 -%patch97 -p1 -%patch83 -p1 -%patch88 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 +%patch -P15 -p0 +%patch -P51 -p1 +%patch -P96 -p1 +%patch -P97 -p1 +%patch -P83 -p1 +%patch -P88 -p1 +%patch -P93 -p1 +%patch -P94 -p1 +%patch -P95 -p1 +%patch -P98 -p1 %build %set_build_flags @@ -825,9 +830,6 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* -# Remove cmake files (some of these are duplicates of the generic bits anyway). -rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake - %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH %endif @@ -854,9 +856,6 @@ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* -# Remove cmake files (some of these are duplicates of the generic bits anyway). -rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake - %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif @@ -882,9 +881,6 @@ echo ============================= install serial ================== rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/ -# Remove cmake files until we know somebody wants them. -rm -r $RPM_BUILD_ROOT/%{_libdir}/cmake - echo ============================= install Boost.Build ================== (cd tools/build ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install @@ -1147,6 +1143,7 @@ fi %files devel %license LICENSE_1_0.txt %{_includedir}/%{name} +%{_libdir}/cmake %{_libdir}/libboost_atomic.so %{_libdir}/libboost_chrono.so %{_libdir}/libboost_container.so @@ -1214,6 +1211,7 @@ fi %files openmpi-devel %license LICENSE_1_0.txt +%{_libdir}/openmpi/lib/cmake %{_libdir}/openmpi/lib/libboost_mpi.so %{_libdir}/openmpi/lib/libboost_graph_parallel.so @@ -1245,6 +1243,7 @@ fi %files mpich-devel %license LICENSE_1_0.txt +%{_libdir}/mpich/lib/cmake %{_libdir}/mpich/lib/libboost_mpi.so %{_libdir}/mpich/lib/libboost_graph_parallel.so @@ -1282,6 +1281,13 @@ fi %{_mandir}/man1/b2.1* %changelog +* Thu Jan 16 2025 Patrick Palka - 1.75.0-10 +- Re-add the CMake config files provided by Boost + +* Fri Nov 22 2024 Patrick Palka - 1.75.0-9 +- Apply upstream Boost.Asio patch to resolve RHEL-67973 +- Fix %patch directive compatibility with RPM 4.20 + * Fri Jun 24 2022 Jonathan Wakely - 1.75.0-8 - Restore Provides for boost-python3-devel