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