Add numpy and numpy3 packages (#1451982)

This commit is contained in:
Jonathan Wakely 2017-07-01 13:14:36 +01:00
parent 7ace5f0128
commit a919cdd969
3 changed files with 401 additions and 66 deletions

View File

@ -0,0 +1,129 @@
--- boost_1_63_0/libs/mpi/build/Jamfile.v2 2016-12-22 06:33:17.000000000 -0600
+++ boost_1_63_0/libs/mpi/build/Jamfile.v2 2017-05-19 01:45:05.485563800 -0500
@@ -11,6 +11,7 @@
import mpi ;
import indirect ;
import python ;
+import feature ;
libraries = ;
@@ -53,18 +54,38 @@ lib boost_mpi
<library>../../serialization/build//boost_serialization
<library>/mpi//mpi [ mpi.extra-requirements ]
;
+
+rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
libraries += boost_mpi ;
+rule find-py3-version
+{
+ local versions = [ feature.values python ] ;
+ local py3ver ;
+ for local v in $(versions)
+ {
+ if $(v) >= 3.0
+ {
+ py3ver = $(v) ;
+ }
+ }
+ return $(py3ver) ;
+}
+
+py3-version = [ find-py3-version ] ;
if [ python.configured ]
{
- lib boost_mpi_python
+
+ rule lib_boost_mpi_python ( is-py3 ? ) {
+
+ lib [ cond $(is-py3) : boost_mpi_python3 : boost_mpi_python ]
: # Sources
python/serialize.cpp
: # Requirements
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
- <library>/boost/python//boost_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <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
@@ -76,7 +97,6 @@ libraries += boost_mpi ;
: # Usage requirements
<library>/mpi//mpi [ mpi.extra-requirements ]
;
- libraries += boost_mpi_python ;
python-extension mpi
: # Sources
@@ -93,8 +113,8 @@ libraries += boost_mpi ;
python/status.cpp
python/py_timer.cpp
: # Requirements
- <library>/boost/python//boost_python
- <library>boost_mpi_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
+ [ cond $(is-py3) : <library>boost_mpi_python3 : <library>boost_mpi_python ]
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
@@ -102,6 +122,16 @@ libraries += boost_mpi ;
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
<link>shared <runtime-link>shared
;
+ }
+
+ if $(py3-version) {
+ lib_boost_mpi_python yes ;
+ libraries += boost_mpi_python3 ;
+ } else {
+ lib_boost_mpi_python ;
+ libraries += boost_mpi_python ;
+ }
+
}
}
else if ! ( --without-mpi in [ modules.peek : ARGV ] )
--- boost_1_63_0/libs/python/build/Jamfile 2017-05-19 02:33:53.600132400 -0500
+++ boost_1_63_0/libs/python/build/Jamfile 2017-05-19 01:50:43.746550000 -0500
@@ -140,7 +140,7 @@ rule lib_boost_numpy ( is-py3 ? )
[ cond [ python.numpy ] : <library>/python//python_for_extensions ]
[ unless [ python.numpy ] : <build>no ]
<include>$(numpy-include)
- <library>boost_python
+ [ cond $(is-py3) : <library>boost_python3 : <library>boost_python ]
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
[ cond $(is-py3) : <python>$(py3-version) ]
@@ -154,22 +154,25 @@ rule lib_boost_numpy ( is-py3 ? )
;
}
-libraries = boost_python ;
+libraries2 = boost_python ;
libraries3 = boost_python3 ;
if [ python.numpy ]
{
- libraries += boost_numpy ;
+ libraries2 += boost_numpy ;
libraries3 += boost_numpy3 ;
}
-lib_boost_python ;
-lib_boost_numpy ;
-
if $(py3-version)
{
lib_boost_python yes ;
lib_boost_numpy yes ;
libraries += $(libraries3) ;
}
+else
+{
+ lib_boost_python ;
+ lib_boost_numpy ;
+ libraries += $(libraries2) ;
+}
boost-install $(libraries) ;

View File

@ -1,46 +0,0 @@
--- boost_1_63_0/tools/build/src/tools/python.jam.orig 2017-02-16 18:51:14.005483084 +0000
+++ boost_1_63_0/tools/build/src/tools/python.jam 2017-02-16 18:51:24.912497496 +0000
@@ -926,27 +926,27 @@
# for a particular target OS as the default. This makes it so that we can
# select a python interpreter with only knowledge of the target OS. And hence
# can configure different Pythons based on the target OS only.
- local toolset-requirements = [ toolset.requirements ] ;
- local toolset-target-os-requirements
- = [ property.evaluate-conditionals-in-context
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
- if ! <python> in $(toolset-target-os-requirements:G)
- {
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
- }
+ #local toolset-requirements = [ toolset.requirements ] ;
+ #local toolset-target-os-requirements
+ # = [ property.evaluate-conditionals-in-context
+ # [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
+ #if ! <python> in $(toolset-target-os-requirements:G)
+ #{
+ # toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
+ #}
# We also set a default requirement that assigns the first python configured
# for a particular target OS as the default. This makes it so that we can
# select a python interpreter with only knowledge of the target OS. And hence
# can configure different Pythons based on the target OS only.
- local toolset-requirements = [ toolset.requirements ] ;
- local toolset-target-os-requirements
- = [ property.evaluate-conditionals-in-context
- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
- if ! <python> in $(toolset-target-os-requirements:G)
- {
- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
- }
+ #local toolset-requirements = [ toolset.requirements ] ;
+ #local toolset-target-os-requirements
+ # = [ property.evaluate-conditionals-in-context
+ # [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
+ #if ! <python> in $(toolset-target-os-requirements:G)
+ #{
+ # toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
+ #}
# Register the right suffix for extensions.
register-extension-suffix $(extension-suffix) : $(target-requirements) ;

View File

@ -35,7 +35,7 @@ Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.63.0
%global version_enc 1_63_0
Release: 8%{?dist}
Release: 9%{?dist}
License: Boost and MIT and Python
%global toplev_dirname %{name}_%{version_enc}
@ -70,6 +70,7 @@ Requires: boost-iostreams%{?_isa} = %{version}-%{release}
Requires: boost-locale%{?_isa} = %{version}-%{release}
Requires: boost-log%{?_isa} = %{version}-%{release}
Requires: boost-math%{?_isa} = %{version}-%{release}
Requires: boost-numpy%{?_isa} = %{version}-%{release}
Requires: boost-program-options%{?_isa} = %{version}-%{release}
Requires: boost-python%{?_isa} = %{version}-%{release}
Requires: boost-random%{?_isa} = %{version}-%{release}
@ -88,8 +89,10 @@ BuildRequires: libstdc++-devel
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
BuildRequires: python-devel
BuildRequires: python2-numpy
%if %{with python3}
BuildRequires: python3-devel
BuildRequires: python3-numpy
%endif
BuildRequires: libicu-devel
%if %{with quadmath}
@ -127,8 +130,8 @@ Patch68: boost-1.58.0-address-model.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch82: boost-1.60.0-no-rpath.patch
# https://github.com/boostorg/build/issues/163
Patch83: boost-1.63.0-dual-python-build.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1451982
Patch83: boost-1.63.0-dual-python-build-v2.patch
%bcond_with tests
%bcond_with docs_generated
@ -280,6 +283,38 @@ Requires: libquadmath%{?_isa}
Run-time support for C99 and C++ TR1 C-style Functions from the math
portion of Boost.TR1.
%package numpy
Summary: Run-time component of boost python numpy extension
Group: System Environment/Libraries
Requires: boost-python%{?_isa} = %{version}-%{release}
Requires: python2-numpy
%description numpy
The Boost Python Library is a framework for interfacing Python and
C++. It allows you to quickly and seamlessly expose C++ classes,
functions and objects to Python, and vice versa, using no special
tools -- just your C++ compiler. This package contains run-time
support for the NumPy extension of the Boost Python Library.
%if %{with python3}
%package numpy3
Summary: Run-time component of boost numpy library for Python 3
Group: System Environment/Libraries
Requires: boost-python3%{?_isa} = %{version}-%{release}
Requires: python3-numpy
%description numpy3
The Boost Python Library is a framework for interfacing Python and
C++. It allows you to quickly and seamlessly expose C++ classes,
functions and objects to Python, and vice versa, using no special
tools -- just your C++ compiler. This package contains run-time
support for the NumPy extension of the Boost Python Library for Python 3.
%endif
%package program-options
Summary: Run-time component of boost program_options library
Group: System Environment/Libraries
@ -319,6 +354,7 @@ support for Boost Python Library compiled for Python 3.
%package python3-devel
Summary: Shared object symbolic links for Boost.Python 3
Group: System Environment/Libraries
Requires: boost-numpy3%{?_isa} = %{version}-%{release}
Requires: boost-python3%{?_isa} = %{version}-%{release}
Requires: boost-devel%{?_isa} = %{version}-%{release}
@ -520,12 +556,43 @@ Group: System Environment/Libraries
Requires: boost-openmpi%{?_isa} = %{version}-%{release}
Requires: boost-python%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: python2-openmpi%{?_isa}
%description openmpi-python
Python support for Boost.MPI-OpenMPI, a library providing a clean C++
API over the OpenMPI implementation of MPI.
%if %{with python3}
%package openmpi-python3
Summary: Python 3 run-time component of Boost.MPI library
Group: System Environment/Libraries
Requires: boost-openmpi%{?_isa} = %{version}-%{release}
Requires: boost-python3%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: python3-openmpi%{?_isa}
%description openmpi-python3
Python 3 support for Boost.MPI-OpenMPI, a library providing a clean C++
API over the OpenMPI implementation of MPI.
%package openmpi-python3-devel
Summary: Shared library symbolic links for Boost.MPI Python 3 component
Group: System Environment/Libraries
Requires: boost-devel%{?_isa} = %{version}-%{release}
Requires: boost-python3-devel%{?_isa} = %{version}-%{release}
Requires: boost-openmpi-devel%{?_isa} = %{version}-%{release}
Requires: boost-openmpi-python3%{?_isa} = %{version}-%{release}
%description openmpi-python3-devel
Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library
providing a clean C++ API over the OpenMPI implementation of MPI.
%endif
%package graph-openmpi
Summary: Run-time component of parallel boost graph library
Group: System Environment/Libraries
@ -580,12 +647,43 @@ Requires: boost-python%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Provides: boost-mpich2-python = %{version}-%{release}
Obsoletes: boost-mpich2-python < 1.53.0-9
Requires: python2-mpich%{?_isa}
%description mpich-python
Python support for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%if %{with python3}
%package mpich-python3
Summary: Python 3 run-time component of Boost.MPI library
Group: System Environment/Libraries
Requires: boost-mpich%{?_isa} = %{version}-%{release}
Requires: boost-python3%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: python3-mpich%{?_isa}
%description mpich-python3
Python 3 support for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%package mpich-python3-devel
Summary: Shared library symbolic links for Boost.MPI Python 3 component
Group: System Environment/Libraries
Requires: boost-devel%{?_isa} = %{version}-%{release}
Requires: boost-python3-devel%{?_isa} = %{version}-%{release}
Requires: boost-mpich-devel%{?_isa} = %{version}-%{release}
Requires: boost-mpich-python3%{?_isa} = %{version}-%{release}
%description mpich-python3-devel
Devel package for the Python 3 interface of Boost.MPI-MPICH, a library
providing a clean C++ API over the MPICH implementation of MPI.
%endif
%package graph-mpich
Summary: Run-time component of parallel boost graph library
Group: System Environment/Libraries
@ -679,10 +777,7 @@ using gcc : : : <compileflags>$(RPM_OPT_FLAGS) ;
%if %{with openmpi} || %{with mpich}
using mpi ;
%endif
%if %{with python3}
using python : %{python2_version} : /usr/bin/python2 : /usr/include/python%{python2_version} : : : : ;
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ;
%endif
EOF
./bootstrap.sh --with-toolset=gcc --with-icu
@ -691,13 +786,6 @@ EOF
# library in particular) end up being built second time during
# installation. Unsure why that is, but all sub-builds need to be
# built with pch=off to avoid this.
#
# The "python=2.*" bit tells jam that we want to _also_ build 2.*, not
# just 3.*. When omitted, it just builds for python 3 twice, once
# calling the library libboost_python and once libboost_python3. I
# assume this is for backward compatibility for apps that are used to
# linking against -lboost_python, for when 2->3 transition is
# eventually done.
echo ============================= build serial ==================
./b2 -d+2 -q %{?_smp_mflags} \
@ -720,6 +808,33 @@ fi
m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \
%{SOURCE2} > $(basename %{SOURCE2})
%if %{with python3}
# Previously, we built python 2.x and 3.x interfaces simultaneously.
# However, this doesn't work once trying to build other Python components
# such as libboost_numpy. Therefore, we build for each separately, while
# minimizing duplicate compilation as much as possible.
cat > python3-config.jam << "EOF"
import os ;
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
using gcc : : : <compileflags>$(RPM_OPT_FLAGS) ;
%if %{with openmpi} || %{with mpich}
using mpi ;
%endif
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}%{python3_abiflags} : : : : %{python3_abiflags} ;
EOF
echo ============================= build serial-py3 ==================
./b2 -d+2 -q %{?_smp_mflags} \
--user-config=./python3-config.jam \
--with-python --build-dir=serial-py3 \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
%endif
# Build MPI parts of Boost with OpenMPI support
%if %{with openmpi} || %{with mpich}
@ -728,9 +843,6 @@ m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} \
module purge ||:
%endif
# N.B. python=2.* here behaves differently: it exactly selects a
# version that we want to build against. Boost MPI is not portable to
# Python 3 due to API changes in Python, so this suits us.
%if %{with openmpi}
%{_openmpi_load}
echo ============================= build $MPI_COMPILER ==================
@ -738,6 +850,16 @@ echo ============================= build $MPI_COMPILER ==================
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
%if %{with python3}
echo ============================= build $MPI_COMPILER-py3 ==================
./b2 -d+2 -q %{?_smp_mflags} \
--user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
%endif
%{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -750,6 +872,16 @@ echo ============================= build $MPI_COMPILER ==================
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
%if %{with python3}
echo ============================= build $MPI_COMPILER-py3 ==================
./b2 -d+2 -q %{?_smp_mflags} \
--user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
%endif
%{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -782,6 +914,28 @@ echo ============================= install $MPI_COMPILER ==================
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
# Move Python module to proper location for automatic loading
mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost
touch ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/
%if %{with python3}
echo ============================= install $MPI_COMPILER-py3 ==================
./b2 -q %{?_smp_mflags} \
--user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
# Move Python module to proper location for automatic loading
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
%endif
# Remove generic parts of boost that were built for dependencies.
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
@ -798,6 +952,28 @@ echo ============================= install $MPI_COMPILER ==================
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
# Move Python module to proper location for automatic loading
mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost
touch ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/
%if %{with python3}
echo ============================= install $MPI_COMPILER-py3 ==================
./b2 -q %{?_smp_mflags} \
--user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
# Move Python module to proper location for automatic loading
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
%endif
# Remove generic parts of boost that were built for dependencies.
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
@ -823,6 +999,18 @@ echo ============================= install serial ==================
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
install -p -m 644 $(basename %{SOURCE2}) $RPM_BUILD_ROOT%{_libdir}/
%if %{with python3}
echo ============================= install serial-py3 ==================
./b2 -d+2 -q %{?_smp_mflags} \
--user-config=python3-config.jam \
--with-python --build-dir=serial-py3 \
--prefix=$RPM_BUILD_ROOT%{_prefix} \
--libdir=$RPM_BUILD_ROOT%{_libdir} \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} install
%endif
echo ============================= install Boost.Build ==================
(cd tools/build
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
@ -974,6 +1162,16 @@ rm -f tmp-doc-directories
%postun math -p /sbin/ldconfig
%post numpy -p /sbin/ldconfig
%postun numpy -p /sbin/ldconfig
%if %{with python3}
%post numpy3 -p /sbin/ldconfig
%postun numpy3 -p /sbin/ldconfig
%endif
%post program-options -p /sbin/ldconfig
%postun program-options -p /sbin/ldconfig
@ -982,6 +1180,12 @@ rm -f tmp-doc-directories
%postun python -p /sbin/ldconfig
%if %{with python3}
%post python3 -p /sbin/ldconfig
%postun python3 -p /sbin/ldconfig
%endif
%post random -p /sbin/ldconfig
%postun random -p /sbin/ldconfig
@ -1115,6 +1319,16 @@ fi
%{_libdir}/libboost_math_tr1f.so.%{sonamever}
%{_libdir}/libboost_math_tr1l.so.%{sonamever}
%files numpy
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy.so.%{sonamever}
%if %{with python3}
%files numpy3
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy3.so.%{sonamever}
%endif
%files test
%license LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever}
@ -1135,6 +1349,7 @@ fi
%files python3-devel
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy3.so
%{_libdir}/libboost_python3.so
%endif
@ -1207,6 +1422,7 @@ fi
%{_libdir}/libboost_math_c99.so
%{_libdir}/libboost_math_c99f.so
%{_libdir}/libboost_math_c99l.so
%{_libdir}/libboost_numpy.so
%{_libdir}/libboost_prg_exec_monitor.so
%{_libdir}/libboost_unit_test_framework.so
%{_libdir}/libboost_program_options.so
@ -1241,12 +1457,27 @@ fi
%files openmpi-devel
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_*.so
%{_libdir}/openmpi/lib/libboost_mpi.so
%{_libdir}/openmpi/lib/libboost_mpi_python.so
%{_libdir}/openmpi/lib/libboost_graph_parallel.so
%files openmpi-python
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python.so.%{sonamever}
%{_libdir}/openmpi/lib/mpi.so
%{python2_sitearch}/openmpi/boost/
%if %{with python3}
%files openmpi-python3
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python3.so.%{sonamever}
%{python3_sitearch}/openmpi/boost/
%files openmpi-python3-devel
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python3.so
%endif
%files graph-openmpi
%license LICENSE_1_0.txt
@ -1263,12 +1494,27 @@ fi
%files mpich-devel
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_*.so
%{_libdir}/mpich/lib/libboost_mpi.so
%{_libdir}/mpich/lib/libboost_mpi_python.so
%{_libdir}/mpich/lib/libboost_graph_parallel.so
%files mpich-python
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python.so.%{sonamever}
%{_libdir}/mpich/lib/mpi.so
%{python2_sitearch}/mpich/boost/
%if %{with python3}
%files mpich-python3
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python3.so.%{sonamever}
%{python3_sitearch}/mpich/boost/
%files mpich-python3-devel
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python3.so
%endif
%files graph-mpich
%license LICENSE_1_0.txt
@ -1291,6 +1537,12 @@ fi
%{_mandir}/man1/bjam.1*
%changelog
* Sat Jul 01 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 1.63.0-9
- Add numpy and numpy3 packages (#1451982)
- Fix location of openmpi-python and mpich-python modules
- Add openmpi-python3 and mpich-python3 packages
- Add missing ldconfig post/postun for python3 package
* Sat Jul 01 2017 Jonathan Wakely <jwakely@redhat.com> - 1.63.0-8
- Remove patch for boost::function strict aliasing problem (#1422456)