Accepting request 489818 from devel:libraries:c_c++
1 OBS-URL: https://build.opensuse.org/request/show/489818 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boost?expand=0&rev=115
This commit is contained in:
commit
c20778fcf2
@ -1,27 +1,27 @@
|
|||||||
boost_1_63-devel
|
boost_1_64-devel
|
||||||
requires -boost-<targettype>
|
requires -boost-<targettype>
|
||||||
libboost_atomic1_63_0
|
libboost_atomic1_64_0
|
||||||
libboost_container1_63_0
|
libboost_container1_64_0
|
||||||
libboost_context1_63_0
|
libboost_context1_64_0
|
||||||
libboost_coroutine1_63_0
|
libboost_coroutine1_64_0
|
||||||
libboost_date_time1_63_0
|
libboost_date_time1_64_0
|
||||||
libboost_fiber1_63_0
|
libboost_fiber1_64_0
|
||||||
libboost_filesystem1_63_0
|
libboost_filesystem1_64_0
|
||||||
libboost_graph1_63_0
|
libboost_graph1_64_0
|
||||||
libboost_graph_parallel1_63_0
|
libboost_graph_parallel1_64_0
|
||||||
libboost_iostreams1_63_0
|
libboost_iostreams1_64_0
|
||||||
libboost_locale1_63_0
|
libboost_locale1_64_0
|
||||||
libboost_math1_63_0
|
libboost_math1_64_0
|
||||||
libboost_mpi1_63_0
|
libboost_mpi1_64_0
|
||||||
libboost_test1_63_0
|
libboost_test1_64_0
|
||||||
libboost_program_options1_63_0
|
libboost_program_options1_64_0
|
||||||
libboost_python-py2_7-1_63_0
|
libboost_python-py2_7-1_64_0
|
||||||
libboost_python-py3-1_63_0
|
libboost_python-py3-1_64_0
|
||||||
libboost_random1_63_0
|
libboost_random1_64_0
|
||||||
libboost_serialization1_63_0
|
libboost_serialization1_64_0
|
||||||
libboost_signals1_63_0
|
libboost_signals1_64_0
|
||||||
libboost_system1_63_0
|
libboost_system1_64_0
|
||||||
libboost_thread1_63_0
|
libboost_thread1_64_0
|
||||||
libboost_type_erasure1_63_0
|
libboost_type_erasure1_64_0
|
||||||
libboost_wave1_63_0
|
libboost_wave1_64_0
|
||||||
libboost_regex1_63_0
|
libboost_regex1_64_0
|
||||||
|
@ -2,11 +2,11 @@ Index: libs/python/build/Jamfile
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libs/python/build/Jamfile.orig
|
--- libs/python/build/Jamfile.orig
|
||||||
+++ libs/python/build/Jamfile
|
+++ libs/python/build/Jamfile
|
||||||
@@ -116,6 +116,7 @@ rule lib_boost_python ( is-py3 ? )
|
@@ -110,6 +110,7 @@ rule lib_boost_python ( version )
|
||||||
|
|
||||||
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
|
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
|
||||||
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
|
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
|
||||||
+ <cxxflags>-fno-strict-aliasing
|
+ <cxxflags>-fno-strict-aliasing
|
||||||
|
|
||||||
: # default build
|
<conditional>@python.require-py
|
||||||
<link>shared
|
|
||||||
|
@ -1,3 +1,38 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 20 13:52:20 EST 2017 - adam.majer@suse.de
|
||||||
|
|
||||||
|
- New upstream version 1.64.0
|
||||||
|
+ process - new library providing cross platform methods to
|
||||||
|
- create child processes
|
||||||
|
- setup stream for child processes
|
||||||
|
- sync and async communication streams with children
|
||||||
|
- sync and async wait
|
||||||
|
- process termination
|
||||||
|
+ geometry library had some breaking changes,
|
||||||
|
- ublas_transformer is renamed to matrix_transformer
|
||||||
|
- explicit modifier is added to constructors of rtree
|
||||||
|
index::dynamic_* parameters
|
||||||
|
- strategy::area::huiller replaced by strategy::area::spherical
|
||||||
|
+ context library updates
|
||||||
|
- deprecated API:execution-context
|
||||||
|
- fixed bad assembly for fcontext on ppc64/sysv/elf
|
||||||
|
+ Updated libraries: any, atomic, config, container, context,
|
||||||
|
conversion, core, coroutine2, fiber, hash, interprocess,
|
||||||
|
intrusive, lexicalcast, math, multi-index containers,
|
||||||
|
multiprecision, predef, program options, regex, smart pointers,
|
||||||
|
test ,typeindex, typetraits, unordered, variant
|
||||||
|
+ for details, see
|
||||||
|
http://www.boost.org/users/history/version_1_64_0.html
|
||||||
|
- Build PyNumpy module
|
||||||
|
+ add build requires on python-numpy
|
||||||
|
- test_lowcase.patch: upstreamed
|
||||||
|
- refreshed patches: boost-strict_aliasing.patch, gcc_path.patch,
|
||||||
|
python_mpi.patch
|
||||||
|
- mpi_upstream.patch: pending upstream fixes to OpenMPI build
|
||||||
|
- python_library_name.patch: we are building python versions in
|
||||||
|
different stagings so drop library renames.
|
||||||
|
- python_numpy_retfunc.patch: rpmlint fixes
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 10 13:35:53 UTC 2017 - jmatejek@suse.com
|
Fri Feb 10 13:35:53 UTC 2017 - jmatejek@suse.com
|
||||||
|
|
||||||
|
103
boost.spec
103
boost.spec
@ -16,11 +16,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define ver 1.63.0
|
%define ver 1.64.0
|
||||||
%define file_version 1_63_0
|
%define file_version 1_64_0
|
||||||
%define docs_version 1.56.0
|
%define docs_version 1.56.0
|
||||||
%define short_version 1_56
|
%define short_version 1_56
|
||||||
%define lib_appendix 1_63_0
|
%define lib_appendix 1_64_0
|
||||||
%bcond_with build_docs
|
%bcond_with build_docs
|
||||||
%bcond_without package_pdf
|
%bcond_without package_pdf
|
||||||
%bcond_without build_quickbook
|
%bcond_without build_quickbook
|
||||||
@ -60,8 +60,8 @@
|
|||||||
#%endif
|
#%endif
|
||||||
|
|
||||||
Name: boost
|
Name: boost
|
||||||
%define package_name boost_1_63
|
%define package_name boost_1_64
|
||||||
Version: 1.63.0
|
Version: 1.64.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Boost C++ Libraries
|
Summary: Boost C++ Libraries
|
||||||
License: BSL-1.0
|
License: BSL-1.0
|
||||||
@ -92,7 +92,9 @@ Patch15: boost-1.57.0-python-abi_letters.patch
|
|||||||
Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch
|
Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch
|
||||||
Patch17: python_mpi.patch
|
Patch17: python_mpi.patch
|
||||||
Patch18: dynamic_linking.patch
|
Patch18: dynamic_linking.patch
|
||||||
Patch19: test_lowcase.patch
|
Patch19: mpi_upstream.patch
|
||||||
|
Patch20: python_library_name.patch
|
||||||
|
Patch21: python_numpy_retfunc.patch
|
||||||
Patch100: gcc_path.patch
|
Patch100: gcc_path.patch
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
@ -110,8 +112,10 @@ BuildRequires: libbz2-devel
|
|||||||
BuildRequires: libexpat-devel
|
BuildRequires: libexpat-devel
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
|
BuildRequires: python-numpy-devel
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-numpy-devel
|
||||||
%endif
|
%endif
|
||||||
#!BuildIgnore: python
|
#!BuildIgnore: python
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
@ -705,7 +709,29 @@ Conflicts: otherproviders(libboost_python-devel)
|
|||||||
Conflicts: boost-devel < 1.63
|
Conflicts: boost-devel < 1.63
|
||||||
|
|
||||||
%description -n libboost_python-py2_7-%{lib_appendix}-devel
|
%description -n libboost_python-py2_7-%{lib_appendix}-devel
|
||||||
Development headers for Boost.Python library for the default version of
|
Development headers for Boost::Python library for the default version of
|
||||||
|
python.
|
||||||
|
|
||||||
|
%package -n libboost_numpy-py2_7-%{lib_appendix}
|
||||||
|
Summary: Boost.Python.NumPy runtime library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: boost-license%{lib_appendix}
|
||||||
|
|
||||||
|
%description -n libboost_numpy-py2_7-%{lib_appendix}
|
||||||
|
This package contains the Boost::Python::NumPy runtime library for default
|
||||||
|
version of python.
|
||||||
|
|
||||||
|
%package -n libboost_numpy-py2_7-%{lib_appendix}-devel
|
||||||
|
Summary: Development headers for Boost.Python.NumPy library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
PreReq: libboost_headers%{lib_appendix}-devel = %{version}
|
||||||
|
Requires: libboost_numpy-py2_7-%{lib_appendix} = %{version}
|
||||||
|
Provides: libboost_numpy-devel = %{version}
|
||||||
|
Conflicts: otherproviders(libboost_numpy-devel)
|
||||||
|
Conflicts: boost-devel < 1.63
|
||||||
|
|
||||||
|
%description -n libboost_numpy-py2_7-%{lib_appendix}-devel
|
||||||
|
Development headers for Boost::Python::NumPy library for the default version of
|
||||||
python.
|
python.
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
@ -731,6 +757,28 @@ Conflicts: boost-devel < 1.63
|
|||||||
Development headers for Boost.Python library. This package contains
|
Development headers for Boost.Python library. This package contains
|
||||||
library for python3 development for boost.
|
library for python3 development for boost.
|
||||||
|
|
||||||
|
%package -n libboost_numpy-py3-%{lib_appendix}
|
||||||
|
Summary: Boost.Python.NumPy runtime library
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: boost-license%{lib_appendix}
|
||||||
|
|
||||||
|
%description -n libboost_numpy-py3-%{lib_appendix}
|
||||||
|
This package contains the Boost.Python.NumPy runtime libraries for python3
|
||||||
|
bindings.
|
||||||
|
|
||||||
|
%package -n libboost_numpy-py3-%{lib_appendix}-devel
|
||||||
|
Summary: Development headers for Boost.Python.NumPy library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
PreReq: libboost_headers%{lib_appendix}-devel = %{version}
|
||||||
|
Requires: libboost_numpy-py3-%{lib_appendix} = %{version}
|
||||||
|
Provides: libboost_numpy3-devel = %{version}
|
||||||
|
Conflicts: otherproviders(libboost_numpy3-devel)
|
||||||
|
Conflicts: boost-devel < 1.63
|
||||||
|
|
||||||
|
%description -n libboost_numpy-py3-%{lib_appendix}-devel
|
||||||
|
Development headers for Boost.Python.NumPy library. This package contains
|
||||||
|
library for python3 development for boost.
|
||||||
|
|
||||||
%endif # with python3
|
%endif # with python3
|
||||||
|
|
||||||
%package -n libboost_serialization%{lib_appendix}
|
%package -n libboost_serialization%{lib_appendix}
|
||||||
@ -995,6 +1043,8 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
|
|||||||
%patch17 -p1
|
%patch17 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch20 -p1
|
||||||
|
%patch21 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
|
|
||||||
#stupid build machinery copies .orig files
|
#stupid build machinery copies .orig files
|
||||||
@ -1044,6 +1094,8 @@ cat << EOF >user-config.jam
|
|||||||
import os ;
|
import os ;
|
||||||
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
|
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
|
||||||
using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ;
|
using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ;
|
||||||
|
project user-config ;
|
||||||
|
alias boost_python_alias : : <library>/boost/python//boost_python ;
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Build boost base PYTHON and MPI, installed in python staging
|
# Build boost base PYTHON and MPI, installed in python staging
|
||||||
@ -1076,13 +1128,14 @@ EOF
|
|||||||
|
|
||||||
# Build boost python3 and MPI, installed in python3 staging
|
# Build boost python3 and MPI, installed in python3 staging
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%{?!py3_abiflags:%define py3_abiflags m}
|
|
||||||
cp user-config.jam user-config-py3.jam
|
cp user-config.jam user-config-py3.jam
|
||||||
|
# sed -i -e 's#//boost_python#//boost_python3#' ./user-config-py3.jam
|
||||||
|
%{?!py3_abiflags:%define py3_abiflags m}
|
||||||
cat << EOF >> user-config-py3.jam
|
cat << EOF >> user-config-py3.jam
|
||||||
using python
|
using python
|
||||||
: %{py3_ver}
|
: %{python3_version}
|
||||||
: %{_bindir}/python3
|
: %{_bindir}/python3
|
||||||
: %{_includedir}/python%{py3_ver}%{py3_abiflags}
|
: %{_includedir}/python%{python3_version}%{py3_abiflags}
|
||||||
:
|
:
|
||||||
:
|
:
|
||||||
: .%{py3_soflags}
|
: .%{py3_soflags}
|
||||||
@ -1189,7 +1242,7 @@ ln -s bjam %{buildroot}%{_bindir}/jam
|
|||||||
rm %{buildroot}%{_libdir}/libboost_mpi_python.so
|
rm %{buildroot}%{_libdir}/libboost_mpi_python.so
|
||||||
rm %{buildroot}%{_libdir}/libboost_mpi_python.so.%{version}
|
rm %{buildroot}%{_libdir}/libboost_mpi_python.so.%{version}
|
||||||
rm %{buildroot}%{_libdir}/libboost_python.so
|
rm %{buildroot}%{_libdir}/libboost_python.so
|
||||||
rm %{buildroot}%{_libdir}/libboost_python.so.1.63.0
|
rm %{buildroot}%{_libdir}/libboost_python.so.%{version}
|
||||||
|
|
||||||
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python\\.)
|
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python\\.)
|
||||||
|
|
||||||
@ -1197,8 +1250,8 @@ ln -s libboost_mpi_python-py2_7.so %{buildroot}%{_libdir}/libboost_mpi_python.so
|
|||||||
ln -s libboost_python-py2_7.so %{buildroot}%{_libdir}/libboost_python.so
|
ln -s libboost_python-py2_7.so %{buildroot}%{_libdir}/libboost_python.so
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
rm %{buildroot}%{_libdir}/libboost_python3-py3.so
|
#rm %{buildroot}%{_libdir}/libboost_python3-py3.so
|
||||||
rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version}
|
#rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version}
|
||||||
|
|
||||||
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.)
|
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.)
|
||||||
|
|
||||||
@ -1296,8 +1349,12 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
|||||||
|
|
||||||
%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
%post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
||||||
@ -1361,8 +1418,12 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
|||||||
|
|
||||||
%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
%postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
||||||
@ -1607,6 +1668,14 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
|||||||
%{_libdir}/libboost_python.so
|
%{_libdir}/libboost_python.so
|
||||||
%{_libdir}/libboost_python-py2_7.so
|
%{_libdir}/libboost_python-py2_7.so
|
||||||
|
|
||||||
|
%files -n libboost_numpy-py2_7-%{lib_appendix}
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{_libdir}/libboost_numpy-py2_7.so.%{version}
|
||||||
|
|
||||||
|
%files -n libboost_numpy-py2_7-%{lib_appendix}-devel
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{_libdir}/libboost_numpy-py2_7.so
|
||||||
|
|
||||||
%if %{with python3}
|
%if %{with python3}
|
||||||
%files -n libboost_python-py3-%{lib_appendix}
|
%files -n libboost_python-py3-%{lib_appendix}
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
@ -1617,6 +1686,14 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
|||||||
%{_libdir}/libboost_python3.so
|
%{_libdir}/libboost_python3.so
|
||||||
%{_libdir}/libboost_python-py3.so
|
%{_libdir}/libboost_python-py3.so
|
||||||
|
|
||||||
|
%files -n libboost_numpy-py3-%{lib_appendix}
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{_libdir}/libboost_numpy-py3.so.%{version}
|
||||||
|
|
||||||
|
%files -n libboost_numpy-py3-%{lib_appendix}-devel
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{_libdir}/libboost_numpy-py3.so
|
||||||
|
|
||||||
%endif # with python3
|
%endif # with python3
|
||||||
|
|
||||||
%files -n libboost_serialization%{lib_appendix}
|
%files -n libboost_serialization%{lib_appendix}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
|
|
||||||
size 81984414
|
|
3
boost_1_64_0.tar.bz2
Normal file
3
boost_1_64_0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
|
||||||
|
size 80472424
|
@ -7,10 +7,10 @@ Boost assumes /usr/include/c++/x.y.z/ existence for GCC 4.x
|
|||||||
onward while our version of GCC only has /usr/include/c++/x.y
|
onward while our version of GCC only has /usr/include/c++/x.y
|
||||||
for 4.x GCC and /usr/include/c++/x/ for 5.x onward.
|
for 4.x GCC and /usr/include/c++/x/ for 5.x onward.
|
||||||
|
|
||||||
Index: boost_1_62_0/boost/tr1/detail/config_all.hpp
|
Index: boost_1_64_0/boost/tr1/detail/config_all.hpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- boost_1_62_0.orig/boost/tr1/detail/config_all.hpp
|
--- boost_1_64_0.orig/boost/tr1/detail/config_all.hpp
|
||||||
+++ boost_1_62_0/boost/tr1/detail/config_all.hpp
|
+++ boost_1_64_0/boost/tr1/detail/config_all.hpp
|
||||||
@@ -102,14 +102,12 @@
|
@@ -102,14 +102,12 @@
|
||||||
// compiler version:
|
// compiler version:
|
||||||
# define BOOST_TR1_STD_HEADER(name) <../4.0.0/name>
|
# define BOOST_TR1_STD_HEADER(name) <../4.0.0/name>
|
||||||
|
178
mpi_upstream.patch
Normal file
178
mpi_upstream.patch
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
commit f5bdcc1ebfe954bb64835f2a0efd94471da42207
|
||||||
|
Author: Jonathan Wakely <github@kayari.org>
|
||||||
|
Date: Thu Feb 23 02:18:58 2017 +0000
|
||||||
|
|
||||||
|
Replace boost::serialization::detail::get_data function. (#39)
|
||||||
|
|
||||||
|
commit 947d17157304ceb93926ab961487e9c86fc7c2d2
|
||||||
|
Author: Jonathan Wakely <github@kayari.org>
|
||||||
|
Date: Thu Feb 23 02:19:45 2017 +0000
|
||||||
|
|
||||||
|
Add header for serialization::make_array (#40)
|
||||||
|
|
||||||
|
commit b21d95676028e45a6743be9898306f13fe715282
|
||||||
|
Author: Andrey Semashev <Lastique@users.noreply.github.com>
|
||||||
|
Date: Thu Feb 23 05:17:32 2017 +0300
|
||||||
|
|
||||||
|
Fix incorrect usage of auto_ptr to free an array (#38)
|
||||||
|
|
||||||
|
The `auto_ptr` would use `delete p` to free an array allocated with `operator new[]`, which could result in heap corruption. Replaced it with `scoped_array`.
|
||||||
|
|
||||||
|
commit 98c406a77f8506550276a8e81ad6ed0c961fca8f
|
||||||
|
Author: Alain Miniussi <alain.miniussi@oca.eu>
|
||||||
|
Date: Thu Feb 23 11:26:49 2017 +0100
|
||||||
|
|
||||||
|
documentation typo
|
||||||
|
|
||||||
|
Index: boost_1_64_0/boost/mpi/python/serialize.hpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/boost/mpi/python/serialize.hpp
|
||||||
|
+++ boost_1_64_0/boost/mpi/python/serialize.hpp
|
||||||
|
@@ -26,7 +26,6 @@
|
||||||
|
#include <boost/python/str.hpp>
|
||||||
|
#include <boost/python/extract.hpp>
|
||||||
|
|
||||||
|
-#include <memory>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
#include <boost/function/function3.hpp>
|
||||||
|
@@ -36,6 +35,9 @@
|
||||||
|
|
||||||
|
#include <boost/serialization/split_free.hpp>
|
||||||
|
#include <boost/serialization/array.hpp>
|
||||||
|
+#include <boost/serialization/array_wrapper.hpp>
|
||||||
|
+
|
||||||
|
+#include <boost/smart_ptr/scoped_array.hpp>
|
||||||
|
|
||||||
|
#include <boost/assert.hpp>
|
||||||
|
|
||||||
|
@@ -441,7 +443,7 @@ load_impl(Archiver& ar, boost::python::o
|
||||||
|
int len;
|
||||||
|
ar >> len;
|
||||||
|
|
||||||
|
- std::auto_ptr<char> string(new char[len]);
|
||||||
|
+ boost::scoped_array<char> string(new char[len]);
|
||||||
|
ar >> boost::serialization::make_array(string.get(), len);
|
||||||
|
boost::python::str py_string(string.get(), len);
|
||||||
|
obj = boost::python::pickle::loads(py_string);
|
||||||
|
Index: boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||||
|
+++ boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||||
|
@@ -25,7 +25,6 @@ namespace std{
|
||||||
|
#include <boost/assert.hpp>
|
||||||
|
#include <boost/mpl/placeholders.hpp>
|
||||||
|
#include <boost/serialization/array.hpp>
|
||||||
|
-#include <boost/serialization/detail/get_data.hpp>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
@@ -80,18 +79,18 @@ public:
|
||||||
|
BOOST_MPI_CHECK_RESULT(MPI_Type_create_struct,
|
||||||
|
(
|
||||||
|
addresses.size(),
|
||||||
|
- boost::serialization::detail::get_data(lengths),
|
||||||
|
- boost::serialization::detail::get_data(addresses),
|
||||||
|
- boost::serialization::detail::get_data(types),
|
||||||
|
+ get_data(lengths),
|
||||||
|
+ get_data(addresses),
|
||||||
|
+ get_data(types),
|
||||||
|
&datatype_
|
||||||
|
));
|
||||||
|
#else
|
||||||
|
BOOST_MPI_CHECK_RESULT(MPI_Type_struct,
|
||||||
|
(
|
||||||
|
addresses.size(),
|
||||||
|
- boost::serialization::detail::get_data(lengths),
|
||||||
|
- boost::serialization::detail::get_data(addresses),
|
||||||
|
- boost::serialization::detail::get_data(types),
|
||||||
|
+ get_data(lengths),
|
||||||
|
+ get_data(addresses),
|
||||||
|
+ get_data(types),
|
||||||
|
&datatype_
|
||||||
|
));
|
||||||
|
#endif
|
||||||
|
@@ -129,6 +128,12 @@ private:
|
||||||
|
lengths.push_back(l);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ template <class T>
|
||||||
|
+ static T* get_data(std::vector<T>& v)
|
||||||
|
+ {
|
||||||
|
+ return v.empty() ? 0 : &(v[0]);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
std::vector<MPI_Aint> addresses;
|
||||||
|
std::vector<MPI_Datatype> types;
|
||||||
|
std::vector<int> lengths;
|
||||||
|
Index: boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/boost/mpi/detail/packed_iprimitive.hpp
|
||||||
|
+++ boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp
|
||||||
|
@@ -16,7 +16,6 @@
|
||||||
|
#include <boost/mpi/exception.hpp>
|
||||||
|
#include <boost/assert.hpp>
|
||||||
|
#include <boost/serialization/array.hpp>
|
||||||
|
-#include <boost/serialization/detail/get_data.hpp>
|
||||||
|
#include <vector>
|
||||||
|
#include <boost/mpi/allocator.hpp>
|
||||||
|
|
||||||
|
@@ -104,7 +103,12 @@ private:
|
||||||
|
void load_impl(void * p, MPI_Datatype t, int l)
|
||||||
|
{
|
||||||
|
BOOST_MPI_CHECK_RESULT(MPI_Unpack,
|
||||||
|
- (const_cast<char*>(boost::serialization::detail::get_data(buffer_)), buffer_.size(), &position, p, l, t, comm));
|
||||||
|
+ (get_data(buffer_), buffer_.size(), &position, p, l, t, comm));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ static buffer_type::value_type* get_data(buffer_type& b)
|
||||||
|
+ {
|
||||||
|
+ return b.empty() ? 0 : &(b[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer_type & buffer_;
|
||||||
|
Index: boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/boost/mpi/detail/packed_oprimitive.hpp
|
||||||
|
+++ boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp
|
||||||
|
@@ -15,7 +15,6 @@
|
||||||
|
|
||||||
|
#include <boost/mpi/datatype.hpp>
|
||||||
|
#include <boost/mpi/exception.hpp>
|
||||||
|
-#include <boost/serialization/detail/get_data.hpp>
|
||||||
|
#include <boost/serialization/array.hpp>
|
||||||
|
#include <boost/assert.hpp>
|
||||||
|
#include <vector>
|
||||||
|
@@ -98,13 +97,18 @@ private:
|
||||||
|
|
||||||
|
// pack the data into the buffer
|
||||||
|
BOOST_MPI_CHECK_RESULT(MPI_Pack,
|
||||||
|
- (const_cast<void*>(p), l, t, boost::serialization::detail::get_data(buffer_), buffer_.size(), &position, comm));
|
||||||
|
+ (const_cast<void*>(p), l, t, get_data(buffer_), buffer_.size(), &position, comm));
|
||||||
|
// reduce the buffer size if needed
|
||||||
|
BOOST_ASSERT(std::size_t(position) <= buffer_.size());
|
||||||
|
if (std::size_t(position) < buffer_.size())
|
||||||
|
buffer_.resize(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ static buffer_type::value_type* get_data(buffer_type& b)
|
||||||
|
+ {
|
||||||
|
+ return b.empty() ? 0 : &(b[0]);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
buffer_type& buffer_;
|
||||||
|
mutable std::size_t size_;
|
||||||
|
MPI_Comm comm;
|
||||||
|
Index: boost_1_64_0/boost/mpi/communicator.hpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/boost/mpi/communicator.hpp
|
||||||
|
+++ boost_1_64_0/boost/mpi/communicator.hpp
|
||||||
|
@@ -850,7 +850,7 @@ class BOOST_MPI_DECL communicator
|
||||||
|
optional<graph_communicator> as_graph_communicator() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Determines whether this communicator has a Cartesian topology.
|
||||||
|
+ * Determines whether this communicator has a Graph topology.
|
||||||
|
*/
|
||||||
|
bool has_cartesian_topology() const;
|
||||||
|
|
94
python_library_name.patch
Normal file
94
python_library_name.patch
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
Python module needs to be built without these extra renames.
|
||||||
|
MPI module needs to reference correct python
|
||||||
|
|
||||||
|
~Index: boost_1_64_0/libs/mpi/build/Jamfile.v2
|
||||||
|
~===================================================================
|
||||||
|
~--- boost_1_64_0.orig/libs/mpi/build/Jamfile.v2
|
||||||
|
~+++ boost_1_64_0/libs/mpi/build/Jamfile.v2
|
||||||
|
~@@ -61,10 +61,10 @@ libraries += boost_mpi ;
|
||||||
|
~ lib boost_mpi_python
|
||||||
|
~ : # Sources
|
||||||
|
~ python/serialize.cpp
|
||||||
|
~+ /user-config//boost_python_alias
|
||||||
|
~ : # Requirements
|
||||||
|
~ <library>boost_mpi
|
||||||
|
~ <library>/mpi//mpi [ mpi.extra-requirements ]
|
||||||
|
~- <library>/boost/python//boost_python
|
||||||
|
~ <link>shared:<define>BOOST_MPI_DYN_LINK=1
|
||||||
|
~ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
|
||||||
|
~ <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
|
||||||
|
~@@ -92,8 +92,8 @@ libraries += boost_mpi ;
|
||||||
|
~ python/skeleton_and_content.cpp
|
||||||
|
~ python/status.cpp
|
||||||
|
~ python/py_timer.cpp
|
||||||
|
~+ /user-config//boost_python_alias
|
||||||
|
~ : # Requirements
|
||||||
|
~- <library>/boost/python//boost_python
|
||||||
|
~ <library>boost_mpi_python
|
||||||
|
~ <library>boost_mpi
|
||||||
|
~ <library>/mpi//mpi [ mpi.extra-requirements ]
|
||||||
|
Index: boost_1_64_0/libs/python/build/Jamfile
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/libs/python/build/Jamfile
|
||||||
|
+++ boost_1_64_0/libs/python/build/Jamfile
|
||||||
|
@@ -42,15 +42,15 @@ rule cond ( test ? : yes * : no * ) { if
|
||||||
|
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
|
||||||
|
local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
|
||||||
|
|
||||||
|
-lib_boost_python(2) = boost_python ;
|
||||||
|
-lib_boost_python(3) = boost_python3 ;
|
||||||
|
+#lib_boost_python(2) = boost_python ;
|
||||||
|
+#lib_boost_python(3) = boost_python3 ;
|
||||||
|
|
||||||
|
-lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
|
||||||
|
-lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
|
||||||
|
+#lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
|
||||||
|
+#lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
|
||||||
|
|
||||||
|
rule lib_boost_python ( version )
|
||||||
|
{
|
||||||
|
- lib $(lib_boost_python($(version)))
|
||||||
|
+ lib boost_python #$(lib_boost_python($(version)))
|
||||||
|
: # sources
|
||||||
|
numeric.cpp
|
||||||
|
list.cpp
|
||||||
|
@@ -122,16 +122,16 @@ rule lib_boost_python ( version )
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
-lib_boost_numpy(2) = boost_numpy ;
|
||||||
|
-lib_boost_numpy(3) = boost_numpy3 ;
|
||||||
|
+#lib_boost_numpy(2) = boost_numpy ;
|
||||||
|
+#lib_boost_numpy(3) = boost_numpy3 ;
|
||||||
|
|
||||||
|
-lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ;
|
||||||
|
-lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ;
|
||||||
|
+#lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ;
|
||||||
|
+#lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ;
|
||||||
|
|
||||||
|
rule lib_boost_numpy ( version )
|
||||||
|
{
|
||||||
|
numpy-include = [ python.numpy-include ] ;
|
||||||
|
- lib $(lib_boost_numpy($(version)))
|
||||||
|
+ lib boost_numpy #$(lib_boost_numpy($(version)))
|
||||||
|
: # sources
|
||||||
|
numpy/dtype.cpp
|
||||||
|
numpy/matrix.cpp
|
||||||
|
@@ -173,7 +173,7 @@ for local N in 2 3
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- alias $(lib_boost_python($(N))) ;
|
||||||
|
+ #alias $(lib_boost_python($(N))) ;
|
||||||
|
}
|
||||||
|
if $(py$(N)-version) && [ python.numpy ]
|
||||||
|
{
|
||||||
|
@@ -182,7 +182,7 @@ for local N in 2 3
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- alias $(lib_boost_numpy($(N))) ;
|
||||||
|
+ #alias $(lib_boost_numpy($(N))) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,10 +5,10 @@ MPI requires dl.RTLD_NOW|dl.RTLD_GLOBAL flags to load
|
|||||||
properly.
|
properly.
|
||||||
|
|
||||||
|
|
||||||
Index: boost_1_63_0/libs/mpi/build/__init__.py
|
Index: boost_1_64_0/libs/mpi/build/__init__.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- boost_1_63_0.orig/libs/mpi/build/__init__.py
|
--- boost_1_64_0.orig/libs/mpi/build/__init__.py
|
||||||
+++ boost_1_63_0/libs/mpi/build/__init__.py
|
+++ boost_1_64_0/libs/mpi/build/__init__.py
|
||||||
@@ -1,10 +1,7 @@
|
@@ -1,10 +1,7 @@
|
||||||
import sys
|
import sys
|
||||||
-if sys.platform == 'linux2':
|
-if sys.platform == 'linux2':
|
||||||
|
22
python_numpy_retfunc.patch
Normal file
22
python_numpy_retfunc.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Author: Adam Majer <amajer@suse.de>
|
||||||
|
Date: Tue Apr 4 10:18:49 CEST 2017
|
||||||
|
Summary: rpmlint fixes?
|
||||||
|
|
||||||
|
After build, the following errors were returned.
|
||||||
|
|
||||||
|
[ 110s] libs/python/src/numpy/numpy.cpp: In function 'void* boost::python::numpy::wrap_import_array()':
|
||||||
|
[ 110s] libs/python/src/numpy/numpy.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type]
|
||||||
|
[ 110s] }
|
||||||
|
|
||||||
|
Index: boost_1_64_0/libs/python/src/numpy/numpy.cpp
|
||||||
|
===================================================================
|
||||||
|
--- boost_1_64_0.orig/libs/python/src/numpy/numpy.cpp
|
||||||
|
+++ boost_1_64_0/libs/python/src/numpy/numpy.cpp
|
||||||
|
@@ -19,6 +19,7 @@ static void wrap_import_array()
|
||||||
|
static void * wrap_import_array()
|
||||||
|
{
|
||||||
|
import_array();
|
||||||
|
+ return NULL; // import_array no longer auto-returns?
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
1058
test_lowcase.patch
1058
test_lowcase.patch
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user