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 @@