summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2019-12-23 00:12:28 +0100
committerDavid Seifert <soap@gentoo.org>2019-12-23 00:12:28 +0100
commitaf50ab943bce9e10c97e47ea5c7da87e11b51be9 (patch)
tree2e7371d70ed4a6db644a802d9969737746234508 /dev-libs/boost/boost-1.72.0.ebuild
parentdev-libs/libzip: arm64 stable (bug #703556) (diff)
downloadgentoo-af50ab943bce9e10c97e47ea5c7da87e11b51be9.tar.gz
gentoo-af50ab943bce9e10c97e47ea5c7da87e11b51be9.tar.bz2
gentoo-af50ab943bce9e10c97e47ea5c7da87e11b51be9.zip
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 <soap@gentoo.org>
Diffstat (limited to 'dev-libs/boost/boost-1.72.0.ebuild')
-rw-r--r--dev-libs/boost/boost-1.72.0.ebuild21
1 files changed, 20 insertions, 1 deletions
diff --git a/dev-libs/boost/boost-1.72.0.ebuild b/dev-libs/boost/boost-1.72.0.ebuild
index ca52c5105fe1..3417b408e432 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