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