Sisyphus repository
Last update: 18 august 2019 | SRPMs: 17338 | Visits: 14652626
en ru br
ALT Linux repos
S:1.67.0-alt8
D:1.37.0-alt2
5.0: 1.36.0-alt4
4.1: 1.34.1-alt1
4.0: 1.33.1-alt4
3.0: 1.32.0-alt2

Group :: Development/C++
RPM: boost

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define ver_maj 1
%define ver_min 37
%define ver_rel 0

#define lsuff %{ver_maj}_%ver_min

%define namesuff %{ver_maj}_%{ver_min}_%ver_rel

%define boost_include %_includedir/%name
%define boost_doc %_docdir/%name-%version

# Boost.Python shared libraries have unresolved symbols from libpythonX.X.so.

# This is done intensionally to make it possible to load Python extensions
# written with Boost.Python into programs that link with Python interpreter
# statically. Because of this we do the following:
%add_verify_elf_skiplist %_libdir/*boost*python*.so.*


%def_with devel
%if_with devel
%def_with jam
%def_with devel_static
%else
%def_without jam
%def_without devel_static
%endif

Name: boost
Version: %ver_maj.%ver_min.%ver_rel
Release: alt2
Epoch: 1

Summary: Boost libraries
License: Boost Software License
Group: Development/C++
Url: http://www.boost.org

Packager: Ivan Melnikov <iv at altlinux.org>

Source: %{name}_%namesuff.tar
Patch3: %name-1.35.0-mdv-layout-system.patch
Patch5: %name-1.36.0-alt-bjam-locate-target.patch
Patch11: %name-1.36.0-trac-2304-spirit-warnings.patch
Patch12: %name-1.36.0-alt-spirit-multi_pass-warnings.patch
Patch13: %name-1.37.0-alt-warnings.patch

#BuildArch: %%_target_cpu

BuildRequires(pre): python-devel

#buildreq doesn't do anything sane on this package

BuildRequires: gcc-c++ libstdc++-devel zlib-devel bzlib-devel libicu-devel
#BuildRequires: libexpat-devel-static libexpat-devel


%description
The Boost web site provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries which 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.


%if_with devel
%package devel
Summary: Boost libraries
Group: Development/C++

Requires: libboost_date_time%version = %epoch:%version-%release
Requires: libboost_graph%version = %epoch:%version-%release
Requires: libboost_iostreams%version = %epoch:%version-%release
Requires: libboost_regex%version = %epoch:%version-%release
Requires: libboost_serialization%version = %epoch:%version-%release
Requires: libboost_system%version = %epoch:%version-%release
Requires: libboost_test%version = %epoch:%version-%release
Requires: libboost_thread%version = %epoch:%version-%release

Provides: boost-datetime-devel = %epoch:%version-%release
Obsoletes: boost-datetime-devel < %epoch:%version-%release
Provides: boost-graph-devel = %epoch:%version-%release
Obsoletes: boost-graph-devel < %epoch:%version-%release
Provides: boost-iostreams-devel = %epoch:%version-%release
Obsoletes: boost-iostreams-devel < %epoch:%version-%release
Provides: boost-regex-common-devel = %epoch:%version-%release
Obsoletes: boost-regex-common-devel < %epoch:%version-%release
Provides: boost-regex-devel = %epoch:%version-%release
Obsoletes: boost-regex-devel < %epoch:%version-%release
Provides: boost-regex-gcc2-devel = %epoch:%version-%release
Provides: boost-regex-gcc3-devel = %epoch:%version-%release
Obsoletes: boost-regex-gcc2-devel, boost-regex-gcc3-devel, boost-regex-common-devel
Provides: boost-serialization-devel = %epoch:%version-%release
Obsoletes: boost-serialization-devel < %epoch:%version-%release
Provides: boost-system-devel = %epoch:%version-%release
Obsoletes: boost-system-devel < %epoch:%version-%release
Provides: boost-test-devel = %epoch:%version-%release
Obsoletes: boost-test-devel < %epoch:%version-%release
Provides: boost-thread-devel = %epoch:%version-%release
Obsoletes: boost-thread-devel < %epoch:%version-%release

%description devel
The Boost web site provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries which 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.


%package asio-devel
Summary: The Boost Asio Lirary development files
Group: Development/C++
BuildArch: noarch

PreReq: %name-devel = %epoch:%version-%release
Obsoletes: asio
Provides: asio = %epoch:%version-%release

%description asio-devel
asio is a cross-platform C++ library for network programming that provides
developers with a consistent asynchronous I/O model using a modern C++
approach.


%package filesystem-devel
Summary: The Boost Filesystem Lirary development files
Group: Development/C++

PreReq: %name-devel = %epoch:%version-%release
Requires: libboost_filesystem%version = %epoch:%version-%release

%description filesystem-devel
The Boost Filesystem Library provides portable facilities to query and
manipulate paths, files, and directories.


%package interprocess-devel
Summary: The Boost Interprocess Lirary development files
Group: Development/C++
BuildArch: noarch

PreReq: %name-devel = %epoch:%version-%release
Requires: %name-intrusive-devel = %epoch:%version-%release

%description interprocess-devel
Boost.Interprocess provides portable access to shared memory, memory mapped
files, process-shared mutexes, condition variables, containers and allocators.

It is header-only library. This package contains the headers.


%package intrusive-devel
Summary: The Boost Intrusive Lirary development files
Group: Development/C++
BuildArch: noarch

PreReq: %name-devel = %epoch:%version-%release

%description intrusive-devel
Boost.Intrusive library provides intrusive containers and algorithms.

It is header-only library. This package contains the headers.


%package math-devel
Summary: The Boost Math Lirary development files.
Group: Development/C++

PreReq: %name-devel = %epoch:%version-%release
Requires: libboost_math_c99%version = %epoch:%version-%release
Requires: libboost_math_c99f%version = %epoch:%version-%release
Requires: libboost_math_c99l%version = %epoch:%version-%release
Requires: libboost_math_tr1%version = %epoch:%version-%release
Requires: libboost_math_tr1f%version = %epoch:%version-%release
Requires: libboost_math_tr1l%version = %epoch:%version-%release

%description math-devel
The Boost Math Lirary development files. You'll need to install this
package if you want to link with Boost.Math shared libraries.


%package program_options-devel
Summary: The Boost Filesystem Lirary development files
Group: Development/C++

PreReq: %name-devel = %epoch:%version-%release
Requires: libboost_program_options%version = %epoch:%version-%release

Obsoletes: program_options-devel
Provides: program_options-devel  =  %epoch:%version-%release
Provides: boost-program-options-devel = %epoch:%version-%release

%description program_options-devel
Boost Program Options library allows program developers to obtain program
options, that is (name, value) pairs from the user, via conventional methods.


%package python-devel
Summary: The Boost Python Library (Boost.Python) development files
Group: Development/C++

Requires: python-devel = %__python_version
Requires: libboost_python%version = %epoch:%version-%release
PreReq: %name-devel = %epoch:%version-%release

Obsoletes: boost-python-gcc2-devel, boost-python-gcc3-devel, boost-python-common-devel
Provides: boost-python-gcc2-devel = %epoch:%version-%release
Provides: boost-python-gcc3-devel = %epoch:%version-%release
Provides: boost-python-common-devel = %epoch:%version-%release

%description python-devel
Use the Boost Python Library to quickly and easily export a C++ library to
Python such that the Python interface is very similar to the C++ interface. It
is designed to be minimally intrusive on your C++ design. In most cases, you
should not have to alter your C++ classes in any way in order to use them with
Boost.Python. The system should simply ``reflect'' your C++ classes and
functions into Python.

This package contains development files for Boost.Python.


%package signals-devel
Summary: The Boost Signals Lirary development files
Group: Development/C++

PreReq: %name-devel = %epoch:%version-%release
Requires: libboost_signals%version = %epoch:%version-%release

%description signals-devel
The  Boost.Signals  library  is an implementation of a managed signals and
slots  system. Signals represent callbacks with multiple targets, and  are
also called publishers or events in similar systems. Signals are connected to
some set of slots, which are callback receivers (also called event targets or
subscribers), which are called when the signal is "emitted."


%package units-devel
Summary: The Boost Units Lirary development files
Group: Development/C++
BuildArch: noarch

PreReq: %name-devel = %epoch:%version-%release

%description units-devel
The Boost.Units library is a C++ implementation of dimensional analysis and
unit/quantity manipulation and conversion.

%package wave-devel
Summary: Boost.Wave Library development files.
Group: Development/C++

Requires: libboost_wave%version = %epoch:%version-%release
PreReq: %name-devel = %epoch:%version-%release
Requires: %name-filesystem-devel = %epoch:%version-%release

%description wave-devel
The Boost Wave Library develompment files.


%package doc
Summary: Boost libraries documentation
Group: Development/C++
BuildArch: noarch

PreReq: %name-devel

%description doc
The Boost web site provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries which 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.

This package contains Boost libraries documentation.
%endif #with devel

%if_with jam
%package jam
License: GPL
Summary: Boost Jam is a replacement for make
Group: Development/Other

%description 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, but should be backward compatible with Perforce Jam.
%endif


%if_with devel_static
%package devel-static
Summary: Boost libraries
Group: Development/C++

PreReq: %name-devel = %epoch:%version-%release
Requires: %name-filesystem-devel = %epoch:%version-%release
Requires: %name-program_options-devel = %epoch:%version-%release
Requires: %name-python-devel = %epoch:%version-%release
Requires: %name-signals-devel = %epoch:%version-%release
Requires: %name-wave-devel = %epoch:%version-%release

Obsoletes: program_options-devel-static
Provides: boost-datetime-devel-static = %epoch:%version-%release
Provides: boost-filesystem-devel-static = %epoch:%version-%release
Provides: boost-graph-devel-static = %epoch:%version-%release
Provides: boost-iostreams-devel-static = %epoch:%version-%release
Provides: boost-program-options-devel-static = %epoch:%version-%release
Provides: boost-python-common-devel-static = %epoch:%version-%release
Provides: boost-python-devel-static = %epoch:%version-%release
Provides: boost-python-gcc2-devel-static = %epoch:%version-%release
Provides: boost-python-gcc3-devel-static = %epoch:%version-%release
Provides: boost-regex-common-devel-static = %epoch:%version-%release
Provides: boost-regex-devel-static = %epoch:%version-%release
Provides: boost-regex-gcc2-devel-static = %epoch:%version-%release
Provides: boost-regex-gcc3-devel-static = %epoch:%version-%release
Provides: boost-serialization-devel-static = %epoch:%version-%release
Provides: boost-signals-devel-static = %epoch:%version-%release
Provides: boost-system-devel-static = %epoch:%version-%release
Provides: boost-test-devel-static = %epoch:%version-%release
Provides: boost-thread-devel-static = %epoch:%version-%release
Provides: boost-wave-devel-static = %epoch:%version-%release
Provides: program_options-devel-static  =  %epoch:%version-%release

%description devel-static
The Boost web site provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries which 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.

This package contains static libraries.
%endif #with devel-static


%package -n libboost_date_time%version
Summary: Boost Date-Time Library.
Group: Development/C++
Provides: %name-datetime = %epoch:%version-%release

%description -n libboost_date_time%version
Programming  with  dates  and  times  should  be  almost as simple and
natural  as  programming  with strings and integers. Applications with
lots  of temporal logic can be radically simplified by having a robust
set  of operators and calculation capabilities. Classes should provide
the ability to compare dates and times, add lengths or time durations,
retrieve dates and times from clocks, and work naturally with date and
time intervals.


%package -n libboost_filesystem%version
Summary: Filesystem Library
Group: Development/C++
Provides: %name-filesystem = %epoch:%version-%release

%description -n libboost_filesystem%version
The Boost Filesystem Library provides portable facilities to query and
manipulate paths, files, and directories.


%package -n libboost_graph%version
Summary: Graph Library
Group: Development/C++
Provides: %name-graph = %epoch:%version-%release

%description -n libboost_graph%version
The Boost Graph Library provides  graph components and algorithms.


%package -n libboost_iostreams%version
Summary: I/O streams Library
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_iostreams%version
The Boost Iostreams Library provides various iostreams support.


%package -n libboost_math_c99%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_c99%version
Boost.Math shared library.


%package -n libboost_math_c99f%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_c99f%version
Boost.Math shared library.


%package -n libboost_math_c99l%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_c99l%version
Boost.Math shared library.


%package -n libboost_math_tr1%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_tr1%version
Boost.Math shared library.


%package -n libboost_math_tr1f%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_tr1f%version
Boost.Math shared library.


%package -n libboost_math_tr1l%version
Summary: Boost.Math shared library.
Group: Development/C++
Provides: %name-iostreams = %epoch:%version-%release

%description -n libboost_math_tr1l%version
Boost.Math shared library.


%package -n libboost_program_options%version
Summary: The Boost Program_options Library (Boost.Program_options)
Group: Development/C++

Obsoletes: program_options
Provides: program_options = %epoch:%version-%release
Provides: %name-program-options = %epoch:%version-%release

%description -n libboost_program_options%version
The program_options library allows program developers to obtain program
options, that is (name, value) pairs from the user, via conventional methods
such as command line and config file.


%package -n libboost_python%version
Summary: The Boost Python Library (Boost.Python)
Group: Development/C++

Obsoletes: boost-python-gcc2, boost-python-gcc3
Provides: boost-python-gcc2 = %epoch:%version-%release
Provides: boost-python-gcc3 = %epoch:%version-%release
Provides: %name-python = %epoch:%version-%release

%description -n libboost_python%version
Use the Boost Python Library to quickly and easily export a C++ library to
Python such that the Python interface is very similar to the C++ interface. It
is designed to be minimally intrusive on your C++ design. In most cases, you
should not have to alter your C++ classes in any way in order to use them with
Boost.Python. The system should simply ``reflect'' your C++ classes and
functions into Python.


%package -n libboost_regex%version
Summary: Regular expressions library for C++
Group: Development/C++
Obsoletes: boost-regex-gcc2, boost-regex-gcc3
Provides: boost-regex-gcc2 = %epoch:%version-%release
Provides: boost-regex-gcc3 = %epoch:%version-%release
Provides: %name-regex = %epoch:%version-%release

%description -n libboost_regex%version
Regular expressions are a form of pattern-matching that are often used in text
processing; many users will be familiar with the Unix utilities grep, sed and
awk, and the programming language perl, each of which make extensive use of
regular expressions. Traditionally C++ users have been limited to the POSIX C
API's for manipulating regular expressions, and while regex++ does provide
these API's, they do not represent the best way to use the library. For example
regex++ can cope with wide character strings, or search and replace operations
(in a manner analogous to either sed or perl), something that traditional C
libraries can not do.


%package -n libboost_serialization%version
Summary: The Boost Serialization Library (Boost.Serialization)
Group: Development/C++
Provides: %name-serialization = %epoch:%version-%release

%description -n libboost_serialization%version
Here, we use the term "serialization" to mean the reversible deconstruction of
an arbitrary set of C++ data structures to a sequence of bytes. Such a system
can be used to reconstitute an equivalent structure in another program context.
Depending on this context, this might used implement object persistence, remote
parameter passing or other facility.  In this system we use the term "archive"
to refer to a specific rendering of this stream of bytes. This could be a file
of binary data, text data, XML, or some other created by the user of this
library.


%package -n libboost_signals%version
Summary: The Boost Signals Library (Boost.Signals)
Group: Development/C++
Provides: %name-signals = %epoch:%version-%release

%description -n libboost_signals%version
The  Boost.Signals  library  is an implementation of a managed signals and
slots  system. Signals represent callbacks with multiple targets, and  are
also called publishers or events in similar systems. Signals are connected to
some set of slots, which are callback receivers (also called event targets or
subscribers), which are called when the signal is "emitted."


%package -n libboost_system%version
Summary: Boost System Library
Group: Development/C++
Provides: %name-system = %epoch:%version-%release

%description -n libboost_system%version
Boost.System library provides operating system support, including
the diagnostics support that will be part of the C++0x standard library.


%package -n libboost_test%version
Summary: Test Library
Group: Development/C++
Provides: %name-test = %epoch:%version-%release

%description -n libboost_test%version
The Boost Test Library provides a matched set of components for writing test
programs, organizing tests in to simple test cases and test suites, and
controlling their runtime execution. The Program Execution Monitor is also
useful in some production (non-test) environments.


%package -n libboost_thread%version
Group: Development/C++
Summary: The Boost Threads Library (Boost.Threads)

Obsoletes: boost-thread-gcc2, boost-thread-gcc3
Provides: boost-thread-gcc2 = %epoch:%version-%release
Provides: boost-thread-gcc3 = %epoch:%version-%release
Provides: %name-thread = %epoch:%version-%release

%description -n libboost_thread%version
Boost.Threads allows C++ programs to execute as multiple, asynchronous,
independent, threads-of-execution. Each thread has its own machine state
including program instruction counter and registers. Programs which execute as
multiple threads are called multi-threaded programs to distinguish them from
traditional single-threaded programs. Definitions gives a more complete
description of the multi-threading execution environment.


%package -n libboost_wave%version
Summary: Boost.Wave Library
Group: Development/C++
Provides: %name-wave = %epoch:%version-%release

%description -n libboost_wave%version
The Boost Wave Library.



%prep
%setup -q -n %{name}_%namesuff
%patch3 -p0
%patch5 -p1
%patch11 -p0
%patch12 -p0
%patch13 -p2

find ./ -type f -exec chmod a-x '{}' ';'

%build

%if_with devel_static
LINK_BOOST=shared,static
%else
LINK_BOOST=shared
%endif

BJAM_DIR=./tools/jam/src

pushd "$BJAM_DIR"
chmod +x ./build.sh
./build.sh
popd

BJAM="${BJAM_DIR}/bjam"

[ -n "$NPROCS" ] || NPROCS=%__nprocs
$BJAM -q -j$NPROCS -d2 --layout=system --toolset=gcc    \
  variant=release threading=single,multi              \
  link=$LINK_BOOST optimization=speed               \
  debug-symbols=on -sHAVE_ICU=1 --without-mpi         \
  --prefix=%{_prefix} --libdir=%{_libdir}



%install

%if_with devel_static
LINK_BOOST=shared,static
%else
LINK_BOOST=shared
%endif

BJAM="./tools/jam/src/bjam"

#libraries and headers are installed by bjam

[ -n "$NPROCS" ] || NPROCS=%__nprocs
$BJAM -q -j$NPROCS -d2 --layout=system --toolset=gcc    \
  variant=release threading=single,multi              \
  link=$LINK_BOOST optimization=speed               \
  debug-symbols=on -sHAVE_ICU=1 --without-mpi         \
  --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} install


#install docs


%if_with devel
mkdir -p %buildroot%boost_doc
#  install documentation
find . \( -name \*.htm -or -name \*.html -or -name \*.css \
       -or -name \*.png -or -name \*.jpeg -or -name \*.jpg -or -name \*.svg  \
       -or -name \*.txt \) \
       -exec install -Dm644 {} %buildroot%boost_doc/{} \;

#  install examples

find . -type d -name example -exec mkdir -p %buildroot/{} \; \
   -exec cp -Rdp {} %buildroot%boost_doc/{} \;

ln -s %boost_include %buildroot%boost_doc/boost
%else
install -Dm644 LICENSE_1_0.txt %buildroot%boost_doc/LICENSE_1_0.txt
%endif

%if_with jam
mkdir -p %buildroot%_bindir
install -Dm755 $BJAM %buildroot%_bindir
ln -s `basename $BJAM` %buildroot%_bindir/boost-jam
%endif

#files


%if_with devel
%files devel
#everything but asio filesystem interprocess intrusive program_options
#python signals units wave
#%%boost_include_path
%_includedir/%name
%exclude %boost_include/asio*
%exclude %boost_include/filesystem*
%exclude %boost_include/interprocess*
%exclude %boost_include/intrusive
%exclude %boost_include/program_options*
%exclude %boost_include/python*
%exclude %boost_include/signal*
%exclude %boost_include/units*
%exclude %boost_include/wave*

#everything but filesystem math program_options python signals wave

%_libdir/*.so
%exclude %_libdir/*_filesystem*.so
%exclude %_libdir/*_math*.so
%exclude %_libdir/*_program_options*.so
%exclude %_libdir/*_python*.so
%exclude %_libdir/*_signals*.so
%exclude %_libdir/*_wave*.so

%dir %boost_doc/
%doc %boost_doc/LICENSE_1_0.txt

%files asio-devel
%boost_include/asio*

%files filesystem-devel
%boost_include/filesystem*
%_libdir/*_filesystem*.so

%files interprocess-devel
%boost_include/interprocess*

%files intrusive-devel
%boost_include/intrusive

%files math-devel
#includes go to boost-devel package
#%boost_include/math*
%_libdir/*_math*.so

%files program_options-devel
%boost_include/program_options*
%_libdir/*_program_options*.so

%files python-devel
%boost_include/python*
%_libdir/*_python*.so

%files signals-devel
%boost_include/signal*
%_libdir/*_signals*.so

%files units-devel
%boost_include/units*

%files wave-devel
%boost_include/wave*
%_libdir/*_wave*.so


%files doc
#everything but license
%doc %boost_doc/[^L]*

%endif #with devel

%if_with jam
%files jam
%_bindir/*
%endif

%if_with devel_static
%files devel-static
%_libdir/*.a
%endif #with devel_static


%files -n libboost_date_time%version
%_libdir/*_date_time*.so.*

%files -n libboost_filesystem%version
%_libdir/*_filesystem*.so.*

%files -n libboost_graph%version
%_libdir/*_graph*.so.*

%files -n libboost_iostreams%version
%_libdir/*_iostreams*.so.*

%files -n libboost_math_c99%version
%_libdir/*_math_c99[^lf]*so.*

%files -n libboost_math_c99f%version
%_libdir/*_math_c99f*.so.*

%files -n libboost_math_c99l%version
%_libdir/*_math_c99l*.so.*


%files -n libboost_math_tr1%version
%_libdir/*_math_tr1[^lf]*so.*

%files -n libboost_math_tr1f%version
%_libdir/*_math_tr1f*.so.*

%files -n libboost_math_tr1l%version
%_libdir/*_math_tr1l*.so.*


%files -n libboost_program_options%version
%_libdir/*_program_options*.so.*

%files -n libboost_python%version
%_libdir/*_python*.so.*

%files -n libboost_regex%version
%_libdir/*_regex*.so.*

%files -n libboost_serialization%version
%_libdir/*_serialization*.so.*
%_libdir/*_wserialization*.so.*

%files -n libboost_signals%version
%_libdir/*_signals*.so.*

%files -n libboost_system%version
%_libdir/*_system*.so.*

%files -n libboost_test%version
%_libdir/*_test*.so.*
%_libdir/*_prg_exec_monitor*.so.*

%files -n libboost_thread%version
%_libdir/*_thread*.so.*

%files -n libboost_wave%version
%_libdir/*_wave*.so.*

%if_with devel
# Since 1.31.0 and until 1.34.1 /usr/include/boost was a symbolic link
# We have to add this triggers to aviod upgrade problems

%pre devel
if [ -L "%_includedir/%name" ]; then
   mv -f "%_includedir/%name" "%_includedir/%name.BOOST_UPGRADE_RPMSAVE"
fi


%triggerpostun devel -p /bin/bash -- boost-devel

link="%_includedir/%name.BOOST_UPGRADE_RPMSAVE"
if [ -L $link ]; then
   dir=`readlink -f $link`
   echo $dir | grep -q '^/usr/include/boost[_-]1[^/]\+/boost/\?$'
   if [ $? -eq 0 ]; then
       # we have something to delete
       rm -rf $dir
   fi
   rm -f $link
fi

# and one more cleanup

for dir in %_includedir/boost[_-]1*/ ; do
   [ -d $dir/boost ] && rmdir $dir/boost || :
   [ -d $dir ] && rmdir $dir || :
done


%endif #with devel

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin