From 1f4cdea811496e9740761a1718f50d1fd4dfdd96 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Thu, 7 Sep 2017 00:22:23 +0200 Subject: [PATCH] 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 --- .../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 e960edb87033..079160218ea2 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 +- boost_mpi +- /mpi//mpi [ mpi.extra-requirements ] +- /boost/python//$(lib_boost_python($(py$(N)-version))) +- shared:BOOST_MPI_DYN_LINK=1 +- shared:BOOST_MPI_PYTHON_DYN_LINK=1 +- shared:BOOST_PYTHON_DYN_LINK=1 +- BOOST_MPI_PYTHON_SOURCE=1 +- -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag +- @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag +- on:BOOST_DEBUG_PYTHON +- $(py$(N)-version) +- : # Default build +- shared +- : # Usage requirements +- /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 +- /boost/python//$(lib_boost_python($(py$(N)-version))) +- $(lib_boost_mpi_python($(py$(N)-version))) +- boost_mpi +- /mpi//mpi [ mpi.extra-requirements ] +- shared:BOOST_MPI_DYN_LINK=1 +- shared:BOOST_MPI_PYTHON_DYN_LINK=1 +- shared:BOOST_PYTHON_DYN_LINK=1 +- shared shared +- on:BOOST_DEBUG_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 ++ boost_mpi ++ /mpi//mpi [ mpi.extra-requirements ] ++ /boost/python//boost_python ++ shared:BOOST_MPI_DYN_LINK=1 ++ shared:BOOST_MPI_PYTHON_DYN_LINK=1 ++ shared:BOOST_PYTHON_DYN_LINK=1 ++ BOOST_MPI_PYTHON_SOURCE=1 ++ -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag ++ @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag ++ : # Default build ++ shared ++ : # Usage requirements ++ /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 ++ /boost/python//boost_python ++ boost_mpi_python ++ boost_mpi ++ /mpi//mpi [ mpi.extra-requirements ] ++ shared:BOOST_MPI_DYN_LINK=1 ++ shared:BOOST_MPI_PYTHON_DYN_LINK=1 ++ shared:BOOST_PYTHON_DYN_LINK=1 ++ shared shared ++ ; + } + } + else if ! ( --without-mpi in [ modules.peek : ARGV ] ) --- a/libs/python/build/Jamfile +++ b/libs/python/build/Jamfile @@ -31,26 +31,23 @@ -- 2.26.2