]> git.pld-linux.org Git - packages/boost.git/blobdiff - boost.spec
- regex,crc,thread,date_time to separate package
[packages/boost.git] / boost.spec
index 857fbcd81248f1f5a492017b4322a5718fdbad81..409c83b7ee2bc76aefd42767e1e75eda7d253d01 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Conditional build:
-%bcond_with    python  # with boost-python support (not working now)
+%bcond_without python  # with boost-python support (not working now)
 #
 Summary:       The Boost C++ Libraries
 Summary(pl):   Biblioteki C++ "Boost"
@@ -11,10 +11,12 @@ License:    Freely distributable
 Group:         Libraries
 Source0:       http://dl.sourceforge.net/boost/%{name}-%{version}.tar.bz2
 # Source0-md5: 4aed692a863bb4beaa0b70d6dc53bda5
+Patch0:                %{name}-python.patch
 URL:           http://www.boost.org/
 BuildRequires: boost-jam >= 3.1.3
 BuildRequires: libstdc++-devel
-%{?with_python:BuildRequires:  python-devel}
+BuildRequires: perl-base
+%{?with_python:BuildRequires:  python-devel >= 2.2}
 BuildConflicts:        gcc = 5:3.3.1
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -41,6 +43,13 @@ Summary:     Boost C++ development libraries and headers
 Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne Boost C++
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
+# req'd by <boost/signal.hpp>
+Requires:      %{name}-any-devel = %{version}-%{release}
+Requires:      %{name}-mem_fn-devel = %{version}-%{release}
+Requires:      %{name}-ref-devel = %{version}-%{release}
+# req'd by <boost/iterator_adaptors.hpp> (also included by <boost/signal.h>)
+Requires:      %{name}-compressed_pair-devel = %{version}-%{release}
+Requires:      %{name}-concept_check-devel = %{version}-%{release}
 Requires:      libstdc++-devel
 
 %description devel
@@ -49,15 +58,12 @@ Headers and static libraries for the Boost C++ libraries.
 %description devel -l pl
 Pliki nag³ówkowe i biblioteki statyczne bibliotek Boost C++.
 
-#according to ldd (and automatically generated RPM dependencies) it
-#doesn't strictly require python, but IMHO it's cleaner to split it
-#this way
 %package python
 Summary:       Boost.Python library
 Summary(pl):   biblioteka Boost.Python
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      python
+%pyrequires_eq python
 
 %description python
 Use the Boost Python Library to quickly and easily export a C++
@@ -81,6 +87,7 @@ Summary:      Boost.Python development headers
 Summary(pl):   Pliki nag³ówkowe dla Boost.Python
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-python = %{version}-%{release}
 
 %description python-devel
 Headers for the Boost.Python library.
@@ -88,6 +95,18 @@ Headers for the Boost.Python library.
 %description python-devel -l pl
 Pliki nag³ówkowe dla biblioteki Boost.Python.
 
+%package python-static
+Summary:       Static version of Boost.Python library
+Summary(pl):   Statyczna wersja biblioteki Boost.Python
+Group:         Development/Libraries
+Requires:      %{name}-python-devel = %{version}-%{release}
+
+%description python-static
+Static version of Boost.Python library.
+
+%description python-static -l pl
+Statyczna wersja biblioteki Boost.Python.
+
 %package regex
 Summary:       Boost C++ regular expressions library
 Summary(pl):   Biblioteka wyra¿eñ regularnych Boost C++
@@ -101,17 +120,30 @@ Shared library for Boost C++ regular expressions.
 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
 
 %package regex-devel
-Summary:       Boost C++ Regex library headers and static libraries
-Summary(pl):   Pliki nag³ówkowe i biblioteki statyczne Boost C++ Regex
+Summary:       Boost C++ Regex library headers.
+Summary(pl):   Pliki nag³ówkowe Boost C++ Regex.
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      %{name}-regex = %{version}-%{release}
 
 %description regex-devel
-Boost C++ Regex headers and static libraries.
+Boost C++ Regex headers.
 
 %description regex-devel -l pl
-Pliki nag³ówkowe i biblioteki statyczne dla Boost C++ Regex.
+Pliki nag³ówkowe dla Boost C++ Regex.
+
+%package regex-static
+Summary:       Boost C++ Regex static libraries.
+Summary(pl):   Biblioteki statyczne Boost C++ Regex.
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-regex = %{version}-%{release}
+
+%description regex-static
+Boost C++ Regex static libraries.
+
+%description regex-static -l pl
+Biblioteki statyczne dla Boost C++ Regex.
 
 %package any-devel
 Summary:       Header for Boost C++ "Any" Library
@@ -156,20 +188,194 @@ pewnym nadmiarem w przypadku kiedy tylko tablice o sta
 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
 o sta³ym rozmiarze.
 
+%package bind-devel
+Summary:       Generalized binders for function/object/pointers
+Summary(pl):   Uogólnione bindery dla funkcji/obiektów/wska¼ników
+Group:         Development/Libraries
+Requires:      %{name}-mem_fn-devel = %{version}-%{release}
+Requires:      %{name}-ref-devel = %{version}-%{release}
 
-%package preprocessor-devel
-Summary:       Preprocessor metaprogramming tools including repetition and recursion
-Summary(pl):   Narzêdzia metaprogramowania preprocesora razem z repetycj± i rekursj±
+%description bind-devel
+boost::bind is a generalization of the standard functions std::bind1st
+and std::bind2nd.
+
+%description bind-devel -l pl
+boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
+std::bind2nd.
+
+%package call_traits-devel
+Summary:       Defines types for passing parameters
+Summary(pl):   Definiowanie typów dla przekazywania parametrów
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-type_traits-devel = %{version}-%{release}
 
-%description preprocessor-devel
-This library provides preprocessor metaprogramming tools, including
-repetition and recursion.
+%description call_traits-devel
+boost::call_traits<T> encapsulates the "best" method to pass a
+parameter of some type T to or from a function. The purpose of
+call_traits is to ensure that problems like "references to references"
+never occur, and that parameters are passed in the most efficient
+manner possible.
 
-%description preprocessor-devel -l pl
-Biblioteka udostêpnia narzêdzia metaprogramowania preprocesora,
-w³±czaj±c w to repetycje i rekursjê.
+%description call_traits-devel -l pl
+boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
+parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
+zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
+wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
+efektywny sposób.
+
+%package compatibility-devel
+Summary:       Help for non-conforming standard libraries
+Summary(pl):   Pomoc dla nie trzymaj±cych standardu bibliotek
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description compatibility-devel
+This library provides workarounds which allow the other Boost
+libraries to be used on otherwise non-conforming platforms.
+
+%description compatibility-devel -l pl
+Biblioteka dostarcza obej¶cie problemu platform nie trzymaj±cych
+standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
+platformach.
+
+%package compose-devel
+Summary:       Functional composition adapters for the STL
+Summary(pl):   Funkcjonalne adaptery kompozycji dla STL
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description compose-devel
+The boost::compose provides compose function object adapter extensions
+for use with the Standard Template Library (STL) portion of the C++
+Standard Library. If you aren't currently using the STL, this library
+won't be of any interest, but hard-core STL users will appreciate its
+usefulness.
+
+%description compose-devel -l pl
+boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
+do u¿ytku z STL-ow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
+biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
+u¿ytkownicy STL-a doceni± jej u¿yteczno¶æ.
+
+%package compressed_pair-devel
+Summary:       Empty member optimization
+Summary(pl):   Optymalizacja pustego elementu
+Group:         Development/Libraries
+Requires:      %{name}-call_traits-devel = %{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description compressed_pair-devel
+The class boost::compressed_pair is very similar to std::pair, but if
+either of the template arguments are empty classes, then the "empty
+base-class optimisation" is applied to compress the size of the pair.
+
+%description compressed_pair-devel -l pl
+Klasa boost::compressed_pair jest bardzo podobna do std::pair, ale
+je¿eli który¶ z argumentów wzorca jest pust± klas±, wtedy stosowana
+jest "optymalizacja pustej klasy bazowej" do kompresji pary.
+
+%package concept_check-devel
+Summary:       Tools for generic programming
+Summary(pl):   Narzêdzia dla programowania generycznego
+Group:         Development/Libraries
+Requires:      %{name}-static_assert-devel = %{version}-%{release}
+Requires:      %{name}-type_traits-devel = %{version}-%{release}
+
+%description concept_check-devel
+The boost::concept_check library provides various tools for generic
+programming.
+
+%description concept_check-devel -l pl
+Biblioteka boost::concept_check dostarcza ró¿ne narzêdzia dla
+programowania generycznego.
+
+%package conversion-devel
+Summary:       Numeric, polymorphic, and lexical casts
+Summary(pl):   Numeryczne, polimorficzne i leksykalne rzutowania
+Group:         Development/Libraries
+Requires:      %{name}-type_traits-devel = %{version}-%{release}
+
+%description conversion-devel
+The boost::conversion library improves program safety and clarity by
+performing otherwise messy conversions. It includes cast-style
+function templates designed to complement the C++ Standard's built-in
+casts.
+
+%description conversion-devel -l pl
+Biblioteka boost::conversion zwiêksza bezpieczeñstwo i klarowno¶æ
+programu dokonuj±c konwersji które s± w innych przypadkach niechlujne.
+Biblioteka zawiera "rzutopodobne" wzorce funkcji uzupe³niaj±ce
+wbudowane w Standard C++ rzutowania.
+
+%package crc-devel
+Summary:       CRC computing library.
+Summary(pl):   Biblioteka obliczaj±ca CRC.
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description crc-devel
+The boost::crc library provides two implementations of CRC computation
+objects and functions. The implementations are template-based.
+
+%description crc-devel -l pl
+Bibliteka boost::crc dostarcza dwie implementacje obiektów i funkcji
+obliczaj±cych CRC. Implementacje s± oparte na wzorcach.
+
+%package date_time
+Summary:       Date-Time library.
+Summary(pl):   Biblioteka daty-czasu.
+Group:         Libraries
+
+%description date_time
+A set of date-time libraries.
+
+%description date_time -l pl
+Zbiór bibliotek daty-czasu.
+
+%package date_time-devel
+Summary:       Header files for boost::date_time library.
+Summary(pl):   Pliki nag³ówkowe dla biblioteki boost::date_time.
+Group:         Development/Libraries
+Requires:      %{name}-date_time = %{version}-%{release}
+#TODO: make decision if do separate packages include it to main devel package
+#Requires:     %{name}-operators-devel = %{version}-%{release}
+#Requires:     %{name}-integer-devel = %{version}-%{release}
+#Requires:     %{name}-tokenizer-devel = %{version}-%{release}
+Requires:      %{name}-conversion-devel = %{version}-%{release}
+
+%description date_time-devel
+Header files for boost::date_time library.
+
+%description date_time-devel -l pl
+Pliki nag³ówkowe dla biblioteki boost::date_time
+
+%package date_time-static
+Summary:       Static boost::date_time library.
+Summary(pl):   Statyczna biblioteka boost::date_time.
+Group:         Development/Libraries
+Requires:      %{name}-date_time-devel = %{version}-%{release}
+
+%description date_time-static
+Static boost::date_time library.
+
+%description date_time-devel -l pl
+Statyczna biblioteka boost::date_time.
+
+
+%package mem_fn-devel
+Summary:       Generalized binders for member functions
+Summary(pl):   Uogólnione bindery dla metod
+Group:         Development/Libraries
+Requires:      %{name}-bind-devel = %{version}-%{release}
+
+%description mem_fn-devel
+boost::mem_fn is a generalization of the standard functions
+std::mem_fun and std::mem_fun_ref.
+
+%description mem_fn-devel -l pl
+boost::mem_fn jest uogólnieniem standardowych funkcji std::mem_fun i
+std::mem_fun_ref.
 
 %package mpl-devel
 Summary:       Compile-time algorithms, sequences and metafunction classes
@@ -188,41 +394,37 @@ compile-time algorithms, sequences and metafunction classes.
 Biblioteka boost-mpl jest szkieletem wzorców C++ dla algorytmów czasu
 kompilacji, sekwencji i klas metafunkcji.
 
-%package type_traits-devel
-Summary:       Templates for fundamental properties of types
-Summary(pl):   Wzorce dla fundamentalnych w³a¶ciwo¶ci typów
+%package preprocessor-devel
+Summary:       Preprocessor metaprogramming tools including repetition and recursion
+Summary(pl):   Narzêdzia metaprogramowania preprocesora razem z repetycj± i rekursj±
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
-Requires:      %{name}-mpl-devel = %{version}-%{release}
-Requires:      %{name}-preprocessor-devel = %{version}-%{release}
-Requires:      %{name}-utility-devel = %{version}-%{release}
-Requires:      %{name}-static_assert-devel = %{version}-%{release}
 
-%description type_traits-devel
-The boost-type_traits library defines three kinds of type trait: 
-       1. The properties of a specific type. 
-       2. The relationship between two types. 
-       3. A transformation from one type to another.
+%description preprocessor-devel
+This library provides preprocessor metaprogramming tools, including
+repetition and recursion.
 
-%description type_traits-devel -l pl
-Biblioteka boost-type_traits definiuje trzy rodzaje cech typów: 
-       1. w³a¶ciwo¶ci konkretnego typu. 
-       2. powi±zania miêdzy dwoma typami. 
-       3. transformacjê z jednego typu do drugiego.
+%description preprocessor-devel -l pl
+Biblioteka udostêpnia narzêdzia metaprogramowania preprocesora,
+w³±czaj±c w to repetycje i rekursjê.
 
-%package utility-devel
-Summary:       Useful utilities: classes and function templates.
-Summary(pl):   U¿yteczne narzêdzia: klasy i wzorce funkcji
+%package ref-devel
+Summary:       Small library useful for passing references to function templates
+Summary(pl):   Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcji
 Group:         Development/Libraries
-Requires:      %{name}-type_traits-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-mpl-devel = %{version}-%{release}
+Requires:      %{name}-utility-devel = %{version}-%{release}
 
-%description utility-devel
-Class noncopyable plus checked_delete(), checked_array_delete(),
-next(), prior() function templates, plus base-from-member idiom.
+%description ref-devel
+boost::ref library is a small library that is useful for passing
+references to function templates (algorithms) that would usually take
+copies of their arguments.
 
-%description utility-devel -l pl
-Klasy noncopyable i checked_delete, funkcje checked_array_delete(),
-next(), prior() oraz idiom base-from-member.
+%description ref-devel -l pl
+Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
+przypadku przekazywania referencji do wzorców funkcji (algorytmów)
+które zazwyczaj bior± kopiê swoich argumentów.
 
 %package static_assert-devel
 Summary:       Static assertions (compile time assertions)
@@ -253,117 +455,84 @@ komunikat
 biblioteka zosta³a u¿yta w sposób który nie jest zalecany.
 
 
-%package bind-devel
-Group:         Development/Libraries
-Summary:       Generalized binders for function/object/pointers.
-Summary(pl):   Uogólnione bindery dla funkcji/obiektów/wska¼ników.
-Requires:      boost-ref-devel = %{version}-%{release}
-Requires:      boost-mem_fn-devel = %{version}-%{release}
-
-%description bind-devel
-boost::bind is a generalization of the standard functions std::bind1st
-and std::bind2nd.
-
-%description bind-devel -l pl
-boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
-std::bind2nd.
-
-
-%package mem_fn-devel
-Group:         Development/Libraries
-Summary:       Generalized binders for member functions.
-Summary(pl):   Uogólnione bindery dla metod.
-Requires:      boost-devel = %{version}-%{release}
-
-%description mem_fn-devel
-boost::mem_fn is a generalization of the standard functions
-std::mem_fun and std::mem_fun_ref.
+%package thread
+Summary:       Portable C++ threads library.
+Summary(pl):   Przeno¶na biblioteka w±tków C++.
+Group:         Libraries
 
-%description mem_fn-devel -l pl
-boost::mem_fn jest uogólnieniem standardowych funkcji std::mem_fun i
-std::mem_fun_ref.
+%description thread
+Portable C++ threads library. Shared libraries.
 
+%description thread -l pl
+Przeno¶na biblioteka w±tków dla C++. Biblioteki dzielone.
 
-%package ref-devel
+%package thread-devel
+Summary:       Header files for boost::thread library.
+Summary(pl):   Pliki nag³ówkowe dla biblioteki boost::thread.
 Group:         Development/Libraries
-Summary:       Small library useful for passing references to function templates.
-Summary(pl):   Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcjii.
-Requires:      boost-devel = %{version}-%{release}
-Requires:      boost-utility-devel = %{version}-%{release}
-Requires:      boost-mpl-devel = %{version}-%{release}
+Requires:      %{name}-thread = %{version}-%{release}
+Requires:      %{name}-utility-devel = %{version}-%{release}
+#TODO:requires boost::function or boost::function to boost-devel
 
-%description ref-devel
-boost::ref library is a small library that is useful for passing
-references to function templates (algorithms) that would usually take
-copies of their arguments.
-
-%description ref-devel -l pl
-Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
-przypadku przekazywania referencji do wzorców funkcji (algorytmów)
-które zazwyczaj bior± kopiê swoich argumentów.
+%description thread-devel
+Header files for boost::thread library.
 
+%description thread-devel -l pl
+Pliki nag³ówkowe dla biblioteki boost::thread.
 
-%package call_traits-devel
+%package type_traits-devel
+Summary:       Templates for fundamental properties of types
+Summary(pl):   Wzorce dla fundamentalnych w³a¶ciwo¶ci typów
 Group:         Development/Libraries
-Summary:       Defines types for passing parameters.
-Summary(pl):   Definiuje typy dla przekazywania parametrów.
-Requires:      boost-devel = %{version}-%{release}
-Requires:      boost-type_traits-devel = %{version}-%{release}
-
-%description call_traits-devel
-boost::call_traits<T> encapsulates the "best" method to pass a
-parameter of some type T to or from a function. The purpose of
-call_traits is to ensure that problems like "references to references"
-never occur, and that parameters are passed in the most efficient
-manner possible.
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-mpl-devel = %{version}-%{release}
+Requires:      %{name}-preprocessor-devel = %{version}-%{release}
+Requires:      %{name}-utility-devel = %{version}-%{release}
+Requires:      %{name}-static_assert-devel = %{version}-%{release}
 
-%description call_traits-devel -l pl
-boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
-parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
-zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
-wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
-efektywny sposób.
+%description type_traits-devel
+The boost-type_traits library defines three kinds of type trait:
+ 1. The properties of a specific type.
+ 2. The relationship between two types.
+ 3. A transformation from one type to another.
 
+%description type_traits-devel -l pl
+Biblioteka boost-type_traits definiuje trzy rodzaje cech typów:
+ 1. w³a¶ciwo¶ci konkretnego typu.
+ 2. powi±zania miêdzy dwoma typami.
+ 3. transformacjê z jednego typu do drugiego.
 
-%package compatibility-devel
+%package utility-devel
+Summary:       Useful utilities: classes and function templates
+Summary(pl):   U¿yteczne narzêdzia: klasy i wzorce funkcji
 Group:         Development/Libraries
-Summary:       Help for non-conforming standard libraries
-Summary(pl):   Pomoc dla nie trzymaj±cych standardu bibliotek.
-Requires:      boost-devel = %{version}-%{release}
-
-%description compatibility-devel
-This library provides workarounds which allow the other Boost
-libraries to be used on otherwise non-conforming platforms
+Requires:      %{name}-type_traits-devel = %{version}
 
-%description compatibility-devel -l pl
-Bibliteka dostarcza obej¶cie problemu platform nie trzymaj±cych
-standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
-platformach.
+%description utility-devel
+Class noncopyable plus checked_delete(), checked_array_delete(),
+next(), prior() function templates, plus base-from-member idiom.
 
+%description utility-devel -l pl
+Klasy noncopyable i checked_delete, funkcje checked_array_delete(),
+next(), prior() oraz idiom base-from-member.
 
-%package compose-devel
+%package static
+Summary:       Static versions of Boost libraries
+Summary(pl):   Statyczne wersje bibliotek Boost
 Group:         Development/Libraries
-Summary:       Functional composition adapters for the STL.
-Summary(pl):   Funkcjonalne adaptery kompozycji dla STL.
+Requires:      %{name}-devel = %{version}-%{release}
 
-%description compose-devel
-The boost::compose provides compose function object adapter extensions
-for use with the Standard Template Library (STL) portion of the C++
-Standard Library. If you aren't currently using the STL, this library
-won't be of any interest, but hard-core STL users will appreciate it's
-usefulness
+%description static
+Static versions of Boost libraries.
 
-%description compose-devel -l pl
-boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
-do u¿ytku z STLow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
-biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
-u¿ytkownicy STLa doceni± jej u¿yteczno¶æ.
+%description static -l pl
+Statyczne wersje bibliotek Boost.
 
 %package doc
 Summary:       Boost C++ Library documentation
 Summary(pl):   Dokumentacja dla biblioteki Boost C++
 Group:         Documentation
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description doc
 Documentation for the Boost C++ Library.
@@ -373,6 +542,11 @@ Dokumentacja dla biblioteki Boost C++.
 
 %prep
 %setup -q
+%patch0 -p1
+
+# don't know how to pass it through (b)jam -s (no way?)
+# due to oversophisticated build flags system
+%{__perl} -pi -e 's/ -O3 / %{rpmcflags} /' tools/build/gcc-tools.jam
 
 %build
 %if %{with python}
@@ -383,157 +557,20 @@ PYTHON_ROOT=
 PYTHON_VERSION=
 %endif
 bjam \
+       -d2 \
        -sBUILD=release \
        -sPYTHON_ROOT=$PYTHON_ROOT \
        -sPYTHON_VERSION=$PYTHON_VERSION
 
 %install
 rm -rf $RPM_BUILD_ROOT
-rm -f master.list regex.list regex-devel.list python.list devel.list python-devel.list doc.list any.list
-# include files
-install -d $RPM_BUILD_ROOT%{_includedir}
-for i in `find boost -type d`; do
-       install -d $RPM_BUILD_ROOT%{_includedir}/$i
-done
-for i in `find boost -type f`; do
-       install -m 644 $i $RPM_BUILD_ROOT%{_includedir}/$i
-       if test "`echo $i | sed 's,python,,g'`" = "$i"; then
-               echo %{_includedir}/$i >> devel.list
-       else
-               echo %{_includedir}/$i >> python-devel.list
-       fi
-done
-# static libraries
-install -d $RPM_BUILD_ROOT%{_libdir}
-for i in `find libs -type f -name '*.a' | grep gcc`; do
-       install -m 644 $i $RPM_BUILD_ROOT%{_libdir}/`basename $i`
-       if test "`echo $i | sed 's,python,,g'`" = "$i"; then
-               echo %{_libdir}/`basename $i` >> devel.list
-       else
-               echo %{_libdir}/`basename $i` >> python-devel.list
-       fi
-done
-
-
-# dynamic libraries
-for i in `find libs -type f -name '*.so.%{version}' | grep gcc`; do
-       install -m 755 $i $RPM_BUILD_ROOT%{_libdir}/`basename $i`
-       #ldconfig fails to generate the symlinks for boost libs :-(
-       LINK=`basename $i | sed 's,\.so\..*,.so,'`
-       (cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename $i` $LINK)
-       if test "`echo $i | sed 's,python,,g'`" = "$i"; then
-               echo %{_libdir}/`basename $i` >> master.list
-               echo %{_libdir}/$LINK >> master.list
-       else
-               echo %{_libdir}/`basename $i` >> python.list
-               echo %{_libdir}/$LINK >> python.list
-       fi
-done
-
-#regex library
-grep libboost_regex.so master.list > regex.list
-grep -v libboost_regex.so master.list >_master.list
-mv {_,}master.list
-#regex-devel
-RFILES="%{_includedir}/boost/cregex.hpp|"
-RFILES="$RFILES%{_includedir}/boost/regex/|"
-RFILES="$RFILES%{_includedir}/boost/regex.h(pp){0,1}|"
-RFILES="$RFILES%{_includedir}/boost/regex_fwd.hpp|"
-RFILES="$RFILES%{_libdir}/libboost_regex.a"
-
-egrep "$RFILES" devel.list > regex-devel.list
-egrep -v "$RFILES" devel.list > _devel.list
-mv {_,}devel.list
-
-#any-devel library
-grep any.hpp devel.list > any.list
-grep -v any.hpp devel.list > _devel.list
-mv {_,}devel.list
-
-#array-devel library
-egrep '/boost/array.hpp$' devel.list >array.list
-egrep -v '/boost/array.hpp$' devel.list > _devel.list
-mv {_,}devel.list
-
-#preprocessor-devel
-RFILES="%{_includedir}/boost/preprocessor"
-egrep "$RFILES" devel.list > preprocessor.list
-egrep -v $RFILES devel.list > _devel.list
-mv {_,}devel.list
-
-#mpl-devel
-RFILES="%{_includedir}/boost/mpl/"
-egrep "$RFILES" devel.list > mpl.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#type_traits-devel
-RFILES="%{_includedir}/boost/type_traits/"
-RFILES="$RFILES|%{_includedir}/boost/type_traits.hpp"
-egrep "$RFILES" devel.list > type_traits.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#utility-devel
-RFILES="%{_includedir}/boost/noncopyable.hpp"
-RFILES="$RFILES|%{_includedir}/boost/checked_delete.hpp"
-RFILES="$RFILES|%{_includedir}/boost/next_prior.hpp"
-RFILES="$RFILES|%{_includedir}/boost/utility(_fwd){0,1}.hpp"
-RFILES="$RFILES|%{_includedir}/boost/utility/"
-egrep "$RFILES" devel.list > utility.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#static_assert-devel
-RFILES="%{_includedir}/boost/static_assert.hpp"
-egrep "$RFILES" devel.list > static_assert.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#bind-devel
-RFILES="%{_includedir}/boost/bind.hpp"
-RFILES="$RFILES|%{_includedir}/boost/bind/"
-egrep "$RFILES" devel.list > bind.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#mem_fn-devel
-RFILES="%{_includedir}/boost/mem_fn.hpp"
-RFILES="$RFILES|%{_includedir}/boost/get_pointer.hpp"
-egrep "$RFILES" devel.list > mem_fn.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#ref-devel
-RFILES="%{_includedir}/boost/ref.hpp"
-egrep "$RFILES" devel.list > ref.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-
-#call_traits-devel
-RFILES="%{_includedir}/boost/call_traits.hpp"
-RFILES="$RFILES|%{_includedir}/boost/detail/call_traits.hpp"
-RFILES="$RFILES|%{_includedir}/boost/detail/ob_call_traits.hpp"
-egrep "$RFILES" devel.list > call_traits.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-
-#compatibility-devel
-RFILES="%{_includedir}/boost/limits.hpp"
-RFILES="$RFILES|%{_includedir}/boost/compatibility/"
-egrep "$RFILES" devel.list > compat.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
-
-#compose-devel
-RFILES="%{_includedir}/boost/compose.hpp"
-egrep "$RFILES" devel.list > compose.list
-egrep -v "$RFILES" devel.list >_devel.list
-mv {_,}devel.list
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
 
+cp -rf boost $RPM_BUILD_ROOT%{_includedir}
 
+install libs/*/build/bin/*.a/*/*/*/lib*.a $RPM_BUILD_ROOT%{_libdir}
+install libs/*/build/bin/*.so/*/*/*/*/{,*/}lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
+cp -df libs/*/build/bin/*.so/*/*/*/*/{,*/}lib*.so $RPM_BUILD_ROOT%{_libdir}
 
 # documentation
 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
@@ -547,7 +584,7 @@ for i in `find -type f -name '*.htm*'`; do
        # bjam docu is included in the boost-jam RPM
        if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
                install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
-               for LINKED in `perl - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
+               for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
                        sub rewrite_link
                        {
                                my $link = shift;
@@ -588,143 +625,252 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
-%post python   -p /sbin/ldconfig
+%post  python  -p /sbin/ldconfig
 %postun python -p /sbin/ldconfig
 
-%files -f master.list
+%post  regex   -p /sbin/ldconfig
+%postun regex  -p /sbin/ldconfig
+
+%files
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_test_exec_monitor.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
 
-%files devel -f devel.list
+%files devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
+%attr(755,root,root) %{_libdir}/libboost_signals.so
+%attr(755,root,root) %{_libdir}/libboost_test_exec_monitor.so
+%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
 %dir %{_includedir}/boost
-%dir %{_includedir}/boost/config
-%dir %{_includedir}/boost/config/compiler
-%dir %{_includedir}/boost/config/platform
-%dir %{_includedir}/boost/config/stdlib
-%dir %{_includedir}/boost/date_time
-%dir %{_includedir}/boost/date_time/gregorian
-%dir %{_includedir}/boost/date_time/posix_time
-%dir %{_includedir}/boost/filesystem
-%dir %{_includedir}/boost/format
-%dir %{_includedir}/boost/function
-%dir %{_includedir}/boost/function/detail
-%dir %{_includedir}/boost/graph
-%dir %{_includedir}/boost/graph/detail
-%dir %{_includedir}/boost/integer
-%dir %{_includedir}/boost/io
-%dir %{_includedir}/boost/lambda
-%dir %{_includedir}/boost/lambda/detail
-%dir %{_includedir}/boost/math
-%dir %{_includedir}/boost/math/special_functions
-%dir %{_includedir}/boost/multi_array
-%dir %{_includedir}/boost/numeric
-%dir %{_includedir}/boost/numeric/interval
-%dir %{_includedir}/boost/numeric/interval/compare
-%dir %{_includedir}/boost/numeric/interval/detail
-%dir %{_includedir}/boost/numeric/interval/ext
-%dir %{_includedir}/boost/numeric/ublas
-%dir %{_includedir}/boost/pending
-%dir %{_includedir}/boost/pending/detail
-%dir %{_includedir}/boost/pool
-%dir %{_includedir}/boost/pool/detail
-%dir %{_includedir}/boost/random
-%dir %{_includedir}/boost/random/detail
-%dir %{_includedir}/boost/signals
-%dir %{_includedir}/boost/signals/detail
-%dir %{_includedir}/boost/spirit
-%dir %{_includedir}/boost/spirit/attribute
-%dir %{_includedir}/boost/spirit/core
-%dir %{_includedir}/boost/spirit/core/composite
-%dir %{_includedir}/boost/spirit/core/composite/impl
-%dir %{_includedir}/boost/spirit/core/impl
-%dir %{_includedir}/boost/spirit/core/meta
-%dir %{_includedir}/boost/spirit/core/meta/impl
-%dir %{_includedir}/boost/spirit/core/non_terminal
-%dir %{_includedir}/boost/spirit/core/non_terminal/impl
-%dir %{_includedir}/boost/spirit/core/primitives
-%dir %{_includedir}/boost/spirit/core/primitives/impl
-%dir %{_includedir}/boost/spirit/core/scanner
-%dir %{_includedir}/boost/spirit/core/scanner/impl
-%dir %{_includedir}/boost/spirit/debug
-%dir %{_includedir}/boost/spirit/debug/impl
-%dir %{_includedir}/boost/spirit/dynamic
-%dir %{_includedir}/boost/spirit/dynamic/impl
-%dir %{_includedir}/boost/spirit/error_handling
-%dir %{_includedir}/boost/spirit/error_handling/impl
-%dir %{_includedir}/boost/spirit/iterator
-%dir %{_includedir}/boost/spirit/iterator/impl
-%dir %{_includedir}/boost/spirit/phoenix
-%dir %{_includedir}/boost/spirit/symbols
-%dir %{_includedir}/boost/spirit/symbols/impl
-%dir %{_includedir}/boost/spirit/tree
-%dir %{_includedir}/boost/spirit/tree/impl
-%dir %{_includedir}/boost/spirit/utility
-%dir %{_includedir}/boost/spirit/utility/impl
-%dir %{_includedir}/boost/spirit/utility/impl/chset
-%dir %{_includedir}/boost/test
-%dir %{_includedir}/boost/test/detail
-%dir %{_includedir}/boost/test/included
-%dir %{_includedir}/boost/thread
-%dir %{_includedir}/boost/thread/detail
-%dir %{_includedir}/boost/tuple
-%dir %{_includedir}/boost/tuple/detail
-%dir %{_includedir}/boost/type_traits
-%dir %{_includedir}/boost/type_traits/detail
-%dir %{_includedir}/boost/utility
+%{_includedir}/boost/assert.hpp
+%{_includedir}/boost/config
+%{_includedir}/boost/config.hpp
+%{_includedir}/boost/counting_iterator.hpp
+%{_includedir}/boost/cstd*.hpp
+%{_includedir}/boost/current_function.hpp
+%dir %{_includedir}/boost/detail
+%{_includedir}/boost/detail/algorithm.hpp
+%{_includedir}/boost/detail/allocator.hpp
+%{_includedir}/boost/detail/atomic_count*.hpp
+%{_includedir}/boost/detail/binary_search.hpp
+%{_includedir}/boost/detail/catch_exceptions.hpp
+%{_includedir}/boost/detail/dynamic_bitset.hpp
+%{_includedir}/boost/detail/iterator.hpp
+%{_includedir}/boost/detail/lightweight_*.hpp
+%{_includedir}/boost/detail/limits.hpp
+%{_includedir}/boost/detail/lwm_*.hpp
+%{_includedir}/boost/detail/named_template_params.hpp
+%{_includedir}/boost/detail/numeric_traits.hpp
+%{_includedir}/boost/detail/quick_allocator.hpp
+%{_includedir}/boost/detail/select_type.hpp
+%{_includedir}/boost/detail/shared_*.hpp
+%{_includedir}/boost/detail/workaround.hpp
+%{_includedir}/boost/dynamic_bitset*.hpp
+%{_includedir}/boost/enable_shared_from_this.hpp
+%{_includedir}/boost/filesystem
+%{_includedir}/boost/format
+%{_includedir}/boost/format.hpp
+%{_includedir}/boost/function
+%{_includedir}/boost/function.hpp
+%{_includedir}/boost/function_output_iterator.hpp
+%{_includedir}/boost/functional.hpp
+%{_includedir}/boost/generator_iterator.hpp
+%{_includedir}/boost/graph
+%{_includedir}/boost/half_open_range.hpp
+%{_includedir}/boost/integer
+%{_includedir}/boost/integer*.hpp
+%{_includedir}/boost/intrusive_ptr.hpp
+%{_includedir}/boost/io
+%{_includedir}/boost/io_fwd.hpp
+%{_includedir}/boost/iterator*.hpp
+%{_includedir}/boost/lambda
+%{_includedir}/boost/last_value.hpp
+%{_includedir}/boost/limits.hpp
+%{_includedir}/boost/math
+%{_includedir}/boost/math_fwd.hpp
+%{_includedir}/boost/min_rand.hpp
+%{_includedir}/boost/multi_array
+%{_includedir}/boost/multi_array.hpp
+%{_includedir}/boost/nondet_random.hpp
+%{_includedir}/boost/numeric
+%{_includedir}/boost/operators.hpp
+%{_includedir}/boost/optional.hpp
+%{_includedir}/boost/pending
+%{_includedir}/boost/permutation_iterator.hpp
+%{_includedir}/boost/pool
+%{_includedir}/boost/progress.hpp
+%{_includedir}/boost/property_map*.hpp
+%{_includedir}/boost/random
+%{_includedir}/boost/random.hpp
+%{_includedir}/boost/rational.hpp
+%{_includedir}/boost/scoped_*.hpp
+%{_includedir}/boost/shared_*.hpp
+%{_includedir}/boost/signal.hpp
+%{_includedir}/boost/signals
+%{_includedir}/boost/smart_ptr.hpp
+%{_includedir}/boost/spirit
+%{_includedir}/boost/spirit.hpp
+%{_includedir}/boost/test
+%{_includedir}/boost/throw_exception.hpp
+%{_includedir}/boost/timer.hpp
+%{_includedir}/boost/token*.hpp
+%{_includedir}/boost/tuple
+%{_includedir}/boost/type.hpp
+%{_includedir}/boost/type_traits
+%{_includedir}/boost/utility
+%{_includedir}/boost/version.hpp
+%{_includedir}/boost/visit_each.hpp
+%{_includedir}/boost/weak_ptr.hpp
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libboost_filesystem.a
+%{_libdir}/libboost_prg_exec_monitor.a
+%{_libdir}/libboost_signals.a
+%{_libdir}/libboost_test_exec_monitor.a
+%{_libdir}/libboost_unit_test_framework.a
 
 %if %{with python}
-%files python -f python.list
+%files python
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
 
-%files python-devel -f python-devel.list
+%files python-devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_python.so
+%{_includedir}/boost/python
+%{_includedir}/boost/python.hpp
+
+%files python-static
+%defattr(644,root,root,755)
+%{_libdir}/libboost_python.a
 %endif
 
-%files doc
+%files regex
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
+
+%files regex-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_regex.so
+%{_includedir}/boost/cregex.hpp
+%{_includedir}/boost/regex.h
+%{_includedir}/boost/regex*.hpp
+%{_includedir}/boost/regex
+
+%files regex-static
+%defattr(644,root,root,755)
+%{_libdir}/libboost_regex.a
+
+%files any-devel
 %defattr(644,root,root,755)
-%doc %{_docdir}/boost-%{version}
+%{_includedir}/boost/any.hpp
 
-%files bind-devel -f bind.list
+%files array-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/array.hpp
 
-%files regex -f regex.list
+%files bind-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/bind
+%{_includedir}/boost/bind.hpp
 
-%files regex-devel -f regex-devel.list
+%files call_traits-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/call_traits.hpp
+%{_includedir}/boost/detail/call_traits.hpp
+%{_includedir}/boost/detail/ob_call_traits.hpp
 
-%files any-devel -f any.list
+%files compatibility-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/compatibility
 
-%files array-devel -f array.list
+%files compose-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/compose.hpp
 
-%files preprocessor-devel -f preprocessor.list
+%files compressed_pair-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/compressed_pair.hpp
+%{_includedir}/boost/detail/compressed_pair.hpp
+%{_includedir}/boost/detail/ob_compressed_pair.hpp
 
-%files mpl-devel -f mpl.list
+%files concept_check-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/concept_archetype.hpp
+%{_includedir}/boost/concept_check.hpp
 
-%files type_traits-devel -f type_traits.list
+%files conversion-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/cast.hpp
+%{_includedir}/boost/lexical_cast.hpp
 
-%files utility-devel -f utility.list
+%files crc-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/crc.hpp
 
-%files static_assert-devel -f static_assert.list
+%files date_time
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
 
-%files mem_fn-devel -f mem_fn.list
+%files date_time-devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_date_time.so
+%{_includedir}/boost/date_time
 
-%files ref-devel -f ref.list
+%files date_time-static
 %defattr(644,root,root,755)
+%{_libdir}/libboost_date_time.a
 
-%files call_traits-devel -f call_traits.list
+%files mem_fn-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/get_pointer.hpp
+%{_includedir}/boost/mem_fn.hpp
 
-%files compatibility-devel -f compat.list
+%files mpl-devel
 %defattr(644,root,root,755)
+%{_includedir}/boost/mpl
 
-%files compose-devel -f compose.list
+%files preprocessor-devel
+%defattr(644,root,root,755)
+%{_includedir}/boost/preprocessor
+%{_includedir}/boost/preprocessor.hpp
+
+%files ref-devel
+%defattr(644,root,root,755)
+%{_includedir}/boost/ref.hpp
+
+%files static_assert-devel
+%defattr(644,root,root,755)
+%{_includedir}/boost/static_assert.hpp
+
+%files thread
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
+
+%files thread-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_thread.so
+%{_includedir}/boost/thread
+%{_includedir}/boost/thread.hpp
+
+
+%files type_traits-devel
+%defattr(644,root,root,755)
+%{_includedir}/boost/type_traits.hpp
+%{_includedir}/boost/type_traits
+
+%files utility-devel
+%defattr(644,root,root,755)
+%{_includedir}/boost/checked_delete.hpp
+%{_includedir}/boost/next_prior.hpp
+%{_includedir}/boost/noncopyable.hpp
+%{_includedir}/boost/utility*.hpp
+%{_includedir}/boost/utility
+
+%files doc
 %defattr(644,root,root,755)
+%{_docdir}/boost-%{version}
This page took 0.098304 seconds and 4 git commands to generate.