]> git.pld-linux.org Git - packages/boost.git/blame - boost.spec
- pl for -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
51b5b96e 37BuildRequires: libstdc++-devel >= 6:4.7
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
49f48a3b 49BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c6874538 50
647f39b2
AM
51%define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
52
7b156c4b 53# __once_call, __once_callable non-function symbols from libstdc++
7351bbbc 54%define skip_post_check_so libboost_context.so.* libboost_fiber.so.*
7b156c4b 55
c6874538 56%description
57The Boost web site provides free peer-reviewed portable C++ source
58libraries. The emphasis is on libraries which work well with the C++
59Standard Library. One goal is to establish "existing practice" and
60provide reference implementations so that the Boost libraries are
61suitable for eventual standardization. Some of the libraries have
62already been proposed for inclusion in the C++ Standards Committee's
63upcoming C++ Standard Library Technical Report.
64
4c35df9e 65%description -l pl.UTF-8
49f48a3b 66Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
4c35df9e
JR
67kodem źródłowym. Nacisk położono na biblioteki, które dobrze
68współpracują ze standardową biblioteką C++. Celem jest ustanowienie
69"istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
70"Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
71już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
2b583775 72Raporcie Technicznym Biblioteki Standardowej C++.
c6874538 73
49f48a3b 74%package devel
000cd675 75Summary: Boost C++ development headers
aa63c3d9 76Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
49f48a3b 77Group: Development/Libraries
000cd675 78Requires: %{name} = %{version}-%{release}
e5cd13f8
JB
79Requires: %{name}-chrono = %{version}-%{release}
80Requires: %{name}-context = %{version}-%{release}
09e2803f 81Requires: %{name}-date_time = %{version}-%{release}
f3e7d454 82Requires: %{name}-fiber = %{version}-%{release}
09e2803f
PS
83Requires: %{name}-filesystem = %{version}-%{release}
84Requires: %{name}-graph = %{version}-%{release}
e5cd13f8 85Requires: %{name}-locale = %{version}-%{release}
c054d21a 86Requires: %{name}-log = %{version}-%{release}
09e2803f
PS
87Requires: %{name}-program_options = %{version}-%{release}
88Requires: %{name}-regex = %{version}-%{release}
89Requires: %{name}-signals = %{version}-%{release}
69912bfb 90Requires: %{name}-system = %{version}-%{release}
09e2803f
PS
91Requires: %{name}-test = %{version}-%{release}
92Requires: %{name}-thread = %{version}-%{release}
e5cd13f8 93Requires: %{name}-timer = %{version}-%{release}
09e2803f 94Requires: %{name}-wave = %{version}-%{release}
51b5b96e 95Requires: libstdc++-devel >= 6:4.7
09e2803f
PS
96Obsoletes: boost-any-devel
97Obsoletes: boost-array-devel
875f51e3 98Obsoletes: boost-asio
09e2803f 99Obsoletes: boost-bind-devel
05b0e240 100Obsoletes: boost-call_traits-devel
09e2803f 101Obsoletes: boost-compatibility-devel
470f1aae 102Obsoletes: boost-compose-devel
09e2803f 103Obsoletes: boost-compressed_pair-devel
89fd45a2
JB
104Obsoletes: boost-concept_check-devel
105Obsoletes: boost-conversion-devel
09e2803f
PS
106Obsoletes: boost-crc-devel
107Obsoletes: boost-date_time-devel
108Obsoletes: boost-filesystem-devel
109Obsoletes: boost-graph-devel
110Obsoletes: boost-mem_fn-devel
89fd45a2
JB
111Obsoletes: boost-mpl-devel
112Obsoletes: boost-preprocessor-devel
09e2803f 113Obsoletes: boost-program_options-devel
7c797e1a 114Obsoletes: boost-ref-devel
09e2803f
PS
115Obsoletes: boost-regex-devel
116Obsoletes: boost-signals-devel
117Obsoletes: boost-spirit-devel
118Obsoletes: boost-statechart-devel
89fd45a2 119Obsoletes: boost-static_assert-devel
09e2803f
PS
120Obsoletes: boost-test-devel
121Obsoletes: boost-thread-devel
122Obsoletes: boost-tr1-devel
89fd45a2 123Obsoletes: boost-type_traits-devel
09e2803f
PS
124Obsoletes: boost-typeof-devel
125Obsoletes: boost-uBLAS-devel
89fd45a2 126Obsoletes: boost-utility-devel
09e2803f
PS
127Obsoletes: boost-wave-devel
128Obsoletes: boost-xpressive-devel
49f48a3b
JB
129
130%description devel
000cd675 131Header files for the Boost C++ libraries.
49f48a3b 132
4c35df9e
JR
133%description devel -l pl.UTF-8
134Pliki nagłówkowe bibliotek C++ Boost.
000cd675
JB
135
136%package static
137Summary: Static version of base Boost C++ libraries
aa63c3d9 138Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
000cd675
JB
139Group: Development/Libraries
140Requires: %{name}-devel = %{version}-%{release}
09e2803f 141Obsoletes: boost-static < 1.33
000cd675
JB
142
143%description static
144Static version of base Boost C++ libraries.
145
4c35df9e 146%description static -l pl.UTF-8
000cd675 147Statyczne wersje podstawowych bibliotek C++ Boost.
49f48a3b 148
fe766442
JR
149%package python-devel-common
150Summary: Boost.Python development headers
c9463fef 151Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python
fe766442
JR
152Group: Development/Libraries
153Requires: %{name}-devel = %{version}-%{release}
154
155%description python-devel-common
156Headers for the Boost.Python library.
157
158%description python-devel-common -l pl.UTF-8
c9463fef 159Pliki nagłówkowe biblioteki Boost.Python.
fe766442 160
c6874538 161%package python
c9463fef
JB
162Summary: Boost.Python library for Python 2
163Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2
c6874538 164Group: Libraries
c9463fef 165Requires: python-libs
c6874538 166
167%description python
168Use the Boost Python Library to quickly and easily export a C++
c9463fef
JB
169library to Python 2 such that the Python 2 interface is very similar
170to the C++ interface. It is designed to be minimally intrusive on your
c6874538 171C++ design. In most cases, you should not have to alter your C++
172classes in any way in order to use them with Boost.Python. The system
c9463fef
JB
173should simply ``reflect'' your C++ classes and functions into Python
1743.
c6874538 175
4c35df9e
JR
176%description python -l pl.UTF-8
177Biblioteka Boost Python służy do szybkiego i prostego eksportu
c9463fef 178biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
4c35df9e
JR
179podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
180narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
181większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
182żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
c9463fef 183klasy C++ i funkcje do Pythona 3.
c6874538 184
185%package python-devel
c9463fef
JB
186Summary: Boost.Python development files for Python 2
187Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2
49f48a3b
JB
188Group: Development/Libraries
189Requires: %{name}-devel = %{version}-%{release}
6725319f 190Requires: %{name}-python = %{version}-%{release}
fe766442 191Requires: %{name}-python-devel-common = %{version}-%{release}
c6874538 192
193%description python-devel
c9463fef 194Boost.Python development files for Python 2.
c6874538 195
4c35df9e 196%description python-devel -l pl.UTF-8
c9463fef 197Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
c6874538 198
6725319f 199%package python-static
c9463fef
JB
200Summary: Static version of Boost.Python library for Python 2
201Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2
6725319f
JB
202Group: Development/Libraries
203Requires: %{name}-python-devel = %{version}-%{release}
204
205%description python-static
c9463fef 206Static version of Boost.Python library for Python 2.
6725319f 207
4c35df9e 208%description python-static -l pl.UTF-8
c9463fef 209Statyczna wersja biblioteki Boost.Python dla Pythona 2.
6725319f 210
fe766442 211%package python3
c9463fef
JB
212Summary: Boost.Python library for Python 3
213Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3
fe766442 214Group: Libraries
c9463fef 215Requires: python3-libs
fe766442
JR
216
217%description python3
218Use the Boost Python Library to quickly and easily export a C++
219library to Python 3 such that the Python 3 interface is very similar
220to the C++ interface. It is designed to be minimally intrusive on your
221C++ design. In most cases, you should not have to alter your C++
222classes in any way in order to use them with Boost.Python. The system
c9463fef
JB
223should simply ``reflect'' your C++ classes and functions into Python
2243.
fe766442
JR
225
226%description python3 -l pl.UTF-8
227Biblioteka Boost Python służy do szybkiego i prostego eksportu
228biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
229podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
230narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
231większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
232żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
233klasy C++ i funkcje do Pythona 3.
234
235%package python3-devel
c9463fef
JB
236Summary: Boost.Python development files for Python 3
237Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3
fe766442
JR
238Group: Development/Libraries
239Requires: %{name}-devel = %{version}-%{release}
e6158199 240Requires: %{name}-python-devel-common = %{version}-%{release}
aaeb56b0 241Requires: %{name}-python3 = %{version}-%{release}
fe766442
JR
242
243%description python3-devel
c9463fef 244Boost.Python development files for Python 3.
fe766442
JR
245
246%description python3-devel -l pl.UTF-8
c9463fef 247Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
fe766442
JR
248
249%package python3-static
c9463fef
JB
250Summary: Static version of Boost.Python library for Python 3
251Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3
fe766442
JR
252Group: Development/Libraries
253Requires: %{name}-python3-devel = %{version}-%{release}
254
255%description python3-static
c9463fef 256Static version of Boost.Python library for Python 3.
fe766442
JR
257
258%description python3-static -l pl.UTF-8
c9463fef 259Statyczna wersja biblioteki Boost.Python dla Pythona 3.
fe766442 260
17e8d8c2
ŁK
261%package chrono
262Summary: Useful time utilities
d7f6b47a 263Summary(pl.UTF-8): Przydatne funkcje związane z czasem
17e8d8c2
ŁK
264Group: Libraries
265Obsoletes: boost < 1.33
266
267%description chrono
268Useful time utilities.
269
d7f6b47a
JB
270%description chrono -l pl.UTF-8
271Przydatne funkcje związane z czasem.
272
e5cd13f8
JB
273%package context
274Summary: Boost.Context - context switching library
275Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
276Group: Libraries
277
278%description context
279Boost.Context - context switching library, providing a sort of
280cooperative multitasking on a single thread.
281
282%description context -l pl.UTF-8
283Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
284wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
285
02c23151 286%package date_time
d143171f 287Summary: Date-Time library
aa63c3d9 288Summary(pl.UTF-8): Biblioteka daty-czasu
02c23151 289Group: Libraries
000cd675 290Obsoletes: boost < 1.33
02c23151 291
292%description date_time
293A set of date-time libraries.
294
4c35df9e
JR
295%description date_time -l pl.UTF-8
296Zbiór bibliotek daty-czasu.
02c23151 297
f3e7d454
JR
298%package fiber
299Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively
51b5b96e 300Summary(pl.UTF-8): Szkielet mikrowątków przestrzeni użytkownika (fibers), szeregowanych kooperacyjnie
f3e7d454
JR
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
51b5b96e
JB
308%description fiber -l pl.UTF-8
309boost::fiber to szkielt mikrowątków przestrzeni użytkownika (fibers)
310szeregowanych kooperacyjnie. API zawiera klasy i funkcje służące do
311zarządzania i synchronizacji wątków podobne do boost.thread.
312
31026e88 313%package filesystem
314Summary: Portable paths, iteration over directories, and other useful filesystem operations
aa63c3d9 315Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
31026e88 316Group: Libraries
69912bfb 317Requires: %{name}-system = %{version}-%{release}
000cd675 318Obsoletes: boost < 1.33
31026e88 319
320%description filesystem
04846599
JB
321The boost::filesystem library provides portable facilities to query
322and manipulate paths, files, and directories.
31026e88 323
4c35df9e
JR
324%description filesystem -l pl.UTF-8
325Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
326operacjach na ścieżkach, plikach i katalogach.
31026e88 327
06ed6468
AM
328%package graph
329Summary: General purpose, generic C++ library for graph data structures and graph algorithms
330Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
331Group: Libraries
332
333%description graph
334The boost::graph library provides portable facilities to operate on
335graph data structures using graph algorithms.
336
337%description graph -l pl.UTF-8
338Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
339strukturach danych typu graf za pomocą algorytmów związanych z
340grafami.
341
17e8d8c2
ŁK
342%package locale
343Summary: Provide localization and Unicode handling tools for C++
d7f6b47a 344Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
17e8d8c2
ŁK
345Group: Libraries
346
347%description locale
348Provide localization and Unicode handling tools for C++.
349
d7f6b47a
JB
350%description locale -l pl.UTF-8
351Narzędzia do obsługi lokalizacji i Unikodu w C++.
352
2ced8724
JR
353%package log
354Summary: Provide logging tools for C++
355Summary(pl.UTF-8): Narzędzia do logowania w C++
356Group: Libraries
357
358%description log
359Provide logging tools for C++.
360
361%description log -l pl.UTF-8
362Narzędzia do logowania w C++.
363
99f4684a 364%package program_options
365Summary: Access to program options, via conventional methods such as command line and config file
aa63c3d9 366Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
99f4684a 367Group: Libraries
368
369%description program_options
370The program_options library allows program developers to obtain
371program options, that is (name, value) pairs from the user, via
372conventional methods such as command line and config file.
373
4c35df9e
JR
374%description program_options -l pl.UTF-8
375Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
376programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
377jak linia poleceń, czy plik konfiguracyjny.
99f4684a 378
09e2803f
PS
379%package regex
380Summary: Boost C++ regular expressions library
381Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
382Group: Libraries
99f4684a 383
09e2803f
PS
384%description regex
385Shared library for Boost C++ regular expressions.
99f4684a 386
09e2803f 387%description regex -l pl.UTF-8
d7f6b47a 388Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
99f4684a 389
db639b8e 390%package signals
75f9f612 391Summary: Signals & slots callback implementation
aa63c3d9 392Summary(pl.UTF-8): Implementacja sygnałów i slotów
db639b8e 393Group: Libraries
000cd675 394Obsoletes: boost < 1.33
db639b8e 395
396%description signals
397The boost::signals library is an implementation of a signals and slots
398system.
399
4c35df9e
JR
400%description signals -l pl.UTF-8
401Biblioteka boost::signals jest implementacją systemu sygnałów i
402slotów.
db639b8e 403
09e2803f
PS
404%package system
405Summary: Support for getting system specific error codes
406Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
407Group: Libraries
06ed6468 408
09e2803f
PS
409%description system
410The Boost System library provides simple, light-weight error_code
411objects that encapsulate system-specific error code values, yet also
412provide access to more abstract and portable error conditions objects.
0651a785 413
2b583775
JB
414%description system -l pl.UTF-8
415Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
416obudowujące wartości kodów błędów specyficznych dla systemu, dając
417jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
418błędów.
419
c0536c7f 420%package test
09e2803f 421Summary: Support for program testing and execution monitoring
aa63c3d9 422Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
c0536c7f 423Group: Libraries
000cd675 424Obsoletes: boost < 1.33
c0536c7f 425
426%description test
427Support for simple program testing, full unit testing, and for program
428execution monitoring.
429
4c35df9e
JR
430%description test -l pl.UTF-8
431Wsparcie dla prostego testowania programu, pełnego testowania i
c0536c7f 432monitorowania wykonania programu.
433
02c23151 434%package thread
d143171f 435Summary: Portable C++ threads library
aa63c3d9 436Summary(pl.UTF-8): Przenośna biblioteka wątków C++
02c23151 437Group: Libraries
000cd675 438Obsoletes: boost < 1.33
02c23151 439
440%description thread
e4ddb7d1 441Portable C++ threads library - shared library.
02c23151 442
4c35df9e
JR
443%description thread -l pl.UTF-8
444Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
02c23151 445
e5cd13f8
JB
446%package timer
447Summary: Event timer, progress timer, and progress display classes
448Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
449Group: Libraries
450Obsoletes: boost < 1.33
451
452%description timer
453Event timer, progress timer, and progress display classes.
454
455%description timer -l pl.UTF-8
456Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
457
06ed6468
AM
458%package wave
459Summary: Boost.Wave - a standard compliant C++ preprocessor library
460Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
461Group: Development/Libraries
06ed6468
AM
462
463%description wave
464Boost.Wave - a standard compliant C++ preprocessor library.
465
466%description wave -l pl.UTF-8
467Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
468
c6874538 469%package doc
470Summary: Boost C++ Library documentation
aa63c3d9 471Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
49f48a3b 472Group: Documentation
f6f44d5d
ER
473%if "%{_rpmversion}" >= "5"
474BuildArch: noarch
475%endif
c6874538 476
477%description doc
66ac0d93 478Documentation for the Boost C++ Library.
c6874538 479
4c35df9e 480%description doc -l pl.UTF-8
66ac0d93 481Dokumentacja dla biblioteki Boost C++.
c6874538 482
483%prep
8b623265 484%setup -q -n %{name}_%{fver}
09e2803f 485%patch0 -p1
bfed7e70
JR
486%patch1 -p1
487%patch2 -p1
1b90837b 488%patch3 -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.199967 seconds and 4 git commands to generate.