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