summaryrefslogtreecommitdiff
path: root/packaging/boost.spec
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/boost.spec')
-rw-r--r--packaging/boost.spec839
1 files changed, 839 insertions, 0 deletions
diff --git a/packaging/boost.spec b/packaging/boost.spec
new file mode 100644
index 0000000..0c0fc33
--- /dev/null
+++ b/packaging/boost.spec
@@ -0,0 +1,839 @@
+%define ver 1.71.0
+%define file_version 1_71_0
+%define short_version 1_71
+
+#Only define to 1 to generate the man pages
+%define build_docs 0
+
+#Define to 0 to not package the pdf documentation
+%define package_pdf 0
+
+# Just hardcode build_mpi to 1 as soon as openmpi builds on all
+# named architectures.
+%define build_mpi 0
+
+%define disable_long_double 0
+
+%define boost_libs1 boost-date-time boost-filesystem boost-graph
+%define boost_libs2 boost-iostreams boost-math boost-test
+%define boost_libs3 boost-program-options boost-python boost-serialization
+%define boost_libs4 boost-system boost-thread
+%define boost_libs5 boost-wave boost-regex boost-contract
+%define boost_libs6 boost-random boost-chrono boost-locale
+%define boost_libs7 boost-timer boost-atomic boost-log boost-container boost_stacktrace
+
+%define most_libs %boost_libs1 %boost_libs2 %boost_libs3 %boost_libs4 %boost_libs5 %boost_libs6 %boost_libs7
+
+# context hasn't been ported to most architectures yet
+%ifarch aarch64 armv7hl
+%define build_context 0
+%else
+%define build_context 1
+%endif
+
+# needs newer GCC to compile runtime
+%if %{build_context}
+%define build_fiber 1
+%else
+%define build_fiber 0
+%endif
+
+%if %{build_context}
+%define context_libs boost-context boost-coroutine
+%endif
+
+%if %{build_fiber}
+%define fiber_libs boost-fiber
+%endif
+
+%define all_libs %{most_libs} %{?context_libs} %{?fiber_libs}
+
+Name: boost
+BuildRequires: boost-jam
+BuildRequires: dos2unix
+BuildRequires: chrpath
+BuildRequires: gcc-c++
+BuildRequires: bzip2-devel
+BuildRequires: zlib-devel
+BuildRequires: expat-devel
+BuildRequires: libicu-devel
+BuildRequires: python
+BuildRequires: python-devel
+BuildRequires: xz
+BuildRequires: fdupes
+Url: http://www.boost.org
+Summary: Boost C++ Libraries
+License: BSL-1.0
+Group: Base/Libraries
+Version: 1.71.0
+Release: 0
+Source0: %{name}_%{file_version}.tar.bz2
+Source1: boost-rpmlintrc
+Source4: existing_extra_docs
+Source1001: boost.manifest
+Source1002: boost.pc
+
+%define _docdir %{_datadir}/doc/packages/boost-%{version}
+
+%description
+Boost provides free peer-reviewed portable C++ source libraries. The
+emphasis is on libraries that work well with the C++ Standard Library.
+One goal is to establish "existing practice" and provide reference
+implementations so that the Boost libraries are suitable for eventual
+standardization. Some of the libraries have already been proposed for
+inclusion in the C++ Standards Committee's upcoming C++ Standard
+Library Technical Report.
+
+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.
+
+%package devel
+Summary: Development package for Boost C++
+Group: Development/Libraries/C and C++
+Requires: %{all_libs}
+Requires: libstdc++-devel
+
+%description 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 boost-license
+Summary: Boost License
+Group: Development/Libraries/C and C++
+Provides: boost-license = %{version}-%{release}
+BuildArch: noarch
+
+%description -n boost-license
+This package contains the license boost is provided under.
+
+%package doc-html
+Summary: HTML documentation for the Boost C++ Libraries
+Group: Development/Libraries/C and C++
+BuildArch: noarch
+
+%description doc-html
+This package contains the documentation of the boost dynamic libraries
+in HTML format.
+
+%package -n boost-atomic
+Summary: Run-Time component of boost atomic library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-atomic
+Run-Time support for Boost.Atomic, a library that provides atomic data types
+and operations on these data types, as well as memory ordering constraints
+required for coordinating multiple threads through atomic variables.
+
+%package -n boost-container
+Summary: Boost::Container Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-container
+This package contains the Boost Container runtime libraries.
+
+%if %{build_context}
+%package -n boost-context
+Summary: Run-Time component of boost context switching library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-context
+Run-Time support for Boost.Context, a foundational library that
+provides a sort of cooperative multitasking on a single thread.
+
+%package -n boost-contract
+Summary: Boost.Contract runtime library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-contract
+Runtime support for Boost.Contract, a library that implements
+Design by Contract or DbC or contract programming.
+
+%package -n boost-coroutine
+Summary: Boost::Coroutine Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-coroutine
+This package contains the Boost Coroutine runtime libraries.
+%endif
+
+%if %{build_fiber}
+%package -n boost-fiber
+Summary: Run-Time component of boost fiber
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-fiber
+Run-Time support for Boost.fiber
+%endif
+
+
+%package -n boost-date-time
+Summary: Boost::Date.Time Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-date-time
+
+%description -n boost-date-time
+This package contains the Boost Date.Time runtime libraries.
+
+%package -n boost-filesystem
+Summary: Boost::Filesystem Runtime Libraries
+Group: System/Localization
+Requires: boost-license
+Provides: boost-filesystem
+
+%description -n boost-filesystem
+This package contains the Boost::Filesystem libraries.
+
+%package -n boost-graph
+Summary: Boost::Graph Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-graph
+
+%description -n boost-graph
+This package contains the Boost::Graph Runtime libraries.
+
+%if %build_mpi
+%package -n boost-graph-parallel
+Summary: Boost graph::distributed runtime libraries
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost-graph-parallel
+This package contains the boost::graph::distributed runtime libraries.
+%endif
+
+%package -n boost-iostreams
+Summary: Boost::IOStreams Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-iostreams
+
+%description -n boost-iostreams
+This package contains the Boost::IOStreams Runtime libraries.
+
+%package -n boost-log
+Summary: Run-Time component of boost logging library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-log
+
+%description -n boost-log
+Boost.Log library aims to make logging significantly easier for the
+application developer. It provides a wide range of out-of-the-box
+tools along with public interfaces for extending the library.
+
+%package -n boost-math
+Summary: Boost::Math Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-math
+
+%description -n boost-math
+This package contains the Boost::Math Runtime libraries.
+
+%if %build_mpi
+%package -n boost-mpi
+Summary: Boost::MPI Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-mpi
+
+%description -n boost-mpi
+This package contains the Boost::MPI Runtime libraries.
+%endif
+
+%package -n boost-test
+Summary: Boost::Test Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-test
+
+%description -n boost-test
+This package contains the Boost::Test runtime libraries.
+
+%package -n boost-program-options
+Summary: Boost::ProgramOptions Runtime libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-program-options
+
+%description -n boost-program-options
+This package contains the Boost::ProgramOptions Runtime libraries.
+
+
+%package -n boost-python
+Summary: Boost::Python Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-python
+
+%description -n boost-python
+This package contains the Boost::Python Runtime libraries.
+
+%package -n boost-serialization
+Summary: Boost::Serialization Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-serialization
+
+%description -n boost-serialization
+This package contains the Boost::Serialization Runtime libraries.
+
+%package -n boost_stacktrace
+Summary: Boost.Stacktrace runtime library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost_stacktrace
+This package contains the Boost.Stacktrace runtime library.
+
+%package -n boost-system
+Summary: Boost::System Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-system
+
+%description -n boost-system
+This package contains the Boost::System runtime libraries.
+
+%package -n boost-thread
+Summary: Boost::Thread Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-thread
+
+%description -n boost-thread
+This package contains the Boost::Thread runtime libraries.
+
+%package -n boost-wave
+Summary: Boost::Wave Runtime Libraries
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-wave
+
+%description -n boost-wave
+This package contains the Boost::Wave runtime libraries.
+
+%package -n boost-regex
+Summary: The Boost::Regex runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-regex
+
+%description -n boost-regex
+This package contains the Boost::Regex runtime library.
+
+%package -n boost-random
+Summary: The Boost::Random runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-random
+
+%description -n boost-random
+This package contains the Boost::Random runtime library.
+
+%package -n boost-chrono
+Summary: The Boost::Chrono runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-chrono
+
+%description -n boost-chrono
+This package contains the Boost::Chrono runtime library.
+
+%package -n boost-locale
+Summary: The Boost::Locale runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-locale
+
+%description -n boost-locale
+This package contains the Boost::Locale runtime library.
+
+%package -n boost-timer
+Summary: The Boost::Timer runtime library
+Group: System/Libraries
+Requires: boost-license
+Provides: boost-timer
+
+%description -n boost-timer
+This package contains the Boost::Timer runtime library.
+
+%package -n boost_type_erasure
+Summary: The Boost::TypeErasure runtime library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost_type_erasure
+This package contains the Boost::TypeErasure runtime library.
+
+
+%prep
+%setup -q -n %{name}_%{version}
+cp %{SOURCE1001} .
+cp %{SOURCE1002} .
+#everything in the tarball has the executable flag set ...
+find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} +
+
+#stupid build machinery copies .orig files
+find . -name \*.orig -exec rm {} +
+
+%build
+find . -type f -exec chmod u+w {} +
+
+# Create shared build instructions
+cat << \EOF >.build
+# Now build it
+J_P=%{jobs}
+J_G=$(getconf _NPROCESSORS_ONLN)
+JOBS=${JOBS-$J_P}
+[ $J_G -gt 64 ] && J_G=64
+
+if test -z "$JOBS"; then
+ JOBS=$J_G
+else
+ test 1 -gt "$JOBS" && JOBS=1
+fi
+
+%if %{disable_long_double}
+export LONG_DOUBLE_FLAGS="--disable-long-double"
+%endif
+BJAM_CONFIG="-d2 -j$JOBS -sICU_PATH=%{_prefix}"
+PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
+PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
+export REGEX_FLAGS="--with-icu"
+export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir}
+export PYTHON_FLAGS
+LIBRARIES_FLAGS=--with-libraries=all
+
+%if !%{build_context}
+# coroutine/coroutine2 depend on context
+LIBRARIES_FLAGS+=" --without-libraries=context,coroutine"
+%endif
+
+%if !%{build_fiber}
+LIBRARIES_FLAGS+=" --without-libraries=fiber"
+%endif
+
+EOF
+
+touch user-config.jam
+
+# Read shared build instructions
+. ./.build
+
+%if %build_mpi
+# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
+. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh
+%endif
+
+# use supplied bootstrap.sh instead of mucking with old bjam
+# see also: https://svn.boost.org/trac/boost/ticket/9304
+./bootstrap.sh $LIBRARIES_FLAGS \
+ --prefix=%{_prefix} --exec-prefix=%{_bindir} \
+ --libdir=%{_libdir} --includedir=%{_includedir}
+
+# add specific wishes in user-config.jam
+%if %build_docs
+cat << EOF >user-config.jam
+using xsltproc ;
+
+using boostbook
+ : /usr/share/xml/docbook/stylesheet/nwalsh/current
+ : /usr/share/xml/docbook/schema/dtd/4.2
+ ;
+
+using doxygen ;
+EOF
+%endif
+
+%if %build_mpi
+cat << EOF >>user-config.jam
+using mpi ;
+EOF
+%endif
+
+# perform the compilation
+./b2 %{?_smp_mflags} --prefix=%{_prefix} --libdir=%{_libdir} \
+ --user-config=./user-config.jam ${CFLAGS:+cflags="$CFLAGS"} \
+ ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LDFLAGS:+linkflags="$LDFLAGS"}
+
+
+%if %build_docs
+cd doc
+../b2 --user-config=../user-config.jam --v2 man
+%endif
+
+%check
+%if "%{run_tests}" == "1"
+BOOST_LIBS="chrono,program_options,thread,system,filesystem,date_time,regex,serialization,iostreams,random,test"
+ chmod 777 ./run_test.sh
+ echo "RUN run_test.sh"
+ ./run_test.sh %{version} $BOOST_LIBS || exit 0
+%endif
+
+%install
+
+# Read shared build instructions
+. ./.build
+
+%if %build_mpi
+# Set PATH, MANPATH and LD_LIBRARY_PATH for mpi
+. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh
+%endif
+
+./b2 install %{?_smp_mflags} \
+ --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \
+ --libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \
+ --user-config=./user-config.jam
+
+# do not install the python module - as long as noone needs it, it requires more fixes
+# see https://bugzilla.redhat.com/show_bug.cgi?id=801534 for details
+rm -f %{buildroot}%{_libdir}/mpi.so
+
+mkdir -p %{buildroot}%{_docdir}
+
+pushd %{buildroot}%{_libdir}
+blibs=$(find . -name \*.so.%{version})
+echo $blibs | xargs chrpath -d
+
+for lib in ${blibs}; do
+ BASE=$(basename ${lib} .so.%{version})
+ SONAME_MT="$BASE-mt.so"
+ ln -sf ${lib} $SONAME_MT
+done
+popd
+
+# install pkgconfig file
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+install -D -m 644 %{SOURCE1002} $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+
+find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \
+ tar --files-from=%{S:4} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf -
+rm -rf %{buildroot}%{_docdir}/boost
+ln -s /usr/include/boost %{buildroot}%{_docdir}
+ln -s ../LICENSE_1_0.txt %{buildroot}%{_docdir}/libs
+#Copy the news file.
+#cp %%{S:5} %%{buildroot}%%{_docdir}
+#only for documentation, doesn't need to be executable
+find %{buildroot}%{_docdir} -name \*.py -exec chmod -x {} +
+
+%if %package_pdf
+chmod -x ../%{name}_%{short_version}_pdf/*.pdf
+%endif
+
+#rm -f %{buildroot}%{_libdir}/*.a
+ls %{buildroot}%{_libdir}/*.a | grep -v libboost_unit_test_framework.a | xargs rm
+#symlink dupes
+
+# Delete cmake files
+rm -rf %{buildroot}%{_libdir}/cmake
+
+%fdupes %buildroot
+
+%post -n boost-atomic -p /sbin/ldconfig
+%post -n boost-container -p /sbin/ldconfig
+
+%if %{build_context}
+%post -n boost-context -p /sbin/ldconfig
+%post -n boost-coroutine -p /sbin/ldconfig
+%endif
+%post -n boost-contract -p /sbin/ldconfig
+
+%if %{build_fiber}
+%post -n boost-fiber -p /sbin/ldconfig
+%endif
+%post -n boost-date-time -p /sbin/ldconfig
+%post -n boost-filesystem -p /sbin/ldconfig
+%post -n boost-iostreams -p /sbin/ldconfig
+%post -n boost-log -p /sbin/ldconfig
+%post -n boost-test -p /sbin/ldconfig
+%post -n boost-program-options -p /sbin/ldconfig
+%post -n boost-python -p /sbin/ldconfig
+%post -n boost-regex -p /sbin/ldconfig
+%post -n boost-serialization -p /sbin/ldconfig
+%post -n boost-thread -p /sbin/ldconfig
+%post -n boost-math -p /sbin/ldconfig
+%post -n boost_type_erasure -p /sbin/ldconfig
+%if %build_mpi
+%post -n boost-mpi -p /sbin/ldconfig
+%endif
+%post -n boost-graph -p /sbin/ldconfig
+%post -n boost_stacktrace -p /sbin/ldconfig
+%post -n boost-system -p /sbin/ldconfig
+%post -n boost-wave -p /sbin/ldconfig
+%post -n boost-random -p /sbin/ldconfig
+%post -n boost-chrono -p /sbin/ldconfig
+%post -n boost-locale -p /sbin/ldconfig
+%post -n boost-timer -p /sbin/ldconfig
+%if %build_mpi
+%post -n boost-graph-parallel -p /sbin/ldconfig
+%endif
+
+%postun -n boost-atomic -p /sbin/ldconfig
+%postun -n boost-container -p /sbin/ldconfig
+
+%if %{build_context}
+%postun -n boost-context -p /sbin/ldconfig
+%postun -n boost-coroutine -p /sbin/ldconfig
+%endif
+%postun -n boost-contract -p /sbin/ldconfig
+
+%if %{build_fiber}
+%postun -n boost-fiber -p /sbin/ldconfig
+%endif
+
+%postun -n boost-date-time -p /sbin/ldconfig
+%postun -n boost-filesystem -p /sbin/ldconfig
+%postun -n boost-iostreams -p /sbin/ldconfig
+%postun -n boost-log -p /sbin/ldconfig
+%postun -n boost-test -p /sbin/ldconfig
+%postun -n boost-program-options -p /sbin/ldconfig
+%postun -n boost-python -p /sbin/ldconfig
+%postun -n boost-regex -p /sbin/ldconfig
+%postun -n boost-serialization -p /sbin/ldconfig
+%postun -n boost-thread -p /sbin/ldconfig
+%postun -n boost-math -p /sbin/ldconfig
+%postun -n boost_type_erasure -p /sbin/ldconfig
+%if %build_mpi
+%postun -n boost-mpi -p /sbin/ldconfig
+%endif
+%postun -n boost-graph -p /sbin/ldconfig
+%postun -n boost_stacktrace -p /sbin/ldconfig
+%postun -n boost-system -p /sbin/ldconfig
+%postun -n boost-wave -p /sbin/ldconfig
+%postun -n boost-random -p /sbin/ldconfig
+%postun -n boost-chrono -p /sbin/ldconfig
+%postun -n boost-locale -p /sbin/ldconfig
+%postun -n boost-timer -p /sbin/ldconfig
+%if %build_mpi
+%postun -n boost-graph-parallel -p /sbin/ldconfig
+%endif
+
+%files
+%manifest %{name}.manifest
+%license LICENSE_1_0.txt
+
+%files -n boost-license
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+
+%files -n boost-atomic
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_atomic*.so.*
+
+%files -n boost-container
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_container*.so.*
+
+
+%if %{build_context}
+%files -n boost-context
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_context*.so.*
+
+%files -n boost-coroutine
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_coroutine*.so.*
+%endif
+
+%files -n boost-contract
+%{_libdir}/libboost_contract.so.*
+
+%if %{build_fiber}
+%files -n boost-fiber
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_fiber*.so.*
+%endif
+
+
+%files -n boost-date-time
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_date_time*.so.*
+
+%files -n boost-filesystem
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_filesystem*.so.*
+
+%files -n boost-graph
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_graph.so.*
+
+%if %build_mpi
+%files -n boost-graph-parallel
+%manifest %{name}.manifest
+%defattr(-,root,root)
+%license LICENSE_1_0.txt
+%_libdir/libboost_graph_parallel.so.*
+%endif
+
+%files -n boost-iostreams
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_iostreams*.so.*
+
+%files -n boost-log
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_log*.so.*
+
+%files -n boost-math
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_math_*.so.*
+
+%files -n boost_type_erasure
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_type_erasure*.so.*
+
+%if %build_mpi
+%manifest %{name}.manifest
+%files -n boost-mpi
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_mpi*.so.*
+%endif
+
+%files -n boost-test
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_prg_exec_monitor*.so.*
+%{_libdir}/libboost_unit_test_framework*.so.*
+%{_libdir}/libboost_unit_test_framework.a
+
+
+%files -n boost-program-options
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_program_options*.so.*
+
+%files -n boost-python
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_python*.so.*
+
+%files -n boost-serialization
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_*serialization*.so.*
+
+%files -n boost_stacktrace
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_stacktrace_addr2line.so.*
+%{_libdir}/libboost_stacktrace_basic.so.*
+%{_libdir}/libboost_stacktrace_noop.so.*
+
+%files -n boost-system
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_system*.so.*
+
+%files -n boost-thread
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_thread*.so.*
+
+%files -n boost-wave
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_wave*.so.*
+
+%files -n boost-regex
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_regex*.so.*
+
+%files -n boost-random
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_random*.so.*
+
+%files -n boost-chrono
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_chrono*.so.*
+
+%files -n boost-locale
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_locale*.so.*
+
+%files -n boost-timer
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_libdir}/libboost_timer*.so.*
+
+%files devel
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%{_includedir}/boost
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/boost.pc
+#%%{_datadir}/aclocal/*.m4
+
+%files doc-html
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%doc %{_docdir}/*
+%exclude %{_docdir}/LICENSE_1_0.txt
+
+%if %package_pdf
+%files doc-pdf
+%manifest %{name}.manifest
+%defattr(-, root, root, -)
+%license LICENSE_1_0.txt
+%doc ../%{name}_%{short_version}_pdf/*.pdf
+%endif
+
+%changelog