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