Accepting request 856565 from home:adamm:boost_test

- update to 1.75.0:
  * new library: 
    + Boost.JSON - JSON parsing library
    + Boost.LEAF - error handling library
    + Boost.PFR  - basic reflection without macros or boilderplate code
  * for details on all changes see,
    https://www.boost.org/users/history/version_1_75_0.html
- package boost's jam files so the Boost.Build is more usable
- python_library_name.patch: update it to remove python version
  suffix and keep old sonames. We only support one python3 version
  at a time.
- refreshed patches: boost-no_type_punning.patch
  boost-strict_aliasing.patch python_library_name.patch
- serialization_missing_includes.patch: upstreamed
- baselibs.conf: updated to new version

OBS-URL: https://build.opensuse.org/request/show/856565
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=269
This commit is contained in:
Adam Majer 2020-12-16 21:50:50 +00:00 committed by Git OBS Bridge
parent 9bc697023e
commit 1edcfb5aae
9 changed files with 144 additions and 121 deletions

View File

@ -1,25 +1,26 @@
libboost_atomic1_74_0
libboost_container1_74_0
libboost_context1_74_0
libboost_coroutine1_74_0
libboost_date_time1_74_0
libboost_fiber1_74_0
libboost_filesystem1_74_0
libboost_graph1_74_0
libboost_graph_parallel1_74_0
libboost_iostreams1_74_0
libboost_locale1_74_0
libboost_math1_74_0
libboost_mpi1_74_0
libboost_nowide1_74_0
libboost_test1_74_0
libboost_program_options1_74_0
libboost_python-py3-1_74_0
libboost_random1_74_0
libboost_serialization1_74_0
libboost_stacktrace1_74_0
libboost_system1_74_0
libboost_thread1_74_0
libboost_type_erasure1_74_0
libboost_wave1_74_0
libboost_regex1_74_0
libboost_atomic1_75_0
libboost_container1_75_0
libboost_context1_75_0
libboost_coroutine1_75_0
libboost_date_time1_75_0
libboost_fiber1_75_0
libboost_filesystem1_75_0
libboost_graph1_75_0
libboost_graph_parallel1_75_0
libboost_iostreams1_75_0
libboost_locale1_75_0
libboost_math1_75_0
libboost_mpi1_75_0
libboost_nowide1_75_0
libboost_test1_75_0
libboost_program_options1_75_0
libboost_python-py3-1_75_0
libboost_random1_75_0
libboost_serialization1_75_0
libboost_stacktrace1_75_0
libboost_system1_75_0
libboost_thread1_75_0
libboost_type_erasure1_75_0
libboost_wave1_75_0
libboost_regex1_75_0
libboost_json1_75_0

View File

@ -38,19 +38,19 @@ Index: libs/python/src/long.cpp
+++ libs/python/src/long.cpp
@@ -8,16 +8,16 @@ namespace boost { namespace python { nam
new_non_null_reference long_base::call(object const& arg_)
new_reference long_base::call(object const& arg_)
{
+ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type };
return (detail::new_non_null_reference)PyObject_CallFunction(
return (detail::new_reference)PyObject_CallFunction(
- (PyObject*)&PyLong_Type, const_cast<char*>("(O)"),
- arg_.ptr());
+ pun.pop, const_cast<char*>("(O)"), arg_.ptr());
}
new_non_null_reference long_base::call(object const& arg_, object const& base)
new_reference long_base::call(object const& arg_, object const& base)
{
+ union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type };
return (detail::new_non_null_reference)PyObject_CallFunction(
return (detail::new_reference)PyObject_CallFunction(
- (PyObject*)&PyLong_Type, const_cast<char*>("(OO)"),
- arg_.ptr(), base.ptr());
+ pun.pop, const_cast<char*>("(OO)"), arg_.ptr(), base.ptr());

View File

@ -2,10 +2,10 @@ Index: libs/python/build/Jamfile
===================================================================
--- libs/python/build/Jamfile.orig
+++ libs/python/build/Jamfile
@@ -96,6 +96,7 @@ lib boost_python
@@ -94,6 +94,7 @@ lib boost_python
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
<tag>@$(__name__).python-tag
<tag>@python-tag
+ <cxxflags>-fno-strict-aliasing
<conditional>@python.require-py

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Mon Dec 14 15:14:58 UTC 2020 - Adam Majer <adam.majer@suse.de>
- update to 1.75.0:
* new library:
+ Boost.JSON - JSON parsing library
+ Boost.LEAF - error handling library
+ Boost.PFR - basic reflection without macros or boilderplate code
* for details on all changes see,
https://www.boost.org/users/history/version_1_75_0.html
- package boost's jam files so the Boost.Build is more usable
- python_library_name.patch: update it to remove python version
suffix and keep old sonames. We only support one python3 version
at a time.
- refreshed patches: boost-no_type_punning.patch
boost-strict_aliasing.patch python_library_name.patch
- serialization_missing_includes.patch: upstreamed
- baselibs.conf: updated to new version
-------------------------------------------------------------------
Tue Sep 29 12:20:56 UTC 2020 - Adam Majer <adam.majer@suse.de>

View File

@ -16,14 +16,13 @@
#
%define ver 1.74.0
%define _ver 1_74_0
%define package_version 1_74_0
%define ver 1.75.0
%define _ver 1_75_0
%define package_version 1_75_0
%define file_version %_ver
%define lib_appendix %_ver
%define docs_version 1.56.0
%define short_version 1_56
%define python3X python38
%define pname boost
%bcond_with build_docs
%bcond_without package_pdf
@ -154,6 +153,7 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%define package_libdir %{hpc_libdir}
%define package_bindir %{hpc_bindir}
%define package_includedir %{hpc_includedir}
%define package_datadir %{hpc_datadir}
%define base_name %{hpc_package_name %_ver}
%define package_name %{hpc_package_name %_ver}
%define package_python3_sitearch %{_hpc_python_sysconfig_path /usr/bin/python3 platlib %{?hpc_prefix}}
@ -162,6 +162,7 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%define package_bindir %{_bindir}
%define package_libdir %{_libdir}
%define package_includedir %{_includedir}
%define package_datadir %{_datadir}
%define base_name boost%{name_suffix}
%define package_python3_sitearch %python3_sitearch
%endif
@ -174,9 +175,9 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le
%endif
Name: %{base_name}
Version: 1.74.0
Version: 1.75.0
Release: 0
%define library_version 1_74_0
%define library_version 1_75_0
Summary: Boost C++ Libraries
License: BSL-1.0
@ -205,7 +206,6 @@ Patch17: python_mpi.patch
Patch18: dynamic_linking.patch
Patch20: python_library_name.patch
Patch21: boost-remove-cmakedir.patch
Patch22: serialization_missing_includes.patch
BuildRequires: fdupes
BuildRequires: gmp-devel
BuildRequires: libbz2-devel
@ -738,26 +738,26 @@ Obsoletes: boost-nowide-devel < 10.0.2.1
%description -n libboost_nowide%{library_version}-devel
Development headers for Boost.Nowide* boost libraries.
%package -n libboost_mpi_%{python3X}-py3-%{library_version}
%package -n libboost_mpi_python-py3-%{library_version}
Summary: Boost.MPI Python 3.x serialization library
Group: System/Libraries
Requires: boost-license%{library_version}
%description -n libboost_mpi_%{python3X}-py3-%{library_version}
%description -n libboost_mpi_python-py3-%{library_version}
This package contains the Boost.MPI Python 3.x serialization
inteface.
%package -n libboost_mpi_%{python3X}-py3-%{library_version}-devel
%package -n libboost_mpi_python-py3-%{library_version}-devel
Summary: Development library for Boost.MPI Python 3.x serialization
Group: Development/Libraries/C and C++
Requires: libboost_mpi%{library_version}-devel = %{version}
Requires: libboost_mpi_%{python3X}-py3-%{library_version} = %{version}
Requires: libboost_mpi_python-py3-%{library_version} = %{version}
Requires: libboost_python-py3-%{library_version} = %{version}
Conflicts: boost-devel < 1.63
Conflicts: libboost_mpi_python3-devel-impl
Provides: libboost_mpi_python3-devel-impl = %{version}
%description -n libboost_mpi_%{python3X}-py3-%{library_version}-devel
%description -n libboost_mpi_python-py3-%{library_version}-devel
This package contains the Boost.MPI development library for Python 3.x
serialization interface
@ -980,6 +980,7 @@ Summary: Development headers for Boost.Regex library
Group: Development/Libraries/C and C++
Requires: libboost_headers%{library_version}-devel = %{version}
Requires: libboost_regex%{library_version} = %{version}
Requires: libicu-devel
Conflicts: boost-devel < 1.63
Conflicts: libboost_regex-devel-impl
Provides: libboost_regex-devel-impl = %{version}
@ -1044,6 +1045,7 @@ Requires: libboost_headers%{library_version}-devel = %{version}
Requires: libboost_locale%{library_version} = %{version}
Requires: libboost_system%{library_version}-devel = %{version}
Requires: libboost_thread%{library_version}-devel = %{version}
Requires: libicu-devel
Conflicts: boost-devel < 1.63
Conflicts: libboost_locale-devel-impl
Provides: libboost_locale-devel-impl = %{version}
@ -1095,6 +1097,24 @@ Provides: libboost_type_erasure-devel-impl = %{version}
%description -n libboost_type_erasure%{library_version}-devel
This package contains development headers for Boost.TypeErasure library.
%package -n libboost_json%{library_version}
Summary: Boost.JSON runtime library
Group: System/Libraries
Requires: boost-license%{library_version}
%description -n libboost_json%{library_version}
This package contains Boost::JSON runtime library.
%package -n libboost_json%{library_version}-devel
Summary: Development headers for Boost.JSON library
Group: Development/Libraries/C and C++
Requires: libboost_json%{library_version} = %{version}
Conflicts: libboost_json-devel-impl
Provides: libboost_json-devel-impl = %{version}
%description -n libboost_json%{library_version}-devel
This package contains development headers for Boost.JSON library.
%package -n %{package_name}-quickbook
Summary: Documentation tool geared towards C++
Group: Development/Tools/Doc Generators
@ -1133,7 +1153,6 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
%patch18 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%build
find . -type f -exec chmod u+w {} +
@ -1338,7 +1357,7 @@ module load gnu %mpi_flavor
%if %{with python3}
! $(ldd %{buildroot}%{package_libdir}/*.so* | grep python3-\\.)
ln -s libboost_python-py3.so %{buildroot}%{package_libdir}/libboost_python3.so
ln -s libboost_python-py3.so %{buildroot}%{package_libdir}/libboost_python3.so
%endif
%if %{with python3}
@ -1374,14 +1393,21 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{package_bindir}/quickbook
%endif
%endif
%if %{build_base} || %{with hpc}
mkdir -p %{buildroot}%{package_bindir}
%if %{build_base}
%if %{without hpc}
mkdir -p %{buildroot}%{package_bindir}
install -m 755 b2 %{buildroot}%{package_bindir}/bjam
ln -s bjam %{buildroot}%{package_bindir}/jam
# install boost-build jam files
mkdir -p %{buildroot}%{package_datadir}/boost-build/
cp -r tools/build/src/* %{buildroot}%{package_datadir}/boost-build/
rm -r %{buildroot}%{package_datadir}/boost-build/engine
find %{buildroot}%{package_datadir}/boost-build/ -type f \! -name \*.py \! -name \*.jam -delete
find %{buildroot}%{package_datadir}/boost-build/ -type f -exec chmod 644 {} +
%endif
%if %{build_base}
# Remove exception library, but only if the symbols are not
# actually used. For now, the only symbol that is linked is
# should never be used as it's only available on Windows. So,
@ -1397,7 +1423,6 @@ rm %{buildroot}%{package_libdir}/libboost_exception.so.%{version}
rm -r %{buildroot}%{package_libdir}/cmake/boost_stacktrace_{backtrace,windbg}*
rm -r %{buildroot}%{package_libdir}/cmake/boost_exception-*
rm -r %{buildroot}%{package_libdir}/cmake/boost_graph_parallel-%{version}
%endif
%fdupes %{buildroot}%{package_includedir}/boost
mkdir -p %{buildroot}%{my_docdir}
@ -1477,6 +1502,7 @@ EOF
%post -n libboost_serialization%{library_version} -p /sbin/ldconfig
%post -n libboost_thread%{library_version} -p /sbin/ldconfig
%post -n libboost_type_erasure%{library_version} -p /sbin/ldconfig
%post -n libboost_json%{library_version} -p /sbin/ldconfig
%post -n libboost_math%{library_version} -p /sbin/ldconfig
%post -n libboost_nowide%{library_version} -p /sbin/ldconfig
%post -n libboost_graph%{library_version} -p /sbin/ldconfig
@ -1501,7 +1527,7 @@ EOF
%post -n libboost_graph_parallel%{library_version} -p /sbin/ldconfig
%if %{with python3}
%post -n libboost_mpi_%{python3X}-py3-%{library_version} -p /sbin/ldconfig
%post -n libboost_mpi_python-py3-%{library_version} -p /sbin/ldconfig
%endif
%endif
@ -1527,6 +1553,7 @@ EOF
%postun -n libboost_serialization%{library_version} -p /sbin/ldconfig
%postun -n libboost_thread%{library_version} -p /sbin/ldconfig
%postun -n libboost_type_erasure%{library_version} -p /sbin/ldconfig
%postun -n libboost_json%{library_version} -p /sbin/ldconfig
%postun -n libboost_math%{library_version} -p /sbin/ldconfig
%postun -n libboost_nowide%{library_version} -p /sbin/ldconfig
%postun -n libboost_graph%{library_version} -p /sbin/ldconfig
@ -1551,7 +1578,7 @@ EOF
%postun -n libboost_graph_parallel%{library_version} -p /sbin/ldconfig
%if %{with python3}
%postun -n libboost_mpi_%{python3X}-py3-%{library_version} -p /sbin/ldconfig
%postun -n libboost_mpi_python-py3-%{library_version} -p /sbin/ldconfig
%endif
%endif
@ -1587,6 +1614,8 @@ EOF
%files -n boost%{library_version}-jam
%{package_bindir}/bjam
%{package_bindir}/jam
%dir %{package_datadir}/boost-build
%{package_datadir}/boost-build/*
%files -n libboost_atomic%{library_version}
%{package_libdir}/libboost_atomic.so.%{version}
@ -1765,14 +1794,14 @@ EOF
%{package_libdir}/libboost_graph_parallel.so
%if %{with python3}
%files -n libboost_mpi_%{python3X}-py3-%{library_version}
%{package_libdir}/libboost_mpi_%{python3X}-py3.so.%{version}
%files -n libboost_mpi_python-py3-%{library_version}
%{package_libdir}/libboost_mpi_python-py3.so.%{version}
%files -n libboost_mpi_%{python3X}-py3-%{library_version}-devel
%files -n libboost_mpi_python-py3-%{library_version}-devel
%dir %{package_libdir}/cmake/boost_mpi_python-%{version}
%{package_libdir}/cmake/boost_mpi_python-%{version}/*
%endif
%{package_libdir}/libboost_mpi_%{python3X}-py3.so
%{package_libdir}/libboost_mpi_python-py3.so
%files -n python3-boost_parallel_mpi%{library_version}
%dir %{package_python3_sitearch}/boost
@ -1909,6 +1938,15 @@ EOF
%dir %{package_libdir}/cmake/boost_type_erasure-%{version}
%{package_libdir}/cmake/boost_type_erasure-%{version}/*
%{package_libdir}/libboost_type_erasure.so
%files -n libboost_json%{library_version}
%{package_libdir}/libboost_json.so.%{version}
%files -n libboost_json%{library_version}-devel
%dir %{package_libdir}/cmake/boost_json-%{version}
%{package_libdir}/cmake/boost_json-%{version}/*
%{package_libdir}/libboost_json.so
%endif
%if ! %{build_base}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
size 109600630

3
boost_1_75_0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb
size 121849575

View File

@ -27,33 +27,32 @@ MPI module needs to reference correct python
~ <library>boost_mpi_python
~ <library>boost_mpi
~ <library>/mpi//mpi [ mpi.extra-requirements ]
Index: boost_1_74_0/libs/python/Jamfile
Index: boost_1_75_0/boostcpp.jam
===================================================================
--- boost_1_74_0.orig/libs/python/Jamfile
+++ boost_1_74_0/libs/python/Jamfile
@@ -36,9 +36,10 @@ local rule split-version ( version )
# For example, Boost.Python built for Python 2.7 uses the suffix "27"
rule version-suffix ( version )
{
- local major-minor = [ split-version $(version) ] ;
- local suffix = $(major-minor:J="") ;
- return $(suffix) ;
+ # local major-minor = [ split-version $(version) ] ;
+ # local suffix = $(major-minor:J="") ;
+ # return $(suffix) ;
+ return "" ;
}
--- boost_1_75_0.orig/boostcpp.jam
+++ boost_1_75_0/boostcpp.jam
@@ -227,15 +227,15 @@ rule python-tag ( name : type ? : proper
{
# Add Python version suffix
- local version = [ $(property-set).get <python> ] ;
-
- local major-minor = [ MATCH "^([0-9]+)\.([0-9]+)" : $(version) ] ;
- local suffix = $(major-minor:J="") ;
-
- if $(suffix)
- {
- result = $(result)$(suffix) ;
- }
+ # local version = [ $(property-set).get <python> ] ;
+ #
+ # local major-minor = [ MATCH "^([0-9]+)\.([0-9]+)" : $(version) ] ;
+ # local suffix = $(major-minor:J="") ;
+ #
+ # if $(suffix)
+ # {
+ # result = $(result)$(suffix) ;
+ # }
# Add PYTHON_ID if supplied
Index: boost_1_74_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_74_0.orig/tools/build/src/tools/python.jam
+++ boost_1_74_0/tools/build/src/tools/python.jam
@@ -664,6 +664,7 @@ local rule system-library-dependencies (
# For example, Boost.Python built for Python 2.7 uses the suffix "27"
rule version-suffix ( version )
{
+ return "" ;
local major-minor = [ split-version $(version) ] ;
local suffix = $(major-minor:J="") ;
return $(suffix) ;

View File

@ -1,36 +0,0 @@
Index: boost_1_74_0/boost/serialization/set.hpp
===================================================================
--- boost_1_74_0.orig/boost/serialization/set.hpp
+++ boost_1_74_0/boost/serialization/set.hpp
@@ -25,6 +25,7 @@
#include <boost/serialization/detail/stack_constructor.hpp>
#include <boost/serialization/collection_size_type.hpp>
#include <boost/serialization/item_version_type.hpp>
+#include <boost/serialization/library_version_type.hpp>
#include <boost/serialization/collections_save_imp.hpp>
#include <boost/serialization/split_free.hpp>
Index: boost_1_74_0/boost/serialization/unordered_map.hpp
===================================================================
--- boost_1_74_0.orig/boost/serialization/unordered_map.hpp
+++ boost_1_74_0/boost/serialization/unordered_map.hpp
@@ -22,6 +22,7 @@
#include <unordered_map>
+#include <boost/serialization/library_version_type.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/serialization/unordered_collections_save_imp.hpp>
#include <boost/serialization/unordered_collections_load_imp.hpp>
Index: boost_1_74_0/boost/serialization/list.hpp
===================================================================
--- boost_1_74_0.orig/boost/serialization/list.hpp
+++ boost_1_74_0/boost/serialization/list.hpp
@@ -28,6 +28,7 @@
#include <boost/serialization/collection_size_type.hpp>
#include <boost/serialization/item_version_type.hpp>
#include <boost/serialization/split_free.hpp>
+#include <boost/serialization/library_version_type.hpp>
namespace boost {
namespace serialization {