commit:     1f4cdea811496e9740761a1718f50d1fd4dfdd96
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  6 22:22:23 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed Sep  6 22:22:47 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f4cdea8

dev-libs/boost: Fix python multi-impl MPI handling

Bug: https://bugs.gentoo.org/show_bug.cgi?id=629848
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-libs/boost/files/boost-1.65.0-fix-python.patch | 128 +++++++++++++++++++++
 1 file changed, 128 insertions(+)

diff --git a/dev-libs/boost/files/boost-1.65.0-fix-python.patch 
b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
index e960edb8703..079160218ea 100644
--- a/dev-libs/boost/files/boost-1.65.0-fix-python.patch
+++ b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
@@ -9,6 +9,134 @@
  }
  
  
+--- a/libs/mpi/build/Jamfile.v2
++++ b/libs/mpi/build/Jamfile.v2
+@@ -58,81 +58,50 @@
+ 
+   if [ python.configured ]
+   {
+-    py2-version = [ py-version 2 ] ;
+-    py3-version = [ py-version 3 ] ;
+-
+-    # These library names are synchronized with those defined by 
Boost.Python, see libs/python/build/Jamfile.
+-    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_mpi_python(2) = boost_mpi_python ;
+-    lib_boost_mpi_python(3) = boost_mpi_python3 ;
+-
+-    lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ;
+-    lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ;
+-
+-    for local N in 2 3
+-    {
+-        if $(py$(N)-version)
+-        {
+-            lib $(lib_boost_mpi_python($(py$(N)-version)))
+-              : # Sources
+-                python/serialize.cpp
+-              : # Requirements
+-                <library>boost_mpi
+-                <library>/mpi//mpi [ mpi.extra-requirements ]
+-                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
+-                <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
+-                <define>BOOST_MPI_PYTHON_SOURCE=1
+-                -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+-                
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
+-                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-                <python>$(py$(N)-version)
+-              : # Default build
+-                <link>shared
+-              : # Usage requirements
+-                <library>/mpi//mpi [ mpi.extra-requirements ]
+-              ;
+-
+-            python-extension mpi
+-              : # Sources
+-                python/collectives.cpp
+-                python/py_communicator.cpp
+-                python/datatypes.cpp
+-                python/documentation.cpp
+-                python/py_environment.cpp
+-                python/py_nonblocking.cpp
+-                python/py_exception.cpp
+-                python/module.cpp
+-                python/py_request.cpp
+-                python/skeleton_and_content.cpp
+-                python/status.cpp
+-                python/py_timer.cpp
+-              : # Requirements
+-                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
+-                <library>$(lib_boost_mpi_python($(py$(N)-version)))
+-                <library>boost_mpi
+-                <library>/mpi//mpi [ mpi.extra-requirements ]
+-                <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
+-                <link>shared <runtime-link>shared
+-                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-                <python>$(py$(N)-version)
+-              ;
+-
+-            libraries += $(lib_boost_mpi_python($(py$(N)-version))) ;
+-        }
+-        else
+-        {
+-            alias $(lib_boost_mpi_python($(N))) ;
+-        }
+-    }
++    lib boost_mpi_python
++      : # Sources
++        python/serialize.cpp
++      : # 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
++        <define>BOOST_MPI_PYTHON_SOURCE=1
++      -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
++      <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
++      : # Default build
++        <link>shared
++      : # Usage requirements
++        <library>/mpi//mpi [ mpi.extra-requirements ]
++      ;
++    libraries += boost_mpi_python ;
++
++    python-extension mpi
++      : # Sources
++        python/collectives.cpp
++        python/py_communicator.cpp
++        python/datatypes.cpp
++        python/documentation.cpp
++        python/py_environment.cpp
++        python/py_nonblocking.cpp
++        python/py_exception.cpp
++        python/module.cpp
++        python/py_request.cpp
++        python/skeleton_and_content.cpp
++        python/status.cpp
++        python/py_timer.cpp
++      : # Requirements
++              <library>/boost/python//boost_python
++        <library>boost_mpi_python
++        <library>boost_mpi
++        <library>/mpi//mpi [ mpi.extra-requirements ]
++        <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
++        <link>shared <runtime-link>shared
++      ;
+   }
+ }
+ else if ! ( --without-mpi in  [ modules.peek : ARGV ] )
 --- a/libs/python/build/Jamfile
 +++ b/libs/python/build/Jamfile
 @@ -31,26 +31,23 @@

Reply via email to