]> git.pld-linux.org Git - packages/boost.git/blame - boost.spec
- rel 3; bunch of upstream patches (taken and filtered by FC team)
[packages/boost.git] / boost.spec
CommitLineData
c6874538 1#
bde731a5 2# TODO:
09e2803f
PS
3# - think about building MPI.
4# - split shared libs from core package into -iostreams/-serialization.
bde731a5 5#
c6874538 6# Conditional build:
65d4777a 7%bcond_without python # without boost-python support
c6874538 8#
8b623265 9%define fver %(echo %{version} | tr . _)
c6874538 10Summary: The Boost C++ Libraries
aa63c3d9 11Summary(pl.UTF-8): Biblioteki C++ "Boost"
49f48a3b 12Name: boost
8d9c1188 13Version: 1.54.0
647f39b2 14Release: 3
db639b8e 15License: Boost Software License and others
c6874538 16Group: Libraries
8b623265 17Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
8d9c1188 18# Source0-md5: 15cb8c0803064faef0c4ddf5bc5ca279
8b623265 19Patch0: %{name}-link.patch
15fc9c62 20Patch1: %{name}-stdint.patch
647f39b2
AM
21
22# Upstream patches posted as release notes:
23# http://www.boost.org/users/history/version_1_54_0.html
24Patch100: 001-coroutine.patch
25Patch101: 002-date-time.patch
26Patch102: 003-log.patch
27
28# FC Patches:
29# https://svn.boost.org/trac/boost/ticket/8826
30Patch200: boost-1.54.0-context-execstack.patch
31# https://svn.boost.org/trac/boost/ticket/8844
32Patch201: boost-1.54.0-bind-static_assert.patch
33# https://svn.boost.org/trac/boost/ticket/8847
34Patch202: boost-1.54.0-concept-unused_typedef.patch
35# https://svn.boost.org/trac/boost/ticket/5637
36Patch203: boost-1.54.0-mpl-print.patch
37# https://svn.boost.org/trac/boost/ticket/8859
38Patch204: boost-1.54.0-static_warning-unused_typedef.patch
39# https://svn.boost.org/trac/boost/ticket/8855
40Patch205: boost-1.54.0-math-unused_typedef.patch
41Patch206: boost-1.54.0-math-unused_typedef-2.patch
42# https://svn.boost.org/trac/boost/ticket/8853
43Patch207: boost-1.54.0-tuple-unused_typedef.patch
44# https://svn.boost.org/trac/boost/ticket/8854
45Patch208: boost-1.54.0-random-unused_typedef.patch
46# https://svn.boost.org/trac/boost/ticket/8856
47Patch209: boost-1.54.0-date_time-unused_typedef.patch
48Patch210: boost-1.54.0-date_time-unused_typedef-2.patch
49# https://svn.boost.org/trac/boost/ticket/8870
50Patch211: boost-1.54.0-spirit-unused_typedef.patch
51Patch212: boost-1.54.0-spirit-unused_typedef-2.patch
52# https://svn.boost.org/trac/boost/ticket/8871
53Patch213: boost-1.54.0-numeric-unused_typedef.patch
54# https://svn.boost.org/trac/boost/ticket/8872
55Patch214: boost-1.54.0-multiprecision-unused_typedef.patch
56# https://svn.boost.org/trac/boost/ticket/8874
57Patch215: boost-1.54.0-unordered-unused_typedef.patch
58# https://svn.boost.org/trac/boost/ticket/8876
59Patch216: boost-1.54.0-algorithm-unused_typedef.patch
60# https://svn.boost.org/trac/boost/ticket/8877
61Patch217: boost-1.54.0-graph-unused_typedef.patch
62# https://svn.boost.org/trac/boost/ticket/8878
63Patch218: boost-1.54.0-locale-unused_typedef.patch
64# https://svn.boost.org/trac/boost/ticket/8879
65Patch219: boost-1.54.0-property_tree-unused_typedef.patch
66# https://svn.boost.org/trac/boost/ticket/8880
67Patch220: boost-1.54.0-xpressive-unused_typedef.patch
68# https://svn.boost.org/trac/boost/ticket/8881
69Patch221: boost-1.54.0-mpi-unused_typedef.patch
70# https://svn.boost.org/trac/boost/ticket/8888
71Patch222: boost-1.54.0-python-unused_typedef.patch
72# https://svn.boost.org/trac/boost/ticket/8941
73Patch223: boost-1.54.0-lexical_cast-int128.patch
74# https://svn.boost.org/trac/boost/ticket/9038
75Patch224: boost-1.54.0-pool-test_linking.patch
76# https://svn.boost.org/trac/boost/ticket/9037
77Patch225: boost-1.54.0-thread-cond_variable_shadow.patch
78# https://svn.boost.org/trac/boost/ticket/9041
79Patch226: boost-1.54.0-thread-link_atomic.patch
49f48a3b 80URL: http://www.boost.org/
afbf1450 81BuildRequires: bzip2-devel
09e2803f 82BuildRequires: expat-devel
7c12a8f9 83BuildRequires: libicu-devel
49f48a3b 84BuildRequires: libstdc++-devel
30964b71 85BuildRequires: perl-base
6725319f 86%{?with_python:BuildRequires: python-devel >= 2.2}
dbf04d57 87BuildRequires: rpm-pythonprov
afbf1450 88BuildRequires: zlib-devel
c6874538 89BuildConflicts: gcc = 5:3.3.1
49f48a3b 90BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c6874538 91
647f39b2
AM
92%define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
93
c6874538 94%description
95The Boost web site provides free peer-reviewed portable C++ source
96libraries. The emphasis is on libraries which work well with the C++
97Standard Library. One goal is to establish "existing practice" and
98provide reference implementations so that the Boost libraries are
99suitable for eventual standardization. Some of the libraries have
100already been proposed for inclusion in the C++ Standards Committee's
101upcoming C++ Standard Library Technical Report.
102
4c35df9e 103%description -l pl.UTF-8
49f48a3b 104Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
4c35df9e
JR
105kodem źródłowym. Nacisk położono na biblioteki, które dobrze
106współpracują ze standardową biblioteką C++. Celem jest ustanowienie
107"istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
108"Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
109już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
2b583775 110Raporcie Technicznym Biblioteki Standardowej C++.
c6874538 111
49f48a3b 112%package devel
000cd675 113Summary: Boost C++ development headers
aa63c3d9 114Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
49f48a3b 115Group: Development/Libraries
000cd675 116Requires: %{name} = %{version}-%{release}
e5cd13f8
JB
117Requires: %{name}-chrono = %{version}-%{release}
118Requires: %{name}-context = %{version}-%{release}
09e2803f
PS
119Requires: %{name}-date_time = %{version}-%{release}
120Requires: %{name}-filesystem = %{version}-%{release}
121Requires: %{name}-graph = %{version}-%{release}
e5cd13f8 122Requires: %{name}-locale = %{version}-%{release}
09e2803f
PS
123Requires: %{name}-program_options = %{version}-%{release}
124Requires: %{name}-regex = %{version}-%{release}
125Requires: %{name}-signals = %{version}-%{release}
69912bfb 126Requires: %{name}-system = %{version}-%{release}
09e2803f
PS
127Requires: %{name}-test = %{version}-%{release}
128Requires: %{name}-thread = %{version}-%{release}
e5cd13f8 129Requires: %{name}-timer = %{version}-%{release}
09e2803f 130Requires: %{name}-wave = %{version}-%{release}
49f48a3b 131Requires: libstdc++-devel
09e2803f
PS
132Obsoletes: boost-any-devel
133Obsoletes: boost-array-devel
875f51e3 134Obsoletes: boost-asio
09e2803f 135Obsoletes: boost-bind-devel
05b0e240 136Obsoletes: boost-call_traits-devel
09e2803f 137Obsoletes: boost-compatibility-devel
470f1aae 138Obsoletes: boost-compose-devel
09e2803f 139Obsoletes: boost-compressed_pair-devel
89fd45a2
JB
140Obsoletes: boost-concept_check-devel
141Obsoletes: boost-conversion-devel
09e2803f
PS
142Obsoletes: boost-crc-devel
143Obsoletes: boost-date_time-devel
144Obsoletes: boost-filesystem-devel
145Obsoletes: boost-graph-devel
146Obsoletes: boost-mem_fn-devel
89fd45a2
JB
147Obsoletes: boost-mpl-devel
148Obsoletes: boost-preprocessor-devel
09e2803f 149Obsoletes: boost-program_options-devel
7c797e1a 150Obsoletes: boost-ref-devel
09e2803f
PS
151Obsoletes: boost-regex-devel
152Obsoletes: boost-signals-devel
153Obsoletes: boost-spirit-devel
154Obsoletes: boost-statechart-devel
89fd45a2 155Obsoletes: boost-static_assert-devel
09e2803f
PS
156Obsoletes: boost-test-devel
157Obsoletes: boost-thread-devel
158Obsoletes: boost-tr1-devel
89fd45a2 159Obsoletes: boost-type_traits-devel
09e2803f
PS
160Obsoletes: boost-typeof-devel
161Obsoletes: boost-uBLAS-devel
89fd45a2 162Obsoletes: boost-utility-devel
09e2803f
PS
163Obsoletes: boost-wave-devel
164Obsoletes: boost-xpressive-devel
49f48a3b
JB
165
166%description devel
000cd675 167Header files for the Boost C++ libraries.
49f48a3b 168
4c35df9e
JR
169%description devel -l pl.UTF-8
170Pliki nagłówkowe bibliotek C++ Boost.
000cd675
JB
171
172%package static
173Summary: Static version of base Boost C++ libraries
aa63c3d9 174Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
000cd675
JB
175Group: Development/Libraries
176Requires: %{name}-devel = %{version}-%{release}
09e2803f 177Obsoletes: boost-static < 1.33
000cd675
JB
178
179%description static
180Static version of base Boost C++ libraries.
181
4c35df9e 182%description static -l pl.UTF-8
000cd675 183Statyczne wersje podstawowych bibliotek C++ Boost.
49f48a3b 184
c6874538 185%package python
186Summary: Boost.Python library
aa63c3d9 187Summary(pl.UTF-8): biblioteka Boost.Python
c6874538 188Group: Libraries
6725319f 189%pyrequires_eq python
c6874538 190
191%description python
192Use the Boost Python Library to quickly and easily export a C++
193library to Python such that the Python interface is very similar to
194the C++ interface. It is designed to be minimally intrusive on your
195C++ design. In most cases, you should not have to alter your C++
196classes in any way in order to use them with Boost.Python. The system
197should simply ``reflect'' your C++ classes and functions into Python.
198
4c35df9e
JR
199%description python -l pl.UTF-8
200Biblioteka Boost Python służy do szybkiego i prostego eksportu
201biblioteki C++ do Pythona, tak że interfejs Pythona jest bardzo
202podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
203narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
204większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
205żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
66ac0d93 206klasy C++ i funkcje do Pythona.
c6874538 207
208%package python-devel
209Summary: Boost.Python development headers
aa63c3d9 210Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python
49f48a3b
JB
211Group: Development/Libraries
212Requires: %{name}-devel = %{version}-%{release}
6725319f 213Requires: %{name}-python = %{version}-%{release}
c6874538 214
215%description python-devel
66ac0d93 216Headers for the Boost.Python library.
c6874538 217
4c35df9e
JR
218%description python-devel -l pl.UTF-8
219Pliki nagłówkowe dla biblioteki Boost.Python.
c6874538 220
6725319f
JB
221%package python-static
222Summary: Static version of Boost.Python library
aa63c3d9 223Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python
6725319f
JB
224Group: Development/Libraries
225Requires: %{name}-python-devel = %{version}-%{release}
226
227%description python-static
228Static version of Boost.Python library.
229
4c35df9e 230%description python-static -l pl.UTF-8
6725319f
JB
231Statyczna wersja biblioteki Boost.Python.
232
17e8d8c2
ŁK
233%package chrono
234Summary: Useful time utilities
d7f6b47a 235Summary(pl.UTF-8): Przydatne funkcje związane z czasem
17e8d8c2
ŁK
236Group: Libraries
237Obsoletes: boost < 1.33
238
239%description chrono
240Useful time utilities.
241
d7f6b47a
JB
242%description chrono -l pl.UTF-8
243Przydatne funkcje związane z czasem.
244
e5cd13f8
JB
245%package context
246Summary: Boost.Context - context switching library
247Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
248Group: Libraries
249
250%description context
251Boost.Context - context switching library, providing a sort of
252cooperative multitasking on a single thread.
253
254%description context -l pl.UTF-8
255Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
256wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
257
02c23151 258%package date_time
d143171f 259Summary: Date-Time library
aa63c3d9 260Summary(pl.UTF-8): Biblioteka daty-czasu
02c23151 261Group: Libraries
000cd675 262Obsoletes: boost < 1.33
02c23151 263
264%description date_time
265A set of date-time libraries.
266
4c35df9e
JR
267%description date_time -l pl.UTF-8
268Zbiór bibliotek daty-czasu.
02c23151 269
31026e88 270%package filesystem
271Summary: Portable paths, iteration over directories, and other useful filesystem operations
aa63c3d9 272Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
31026e88 273Group: Libraries
69912bfb 274Requires: %{name}-system = %{version}-%{release}
000cd675 275Obsoletes: boost < 1.33
31026e88 276
277%description filesystem
04846599
JB
278The boost::filesystem library provides portable facilities to query
279and manipulate paths, files, and directories.
31026e88 280
4c35df9e
JR
281%description filesystem -l pl.UTF-8
282Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
283operacjach na ścieżkach, plikach i katalogach.
31026e88 284
06ed6468
AM
285%package graph
286Summary: General purpose, generic C++ library for graph data structures and graph algorithms
287Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
288Group: Libraries
289
290%description graph
291The boost::graph library provides portable facilities to operate on
292graph data structures using graph algorithms.
293
294%description graph -l pl.UTF-8
295Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
296strukturach danych typu graf za pomocą algorytmów związanych z
297grafami.
298
17e8d8c2
ŁK
299%package locale
300Summary: Provide localization and Unicode handling tools for C++
d7f6b47a 301Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
17e8d8c2
ŁK
302Group: Libraries
303
304%description locale
305Provide localization and Unicode handling tools for C++.
306
d7f6b47a
JB
307%description locale -l pl.UTF-8
308Narzędzia do obsługi lokalizacji i Unikodu w C++.
309
2ced8724
JR
310%package log
311Summary: Provide logging tools for C++
312Summary(pl.UTF-8): Narzędzia do logowania w C++
313Group: Libraries
314
315%description log
316Provide logging tools for C++.
317
318%description log -l pl.UTF-8
319Narzędzia do logowania w C++.
320
99f4684a 321%package program_options
322Summary: Access to program options, via conventional methods such as command line and config file
aa63c3d9 323Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
99f4684a 324Group: Libraries
325
326%description program_options
327The program_options library allows program developers to obtain
328program options, that is (name, value) pairs from the user, via
329conventional methods such as command line and config file.
330
4c35df9e
JR
331%description program_options -l pl.UTF-8
332Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
333programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
334jak linia poleceń, czy plik konfiguracyjny.
99f4684a 335
09e2803f
PS
336%package regex
337Summary: Boost C++ regular expressions library
338Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
339Group: Libraries
99f4684a 340
09e2803f
PS
341%description regex
342Shared library for Boost C++ regular expressions.
99f4684a 343
09e2803f 344%description regex -l pl.UTF-8
d7f6b47a 345Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
99f4684a 346
db639b8e 347%package signals
75f9f612 348Summary: Signals & slots callback implementation
aa63c3d9 349Summary(pl.UTF-8): Implementacja sygnałów i slotów
db639b8e 350Group: Libraries
000cd675 351Obsoletes: boost < 1.33
db639b8e 352
353%description signals
354The boost::signals library is an implementation of a signals and slots
355system.
356
4c35df9e
JR
357%description signals -l pl.UTF-8
358Biblioteka boost::signals jest implementacją systemu sygnałów i
359slotów.
db639b8e 360
09e2803f
PS
361%package system
362Summary: Support for getting system specific error codes
363Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
364Group: Libraries
06ed6468 365
09e2803f
PS
366%description system
367The Boost System library provides simple, light-weight error_code
368objects that encapsulate system-specific error code values, yet also
369provide access to more abstract and portable error conditions objects.
0651a785 370
2b583775
JB
371%description system -l pl.UTF-8
372Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
373obudowujące wartości kodów błędów specyficznych dla systemu, dając
374jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
375błędów.
376
c0536c7f 377%package test
09e2803f 378Summary: Support for program testing and execution monitoring
aa63c3d9 379Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
c0536c7f 380Group: Libraries
000cd675 381Obsoletes: boost < 1.33
c0536c7f 382
383%description test
384Support for simple program testing, full unit testing, and for program
385execution monitoring.
386
4c35df9e
JR
387%description test -l pl.UTF-8
388Wsparcie dla prostego testowania programu, pełnego testowania i
c0536c7f 389monitorowania wykonania programu.
390
02c23151 391%package thread
d143171f 392Summary: Portable C++ threads library
aa63c3d9 393Summary(pl.UTF-8): Przenośna biblioteka wątków C++
02c23151 394Group: Libraries
000cd675 395Obsoletes: boost < 1.33
02c23151 396
397%description thread
e4ddb7d1 398Portable C++ threads library - shared library.
02c23151 399
4c35df9e
JR
400%description thread -l pl.UTF-8
401Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
02c23151 402
e5cd13f8
JB
403%package timer
404Summary: Event timer, progress timer, and progress display classes
405Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
406Group: Libraries
407Obsoletes: boost < 1.33
408
409%description timer
410Event timer, progress timer, and progress display classes.
411
412%description timer -l pl.UTF-8
413Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
414
06ed6468
AM
415%package wave
416Summary: Boost.Wave - a standard compliant C++ preprocessor library
417Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
418Group: Development/Libraries
06ed6468
AM
419
420%description wave
421Boost.Wave - a standard compliant C++ preprocessor library.
422
423%description wave -l pl.UTF-8
424Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
425
c6874538 426%package doc
427Summary: Boost C++ Library documentation
aa63c3d9 428Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
49f48a3b 429Group: Documentation
b0977fb8 430Requires: %{name}-devel = %{version}-%{release}
c6874538 431
432%description doc
66ac0d93 433Documentation for the Boost C++ Library.
c6874538 434
4c35df9e 435%description doc -l pl.UTF-8
66ac0d93 436Dokumentacja dla biblioteki Boost C++.
c6874538 437
438%prep
8b623265 439%setup -q -n %{name}_%{fver}
09e2803f 440%patch0 -p1
15fc9c62 441%patch1 -p2
c6874538 442
647f39b2
AM
443%patch100 -p1
444%patch101 -p1
445%patch102 -p1
446
447%patch200 -p1
448%patch201 -p1
449%patch202 -p1
450%patch203 -p0
451%patch204 -p1
452%patch205 -p1
453%patch206 -p0
454%patch207 -p0
455%patch208 -p0
456%patch209 -p0
457%patch210 -p1
458%patch211 -p1
459%patch212 -p1
460%patch213 -p1
461%patch214 -p1
462%patch215 -p1
463%patch216 -p1
464%patch217 -p1
465%patch218 -p1
466%patch219 -p1
467%patch220 -p1
468%patch221 -p1
469%patch222 -p1
470%patch223 -p0
471%patch224 -p1
472%patch225 -p1
473%patch226 -p1
474
9b1806d5
PS
475# - don't know how to pass it through (b)jam -s (no way?)
476# due to oversophisticated build flags system.
477# - pass -fPIC due to <shared-linkable> removal.
0c1a0872 478%{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/v2/tools/gcc.jam
09e2803f
PS
479
480# cleanup -g switch to avoid override debuginfocflags.
481%{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/v2/tools/gcc.jam
482# link against shared expat library.
483%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2
502f5d36 484
09e2803f
PS
485cat << EOF > tools/build/v2/user-config.jam
486using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ;
487EOF
488
c6874538 489%build
49f48a3b 490%if %{with python}
7c12a8f9 491PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]')
c6874538 492PYTHON_ROOT=%{_prefix}
493%else
494PYTHON_ROOT=
495PYTHON_VERSION=
496%endif
09e2803f
PS
497EXPAT_INCLUDE=%{_includedir} \
498EXPAT_LIBPATH=%{_libdir} \
499ICU_PATH=%{_prefix} \
17e8d8c2
ŁK
500./bootstrap.sh --prefix=%{_prefix}
501./b2 \
9b1806d5 502 -d2 --toolset=gcc \
09e2803f 503 variant=release debug-symbols=on inlining=on link=static,shared threading=multi
9b1806d5 504
c6874538 505%install
506rm -rf $RPM_BUILD_ROOT
30964b71 507install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
c6874538 508
30964b71 509cp -rf boost $RPM_BUILD_ROOT%{_includedir}
c6874538 510
8b623265
JB
511install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
512install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
513cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
fa767695 514
c6874538 515# documentation
516install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
c6874538 517
518# as the documentation doesn't completely reside in a directory of its
519# own, we need to find out ourselves... this looks for HTML files and
520# then collects everything linked from those. this is certainly quite
521# unoptimized wrt mkdir calls, but does it really matter?
7c12a8f9
ER
522installdocs() {
523for i in $(find -type f -name '*.htm*'); do
c6874538 524 # bjam docu is included in the boost-jam RPM
525 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
7c12a8f9 526 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
30964b71 527 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
c6874538 528 sub rewrite_link
529 {
530 my $link = shift;
531 # rewrite links from boost/* to %{_includedir}/boost/* and
532 # ignore external links as well as document-internal ones.
533 # HTML files are also ignored as they get installed anyway.
534 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
535 {
536 (my $file = $link) =~ s/\#.*//;
537 print "$file\n";
538 }
539 $link;
540 }
541 open IN, @ARGV[0];
542 open OUT, ">@ARGV[1]";
66ac0d93 543 my $in_link;
c6874538 544 while (<IN>)
545 {
66ac0d93 546 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
c6874538 547 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
548 print OUT;
d143171f 549 $in_link = /href|src=\s*$/;
c6874538 550 }
551EOT`; do
7c12a8f9 552 TARGET=${i%/*}/$LINKED
c6874538 553 # ignore non-existant linked files
554 if test -f $TARGET; then
7c12a8f9 555 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
c6874538 556 fi
557 done
558 fi
559done
7c12a8f9 560}; installdocs
c6874538 561
562%clean
563rm -rf $RPM_BUILD_ROOT
564
000cd675
JB
565%post -p /sbin/ldconfig
566%postun -p /sbin/ldconfig
567
17e8d8c2
ŁK
568%post chrono -p /sbin/ldconfig
569%postun chrono -p /sbin/ldconfig
570
e5cd13f8
JB
571%post context -p /sbin/ldconfig
572%postun context -p /sbin/ldconfig
573
3d8dd501
JB
574%post date_time -p /sbin/ldconfig
575%postun date_time -p /sbin/ldconfig
576
04846599
JB
577%post filesystem -p /sbin/ldconfig
578%postun filesystem -p /sbin/ldconfig
579
06ed6468
AM
580%post graph -p /sbin/ldconfig
581%postun graph -p /sbin/ldconfig
582
17e8d8c2
ŁK
583%post locale -p /sbin/ldconfig
584%postun locale -p /sbin/ldconfig
585
09e2803f
PS
586%post python -p /sbin/ldconfig
587%postun python -p /sbin/ldconfig
588
589%post program_options -p /sbin/ldconfig
590%postun program_options -p /sbin/ldconfig
c6874538 591
09e2803f
PS
592%post regex -p /sbin/ldconfig
593%postun regex -p /sbin/ldconfig
290ca6f4 594
09e2803f
PS
595%post signals -p /sbin/ldconfig
596%postun signals -p /sbin/ldconfig
c6874538 597
09e2803f
PS
598%post system -p /sbin/ldconfig
599%postun system -p /sbin/ldconfig
3d8dd501 600
09e2803f
PS
601%post test -p /sbin/ldconfig
602%postun test -p /sbin/ldconfig
c0536c7f 603
09e2803f
PS
604%post thread -p /sbin/ldconfig
605%postun thread -p /sbin/ldconfig
3d8dd501 606
e5cd13f8
JB
607%post timer -p /sbin/ldconfig
608%postun timer -p /sbin/ldconfig
609
d7f6b47a
JB
610%post wave -p /sbin/ldconfig
611%postun wave -p /sbin/ldconfig
612
000cd675
JB
613%files
614%defattr(644,root,root,755)
7bf3427b 615%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
8b623265 616%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
e019306a 617%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
8b623265
JB
618%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
619%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
620%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
000cd675 621
30964b71
JB
622%files devel
623%defattr(644,root,root,755)
7bf3427b 624%attr(755,root,root) %{_libdir}/libboost_atomic.so
17e8d8c2 625%attr(755,root,root) %{_libdir}/libboost_chrono.so
e5cd13f8 626%attr(755,root,root) %{_libdir}/libboost_context.so
8b623265
JB
627%attr(755,root,root) %{_libdir}/libboost_date_time.so
628%attr(755,root,root) %{_libdir}/libboost_filesystem.so
629%attr(755,root,root) %{_libdir}/libboost_graph.so
630%attr(755,root,root) %{_libdir}/libboost_iostreams.so
17e8d8c2 631%attr(755,root,root) %{_libdir}/libboost_locale.so
2ced8724
JR
632%attr(755,root,root) %{_libdir}/libboost_log.so
633%attr(755,root,root) %{_libdir}/libboost_log_setup.so
e019306a 634%attr(755,root,root) %{_libdir}/libboost_math_*.so
8b623265
JB
635%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
636%attr(755,root,root) %{_libdir}/libboost_program_options.so
637%attr(755,root,root) %{_libdir}/libboost_regex.so
638%attr(755,root,root) %{_libdir}/libboost_random.so
639%attr(755,root,root) %{_libdir}/libboost_serialization.so
640%attr(755,root,root) %{_libdir}/libboost_signals.so
641%attr(755,root,root) %{_libdir}/libboost_system.so
642%attr(755,root,root) %{_libdir}/libboost_thread.so
17e8d8c2 643%attr(755,root,root) %{_libdir}/libboost_timer.so
8b623265
JB
644%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
645%attr(755,root,root) %{_libdir}/libboost_wave.so
646%attr(755,root,root) %{_libdir}/libboost_wserialization.so
647%{_includedir}/boost
648%exclude %{_includedir}/boost/python
649%exclude %{_includedir}/boost/python.hpp
99f4684a 650
000cd675
JB
651%files static
652%defattr(644,root,root,755)
7bf3427b 653%{_libdir}/libboost_atomic.a
17e8d8c2 654%{_libdir}/libboost_chrono.a
e5cd13f8 655%{_libdir}/libboost_context.a
2ced8724 656%{_libdir}/libboost_coroutine.a
8b623265 657%{_libdir}/libboost_date_time.a
17e8d8c2 658%{_libdir}/libboost_exception.a
8b623265
JB
659%{_libdir}/libboost_filesystem.a
660%{_libdir}/libboost_graph.a
661%{_libdir}/libboost_iostreams.a
17e8d8c2 662%{_libdir}/libboost_locale.a
2ced8724
JR
663%{_libdir}/libboost_log.a
664%{_libdir}/libboost_log_setup.a
e019306a 665%{_libdir}/libboost_math_*.a
8b623265
JB
666%{_libdir}/libboost_prg_exec_monitor.a
667%{_libdir}/libboost_program_options.a
668%{_libdir}/libboost_random.a
669%{_libdir}/libboost_regex.a
670%{_libdir}/libboost_serialization.a
671%{_libdir}/libboost_signals.a
672%{_libdir}/libboost_system.a
673%{_libdir}/libboost_test_exec_monitor.a
17e8d8c2 674%{_libdir}/libboost_timer.a
8b623265
JB
675%{_libdir}/libboost_thread.a
676%{_libdir}/libboost_unit_test_framework.a
677%{_libdir}/libboost_wave.a
678%{_libdir}/libboost_wserialization.a
db639b8e 679
49f48a3b 680%if %{with python}
30964b71 681%files python
49f48a3b 682%defattr(644,root,root,755)
8b623265 683%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
49f48a3b 684
30964b71 685%files python-devel
c6874538 686%defattr(644,root,root,755)
8b623265 687%attr(755,root,root) %{_libdir}/libboost_python.so
30964b71
JB
688%{_includedir}/boost/python
689%{_includedir}/boost/python.hpp
690
6725319f
JB
691%files python-static
692%defattr(644,root,root,755)
8b623265 693%{_libdir}/libboost_python.a
c6874538 694%endif
695
17e8d8c2
ŁK
696%files chrono
697%defattr(644,root,root,755)
698%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
699
e5cd13f8
JB
700%files context
701%defattr(644,root,root,755)
702%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
703
02c23151 704%files date_time
705%defattr(644,root,root,755)
8b623265 706%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
02c23151 707
31026e88 708%files filesystem
709%defattr(644,root,root,755)
8b623265 710%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
31026e88 711
06ed6468
AM
712%files graph
713%defattr(644,root,root,755)
8b623265 714%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
06ed6468 715
17e8d8c2
ŁK
716%files locale
717%defattr(644,root,root,755)
718%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
719
2ced8724
JR
720%files log
721%defattr(644,root,root,755)
722%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
723%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
724
99f4684a 725%files program_options
726%defattr(644,root,root,755)
8b623265 727%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
99f4684a 728
09e2803f 729%files regex
99f4684a 730%defattr(644,root,root,755)
8b623265 731%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
99f4684a 732
db639b8e 733%files signals
734%defattr(644,root,root,755)
8b623265 735%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
db639b8e 736
09e2803f 737%files system
db639b8e 738%defattr(644,root,root,755)
8b623265 739%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
06ed6468 740
c0536c7f 741%files test
742%defattr(644,root,root,755)
8b623265
JB
743%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
744%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
c0536c7f 745
02c23151 746%files thread
747%defattr(644,root,root,755)
8b623265 748%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
02c23151 749
e5cd13f8
JB
750%files timer
751%defattr(644,root,root,755)
752%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
753
06ed6468
AM
754%files wave
755%defattr(644,root,root,755)
8b623265 756%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
06ed6468 757
30964b71 758%files doc
fe815c68 759%defattr(644,root,root,755)
75f9f612 760%{_docdir}/%{name}-%{version}
This page took 0.194069 seconds and 4 git commands to generate.