Accepting request 669499 from home:mslacken:boost_up

- added hpc modularized versions, which have a different naming 
  scheme so that they do not collide with existing libraries
  * hpc builds miss the documentation
  * three new _mulitbuild flavors which are
    * gnu-hpc -> all libraries except the parallel ones
    * gnu-openmpi2-hpc -> parallel versions with openmpi2
    * gnu-mvapich2-hpc -> parallel versions with mvapich2

OBS-URL: https://build.opensuse.org/request/show/669499
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=226
This commit is contained in:
Adam Majer 2019-01-29 10:56:06 +00:00 committed by Git OBS Bridge
parent 20cba1e41b
commit f69846b9a0
3 changed files with 395 additions and 156 deletions

View File

@ -1,4 +1,7 @@
<multibuild>
<package>base</package>
<package>extra</package>
<package>gnu-hpc</package>
<package>gnu-openmpi2-hpc</package>
<package>gnu-mvapich2-hpc</package>
</multibuild>

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed Jan 23 20:23:54 UTC 2019 - cgoll@suse.com
- added hpc modularized versions, which have a different naming
scheme so that they do not collide with existing libraries
* hpc builds miss the documentation
* three new _mulitbuild flavors which are
* gnu-hpc -> all libraries except the parallel ones
* gnu-openmpi2-hpc -> parallel versions with openmpi2
* gnu-mvapich2-hpc -> parallel versions with mvapich2
-------------------------------------------------------------------
Mon Jan 14 14:57:14 UTC 2019 - adam.majer@suse.de

View File

@ -16,12 +16,18 @@
#
%define ver 1.69.0
%define _ver 1_69_0
%define package_version 1_69
%define file_version %_ver
%define lib_appendix %_ver
%define docs_version 1.56.0
%define short_version 1_56
%define pname boost
%bcond_with build_docs
%bcond_without package_pdf
%bcond_without build_quickbook
%bcond_with boost_devel
%bcond_without python3
%bcond_without python2
%define package_name boost%{library_version}
%define my_docdir %{_docdir}/boost%{library_version}
@ -30,13 +36,19 @@
%define python2_sitearch %{python_sitearch}
%endif
%if "@BUILD_FLAVOR@" == ""
ExclusiveArch: nothing_here
%if "@BUILD_FLAVOR@" == "%nil"
%define build_base 0
%define name_suffix %{nil}
%bcond_with hpc
%bcond_without python3
%bcond_without python2
ExclusiveArch: do_not_build
%endif
%if "@BUILD_FLAVOR@" == "base"
%define build_base 1
%define name_suffix -base
%bcond_with hpc
%endif
%if "@BUILD_FLAVOR@" == "extra"
@ -44,6 +56,44 @@ ExclusiveArch: nothing_here
%define name_suffix -extra
%endif
%if "@BUILD_FLAVOR@" == "gnu-hpc"
%define build_base 1
%define name_suffix hpc
%define compiler_family gnu
%undefine c_f_ver
%bcond_with mpi
%bcond_without hpc
#ExcludeArch: %%arm s390x i586
ExcludeArch: s390x %{ix86} ppc64 ppc64le
%endif
%if "@BUILD_FLAVOR@" == "gnu-openmpi2-hpc"
%define build_base 0
%define name_suffix openmpi2_hpc
%define mpi_vers 2
%define compiler_family gnu
%define mpi_flavor openmpi
%undefine c_f_ver
%bcond_without hpc
%bcond_without mpi
%bcond_without python2
%bcond_without python3
ExcludeArch: s390x %{ix86} ppc64 ppc64le
%endif
%if "@BUILD_FLAVOR@" == "gnu-mvapich2-hpc"
%define build_base 0
%define name_suffix mvapich2_hpc
%define compiler_family gnu
%define mpi_flavor mvapich2
%undefine c_f_ver
%bcond_without hpc
%bcond_without mpi
%bcond_without python2
%bcond_without python3
ExcludeArch: s390x %{ix86} ppc64 ppc64le
%endif
# Build with OpenMPI
%if 0%{?suse_version} >= 1330
# OpenMPI >= 2 is not available on ppc64be
@ -74,6 +124,26 @@ ExclusiveArch: nothing_here
%else
%bcond_with build_context
%endif
%if %{with hpc}
# needed by the hpc tools
%{hpc_init -c %compiler_family %{?with_mpi:-m %mpi_flavor} %{?c_f_ver:-v %{c_f_ver}} %{?mpi_vers:-V %{mpi_vers}} %{?ext:-e %{ext}}}
%define package_prefix %{hpc_prefix}
%define package_libdir %{hpc_libdir}
%define package_bindir %{hpc_bindir}
%define package_includedir %{hpc_includedir}
%define base_name %{hpc_package_name %_ver}
%define package_name %{hpc_package_name %_ver}
%define package_python2_sitearch %hpc_python_sitearch
%define package_python3_sitearch %{hpc_libdir}/python3.6/site-packages
%else
%define package_prefix %{_prefix}
%define package_bindir %{_bindir}
%define package_libdir %{_libdir}
%define package_includedir %{_includedir}
%define base_name boost%{name_suffix}
%define package_python2_sitearch %python2_sitearch
%define package_python3_sitearch %python3_sitearch
%endif
# needs newer *default* GCC to compile runtime
%if %{with build_context} && 0%{?suse_version} > 1320
@ -82,7 +152,7 @@ ExclusiveArch: nothing_here
%bcond_with boost_fiber
%endif
Name: boost%{name_suffix}
Name: %{base_name}
Version: 1.69.0
Release: 0
%define library_version 1_69_0
@ -155,6 +225,17 @@ BuildRequires: libxslt-tools
BuildRequires: texlive-latex
%endif
%endif # ! build_base
%if %{with hpc}
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: lua-lmod
BuildRequires: python
BuildRequires: suse-hpc
%hpc_requires
%if %{with mpi}
BuildRequires: %{mpi_flavor}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
Requires: %{mpi_flavor}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc
%endif
%endif
%description
Boost provides free peer-reviewed portable C++ source libraries. The
@ -196,6 +277,9 @@ This package contains the license boost is provided under.
%package -n %{package_name}-devel
Summary: Development package for Boost C++
Group: Development/Libraries/C and C++
%if %{with hpc}
Requires: %{package_name}
%else
Requires: libboost_atomic%{library_version}-devel
Requires: libboost_chrono%{library_version}-devel
Requires: libboost_container%{library_version}-devel
@ -236,17 +320,51 @@ Requires: libboost_python-py2_7-%{library_version}-devel
%if %{with python3}
Requires: libboost_python-py3-%{library_version}-devel
%endif
%endif #hpc
%description -n %{package_name}-devel
This package contains all that is needed to develop/compile
applications that use the Boost C++ libraries. For documentation see
the documentation packages (html, man or pdf).
%if %{with hpc}
%if ! %{with mpi}
%package -n %{package_name}-jam
Summary: A Boost Make Replacement
Group: Development/Tools/Building
Provides: hpc-boost-jam-impl = %{version}
%description -n %{package_name}-jam
Boost Jam is a build tool based on FTJam, which in turn is based on
Perforce Jam. It contains significant improvements made to facilitate
its use in the Boost Build System. This version is modularized so it
does not conflict with other versions, but the module must be used
before usage.
%endif # ! mpi
%package -n %{package_name}-python3
Summary: Boost.MPI Python 3.x serialization library
Group: System/Libraries
Requires: %{package_name}
%description -n %{package_name}-python3
This package contains the Boost.MPI Python 3.x serialization
inteface.
%package -n %{package_name}-python2
Summary: Boost.MPI Python 2.x serialization library
Group: System/Libraries
Requires: %{package_name}
%description -n %{package_name}-python2
This package contains the Boost.MPI Python 2.x serialization
inteface.
%endif # hpc
%package -n boost%{library_version}-jam
Summary: A Boost Make Replacement
Group: Development/Tools/Building
Conflicts: boost-jam-impl
Provides: boost-jam-impl
Provides: boost-jam-impl = %{version}
%description -n boost%{library_version}-jam
Boost Jam is a build tool based on FTJam, which in turn is based on
@ -1052,6 +1170,17 @@ QuickBook is a WikiWiki style documentation tool geared towards C++
documentation using simple rules and markup for simple formatting
tasks.
%if %{with hpc}
%{hpc_master_package}
%{hpc_master_package devel}
%if %{with python2}
%{hpc_master_package python2}
%endif
%if %{with python3}
%{hpc_master_package python3}
%endif
%endif
%prep
%setup -q -n boost_%{library_version} -b 3
#everything in the tarball has the executable flag set ...
@ -1121,7 +1250,11 @@ EOF
%if %{with build_mpi}
# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
. %{_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
%if %{with hpc}
module load gnu %mpi_flavor
%else
. %{package_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
%endif
%endif
# Need specific Boost Jam config files.
@ -1137,8 +1270,8 @@ EOF
# bootstrap b2
./bootstrap.sh \
--prefix=%{_prefix} --exec-prefix=%{_bindir} \
--libdir=%{_libdir} --includedir=%{_includedir} \
--prefix=%{package_prefix} --exec-prefix=%{package_bindir} \
--libdir=%{package_libdir} --includedir=%{package_includedir} \
--with-toolset=gcc
# Read shared build instructions
@ -1246,6 +1379,7 @@ chmod +x symbol_diff.sh
#./symbol_diff.sh python-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so
# Build documentation
%if ! %{with hpc}
%if %{with build_quickbook}
pushd tools/quickbook
../../b2 --user-config=../../user-config.jam --v2 dist-bin %{?_smp_mflags}
@ -1256,6 +1390,7 @@ popd
cd doc
./b2 --user-config=../user-config.jam --v2 man %{?_smp_mflags}
%endif
%endif # ! hpc
%endif # ! build_base
@ -1268,15 +1403,19 @@ cd doc
%if %{with build_mpi}
# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
. %{_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
%if %{with hpc}
module load gnu %mpi_flavor
%else
. %{package_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
%endif
%endif
%if %{with python3}
./b2 -d+2 -q --user-config=./user-config-py3.jam \
--build-type=minimal --build-dir=./python3-build \
--python-buildid=py3 \
--prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
--libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \
--prefix=%{buildroot}%{package_prefix} --exec-prefix=%{buildroot}%{package_bindir} \
--libdir=%{buildroot}%{package_libdir} --includedir=%{buildroot}%{package_includedir} \
--stagedir=./python3-stage %{?_smp_mflags} \
$PY_LIBRARIES_FLAGS \
threading=multi link=shared runtime-link=shared install
@ -1286,8 +1425,8 @@ cd doc
./b2 -d+2 -q --user-config=./user-config-py.jam \
--build-type=minimal --build-dir=./python-build \
--python-buildid=py2.7 \
--prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
--libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \
--prefix=%{buildroot}%{package_prefix} --exec-prefix=%{buildroot}%{package_bindir} \
--libdir=%{buildroot}%{package_libdir} --includedir=%{buildroot}%{package_includedir} \
--stagedir=./python-stage %{?_smp_mflags} \
$PY_LIBRARIES_FLAGS \
threading=multi link=shared runtime-link=shared install
@ -1298,44 +1437,45 @@ cd doc
# Generic install
./b2 -d+2 -q \
--build-type=minimal --build-dir=./build --stagedir=./stage \
--prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
--libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \
--prefix=%{buildroot}%{package_prefix} --exec-prefix=%{buildroot}%{package_bindir} \
--libdir=%{buildroot}%{package_libdir} --includedir=%{buildroot}%{package_includedir} \
--user-config=./user-config.jam \
$LIBRARIES_FLAGS \
threading=multi link=shared runtime-link=shared install
# No python dependencies in the main tree
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python\\.)
! $(ldd %{buildroot}%{package_libdir}/*.so* | grep python\\.)
%if ! %{build_base}
%if %{with python2}
ln -s libboost_mpi_python-py2_7.so %{buildroot}%{_libdir}/libboost_mpi_python.so
ln -s libboost_python-py2_7.so %{buildroot}%{_libdir}/libboost_python.so
ln -s libboost_mpi_python-py2_7.so %{buildroot}%{package_libdir}/libboost_mpi_python.so
ln -s libboost_python-py2_7.so %{buildroot}%{package_libdir}/libboost_python.so
%endif
%if %{with python3}
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.)
ln -s libboost_python-py3.so %{buildroot}%{_libdir}/libboost_python3.so
! $(ldd %{buildroot}%{package_libdir}/*.so* | grep python3-\\.)
ln -s libboost_python-py3.so %{buildroot}%{package_libdir}/libboost_python3.so
%endif
# Move Python libraries over to proper places
%if %{with python2}
mkdir -p %{buildroot}%{python2_sitearch}/boost/parallel/mpi/
mv %{buildroot}/%{_libdir}/mpi.so %{buildroot}%{python2_sitearch}/boost/parallel/mpi/
install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{python2_sitearch}/boost/parallel/mpi/
install -m 0644 %{SOURCE11} %{buildroot}%{python2_sitearch}/boost/parallel
install -m 0644 %{SOURCE11} %{buildroot}%{python2_sitearch}/boost
mkdir -p %{buildroot}%{package_python2_sitearch}/boost/parallel/mpi/
mv %{buildroot}/%{package_libdir}/mpi.so %{buildroot}%{package_python2_sitearch}/boost/parallel/mpi/
install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{package_python2_sitearch}/boost/parallel/mpi/
install -m 0644 %{SOURCE11} %{buildroot}%{package_python2_sitearch}/boost/parallel
install -m 0644 %{SOURCE11} %{buildroot}%{package_python2_sitearch}/boost
%endif
%if %{with python3}
mkdir -p %{buildroot}%{python3_sitearch}/boost/parallel/mpi/
mv %{buildroot}/%{_libdir}/mpi.*so %{buildroot}%{python3_sitearch}/boost/parallel/mpi/mpi.%{py3_soflags}.so
install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{python3_sitearch}/boost/parallel/mpi/
install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost/parallel
install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost
mkdir -p %{buildroot}%{package_python3_sitearch}/boost/parallel/mpi/
mv %{buildroot}/%{package_libdir}/mpi.*so %{buildroot}%{package_python3_sitearch}/boost/parallel/mpi/mpi.%{py3_soflags}.so
install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{package_python3_sitearch}/boost/parallel/mpi/
install -m 0644 %{SOURCE11} %{buildroot}%{package_python3_sitearch}/boost/parallel
install -m 0644 %{SOURCE11} %{buildroot}%{package_python3_sitearch}/boost
%endif
%if ! %{with hpc}
#install doc files
mkdir -p %{buildroot}%{my_docdir}
%if %{with boost_devel}
@ -1345,46 +1485,88 @@ find libs/ -name \*.htm\* -o -name \*.css -o -name \*.js | xargs dos2unix
find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \
tar --files-from=%{SOURCE4} -cf - --files-from=- | tar -C %{buildroot}%{my_docdir} -xf -
rm -rf %{buildroot}%{my_docdir}/boost
#ln -s %%{_includedir}/boost %%{buildroot}%%{my_docdir}
#ln -s %%{package_includedir}/boost %%{buildroot}%%{my_docdir}
#ln -s ../LICENSE_1_0.txt %%{buildroot}%%{my_docdir}/libs
find %{buildroot}%{my_docdir} -name \*.py -exec chmod -x {} +
chmod -x ../boost_1_56_pdf/*.pdf
%if %{with build_quickbook}
mkdir -p %{buildroot}%{_bindir}
install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook
mkdir -p %{buildroot}%{package_bindir}
install -m 0755 dist/bin/quickbook %{buildroot}%{package_bindir}/quickbook
%endif
%endif # ! hpc
%endif # ! build_base
%if %{build_base}
mkdir -p %{buildroot}%{_bindir}
install -m 755 bjam %{buildroot}%{_bindir}
ln -s bjam %{buildroot}%{_bindir}/jam
mkdir -p %{buildroot}%{package_bindir}
install -m 755 bjam %{buildroot}%{package_bindir}
ln -s bjam %{buildroot}%{package_bindir}/jam
# Remove exception library, but only if the symbols are not
# actually used. For now, the only symbol that is linked is
# should never be used as it's only available on Windows. So,
# verify that here.
objdump -Ctj .text -Ctj .text %{buildroot}%{_libdir}/libboost_exception.so | \
objdump -Ctj .text -Ctj .text %{buildroot}%{package_libdir}/libboost_exception.so | \
grep '^[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F' | \
sed -e 's#[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F[[:space:]]\+\.text[[:space:]]\+[0-9a-f]\+[[:space:]]\+##' | \
diff %{SOURCE10} - || echo "WARNING: libexception symbol change?"
rm %{buildroot}%{_libdir}/libboost_exception.so
rm %{buildroot}%{_libdir}/libboost_exception.so.%{version}
rm %{buildroot}%{package_libdir}/libboost_exception.so
rm %{buildroot}%{package_libdir}/libboost_exception.so.%{version}
%fdupes %{buildroot}%{_includedir}/boost
%fdupes %{buildroot}%{package_includedir}/boost
mkdir -p %{buildroot}%{my_docdir}
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200 && !0%{?is_opensuse}
mkdir -p %{buildroot}%{_defaultlicensedir}
%endif
%else # ! build_base
rm -r %{buildroot}%{_includedir}/boost
rm %{buildroot}%{_libdir}/libboost_serialization*
rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
rm -r %{buildroot}%{package_includedir}/boost
rm %{buildroot}%{package_libdir}/libboost_serialization*
rmdir --ignore-fail-on-non-empty %{buildroot}%{package_libdir}
%fdupes %{buildroot}%{my_docdir}
%endif
%if %{with hpc}
%hpc_write_modules_files
#%%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the %{pname} library built with the %{compiler_family} toolchain."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{summary:0}"
module-whatis "URL: %{url}"
set version %{version}
prepend-path PATH %{hpc_bindir}
prepend-path MANPATH %{hpc_mandir}
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
setenv BOOST_DIR %{hpc_path}
setenv BOOST_DIR %{hpc_libdir}
setenv BOOST_INC %{hpc_includedir}
if ([file isdirectory %{hpc_includedir}]) {
prepend-path CPATH %{hpc_includedir}
prepend-path C_INCLUDE_PATH %{hpc_includedir}
prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir}
}
if ([file isdirectory %{package_python2_sitearch}]) {
prepend-path PYTHONPATH %{package_python2_sitearch}
}
if ([file isdirectory %{package_python3_sitearch}]) {
prepend-path PYTHONPATH %{package_python3_sitearch}
}
%{hpc_modulefile_add_pkgconfig_path}
EOF
%endif
%if %{build_base}
%post -n libboost_atomic%{library_version} -p /sbin/ldconfig
%post -n libboost_container%{library_version} -p /sbin/ldconfig
@ -1439,6 +1621,9 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
%endif
%endif # ! build_base
%if %{with hpc}
%post -n %base_name -p /sbin/ldconfig
%endif
%if %{build_base}
%postun -n libboost_atomic%{library_version} -p /sbin/ldconfig
@ -1495,202 +1680,240 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
%endif # build_base
%if %{with hpc}
%postun -n %{base_name} -p /sbin/ldconfig
%endif
%if %{with hpc}
%files
%hpc_modules_files
%{!?hpc_compiler_family:%dir %{hpc_install_base}}
%dir %{hpc_install_path_base}
%dir %{hpc_install_path}
%package_libdir
%exclude %package_libdir/*.so
%if %{with python2}
%exclude %package_python2_sitearch
%endif
%if %{with python3}
%exclude %package_python3_sitearch
%endif
%files -n %{package_name}-devel
%package_includedir
%package_libdir/*.so
# do not package jam/bjam when building with mpi
%if ! %{with mpi}
%files -n %{package_name}-jam
%package_bindir
%endif # !
%if %{with python2}
%files -n %{package_name}-python2
%package_python2_sitearch
%endif
%if %{with python3}
%files -n %{package_name}-python3
%package_python3_sitearch
%endif
%else
%if %{build_base}
%files -n boost%{library_version}-jam
%{_bindir}/bjam
%{_bindir}/jam
%{package_bindir}/bjam
%{package_bindir}/jam
%files -n libboost_atomic%{library_version}
%{_libdir}/libboost_atomic.so.%{version}
%{package_libdir}/libboost_atomic.so.%{version}
%files -n libboost_atomic%{library_version}-devel
%{_libdir}/libboost_atomic.so
%{package_libdir}/libboost_atomic.so
%files -n libboost_container%{library_version}
%{_libdir}/libboost_container.so.%{version}
%{package_libdir}/libboost_container.so.%{version}
%files -n libboost_container%{library_version}-devel
%{_libdir}/libboost_container.so
%{package_libdir}/libboost_container.so
%if %{with build_context}
%files -n libboost_context%{library_version}
%{_libdir}/libboost_context.so.%{version}
%{package_libdir}/libboost_context.so.%{version}
%files -n libboost_context%{library_version}-devel
%{_libdir}/libboost_context.so
%{package_libdir}/libboost_context.so
%files -n libboost_coroutine%{library_version}
%{_libdir}/libboost_coroutine.so.%{version}
%{package_libdir}/libboost_coroutine.so.%{version}
%files -n libboost_coroutine%{library_version}-devel
%{_libdir}/libboost_coroutine.so
%{package_libdir}/libboost_coroutine.so
%endif # if with build_context
%files -n libboost_contract%{library_version}
%{_libdir}/libboost_contract.so.%{version}
%{package_libdir}/libboost_contract.so.%{version}
%files -n libboost_contract%{library_version}-devel
%{_libdir}/libboost_contract.so
%{package_libdir}/libboost_contract.so
%files -n libboost_date_time%{library_version}
%{_libdir}/libboost_date_time.so.%{version}
%{package_libdir}/libboost_date_time.so.%{version}
%files -n libboost_date_time%{library_version}-devel
%{_libdir}/libboost_date_time.so
%{package_libdir}/libboost_date_time.so
%if %{with boost_fiber}
%files -n libboost_fiber%{library_version}
%{_libdir}/libboost_fiber.so.%{version}
%{package_libdir}/libboost_fiber.so.%{version}
%files -n libboost_fiber%{library_version}-devel
%{_libdir}/libboost_fiber.so
%{package_libdir}/libboost_fiber.so
%endif # with boost_fiber
%files -n libboost_filesystem%{library_version}
%{_libdir}/libboost_filesystem.so.%{version}
%{package_libdir}/libboost_filesystem.so.%{version}
%files -n libboost_filesystem%{library_version}-devel
%{_libdir}/libboost_filesystem.so
%{package_libdir}/libboost_filesystem.so
%files -n libboost_graph%{library_version}
%{_libdir}/libboost_graph.so.%{version}
%{package_libdir}/libboost_graph.so.%{version}
%files -n libboost_graph%{library_version}-devel
%{_libdir}/libboost_graph.so
%{package_libdir}/libboost_graph.so
%files -n libboost_iostreams%{library_version}
%{_libdir}/libboost_iostreams.so.%{version}
%{package_libdir}/libboost_iostreams.so.%{version}
%files -n libboost_iostreams%{library_version}-devel
%{_libdir}/libboost_iostreams.so
%{package_libdir}/libboost_iostreams.so
%files -n libboost_log%{library_version}
%{_libdir}/libboost_log.so.%{version}
%{_libdir}/libboost_log_setup.so.%{version}
%{package_libdir}/libboost_log.so.%{version}
%{package_libdir}/libboost_log_setup.so.%{version}
%files -n libboost_log%{library_version}-devel
%{_libdir}/libboost_log.so
%{_libdir}/libboost_log_setup.so
%{package_libdir}/libboost_log.so
%{package_libdir}/libboost_log_setup.so
%files -n libboost_math%{library_version}
%{_libdir}/libboost_math_c99f.so.%{version}
%{_libdir}/libboost_math_c99l.so.%{version}
%{_libdir}/libboost_math_c99.so.%{version}
%{_libdir}/libboost_math_tr1f.so.%{version}
%{_libdir}/libboost_math_tr1l.so.%{version}
%{_libdir}/libboost_math_tr1.so.%{version}
%{package_libdir}/libboost_math_c99f.so.%{version}
%{package_libdir}/libboost_math_c99l.so.%{version}
%{package_libdir}/libboost_math_c99.so.%{version}
%{package_libdir}/libboost_math_tr1f.so.%{version}
%{package_libdir}/libboost_math_tr1l.so.%{version}
%{package_libdir}/libboost_math_tr1.so.%{version}
%files -n libboost_math%{library_version}-devel
%{_libdir}/libboost_math_c99f.so
%{_libdir}/libboost_math_c99l.so
%{_libdir}/libboost_math_c99.so
%{_libdir}/libboost_math_tr1f.so
%{_libdir}/libboost_math_tr1l.so
%{_libdir}/libboost_math_tr1.so
%{package_libdir}/libboost_math_c99f.so
%{package_libdir}/libboost_math_c99l.so
%{package_libdir}/libboost_math_c99.so
%{package_libdir}/libboost_math_tr1f.so
%{package_libdir}/libboost_math_tr1l.so
%{package_libdir}/libboost_math_tr1.so
%files -n libboost_test%{library_version}
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
%{_libdir}/libboost_test_exec_monitor.so.%{version}
%{_libdir}/libboost_unit_test_framework.so.%{version}
%{package_libdir}/libboost_prg_exec_monitor.so.%{version}
%{package_libdir}/libboost_test_exec_monitor.so.%{version}
%{package_libdir}/libboost_unit_test_framework.so.%{version}
%files -n libboost_test%{library_version}-devel
%{_libdir}/libboost_prg_exec_monitor.so
%{_libdir}/libboost_test_exec_monitor.so
%{_libdir}/libboost_unit_test_framework.so
%{package_libdir}/libboost_prg_exec_monitor.so
%{package_libdir}/libboost_test_exec_monitor.so
%{package_libdir}/libboost_unit_test_framework.so
%files -n libboost_program_options%{library_version}
%{_libdir}/libboost_program_options.so.%{version}
%{package_libdir}/libboost_program_options.so.%{version}
%files -n libboost_program_options%{library_version}-devel
%{_libdir}/libboost_program_options.so
%{package_libdir}/libboost_program_options.so
%endif # build_base
%if ! %{build_base}
%if %{with build_mpi}
%files -n libboost_mpi%{library_version}
%{_libdir}/libboost_mpi.so.%{version}
%{package_libdir}/libboost_mpi.so.%{version}
%files -n libboost_mpi%{library_version}-devel
%{_libdir}/libboost_mpi.so
%{package_libdir}/libboost_mpi.so
%files -n libboost_graph_parallel%{library_version}
%{_libdir}/libboost_graph_parallel.so.%{version}
%{package_libdir}/libboost_graph_parallel.so.%{version}
%files -n libboost_graph_parallel%{library_version}-devel
%{_libdir}/libboost_graph_parallel.so
%{package_libdir}/libboost_graph_parallel.so
%if %{with python2}
%files -n libboost_mpi_python-py2_7-%{library_version}
%{_libdir}/libboost_mpi_python-py2_7.so.%{version}
%{package_libdir}/libboost_mpi_python-py2_7.so.%{version}
%files -n libboost_mpi_python-py2_7-%{library_version}-devel
%{_libdir}/libboost_mpi_python-py2_7.so
%{_libdir}/libboost_mpi_python.so
%{package_libdir}/libboost_mpi_python-py2_7.so
%{package_libdir}/libboost_mpi_python.so
%files -n python2-boost_parallel_mpi%{library_version}
%dir %{python2_sitearch}/boost
%dir %{python2_sitearch}/boost/parallel
%dir %{python2_sitearch}/boost/parallel/mpi
%{python2_sitearch}/boost/__init__.py
%{python2_sitearch}/boost/parallel/__init__.py
%{python2_sitearch}/boost/parallel/mpi/__init__.py
%{python2_sitearch}/boost/parallel/mpi/mpi.so
%dir %{package_python2_sitearch}/boost
%dir %{package_python2_sitearch}/boost/parallel
%dir %{package_python2_sitearch}/boost/parallel/mpi
%{package_python2_sitearch}/boost/__init__.py
%{package_python2_sitearch}/boost/parallel/__init__.py
%{package_python2_sitearch}/boost/parallel/mpi/__init__.py
%{package_python2_sitearch}/boost/parallel/mpi/mpi.so
%endif # with python2
%if %{with python3}
%files -n libboost_mpi_python-py3-%{library_version}
%{_libdir}/libboost_mpi_python-py3.so.%{version}
%{package_libdir}/libboost_mpi_python-py3.so.%{version}
%files -n libboost_mpi_python-py3-%{library_version}-devel
%{_libdir}/libboost_mpi_python-py3.so
%{package_libdir}/libboost_mpi_python-py3.so
%files -n python3-boost_parallel_mpi%{library_version}
%dir %{python3_sitearch}/boost
%dir %{python3_sitearch}/boost/parallel
%dir %{python3_sitearch}/boost/parallel/mpi
%{python3_sitearch}/boost/__init__.py
%{python3_sitearch}/boost/parallel/__init__.py
%{python3_sitearch}/boost/parallel/mpi/__init__.py
%{python3_sitearch}/boost/parallel/mpi/mpi.%{py3_soflags}.so
%dir %{package_python3_sitearch}/boost
%dir %{package_python3_sitearch}/boost/parallel
%dir %{package_python3_sitearch}/boost/parallel/mpi
%{package_python3_sitearch}/boost/__init__.py
%{package_python3_sitearch}/boost/parallel/__init__.py
%{package_python3_sitearch}/boost/parallel/mpi/__init__.py
%{package_python3_sitearch}/boost/parallel/mpi/mpi.%{py3_soflags}.so
%endif # with python3
%endif # with build_mpi
%if %{with python2}
%files -n libboost_python-py2_7-%{library_version}
%{_libdir}/libboost_python-py2_7.so.%{version}
%{package_libdir}/libboost_python-py2_7.so.%{version}
%files -n libboost_python-py2_7-%{library_version}-devel
%{_libdir}/libboost_python.so
%{_libdir}/libboost_python-py2_7.so
%{package_libdir}/libboost_python.so
%{package_libdir}/libboost_python-py2_7.so
%if %{with python_numpy}
%files -n libboost_numpy-py2_7-%{library_version}
%{_libdir}/libboost_numpy-py2_7.so.%{version}
%{package_libdir}/libboost_numpy-py2_7.so.%{version}
%files -n libboost_numpy-py2_7-%{library_version}-devel
%{_libdir}/libboost_numpy-py2_7.so
%{package_libdir}/libboost_numpy-py2_7.so
%endif # with numpy
%endif # with python2
%if %{with python3}
%files -n libboost_python-py3-%{library_version}
%{_libdir}/libboost_python-py3.so.%{version}
%{package_libdir}/libboost_python-py3.so.%{version}
%files -n libboost_python-py3-%{library_version}-devel
%{_libdir}/libboost_python3.so
%{_libdir}/libboost_python-py3.so
%{package_libdir}/libboost_python3.so
%{package_libdir}/libboost_python-py3.so
%if %{with python_numpy}
%files -n libboost_numpy-py3-%{library_version}
%{_libdir}/libboost_numpy-py3.so.%{version}
%{package_libdir}/libboost_numpy-py3.so.%{version}
%files -n libboost_numpy-py3-%{library_version}-devel
%{_libdir}/libboost_numpy-py3.so
%{package_libdir}/libboost_numpy-py3.so
%endif # with numpy
%endif # with python3
@ -1698,76 +1921,76 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
%if %{build_base}
%files -n libboost_serialization%{library_version}
%{_libdir}/libboost_serialization.so.%{version}
%{_libdir}/libboost_wserialization.so.%{version}
%{package_libdir}/libboost_serialization.so.%{version}
%{package_libdir}/libboost_wserialization.so.%{version}
%files -n libboost_serialization%{library_version}-devel
%{_libdir}/libboost_serialization.so
%{_libdir}/libboost_wserialization.so
%{package_libdir}/libboost_serialization.so
%{package_libdir}/libboost_wserialization.so
%files -n libboost_stacktrace%{library_version}
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
%{package_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{package_libdir}/libboost_stacktrace_basic.so.%{version}
%{package_libdir}/libboost_stacktrace_noop.so.%{version}
%files -n libboost_stacktrace%{library_version}-devel
%{_libdir}/libboost_stacktrace_addr2line.so
%{_libdir}/libboost_stacktrace_basic.so
%{_libdir}/libboost_stacktrace_noop.so
%{package_libdir}/libboost_stacktrace_addr2line.so
%{package_libdir}/libboost_stacktrace_basic.so
%{package_libdir}/libboost_stacktrace_noop.so
%files -n libboost_system%{library_version}
%{_libdir}/libboost_system.so.%{version}
%{package_libdir}/libboost_system.so.%{version}
%files -n libboost_system%{library_version}-devel
%{_libdir}/libboost_system.so
%{package_libdir}/libboost_system.so
%files -n libboost_thread%{library_version}
%{_libdir}/libboost_thread.so.%{version}
%{package_libdir}/libboost_thread.so.%{version}
%files -n libboost_thread%{library_version}-devel
%{_libdir}/libboost_thread.so
%{package_libdir}/libboost_thread.so
%files -n libboost_wave%{library_version}
%{_libdir}/libboost_wave.so.%{version}
%{package_libdir}/libboost_wave.so.%{version}
%files -n libboost_wave%{library_version}-devel
%{_libdir}/libboost_wave.so
%{package_libdir}/libboost_wave.so
%files -n libboost_regex%{library_version}
%{_libdir}/libboost_regex.so.%{version}
%{package_libdir}/libboost_regex.so.%{version}
%files -n libboost_regex%{library_version}-devel
%{_libdir}/libboost_regex.so
%{package_libdir}/libboost_regex.so
%files -n libboost_random%{library_version}
%{_libdir}/libboost_random.so.%{version}
%{package_libdir}/libboost_random.so.%{version}
%files -n libboost_random%{library_version}-devel
%{_libdir}/libboost_random.so
%{package_libdir}/libboost_random.so
%files -n libboost_chrono%{library_version}
%{_libdir}/libboost_chrono.so.%{version}
%{package_libdir}/libboost_chrono.so.%{version}
%files -n libboost_chrono%{library_version}-devel
%{_libdir}/libboost_chrono.so
%{package_libdir}/libboost_chrono.so
%files -n libboost_locale%{library_version}
%{_libdir}/libboost_locale.so.%{version}
%{package_libdir}/libboost_locale.so.%{version}
%files -n libboost_locale%{library_version}-devel
%{_libdir}/libboost_locale.so
%{package_libdir}/libboost_locale.so
%files -n libboost_timer%{library_version}
%{_libdir}/libboost_timer.so.%{version}
%{package_libdir}/libboost_timer.so.%{version}
%files -n libboost_timer%{library_version}-devel
%{_libdir}/libboost_timer.so
%{package_libdir}/libboost_timer.so
%files -n libboost_type_erasure%{library_version}
%{_libdir}/libboost_type_erasure.so.%{version}
%{package_libdir}/libboost_type_erasure.so.%{version}
%files -n libboost_type_erasure%{library_version}-devel
%{_libdir}/libboost_type_erasure.so
%{package_libdir}/libboost_type_erasure.so
%endif # if build_base
%if ! %{build_base}
@ -1798,14 +2021,14 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
%if %{with build_quickbook}
%files -n %{package_name}-quickbook
%{_bindir}/quickbook
%{package_bindir}/quickbook
%endif
%endif # ! build_base
%if %{build_base}
%files -n libboost_headers%{library_version}-devel
%dir %{_includedir}/boost
%{_includedir}/boost/*
%dir %{package_includedir}/boost
%{package_includedir}/boost/*
%files -n boost-license%{library_version}
%license LICENSE_1_0.txt
@ -1814,5 +2037,6 @@ rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
%endif
%endif
%endif # without hpc
%changelog