Rebase to 1.64.0
This commit is contained in:
parent
a919cdd969
commit
30150eaf49
@ -85,45 +85,3 @@
|
||||
}
|
||||
}
|
||||
else if ! ( --without-mpi in [ modules.peek : ARGV ] )
|
||||
--- boost_1_63_0/libs/python/build/Jamfile 2017-05-19 02:33:53.600132400 -0500
|
||||
+++ boost_1_63_0/libs/python/build/Jamfile 2017-05-19 01:50:43.746550000 -0500
|
||||
@@ -140,7 +140,7 @@ rule lib_boost_numpy ( is-py3 ? )
|
||||
[ cond [ python.numpy ] : <library>/python//python_for_extensions ]
|
||||
[ unless [ python.numpy ] : <build>no ]
|
||||
<include>$(numpy-include)
|
||||
- <library>boost_python
|
||||
+ [ cond $(is-py3) : <library>boost_python3 : <library>boost_python ]
|
||||
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
|
||||
[ cond $(is-py3) : <python>$(py3-version) ]
|
||||
|
||||
@@ -154,22 +154,25 @@ rule lib_boost_numpy ( is-py3 ? )
|
||||
;
|
||||
}
|
||||
|
||||
-libraries = boost_python ;
|
||||
+libraries2 = boost_python ;
|
||||
libraries3 = boost_python3 ;
|
||||
if [ python.numpy ]
|
||||
{
|
||||
- libraries += boost_numpy ;
|
||||
+ libraries2 += boost_numpy ;
|
||||
libraries3 += boost_numpy3 ;
|
||||
}
|
||||
|
||||
-lib_boost_python ;
|
||||
-lib_boost_numpy ;
|
||||
-
|
||||
if $(py3-version)
|
||||
{
|
||||
lib_boost_python yes ;
|
||||
lib_boost_numpy yes ;
|
||||
libraries += $(libraries3) ;
|
||||
}
|
||||
+else
|
||||
+{
|
||||
+ lib_boost_python ;
|
||||
+ lib_boost_numpy ;
|
||||
+ libraries += $(libraries2) ;
|
||||
+}
|
||||
|
||||
boost-install $(libraries) ;
|
||||
|
25
boost-1.64.0-dual-python-build.patch
Normal file
25
boost-1.64.0-dual-python-build.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- boost_1_64_0/tools/build/src/tools/python.jam
|
||||
+++ boost_1_64_0/tools/build/src/tools/python.jam
|
||||
@@ -939,14 +939,14 @@
|
||||
# for a particular target OS as the default. This makes it so that we can
|
||||
# select a python interpreter with only knowledge of the target OS. And hence
|
||||
# can configure different Pythons based on the target OS only.
|
||||
- local toolset-requirements = [ toolset.requirements ] ;
|
||||
- local toolset-target-os-requirements
|
||||
- = [ property.evaluate-conditionals-in-context
|
||||
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
|
||||
- if ! <python> in $(toolset-target-os-requirements:G)
|
||||
- {
|
||||
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
|
||||
- }
|
||||
+ #local toolset-requirements = [ toolset.requirements ] ;
|
||||
+ #local toolset-target-os-requirements
|
||||
+ # = [ property.evaluate-conditionals-in-context
|
||||
+ # [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
|
||||
+ #if ! <python> in $(toolset-target-os-requirements:G)
|
||||
+ #{
|
||||
+ # toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
|
||||
+ #}
|
||||
|
||||
# Register the right suffix for extensions.
|
||||
register-extension-suffix $(extension-suffix) : $(target-requirements) ;
|
119
boost-1.64.0-mpi-get_data.patch
Normal file
119
boost-1.64.0-mpi-get_data.patch
Normal file
@ -0,0 +1,119 @@
|
||||
From babaa35f51d8b009eba762bc50a5290906b4b0ca Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Thu, 26 Jan 2017 20:15:19 +0000
|
||||
Subject: [PATCH] Replace boost::serialization::detail::get_data function.
|
||||
|
||||
---
|
||||
include/boost/mpi/detail/mpi_datatype_primitive.hpp | 19 ++++++++++++-------
|
||||
include/boost/mpi/detail/packed_iprimitive.hpp | 8 ++++++--
|
||||
include/boost/mpi/detail/packed_oprimitive.hpp | 8 ++++++--
|
||||
3 files changed, 24 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/boost/mpi/detail/mpi_datatype_primitive.hpp b/include/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||
index c230055..b95fc38 100644
|
||||
--- a/include/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||
+++ b/include/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 @@ class mpi_datatype_primitive
|
||||
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 @@ class mpi_datatype_primitive
|
||||
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;
|
||||
diff --git a/include/boost/mpi/detail/packed_iprimitive.hpp b/include/boost/mpi/detail/packed_iprimitive.hpp
|
||||
index 7080cbf..227dc8e 100644
|
||||
--- a/include/boost/mpi/detail/packed_iprimitive.hpp
|
||||
+++ b/include/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 @@ class BOOST_MPI_DECL packed_iprimitive
|
||||
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_;
|
||||
diff --git a/include/boost/mpi/detail/packed_oprimitive.hpp b/include/boost/mpi/detail/packed_oprimitive.hpp
|
||||
index fbcde9a..3c81a70 100644
|
||||
--- a/include/boost/mpi/detail/packed_oprimitive.hpp
|
||||
+++ b/include/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>
|
||||
@@ -103,13 +102,18 @@ class BOOST_MPI_DECL packed_oprimitive
|
||||
|
||||
// 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;
|
21
boost-1.64.0-mpi-make_array.patch
Normal file
21
boost-1.64.0-mpi-make_array.patch
Normal file
@ -0,0 +1,21 @@
|
||||
From ab924bb5abfa4c00ad11c21632adf97c002ac481 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Thu, 26 Jan 2017 21:52:37 +0000
|
||||
Subject: [PATCH] Add header for serialization::make_array
|
||||
|
||||
---
|
||||
include/boost/mpi/python/serialize.hpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/include/boost/mpi/python/serialize.hpp b/include/boost/mpi/python/serialize.hpp
|
||||
index 5f9136b..8933b34 100644
|
||||
--- a/include/boost/mpi/python/serialize.hpp
|
||||
+++ b/include/boost/mpi/python/serialize.hpp
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
#include <boost/serialization/split_free.hpp>
|
||||
#include <boost/serialization/array.hpp>
|
||||
+#include <boost/serialization/array_wrapper.hpp>
|
||||
|
||||
#include <boost/assert.hpp>
|
||||
|
16
boost.spec
16
boost.spec
@ -33,9 +33,9 @@
|
||||
|
||||
Name: boost
|
||||
Summary: The free peer-reviewed portable C++ source libraries
|
||||
Version: 1.63.0
|
||||
%global version_enc 1_63_0
|
||||
Release: 9%{?dist}
|
||||
Version: 1.64.0
|
||||
%global version_enc 1_64_0
|
||||
Release: 0.1%{?dist}
|
||||
License: Boost and MIT and Python
|
||||
|
||||
%global toplev_dirname %{name}_%{version_enc}
|
||||
@ -133,6 +133,11 @@ Patch82: boost-1.60.0-no-rpath.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1451982
|
||||
Patch83: boost-1.63.0-dual-python-build-v2.patch
|
||||
|
||||
# https://github.com/boostorg/mpi/pull/39
|
||||
Patch84: boost-1.64.0-mpi-get_data.patch
|
||||
# https://github.com/boostorg/mpi/pull/40
|
||||
Patch85: boost-1.64.0-mpi-make_array.patch
|
||||
|
||||
%bcond_with tests
|
||||
%bcond_with docs_generated
|
||||
|
||||
@ -748,6 +753,8 @@ a number of significant features and is now developed independently
|
||||
%patch68 -p1
|
||||
%patch82 -p0
|
||||
%patch83 -p1
|
||||
%patch84 -p2
|
||||
%patch85 -p2
|
||||
|
||||
# At least python2_version needs to be a macro so that it's visible in
|
||||
# %%install as well.
|
||||
@ -1537,6 +1544,9 @@ fi
|
||||
%{_mandir}/man1/bjam.1*
|
||||
|
||||
%changelog
|
||||
* Sat Jul 01 2017 Jonathan Wakely <jwakely@redhat.com> - 1.64.0-0.1
|
||||
- Rebase to 1.64.0
|
||||
|
||||
* Sat Jul 01 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 1.63.0-9
|
||||
- Add numpy and numpy3 packages (#1451982)
|
||||
- Fix location of openmpi-python and mpich-python modules
|
||||
|
Loading…
Reference in New Issue
Block a user