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