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