From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id ACD33138334 for ; Sun, 22 Dec 2019 23:12:45 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D6CADE0D00; Sun, 22 Dec 2019 23:12:43 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id AE63AE0D00 for ; Sun, 22 Dec 2019 23:12:43 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 48E9C34DA9B for ; Sun, 22 Dec 2019 23:12:42 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 41F771AFB5 for ; Sun, 22 Dec 2019 23:12:40 +0000 (UTC) From: "David Seifert" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "David Seifert" Message-ID: <1577056348.af50ab943bce9e10c97e47ea5c7da87e11b51be9.soap@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/files/, dev-libs/boost/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-libs/boost/boost-1.72.0.ebuild dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch X-VCS-Directories: dev-libs/boost/files/ dev-libs/boost/ X-VCS-Committer: soap X-VCS-Committer-Name: David Seifert X-VCS-Revision: af50ab943bce9e10c97e47ea5c7da87e11b51be9 X-VCS-Branch: master Date: Sun, 22 Dec 2019 23:12:40 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 64cfd6c6-ebc3-40c4-a5e5-f7dddba41a68 X-Archives-Hash: 487ebf01b619e49857403a7cadb68003 commit: af50ab943bce9e10c97e47ea5c7da87e11b51be9 Author: David Seifert gentoo org> AuthorDate: Sun Dec 22 23:12:28 2019 +0000 Commit: David Seifert gentoo org> CommitDate: Sun Dec 22 23:12:28 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af50ab94 dev-libs/boost: Fix Boost.MPI with python * A big thanks goes out to @pdimov in helping me patch Boost.Build to produce per py-impl MPI variants. Closes: boostorg/mpi#112 Closes: https://bugs.gentoo.org/703036 Package-Manager: Portage-2.3.82, Repoman-2.3.20 Signed-off-by: David Seifert gentoo.org> dev-libs/boost/boost-1.72.0.ebuild | 21 ++++++++- .../files/boost-1.72.0-boost-mpi-python.patch | 50 ++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/dev-libs/boost/boost-1.72.0.ebuild b/dev-libs/boost/boost-1.72.0.ebuild index ca52c5105fe..3417b408e43 100644 --- a/dev-libs/boost/boost-1.72.0.ebuild +++ b/dev-libs/boost/boost-1.72.0.ebuild @@ -56,6 +56,8 @@ PATCHES=( "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch # Bug 703294, incomplete Boost.Serialization refactoring "${FILESDIR}"/${PN}-1.72.0-missing-serialization-split_member-include.patch + # Bug 703036, per python-impl Boost.MPI + "${FILESDIR}"/${PN}-1.72.0-boost-mpi-python.patch ) python_bindings_needed() { @@ -217,7 +219,24 @@ multilib_src_install_all() { rm -r "${ED}"/usr/include/boost/python/numpy* || die fi - if ! use python; then + if use python; then + if use mpi; then + move_mpi_py_into_sitedir() { + local pyver="${EPYTHON#python}" + python_moduleinto boost + python_domodule "${ED}"/usr/$(get_libdir)/mpi${pyver/./}.so + rm "${ED}"/usr/$(get_libdir)/mpi${pyver/./}* || die + dosym mpi${pyver/./}.so $(python_get_sitedir)/boost/mpi.so + + # create a proper python package + touch "${D}"/$(python_get_sitedir)/boost/__init__.py || die + python_optimize + } + python_foreach_impl move_mpi_py_into_sitedir + else + rm -r "${ED}"/usr/include/boost/mpi/python* || die + fi + else rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die fi diff --git a/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch b/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch new file mode 100644 index 00000000000..8fb164a6278 --- /dev/null +++ b/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch @@ -0,0 +1,50 @@ +Tag Boost.MPI python impls properly to avoid name clash +https://github.com/boostorg/mpi/issues/112 + +--- a/boostcpp.jam ++++ b/boostcpp.jam +@@ -185,7 +185,7 @@ + + rule tag ( name : type ? : property-set ) + { +- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB ++ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION + { + local args = $(.format-name-args) ; + if $(layout) = versioned +@@ -223,7 +223,7 @@ + { + local result = $(name) ; + +- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB ++ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION + { + # Add Python version suffix + +--- a/libs/mpi/build/Jamfile.v2 ++++ b/libs/mpi/build/Jamfile.v2 +@@ -58,13 +58,13 @@ + rule python-tag ( name : type ? : property-set ) + { + local result = $(name) ; +- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB ++ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION + { + local version = [ $(property-set).get ] ; + local lib-suffix = [ version-suffix $(version) ] ; + result = $(result)$(lib-suffix) ; + } +- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID) ++ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION && $(PYTHON_ID) + { + result = $(result)-$(PYTHON_ID) ; + } +@@ -168,6 +168,8 @@ + shared:BOOST_PYTHON_DYN_LINK=1 + shared shared + on:BOOST_DEBUG_PYTHON ++ -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag ++ @$(__name__).python-tag + ; + + mpi_python_libs = boost_mpi_python mpi ;