Accepting request 543915 from home:adamm:branches:devel:libraries:c_c++
- Use multibuild setup - build no-dependency libraries in the base package and build the rest of the compiled libraries in the main variant. This should speed up bootstrapping. - build Python 2 conditionally - boost-devel not built by default anymore. - libboost_headers-devel now provides boost-devel for legacy dependencies. If you need compiled boost libraries depend on the current compiled devel subpackage. - run %fdupes only on the header files and documentation - drop build dependencies on gcc-fortran, chrpath. OBS-URL: https://build.opensuse.org/request/show/543915 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=203
This commit is contained in:
parent
562779e48b
commit
ed9b1c834b
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>base</package>
|
||||
</multibuild>
|
@ -1,5 +1,3 @@
|
||||
boost_1_65-devel
|
||||
requires -boost-<targettype>
|
||||
libboost_atomic1_65_1
|
||||
libboost_container1_65_1
|
||||
libboost_context1_65_1
|
||||
|
@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 24 14:24:06 UTC 2017 - jmatejek@suse.com
|
||||
|
||||
- build Python 2 conditionally
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 10 13:49:10 UTC 2017 - adam.majer@suse.de
|
||||
|
||||
- Use multibuild setup - build no-dependency libraries in the
|
||||
base package and build the rest of the compiled libraries in
|
||||
the main variant. This should speed up bootstrapping.
|
||||
- boost-devel not built by default anymore.
|
||||
- libboost_headers-devel now provides boost-devel for legacy
|
||||
dependencies. If you need compiled boost libraries depend on
|
||||
the current compiled devel subpackage.
|
||||
- run %fdupes only on the header files and documentation
|
||||
- drop build dependencies on gcc-fortran, chrpath.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 9 08:13:38 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
|
504
boost.spec
504
boost.spec
@ -24,8 +24,15 @@
|
||||
%bcond_with build_docs
|
||||
%bcond_without package_pdf
|
||||
%bcond_without build_quickbook
|
||||
%bcond_with boost_devel
|
||||
%define my_docdir %{_docdir}/boost-%{version}
|
||||
|
||||
%if "@BUILD_FLAVOR@" == "base"
|
||||
%define build_base 1
|
||||
%else
|
||||
%define build_base 0
|
||||
%endif
|
||||
|
||||
# Build with OpenMPI
|
||||
%if 0%{?suse_version} >= 1330
|
||||
# OpenMPI >= 2 is not available on ppc64be
|
||||
@ -45,10 +52,11 @@
|
||||
%bcond_without build_mpi
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} < 1200
|
||||
%bcond_with python3
|
||||
%else
|
||||
%bcond_without python3
|
||||
%if 0%{?have_python2}
|
||||
%bcond_without python2
|
||||
%else
|
||||
%bcond_with python2
|
||||
%endif
|
||||
|
||||
# Python NumPy library is only available on Leap 42.1 OpenSUSE onward
|
||||
@ -73,12 +81,6 @@
|
||||
%bcond_with boost_fiber
|
||||
%endif
|
||||
|
||||
#%ifarch hppa
|
||||
#%bcond_with long_double
|
||||
#%else
|
||||
#%bcond_without long_double
|
||||
#%endif
|
||||
|
||||
Name: boost
|
||||
%define package_name boost_1_65
|
||||
Version: 1.65.1
|
||||
@ -114,34 +116,30 @@ Patch17: python_mpi.patch
|
||||
Patch18: dynamic_linking.patch
|
||||
Patch20: python_library_name.patch
|
||||
Patch21: python_numpy_retfunc.patch
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: libexpat-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: zlib-devel
|
||||
%if %{with boost_fiber}
|
||||
BuildRequires: gcc-c++ > 5
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1320
|
||||
# boost requires quadmath.h
|
||||
BuildRequires: gcc-fortran
|
||||
%endif
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: libexpat-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: python-devel
|
||||
%if ! %build_base
|
||||
BuildRequires: dos2unix
|
||||
%if %{with python2}
|
||||
BuildRequires: python2-devel
|
||||
%if %{with python_numpy}
|
||||
BuildRequires: python-numpy-devel
|
||||
%endif
|
||||
BuildRequires: python2-numpy-devel
|
||||
%endif # numpy2
|
||||
%endif # python2
|
||||
%if %{with python3}
|
||||
BuildRequires: python3-devel
|
||||
%if %{with python_numpy}
|
||||
BuildRequires: python3-numpy-devel
|
||||
%endif # numpy
|
||||
%endif # numpy3
|
||||
%endif # python3
|
||||
#!BuildIgnore: python
|
||||
BuildRequires: zlib-devel
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if %{with build_mpi}
|
||||
BuildRequires: %{mpi_implem}-devel
|
||||
%endif
|
||||
@ -152,6 +150,8 @@ BuildRequires: doxygen
|
||||
BuildRequires: libxslt-tools
|
||||
BuildRequires: texlive-latex
|
||||
%endif
|
||||
%endif # ! build_base
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
Boost provides free peer-reviewed portable C++ source libraries. The
|
||||
@ -166,11 +166,34 @@ Although Boost was begun by members of the C++ Standards Committee
|
||||
Library Working Group, membership has expanded to include nearly two
|
||||
thousand members of the C++ community at large.
|
||||
|
||||
This package is mainly needed for updating from a prior version, the
|
||||
dynamic libraries are found in their respective package. For development
|
||||
using Boost, you also need the boost-devel package. For documentation,
|
||||
see the boost-doc package.
|
||||
# %%if %%build_base
|
||||
%package -n libboost_headers%{lib_appendix}-devel
|
||||
Summary: Development headers for Boost
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: boost-license%{lib_appendix}
|
||||
Requires: libstdc++-devel
|
||||
Provides: libboost_headers-devel = %{version}
|
||||
%if %{without boost_devel}
|
||||
Provides: boost-devel = %{version}
|
||||
%endif
|
||||
Conflicts: otherproviders(libboost_headers-devel)
|
||||
Conflicts: boost-devel < 1.63
|
||||
|
||||
%description -n libboost_headers%{lib_appendix}-devel
|
||||
A collection of header-only libraries for Boost.
|
||||
|
||||
%package -n boost-license%{lib_appendix}
|
||||
Summary: Boost License
|
||||
Group: Development/Libraries/C and C++
|
||||
Provides: boost-license = %{version}-%{release}
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
|
||||
%description -n boost-license%{lib_appendix}
|
||||
This package contains the license boost is provided under.
|
||||
|
||||
%if %{with boost_devel}
|
||||
%package -n %{package_name}-devel
|
||||
Summary: Development package for Boost C++
|
||||
Group: Development/Libraries/C and C++
|
||||
@ -196,7 +219,9 @@ Requires: libboost_graph_parallel%{lib_appendix}-devel
|
||||
Requires: libboost_mpi%{lib_appendix}-devel
|
||||
%endif
|
||||
Requires: libboost_program_options%{lib_appendix}-devel
|
||||
%if %{with python2}
|
||||
Requires: libboost_python-py2_7-%{lib_appendix}-devel
|
||||
%endif
|
||||
%if %{with python3}
|
||||
Requires: libboost_python-py3-%{lib_appendix}-devel
|
||||
%endif
|
||||
@ -218,17 +243,7 @@ Conflicts: otherproviders(boost-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).
|
||||
|
||||
%package -n libboost_headers%{lib_appendix}-devel
|
||||
Summary: Development headers for Boost
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libstdc++-devel
|
||||
Provides: libboost_headers-devel = %{version}
|
||||
Conflicts: otherproviders(libboost_headers-devel)
|
||||
Conflicts: boost-devel < 1.63
|
||||
|
||||
%description -n libboost_headers%{lib_appendix}-devel
|
||||
A collection of header-only libraries for Boost.
|
||||
%endif # with boost_devel
|
||||
|
||||
%package -n %{package_name}-jam
|
||||
Summary: A Boost Make Replacement
|
||||
@ -241,17 +256,6 @@ 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.
|
||||
|
||||
%package -n boost-license%{lib_appendix}
|
||||
Summary: Boost License
|
||||
Group: Development/Libraries/C and C++
|
||||
Provides: boost-license = %{version}-%{release}
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
|
||||
%description -n boost-license%{lib_appendix}
|
||||
This package contains the license boost is provided under.
|
||||
|
||||
%package -n %{package_name}-doc-html
|
||||
Summary: HTML documentation for the Boost C++ Libraries
|
||||
Group: Development/Libraries/C and C++
|
||||
@ -566,7 +570,9 @@ Summary: Development headers for Boost.MPI library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libboost_graph%{lib_appendix}-devel
|
||||
PreReq: libboost_headers%{lib_appendix}-devel = %{version}
|
||||
%if %{with python2}
|
||||
Requires: libboost_python-py2_7-%{lib_appendix}-devel
|
||||
%endif
|
||||
%if %{with python3}
|
||||
Requires: libboost_python-py3-%{lib_appendix}-devel
|
||||
%endif
|
||||
@ -601,6 +607,7 @@ Conflicts: boost-devel < 1.63
|
||||
%description -n libboost_graph_parallel%{lib_appendix}-devel
|
||||
Development headers for Boost.Graph parallel boost library.
|
||||
|
||||
%if %{with python2}
|
||||
%package -n libboost_mpi_python-py2_7-%{lib_appendix}
|
||||
Summary: Boost.MPI Python serialization library
|
||||
Group: System/Libraries
|
||||
@ -623,15 +630,19 @@ Conflicts: boost-devel < 1.63
|
||||
This package contains the Boost.MPI development library for Python 2.7
|
||||
serialization interface.
|
||||
|
||||
%package -n python-boost_parallel_mpi%{lib_appendix}
|
||||
|
||||
%package -n python2-boost_parallel_mpi%{lib_appendix}
|
||||
Summary: Python 2.7 bindings for Boost.Parallel.MPI library
|
||||
Group: Development/Languages/Python
|
||||
Provides: python-boost_parallel_mpi = %{version}
|
||||
Provides: python-boost_parallel_mpi%{lib_appendix} = %{version}
|
||||
Conflicts: otherproviders(python-boost_parallel_mpi)
|
||||
|
||||
%description -n python-boost_parallel_mpi%{lib_appendix}
|
||||
%description -n python2-boost_parallel_mpi%{lib_appendix}
|
||||
This package contains the Boost.Parallel.MPI bindings for Python 2.7
|
||||
|
||||
%endif # python2
|
||||
|
||||
%if %{with python3}
|
||||
|
||||
%package -n libboost_mpi_python-py3-%{lib_appendix}
|
||||
@ -712,6 +723,7 @@ Conflicts: boost-devel < 1.63
|
||||
This package contains development headers for Boost.ProgramOptions
|
||||
library.
|
||||
|
||||
%if %{with python2}
|
||||
%package -n libboost_python-py2_7-%{lib_appendix}
|
||||
Summary: Boost.Python runtime library
|
||||
Group: System/Libraries
|
||||
@ -756,7 +768,8 @@ Conflicts: boost-devel < 1.63
|
||||
%description -n libboost_numpy-py2_7-%{lib_appendix}-devel
|
||||
Development headers for Boost::Python::NumPy library for the default version of
|
||||
python.
|
||||
%endif
|
||||
%endif # with numpy
|
||||
%endif # with python2
|
||||
|
||||
%if %{with python3}
|
||||
%package -n libboost_python-py3-%{lib_appendix}
|
||||
@ -1092,12 +1105,32 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
|
||||
#stupid build machinery copies .orig files
|
||||
# find . -name \*.orig -exec rm {} +
|
||||
|
||||
%build
|
||||
find . -type f -exec chmod u+w {} +
|
||||
|
||||
# General case
|
||||
cat << EOF >user-config.jam
|
||||
import os ;
|
||||
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
|
||||
using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ;
|
||||
project user-config ;
|
||||
EOF
|
||||
|
||||
%if %build_base
|
||||
cat << \EOF >.build
|
||||
export LIBRARIES_FLAGS="--without-mpi --without-python"
|
||||
%if ! %{with build_context}
|
||||
# coroutine depends on context
|
||||
LIBRARIES_FLAGS+=" --without-context --without-coroutine"
|
||||
%endif
|
||||
|
||||
%if ! %{with boost_fiber}
|
||||
LIBRARIES_FLAGS+=" --without-fiber"
|
||||
%endif
|
||||
EOF
|
||||
|
||||
%else # ! build_base
|
||||
|
||||
# Since boost build system is broken and incable of handling multiple python versions,
|
||||
# we need to build boost piece by piece. First time to build all the non-python bits,
|
||||
# then we build MPI and/or PYTHON modules for two python versions we need.
|
||||
@ -1108,21 +1141,16 @@ export PY_LIBRARIES_FLAGS="--with-python"
|
||||
PY_LIBRARIES_FLAGS+=" --with-mpi"
|
||||
%endif
|
||||
|
||||
export LIBRARIES_FLAGS="--without-python"
|
||||
# Dummy entry to make sure we don't build everything
|
||||
export LIBRARIES_FLAGS="--with-system"
|
||||
|
||||
%if ! %{with build_context}
|
||||
# coroutine depends on context
|
||||
LIBRARIES_FLAGS+=" --without-context --without-coroutine"
|
||||
# Dummy entry replaced with real libraries, if we build something
|
||||
%if %{with build_mpi}
|
||||
LIBRARIES_FLAGS=" --with-graph_parallel"
|
||||
%endif
|
||||
|
||||
%if ! %{with boost_fiber}
|
||||
LIBRARIES_FLAGS+=" --without-fiber"
|
||||
%endif
|
||||
EOF
|
||||
|
||||
# Read shared build instructions
|
||||
. ./.build
|
||||
|
||||
%if %{with build_mpi}
|
||||
# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
|
||||
. %{_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
|
||||
@ -1135,19 +1163,22 @@ EOF
|
||||
|
||||
# General case
|
||||
cat << EOF >user-config.jam
|
||||
import os ;
|
||||
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
|
||||
using gcc : : : <compileflags>\$(RPM_OPT_FLAGS) ;
|
||||
project user-config ;
|
||||
alias boost_python_alias : : <library>/boost/python//boost_python ;
|
||||
EOF
|
||||
%endif # ! build_base
|
||||
|
||||
# Build boost base PYTHON and MPI, installed in python staging
|
||||
# bootstrap b2
|
||||
./bootstrap.sh \
|
||||
--prefix=%{_prefix} --exec-prefix=%{_bindir} \
|
||||
--libdir=%{_libdir} --includedir=%{_includedir} \
|
||||
--with-toolset=gcc
|
||||
|
||||
# Read shared build instructions
|
||||
. ./.build
|
||||
|
||||
%if ! %build_base
|
||||
|
||||
# Build boost base PYTHON and MPI, installed in python staging
|
||||
cp user-config.jam user-config-py.jam
|
||||
cat << EOF >> user-config-py.jam
|
||||
using python
|
||||
@ -1156,19 +1187,21 @@ using python
|
||||
: %{_includedir}/python%{py_ver}
|
||||
: %{_libdir}/python%{py_ver}
|
||||
:
|
||||
:
|
||||
:
|
||||
;
|
||||
%if %{with build_mpi}
|
||||
using mpi ;
|
||||
%endif
|
||||
EOF
|
||||
|
||||
%if %{with python2}
|
||||
./b2 -d+2 -q --user-config=./user-config-py.jam \
|
||||
--build-type=minimal --build-dir=./python-build \
|
||||
--python-buildid=py2.7 \
|
||||
--stagedir=./python-stage %{?_smp_mflags} \
|
||||
$PY_LIBRARIES_FLAGS \
|
||||
threading=multi link=shared runtime-link=shared stage
|
||||
%endif # with python2
|
||||
|
||||
# Build boost python3 and MPI, installed in python3 staging
|
||||
%if %{with python3}
|
||||
@ -1218,22 +1251,31 @@ EOF
|
||||
echo 'using mpi ;' >> ./user-config.jam
|
||||
%endif
|
||||
|
||||
%endif # ! build_base
|
||||
|
||||
# This is run for both mini and non-mini build
|
||||
./b2 -d+2 -q --user-config=./user-config.jam \
|
||||
--build-type=minimal --build-dir=./build \
|
||||
--stagedir=./stage %{?_smp_mflags} \
|
||||
$LIBRARIES_FLAGS \
|
||||
threading=multi link=shared runtime-link=shared stage
|
||||
|
||||
%if ! %build_base
|
||||
|
||||
# Verify that all symbols built in different stages are interchangeable.
|
||||
# Can't be too careful!
|
||||
cp %{SOURCE101} .
|
||||
chmod +x symbol_diff.sh
|
||||
%if %{with python3}
|
||||
./symbol_diff.sh python3-stage/lib/libboost_mpi.so python-stage/lib/libboost_mpi.so
|
||||
./symbol_diff.sh python3-stage/lib/libboost_serialization.so python-stage/lib/libboost_serialization.so
|
||||
./symbol_diff.sh python3-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so
|
||||
./symbol_diff.sh python3-stage/lib/libboost_serialization.so stage/lib/libboost_serialization.so
|
||||
%endif
|
||||
%if %{with python2}
|
||||
./symbol_diff.sh python-stage/lib/libboost_serialization.so stage/lib/libboost_serialization.so
|
||||
./symbol_diff.sh python-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so
|
||||
%endif
|
||||
#./symbol_diff.sh python-stage/lib/libboost_serialization.so stage/lib/libboost_serialization.so
|
||||
#./symbol_diff.sh python-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so
|
||||
|
||||
# Build documentation
|
||||
%if %{with build_quickbook}
|
||||
@ -1247,11 +1289,15 @@ cd doc
|
||||
./b2 --user-config=../user-config.jam --v2 man %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
%endif # ! build_base
|
||||
|
||||
%install
|
||||
|
||||
# Read shared build instructions
|
||||
. ./.build
|
||||
|
||||
%if ! %build_base
|
||||
|
||||
%if %{with build_mpi}
|
||||
# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
|
||||
. %{_libdir}/mpi/gcc/%{mpi_implem}/bin/mpivars.sh
|
||||
@ -1268,6 +1314,7 @@ cd doc
|
||||
threading=multi link=shared runtime-link=shared install
|
||||
%endif
|
||||
|
||||
%if %{with python2}
|
||||
./b2 -d+2 -q --user-config=./user-config-py.jam \
|
||||
--build-type=minimal --build-dir=./python-build \
|
||||
--python-buildid=py2.7 \
|
||||
@ -1276,7 +1323,11 @@ cd doc
|
||||
--stagedir=./python-stage %{?_smp_mflags} \
|
||||
$PY_LIBRARIES_FLAGS \
|
||||
threading=multi link=shared runtime-link=shared install
|
||||
%endif
|
||||
|
||||
%endif # ! build_base
|
||||
|
||||
# Generic install
|
||||
./b2 -d+2 -q \
|
||||
--build-type=minimal --build-dir=./build --stagedir=./stage \
|
||||
--prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
|
||||
@ -1285,36 +1336,29 @@ cd doc
|
||||
$LIBRARIES_FLAGS \
|
||||
threading=multi link=shared runtime-link=shared install
|
||||
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -m 755 bjam %{buildroot}%{_bindir}
|
||||
ln -s bjam %{buildroot}%{_bindir}/jam
|
||||
|
||||
# Make sure nothing depends on non-id'ed python binaries!
|
||||
rm %{buildroot}%{_libdir}/libboost_mpi_python.so
|
||||
rm %{buildroot}%{_libdir}/libboost_mpi_python.so.%{version}
|
||||
rm %{buildroot}%{_libdir}/libboost_python.so
|
||||
rm %{buildroot}%{_libdir}/libboost_python.so.%{version}
|
||||
# No python dependencies in the main tree
|
||||
|
||||
! $(ldd %{buildroot}%{_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
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
#rm %{buildroot}%{_libdir}/libboost_python3-py3.so
|
||||
#rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version}
|
||||
|
||||
! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.)
|
||||
|
||||
ln -s libboost_python-py3.so %{buildroot}%{_libdir}/libboost_python3.so
|
||||
%endif
|
||||
|
||||
# Move Python libraries over to proper places
|
||||
mkdir -p %{buildroot}%{py_sitedir}/boost/parallel/mpi/
|
||||
mv %{buildroot}/%{_libdir}/mpi.so %{buildroot}%{py_sitedir}/boost/parallel/mpi/
|
||||
install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{py_sitedir}/boost/parallel/mpi/
|
||||
install -m 0644 %{SOURCE11} %{buildroot}%{py_sitedir}/boost/parallel
|
||||
install -m 0644 %{SOURCE11} %{buildroot}%{py_sitedir}/boost
|
||||
%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
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
mkdir -p %{buildroot}%{python3_sitearch}/boost/parallel/mpi/
|
||||
@ -1324,6 +1368,32 @@ install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost/parallel
|
||||
install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost
|
||||
%endif
|
||||
|
||||
#install doc files
|
||||
mkdir -p %{buildroot}%{my_docdir}
|
||||
%if %{with boost_devel}
|
||||
install -m 0644 %{SOURCE102} %{buildroot}%{my_docdir}
|
||||
%endif
|
||||
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 ../LICENSE_1_0.txt %%{buildroot}%%{my_docdir}/libs
|
||||
find %{buildroot}%{my_docdir} -name \*.py -exec chmod -x {} +
|
||||
chmod -x ../boost_%{short_version}_pdf/*.pdf
|
||||
|
||||
%if %{with build_quickbook}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook
|
||||
%endif
|
||||
|
||||
%endif # ! build_base
|
||||
|
||||
%if %build_base
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -m 755 bjam %{buildroot}%{_bindir}
|
||||
ln -s bjam %{buildroot}%{_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,
|
||||
@ -1335,25 +1405,6 @@ objdump -Ctj .text -Ctj .text %{buildroot}%{_libdir}/libboost_exception.so | \
|
||||
rm %{buildroot}%{_libdir}/libboost_exception.so
|
||||
rm %{buildroot}%{_libdir}/libboost_exception.so.%{version}
|
||||
|
||||
#install doc files
|
||||
mkdir -p %{buildroot}%{my_docdir}
|
||||
install -m 0644 %{SOURCE102} %{buildroot}%{my_docdir}
|
||||
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 ../LICENSE_1_0.txt %{buildroot}%{my_docdir}/libs
|
||||
find %{buildroot}%{my_docdir} -name \*.py -exec chmod -x {} +
|
||||
chmod -x ../boost_%{short_version}_pdf/*.pdf
|
||||
#symlink dupes
|
||||
%fdupes %{buildroot}
|
||||
|
||||
%if %{with build_quickbook}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook
|
||||
%endif
|
||||
|
||||
# Remove cruft
|
||||
# FIXME: these shouldn't be built in the first place
|
||||
rm %{buildroot}%{_libdir}/libboost_chrono.a
|
||||
@ -1361,21 +1412,18 @@ rm %{buildroot}%{_libdir}/libboost_system.a
|
||||
rm %{buildroot}%{_libdir}/libboost_timer.a
|
||||
rm %{buildroot}%{_libdir}/libboost_unit_test_framework.a
|
||||
|
||||
%if ! %{with boost_fiber}
|
||||
rm -r %{buildroot}%{_includedir}/boost/fiber
|
||||
%endif
|
||||
|
||||
%if ! %{with build_mpi}
|
||||
rm -r %{buildroot}%{_includedir}/boost/mpi
|
||||
rm %{buildroot}%{_includedir}/boost/mpi.hpp
|
||||
%endif
|
||||
|
||||
%if ! %{with build_context}
|
||||
rm -r %{buildroot}%{_includedir}/boost/coroutine
|
||||
rm -r %{buildroot}%{_includedir}/boost/coroutine2
|
||||
rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%fdupes %{buildroot}%{_includedir}/boost
|
||||
mkdir -p %{buildroot}%{my_docdir}
|
||||
cp LICENSE_1_0.txt %{buildroot}%{my_docdir}
|
||||
%else # ! build_base
|
||||
rm -r %{buildroot}%{_includedir}/boost
|
||||
rm -f %{buildroot}%{_libdir}/libboost_serialization*
|
||||
rm -f %{buildroot}%{_libdir}/libboost_system*
|
||||
rmdir --ignore-fail-on-non-empty %{buildroot}%{_libdir}
|
||||
%fdupes %{buildroot}%{my_docdir}
|
||||
%endif
|
||||
|
||||
%if %build_base
|
||||
%post -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_container%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_context%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1387,18 +1435,6 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%post -n libboost_log%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_test%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%if %{with python_numpy}
|
||||
%post -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1407,15 +1443,6 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%post -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_math%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%if %{with build_mpi}
|
||||
%post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python3}
|
||||
%post -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%post -n libboost_graph%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_system%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1425,6 +1452,36 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%post -n libboost_locale%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_timer%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%else # ! build_base
|
||||
|
||||
%if %{with python2}
|
||||
%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%post -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with build_mpi}
|
||||
%post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
|
||||
%post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python2}
|
||||
%post -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%if %{with python3}
|
||||
%post -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%endif # ! build_base
|
||||
|
||||
%if %build_base
|
||||
%postun -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_container%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_context%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1436,19 +1493,6 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%postun -n libboost_log%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_test%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%if %{with python_numpy}
|
||||
%postun -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_signals%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1456,15 +1500,6 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%postun -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_math%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%if %{with build_mpi}
|
||||
%postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python3}
|
||||
%postun -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%postun -n libboost_graph%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_system%{lib_appendix} -p /sbin/ldconfig
|
||||
@ -1474,16 +1509,41 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%postun -n libboost_locale%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_timer%{lib_appendix} -p /sbin/ldconfig
|
||||
|
||||
%else # ! build_base
|
||||
|
||||
%if %{with python2}
|
||||
%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%postun -n libboost_numpy-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with python3}
|
||||
%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python_numpy}
|
||||
%postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{with build_mpi}
|
||||
%postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
|
||||
%postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
|
||||
%if %{with python2}
|
||||
%postun -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%if %{with python3}
|
||||
%postun -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%endif # build_base
|
||||
|
||||
%if %{build_base}
|
||||
%files -n %{package_name}-jam
|
||||
%defattr(-, root, root, -)
|
||||
%{_bindir}/bjam
|
||||
%{_bindir}/jam
|
||||
|
||||
%files -n boost-license%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{my_docdir}
|
||||
%doc %{my_docdir}/LICENSE_1_0.txt
|
||||
|
||||
%files -n libboost_atomic%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_atomic.so.%{version}
|
||||
@ -1592,6 +1652,29 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%{_libdir}/libboost_math_tr1l.so
|
||||
%{_libdir}/libboost_math_tr1.so
|
||||
|
||||
%files -n libboost_test%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
|
||||
%{_libdir}/libboost_test_exec_monitor.so.%{version}
|
||||
%{_libdir}/libboost_unit_test_framework.so.%{version}
|
||||
|
||||
%files -n libboost_test%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_prg_exec_monitor.so
|
||||
%{_libdir}/libboost_test_exec_monitor.so
|
||||
%{_libdir}/libboost_unit_test_framework.so
|
||||
|
||||
%files -n libboost_program_options%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_program_options.so.%{version}
|
||||
|
||||
%files -n libboost_program_options%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_program_options.so
|
||||
%endif # build_base
|
||||
|
||||
%if ! %build_base
|
||||
|
||||
%if %{with build_mpi}
|
||||
%files -n libboost_mpi%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
@ -1609,6 +1692,7 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libboost_graph_parallel.so
|
||||
|
||||
%if %{with python2}
|
||||
%files -n libboost_mpi_python-py2_7-%{lib_appendix}
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libboost_mpi_python-py2_7.so.%{version}
|
||||
@ -1618,15 +1702,16 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%{_libdir}/libboost_mpi_python-py2_7.so
|
||||
%{_libdir}/libboost_mpi_python.so
|
||||
|
||||
%files -n python-boost_parallel_mpi%{lib_appendix}
|
||||
%files -n python2-boost_parallel_mpi%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{py_sitedir}/boost
|
||||
%dir %{py_sitedir}/boost/parallel
|
||||
%dir %{py_sitedir}/boost/parallel/mpi
|
||||
%{py_sitedir}/boost/__init__.py
|
||||
%{py_sitedir}/boost/parallel/__init__.py
|
||||
%{py_sitedir}/boost/parallel/mpi/__init__.py
|
||||
%{py_sitedir}/boost/parallel/mpi/mpi.so
|
||||
%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
|
||||
%endif # with python2
|
||||
|
||||
%if %{with python3}
|
||||
%files -n libboost_mpi_python-py3-%{lib_appendix}
|
||||
@ -1650,26 +1735,7 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%endif # with python3
|
||||
%endif # with build_mpi
|
||||
|
||||
%files -n libboost_test%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
|
||||
%{_libdir}/libboost_test_exec_monitor.so.%{version}
|
||||
%{_libdir}/libboost_unit_test_framework.so.%{version}
|
||||
|
||||
%files -n libboost_test%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_prg_exec_monitor.so
|
||||
%{_libdir}/libboost_test_exec_monitor.so
|
||||
%{_libdir}/libboost_unit_test_framework.so
|
||||
|
||||
%files -n libboost_program_options%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_program_options.so.%{version}
|
||||
|
||||
%files -n libboost_program_options%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_program_options.so
|
||||
|
||||
%if %{with python2}
|
||||
%files -n libboost_python-py2_7-%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_python-py2_7.so.%{version}
|
||||
@ -1687,7 +1753,9 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%files -n libboost_numpy-py2_7-%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_numpy-py2_7.so
|
||||
%endif
|
||||
|
||||
%endif # with numpy
|
||||
%endif # with python2
|
||||
|
||||
%if %{with python3}
|
||||
%files -n libboost_python-py3-%{lib_appendix}
|
||||
@ -1710,7 +1778,9 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
|
||||
%endif # with numpy
|
||||
%endif # with python3
|
||||
%endif # ! build_base
|
||||
|
||||
%if %build_base
|
||||
%files -n libboost_serialization%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_serialization.so.%{version}
|
||||
@ -1812,21 +1882,24 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%files -n libboost_type_erasure%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%{_libdir}/libboost_type_erasure.so
|
||||
%endif # if build_base
|
||||
|
||||
%files -n libboost_headers%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{_includedir}/boost
|
||||
%{_includedir}/boost/*
|
||||
|
||||
%if ! %build_base
|
||||
%if %{with boost_devel}
|
||||
%files -n %{package_name}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{my_docdir}
|
||||
%{my_docdir}/README.boost-devel
|
||||
%endif
|
||||
|
||||
%files -n %{package_name}-doc-html
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{my_docdir}
|
||||
%doc %{my_docdir}/*
|
||||
%exclude %{my_docdir}/LICENSE_1_0.txt
|
||||
# %%exclude %%{my_docdir}/LICENSE_1_0.txt
|
||||
%if %{with boost_devel}
|
||||
%exclude %{my_docdir}/README.boost-devel
|
||||
%endif
|
||||
|
||||
%if %{with build_docs}
|
||||
%files doc-man
|
||||
@ -1834,20 +1907,31 @@ rm -r %{buildroot}%{_includedir}/boost/context
|
||||
%doc %{_mandir}/man3/*.3.gz
|
||||
%doc %{_mandir}/man7/*.7.gz
|
||||
%doc %{_mandir}/man9/*.9.gz
|
||||
|
||||
%endif
|
||||
|
||||
%if %{with package_pdf}
|
||||
%files -n %{package_name}-doc-pdf
|
||||
%defattr(-, root, root, -)
|
||||
%doc ../boost_%{short_version}_pdf/*.pdf
|
||||
|
||||
%endif
|
||||
|
||||
%if %{with build_quickbook}
|
||||
%files -n %{package_name}-quickbook
|
||||
%defattr(-, root, root, -)
|
||||
%{_bindir}/quickbook
|
||||
%endif
|
||||
%endif # ! build_base
|
||||
|
||||
%if %build_base
|
||||
%files -n libboost_headers%{lib_appendix}-devel
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{_includedir}/boost
|
||||
%{_includedir}/boost/*
|
||||
|
||||
%files -n boost-license%{lib_appendix}
|
||||
%defattr(-, root, root, -)
|
||||
%dir %{my_docdir}
|
||||
%doc %{my_docdir}/LICENSE_1_0.txt
|
||||
|
||||
%endif
|
||||
|
||||
|
@ -458,7 +458,6 @@ libs/utility/shared_iterator_example1.cpp
|
||||
libs/utility/shared_iterator_example2.cpp
|
||||
libs/utility/shared_iterator_example3.cpp
|
||||
libs/wave/ChangeLog
|
||||
LICENSE_1_0.txt
|
||||
more/blanket-permission.txt
|
||||
tools/build/v2/hacking.txt
|
||||
tools/inspect/build/Jamfile.v2
|
||||
|
Loading…
Reference in New Issue
Block a user