]> git.pld-linux.org Git - packages/boost.git/blame - boost.spec
- updated to 1.63.0
[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
JB
15Version: 1.63.0
16Release: 1
db639b8e 17License: Boost Software License and others
c6874538 18Group: Libraries
8b623265 19Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
1b90837b 20# Source0-md5: 1c837ecd990bb022d07e7aab32b09847
8b623265 21Patch0: %{name}-link.patch
bab7ef8c 22Patch1: %{name}-x32-context.patch
bfed7e70 23Patch2: %{name}-clean-gcc-flags.patch
1b90837b 24Patch3: %{name}-numpy3.patch
647f39b2 25# FC Patches:
1b90837b
JB
26Patch201: %{name}-python-abi_letters.patch
27# https://github.com/boostorg/build/issues/163
28Patch202: %{name}-dual-python-build.patch
647f39b2 29# https://svn.boost.org/trac/boost/ticket/5637
6d61ae01 30Patch203: %{name}-1.54.0-mpl-print.patch
647f39b2 31# https://svn.boost.org/trac/boost/ticket/8881
6d61ae01 32Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
49f48a3b 33URL: http://www.boost.org/
afbf1450 34BuildRequires: bzip2-devel
09e2803f 35BuildRequires: expat-devel
7c12a8f9 36BuildRequires: libicu-devel
49f48a3b 37BuildRequires: libstdc++-devel
30964b71 38BuildRequires: perl-base
1b90837b
JB
39%if %{with python}
40BuildRequires: python-devel >= 2.2
41%{?with_numpy:BuildRequires: python-numpy-devel}
42%endif
43%if %{with python3}
44BuildRequires: python3-devel
45%{?with_numpy:BuildRequires: python3-numpy-devel}
46%endif
dbf04d57 47BuildRequires: rpm-pythonprov
afbf1450 48BuildRequires: zlib-devel
c6874538 49BuildConflicts: gcc = 5:3.3.1
49f48a3b 50BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
c6874538 51
647f39b2
AM
52%define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
53
7b156c4b
JR
54# __once_call, __once_callable non-function symbols from libstdc++
55%define skip_post_check_so libboost_context.so.*
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
PS
82Requires: %{name}-date_time = %{version}-%{release}
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}
49f48a3b 95Requires: libstdc++-devel
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
31026e88 298%package filesystem
299Summary: Portable paths, iteration over directories, and other useful filesystem operations
aa63c3d9 300Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
31026e88 301Group: Libraries
69912bfb 302Requires: %{name}-system = %{version}-%{release}
000cd675 303Obsoletes: boost < 1.33
31026e88 304
305%description filesystem
04846599
JB
306The boost::filesystem library provides portable facilities to query
307and manipulate paths, files, and directories.
31026e88 308
4c35df9e
JR
309%description filesystem -l pl.UTF-8
310Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
311operacjach na ścieżkach, plikach i katalogach.
31026e88 312
06ed6468
AM
313%package graph
314Summary: General purpose, generic C++ library for graph data structures and graph algorithms
315Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
316Group: Libraries
317
318%description graph
319The boost::graph library provides portable facilities to operate on
320graph data structures using graph algorithms.
321
322%description graph -l pl.UTF-8
323Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
324strukturach danych typu graf za pomocą algorytmów związanych z
325grafami.
326
17e8d8c2
ŁK
327%package locale
328Summary: Provide localization and Unicode handling tools for C++
d7f6b47a 329Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
17e8d8c2
ŁK
330Group: Libraries
331
332%description locale
333Provide localization and Unicode handling tools for C++.
334
d7f6b47a
JB
335%description locale -l pl.UTF-8
336Narzędzia do obsługi lokalizacji i Unikodu w C++.
337
2ced8724
JR
338%package log
339Summary: Provide logging tools for C++
340Summary(pl.UTF-8): Narzędzia do logowania w C++
341Group: Libraries
342
343%description log
344Provide logging tools for C++.
345
346%description log -l pl.UTF-8
347Narzędzia do logowania w C++.
348
99f4684a 349%package program_options
350Summary: Access to program options, via conventional methods such as command line and config file
aa63c3d9 351Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
99f4684a 352Group: Libraries
353
354%description program_options
355The program_options library allows program developers to obtain
356program options, that is (name, value) pairs from the user, via
357conventional methods such as command line and config file.
358
4c35df9e
JR
359%description program_options -l pl.UTF-8
360Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
361programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
362jak linia poleceń, czy plik konfiguracyjny.
99f4684a 363
09e2803f
PS
364%package regex
365Summary: Boost C++ regular expressions library
366Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
367Group: Libraries
99f4684a 368
09e2803f
PS
369%description regex
370Shared library for Boost C++ regular expressions.
99f4684a 371
09e2803f 372%description regex -l pl.UTF-8
d7f6b47a 373Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
99f4684a 374
db639b8e 375%package signals
75f9f612 376Summary: Signals & slots callback implementation
aa63c3d9 377Summary(pl.UTF-8): Implementacja sygnałów i slotów
db639b8e 378Group: Libraries
000cd675 379Obsoletes: boost < 1.33
db639b8e 380
381%description signals
382The boost::signals library is an implementation of a signals and slots
383system.
384
4c35df9e
JR
385%description signals -l pl.UTF-8
386Biblioteka boost::signals jest implementacją systemu sygnałów i
387slotów.
db639b8e 388
09e2803f
PS
389%package system
390Summary: Support for getting system specific error codes
391Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
392Group: Libraries
06ed6468 393
09e2803f
PS
394%description system
395The Boost System library provides simple, light-weight error_code
396objects that encapsulate system-specific error code values, yet also
397provide access to more abstract and portable error conditions objects.
0651a785 398
2b583775
JB
399%description system -l pl.UTF-8
400Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
401obudowujące wartości kodów błędów specyficznych dla systemu, dając
402jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
403błędów.
404
c0536c7f 405%package test
09e2803f 406Summary: Support for program testing and execution monitoring
aa63c3d9 407Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
c0536c7f 408Group: Libraries
000cd675 409Obsoletes: boost < 1.33
c0536c7f 410
411%description test
412Support for simple program testing, full unit testing, and for program
413execution monitoring.
414
4c35df9e
JR
415%description test -l pl.UTF-8
416Wsparcie dla prostego testowania programu, pełnego testowania i
c0536c7f 417monitorowania wykonania programu.
418
02c23151 419%package thread
d143171f 420Summary: Portable C++ threads library
aa63c3d9 421Summary(pl.UTF-8): Przenośna biblioteka wątków C++
02c23151 422Group: Libraries
000cd675 423Obsoletes: boost < 1.33
02c23151 424
425%description thread
e4ddb7d1 426Portable C++ threads library - shared library.
02c23151 427
4c35df9e
JR
428%description thread -l pl.UTF-8
429Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
02c23151 430
e5cd13f8
JB
431%package timer
432Summary: Event timer, progress timer, and progress display classes
433Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
434Group: Libraries
435Obsoletes: boost < 1.33
436
437%description timer
438Event timer, progress timer, and progress display classes.
439
440%description timer -l pl.UTF-8
441Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
442
06ed6468
AM
443%package wave
444Summary: Boost.Wave - a standard compliant C++ preprocessor library
445Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
446Group: Development/Libraries
06ed6468
AM
447
448%description wave
449Boost.Wave - a standard compliant C++ preprocessor library.
450
451%description wave -l pl.UTF-8
452Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
453
c6874538 454%package doc
455Summary: Boost C++ Library documentation
aa63c3d9 456Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
49f48a3b 457Group: Documentation
f6f44d5d
ER
458%if "%{_rpmversion}" >= "5"
459BuildArch: noarch
460%endif
c6874538 461
462%description doc
66ac0d93 463Documentation for the Boost C++ Library.
c6874538 464
4c35df9e 465%description doc -l pl.UTF-8
66ac0d93 466Dokumentacja dla biblioteki Boost C++.
c6874538 467
468%prep
8b623265 469%setup -q -n %{name}_%{fver}
09e2803f 470%patch0 -p1
bfed7e70
JR
471%patch1 -p1
472%patch2 -p1
1b90837b 473%patch3 -p1
647f39b2 474
1b90837b
JB
475%patch201 -p1
476%patch202 -p1
647f39b2 477%patch203 -p0
647f39b2 478%patch221 -p1
647f39b2 479
d20b153a 480cat << EOF > tools/build/src/user-config.jam
bfed7e70 481using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} -fPIC" <linkflags>"%{rpmldflags}" ;
09e2803f
PS
482EOF
483
6d61ae01
ER
484# cleanup backups after patching
485find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
486
c6874538 487%build
09e2803f
PS
488EXPAT_INCLUDE=%{_includedir} \
489EXPAT_LIBPATH=%{_libdir} \
490ICU_PATH=%{_prefix} \
bab7ef8c 491./bootstrap.sh \
fe766442
JR
492 --prefix=%{_prefix} \
493 -without-libraries=python
bab7ef8c 494
17e8d8c2 495./b2 \
9b1806d5 496 -d2 --toolset=gcc \
bab7ef8c
JR
497 variant=release \
498 debug-symbols=on \
499 inlining=on \
500 link=static,shared \
501 threading=multi
9b1806d5 502
6cb66fff 503%if %{with python3}
1b90837b 504echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : m ;" >> project-config.jam
fe766442 505./b2 \
1b90837b 506 --with-python python=%{py3_ver} \
e56ca5b5 507 -a -d2 --toolset=gcc \
fe766442
JR
508 variant=release \
509 debug-symbols=on \
510 inlining=on \
511 link=static,shared \
512 threading=multi
513%endif
514
6cb66fff 515%if %{with python2}
1b90837b 516%{__sed} -i -e '/^using python : 3/d' project-config.jam
6cb66fff 517echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
fe766442 518./b2 \
6cb66fff 519 --with-python python=%{py_ver} \
e56ca5b5 520 -a -d2 --toolset=gcc \
fe766442
JR
521 variant=release \
522 debug-symbols=on \
523 inlining=on \
524 link=static,shared \
525 threading=multi
526%endif
527
c6874538 528%install
529rm -rf $RPM_BUILD_ROOT
30964b71 530install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
c6874538 531
30964b71 532cp -rf boost $RPM_BUILD_ROOT%{_includedir}
c6874538 533
8b623265
JB
534install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
535install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
536cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
fa767695 537
c6874538 538# documentation
539install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
c6874538 540
541# as the documentation doesn't completely reside in a directory of its
542# own, we need to find out ourselves... this looks for HTML files and
543# then collects everything linked from those. this is certainly quite
544# unoptimized wrt mkdir calls, but does it really matter?
7c12a8f9
ER
545installdocs() {
546for i in $(find -type f -name '*.htm*'); do
c6874538 547 # bjam docu is included in the boost-jam RPM
548 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
7c12a8f9 549 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
30964b71 550 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
c6874538 551 sub rewrite_link
552 {
553 my $link = shift;
554 # rewrite links from boost/* to %{_includedir}/boost/* and
555 # ignore external links as well as document-internal ones.
556 # HTML files are also ignored as they get installed anyway.
557 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
558 {
559 (my $file = $link) =~ s/\#.*//;
560 print "$file\n";
561 }
562 $link;
563 }
564 open IN, @ARGV[0];
565 open OUT, ">@ARGV[1]";
66ac0d93 566 my $in_link;
c6874538 567 while (<IN>)
568 {
66ac0d93 569 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
c6874538 570 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
571 print OUT;
d143171f 572 $in_link = /href|src=\s*$/;
c6874538 573 }
574EOT`; do
7c12a8f9 575 TARGET=${i%/*}/$LINKED
c6874538 576 # ignore non-existant linked files
577 if test -f $TARGET; then
7c12a8f9 578 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
c6874538 579 fi
580 done
581 fi
582done
7c12a8f9 583}; installdocs
c6874538 584
585%clean
586rm -rf $RPM_BUILD_ROOT
587
000cd675
JB
588%post -p /sbin/ldconfig
589%postun -p /sbin/ldconfig
590
17e8d8c2
ŁK
591%post chrono -p /sbin/ldconfig
592%postun chrono -p /sbin/ldconfig
593
e5cd13f8
JB
594%post context -p /sbin/ldconfig
595%postun context -p /sbin/ldconfig
596
3d8dd501
JB
597%post date_time -p /sbin/ldconfig
598%postun date_time -p /sbin/ldconfig
599
04846599
JB
600%post filesystem -p /sbin/ldconfig
601%postun filesystem -p /sbin/ldconfig
602
06ed6468
AM
603%post graph -p /sbin/ldconfig
604%postun graph -p /sbin/ldconfig
605
17e8d8c2
ŁK
606%post locale -p /sbin/ldconfig
607%postun locale -p /sbin/ldconfig
608
09e2803f
PS
609%post python -p /sbin/ldconfig
610%postun python -p /sbin/ldconfig
611
fe766442
JR
612%post python3 -p /sbin/ldconfig
613%postun python3 -p /sbin/ldconfig
614
09e2803f
PS
615%post program_options -p /sbin/ldconfig
616%postun program_options -p /sbin/ldconfig
c6874538 617
09e2803f
PS
618%post regex -p /sbin/ldconfig
619%postun regex -p /sbin/ldconfig
290ca6f4 620
09e2803f
PS
621%post signals -p /sbin/ldconfig
622%postun signals -p /sbin/ldconfig
c6874538 623
09e2803f
PS
624%post system -p /sbin/ldconfig
625%postun system -p /sbin/ldconfig
3d8dd501 626
09e2803f
PS
627%post test -p /sbin/ldconfig
628%postun test -p /sbin/ldconfig
c0536c7f 629
09e2803f
PS
630%post thread -p /sbin/ldconfig
631%postun thread -p /sbin/ldconfig
3d8dd501 632
e5cd13f8
JB
633%post timer -p /sbin/ldconfig
634%postun timer -p /sbin/ldconfig
635
d7f6b47a
JB
636%post wave -p /sbin/ldconfig
637%postun wave -p /sbin/ldconfig
638
000cd675
JB
639%files
640%defattr(644,root,root,755)
7bf3427b 641%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
d20b153a 642%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
f1235ec7 643%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
8b623265 644%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
e019306a 645%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
8b623265
JB
646%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
647%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
5877771e 648%attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.*
8b623265 649%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
000cd675 650
30964b71
JB
651%files devel
652%defattr(644,root,root,755)
7bf3427b 653%attr(755,root,root) %{_libdir}/libboost_atomic.so
17e8d8c2 654%attr(755,root,root) %{_libdir}/libboost_chrono.so
d20b153a 655%attr(755,root,root) %{_libdir}/libboost_container.so
e5cd13f8 656%attr(755,root,root) %{_libdir}/libboost_context.so
f1235ec7 657%attr(755,root,root) %{_libdir}/libboost_coroutine.so
8b623265
JB
658%attr(755,root,root) %{_libdir}/libboost_date_time.so
659%attr(755,root,root) %{_libdir}/libboost_filesystem.so
660%attr(755,root,root) %{_libdir}/libboost_graph.so
661%attr(755,root,root) %{_libdir}/libboost_iostreams.so
17e8d8c2 662%attr(755,root,root) %{_libdir}/libboost_locale.so
2ced8724
JR
663%attr(755,root,root) %{_libdir}/libboost_log.so
664%attr(755,root,root) %{_libdir}/libboost_log_setup.so
e019306a 665%attr(755,root,root) %{_libdir}/libboost_math_*.so
8b623265
JB
666%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
667%attr(755,root,root) %{_libdir}/libboost_program_options.so
668%attr(755,root,root) %{_libdir}/libboost_regex.so
669%attr(755,root,root) %{_libdir}/libboost_random.so
670%attr(755,root,root) %{_libdir}/libboost_serialization.so
671%attr(755,root,root) %{_libdir}/libboost_signals.so
672%attr(755,root,root) %{_libdir}/libboost_system.so
673%attr(755,root,root) %{_libdir}/libboost_thread.so
17e8d8c2 674%attr(755,root,root) %{_libdir}/libboost_timer.so
5877771e 675%attr(755,root,root) %{_libdir}/libboost_type_erasure.so
8b623265
JB
676%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
677%attr(755,root,root) %{_libdir}/libboost_wave.so
678%attr(755,root,root) %{_libdir}/libboost_wserialization.so
679%{_includedir}/boost
680%exclude %{_includedir}/boost/python
681%exclude %{_includedir}/boost/python.hpp
99f4684a 682
000cd675
JB
683%files static
684%defattr(644,root,root,755)
7bf3427b 685%{_libdir}/libboost_atomic.a
17e8d8c2 686%{_libdir}/libboost_chrono.a
d20b153a 687%{_libdir}/libboost_container.a
e5cd13f8 688%{_libdir}/libboost_context.a
2ced8724 689%{_libdir}/libboost_coroutine.a
8b623265 690%{_libdir}/libboost_date_time.a
17e8d8c2 691%{_libdir}/libboost_exception.a
8b623265
JB
692%{_libdir}/libboost_filesystem.a
693%{_libdir}/libboost_graph.a
694%{_libdir}/libboost_iostreams.a
17e8d8c2 695%{_libdir}/libboost_locale.a
2ced8724
JR
696%{_libdir}/libboost_log.a
697%{_libdir}/libboost_log_setup.a
e019306a 698%{_libdir}/libboost_math_*.a
8b623265
JB
699%{_libdir}/libboost_prg_exec_monitor.a
700%{_libdir}/libboost_program_options.a
701%{_libdir}/libboost_random.a
702%{_libdir}/libboost_regex.a
703%{_libdir}/libboost_serialization.a
704%{_libdir}/libboost_signals.a
705%{_libdir}/libboost_system.a
706%{_libdir}/libboost_test_exec_monitor.a
17e8d8c2 707%{_libdir}/libboost_timer.a
8b623265 708%{_libdir}/libboost_thread.a
5877771e 709%{_libdir}/libboost_type_erasure.a
8b623265
JB
710%{_libdir}/libboost_unit_test_framework.a
711%{_libdir}/libboost_wave.a
712%{_libdir}/libboost_wserialization.a
db639b8e 713
fe766442
JR
714%if %{with python2} || %{with python3}
715%files python-devel-common
716%defattr(644,root,root,755)
717%{_includedir}/boost/python
718%{_includedir}/boost/python.hpp
719%endif
720
721%if %{with python2}
30964b71 722%files python
49f48a3b 723%defattr(644,root,root,755)
1b90837b
JB
724%if %{with numpy}
725%attr(755,root,root) %{_libdir}/libboost_numpy.so.*.*.*
726%endif
8b623265 727%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
49f48a3b 728
30964b71 729%files python-devel
c6874538 730%defattr(644,root,root,755)
1b90837b
JB
731%if %{with numpy}
732%attr(755,root,root) %{_libdir}/libboost_numpy.so
733%endif
8b623265 734%attr(755,root,root) %{_libdir}/libboost_python.so
30964b71 735
6725319f
JB
736%files python-static
737%defattr(644,root,root,755)
1b90837b
JB
738%if %{with numpy}
739%{_libdir}/libboost_numpy.a
740%endif
8b623265 741%{_libdir}/libboost_python.a
c6874538 742%endif
743
fe766442
JR
744%if %{with python3}
745%files python3
746%defattr(644,root,root,755)
1b90837b
JB
747%if %{with numpy}
748%attr(755,root,root) %{_libdir}/libboost_numpy3.so.*.*.*
749%endif
fe766442
JR
750%attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.*
751
752%files python3-devel
753%defattr(644,root,root,755)
1b90837b
JB
754%if %{with numpy}
755%attr(755,root,root) %{_libdir}/libboost_numpy3.so
756%endif
fe766442
JR
757%attr(755,root,root) %{_libdir}/libboost_python3.so
758
759%files python3-static
760%defattr(644,root,root,755)
1b90837b
JB
761%if %{with numpy}
762%{_libdir}/libboost_numpy3.a
763%endif
fe766442
JR
764%{_libdir}/libboost_python3.a
765%endif
766
17e8d8c2
ŁK
767%files chrono
768%defattr(644,root,root,755)
769%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
770
e5cd13f8
JB
771%files context
772%defattr(644,root,root,755)
773%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
774
02c23151 775%files date_time
776%defattr(644,root,root,755)
8b623265 777%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
02c23151 778
31026e88 779%files filesystem
780%defattr(644,root,root,755)
8b623265 781%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
31026e88 782
06ed6468
AM
783%files graph
784%defattr(644,root,root,755)
8b623265 785%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
06ed6468 786
17e8d8c2
ŁK
787%files locale
788%defattr(644,root,root,755)
789%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
790
2ced8724
JR
791%files log
792%defattr(644,root,root,755)
793%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
794%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
795
99f4684a 796%files program_options
797%defattr(644,root,root,755)
8b623265 798%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
99f4684a 799
09e2803f 800%files regex
99f4684a 801%defattr(644,root,root,755)
8b623265 802%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
99f4684a 803
db639b8e 804%files signals
805%defattr(644,root,root,755)
8b623265 806%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
db639b8e 807
09e2803f 808%files system
db639b8e 809%defattr(644,root,root,755)
8b623265 810%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
06ed6468 811
c0536c7f 812%files test
813%defattr(644,root,root,755)
8b623265
JB
814%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
815%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
c0536c7f 816
02c23151 817%files thread
818%defattr(644,root,root,755)
8b623265 819%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
02c23151 820
e5cd13f8
JB
821%files timer
822%defattr(644,root,root,755)
823%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
824
06ed6468
AM
825%files wave
826%defattr(644,root,root,755)
8b623265 827%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
06ed6468 828
30964b71 829%files doc
fe815c68 830%defattr(644,root,root,755)
75f9f612 831%{_docdir}/%{name}-%{version}
This page took 0.285451 seconds and 4 git commands to generate.