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