]> git.pld-linux.org Git - packages/boost.git/blame - boost.spec
- build python bindings for python2 and python3
[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
JB
15Version: 1.57.0
16Release: 1
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}
236Requires: %{name}-python-devel-coomon = %{version}-%{release}
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
fe766442
JR
511
512%if %{with python2}
513echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
514./b2 \
515 --with-python python=%{py_ver} \
516 -d2 --toolset=gcc \
517 variant=release \
518 debug-symbols=on \
519 inlining=on \
520 link=static,shared \
521 threading=multi
522%endif
523
524%if %{with python3}
525echo "using python : %{py3_ver}m : %{py3_prefix} : %{py3_incdir} ;" >> project-config.jam
526./b2 \
527 --with-python python=%{py3_ver}m \
528 -d2 --toolset=gcc \
529 variant=release \
530 debug-symbols=on \
531 inlining=on \
532 link=static,shared \
533 threading=multi
534%endif
535
c6874538 536%install
537rm -rf $RPM_BUILD_ROOT
30964b71 538install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
c6874538 539
30964b71 540cp -rf boost $RPM_BUILD_ROOT%{_includedir}
c6874538 541
8b623265
JB
542install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
543install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
544cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
fa767695 545
c6874538 546# documentation
547install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
c6874538 548
549# as the documentation doesn't completely reside in a directory of its
550# own, we need to find out ourselves... this looks for HTML files and
551# then collects everything linked from those. this is certainly quite
552# unoptimized wrt mkdir calls, but does it really matter?
7c12a8f9
ER
553installdocs() {
554for i in $(find -type f -name '*.htm*'); do
c6874538 555 # bjam docu is included in the boost-jam RPM
556 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
7c12a8f9 557 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
30964b71 558 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
c6874538 559 sub rewrite_link
560 {
561 my $link = shift;
562 # rewrite links from boost/* to %{_includedir}/boost/* and
563 # ignore external links as well as document-internal ones.
564 # HTML files are also ignored as they get installed anyway.
565 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
566 {
567 (my $file = $link) =~ s/\#.*//;
568 print "$file\n";
569 }
570 $link;
571 }
572 open IN, @ARGV[0];
573 open OUT, ">@ARGV[1]";
66ac0d93 574 my $in_link;
c6874538 575 while (<IN>)
576 {
66ac0d93 577 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
c6874538 578 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
579 print OUT;
d143171f 580 $in_link = /href|src=\s*$/;
c6874538 581 }
582EOT`; do
7c12a8f9 583 TARGET=${i%/*}/$LINKED
c6874538 584 # ignore non-existant linked files
585 if test -f $TARGET; then
7c12a8f9 586 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
c6874538 587 fi
588 done
589 fi
590done
7c12a8f9 591}; installdocs
c6874538 592
593%clean
594rm -rf $RPM_BUILD_ROOT
595
000cd675
JB
596%post -p /sbin/ldconfig
597%postun -p /sbin/ldconfig
598
17e8d8c2
ŁK
599%post chrono -p /sbin/ldconfig
600%postun chrono -p /sbin/ldconfig
601
e5cd13f8
JB
602%post context -p /sbin/ldconfig
603%postun context -p /sbin/ldconfig
604
3d8dd501
JB
605%post date_time -p /sbin/ldconfig
606%postun date_time -p /sbin/ldconfig
607
04846599
JB
608%post filesystem -p /sbin/ldconfig
609%postun filesystem -p /sbin/ldconfig
610
06ed6468
AM
611%post graph -p /sbin/ldconfig
612%postun graph -p /sbin/ldconfig
613
17e8d8c2
ŁK
614%post locale -p /sbin/ldconfig
615%postun locale -p /sbin/ldconfig
616
09e2803f
PS
617%post python -p /sbin/ldconfig
618%postun python -p /sbin/ldconfig
619
fe766442
JR
620%post python3 -p /sbin/ldconfig
621%postun python3 -p /sbin/ldconfig
622
09e2803f
PS
623%post program_options -p /sbin/ldconfig
624%postun program_options -p /sbin/ldconfig
c6874538 625
09e2803f
PS
626%post regex -p /sbin/ldconfig
627%postun regex -p /sbin/ldconfig
290ca6f4 628
09e2803f
PS
629%post signals -p /sbin/ldconfig
630%postun signals -p /sbin/ldconfig
c6874538 631
09e2803f
PS
632%post system -p /sbin/ldconfig
633%postun system -p /sbin/ldconfig
3d8dd501 634
09e2803f
PS
635%post test -p /sbin/ldconfig
636%postun test -p /sbin/ldconfig
c0536c7f 637
09e2803f
PS
638%post thread -p /sbin/ldconfig
639%postun thread -p /sbin/ldconfig
3d8dd501 640
e5cd13f8
JB
641%post timer -p /sbin/ldconfig
642%postun timer -p /sbin/ldconfig
643
d7f6b47a
JB
644%post wave -p /sbin/ldconfig
645%postun wave -p /sbin/ldconfig
646
000cd675
JB
647%files
648%defattr(644,root,root,755)
7bf3427b 649%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
d20b153a 650%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
bab7ef8c 651%ifnarch x32
f1235ec7 652%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
bab7ef8c 653%endif
8b623265 654%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
e019306a 655%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
8b623265
JB
656%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
657%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
658%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
000cd675 659
30964b71
JB
660%files devel
661%defattr(644,root,root,755)
7bf3427b 662%attr(755,root,root) %{_libdir}/libboost_atomic.so
17e8d8c2 663%attr(755,root,root) %{_libdir}/libboost_chrono.so
d20b153a 664%attr(755,root,root) %{_libdir}/libboost_container.so
bab7ef8c 665%ifnarch x32
e5cd13f8 666%attr(755,root,root) %{_libdir}/libboost_context.so
f1235ec7 667%attr(755,root,root) %{_libdir}/libboost_coroutine.so
bab7ef8c 668%endif
8b623265
JB
669%attr(755,root,root) %{_libdir}/libboost_date_time.so
670%attr(755,root,root) %{_libdir}/libboost_filesystem.so
671%attr(755,root,root) %{_libdir}/libboost_graph.so
672%attr(755,root,root) %{_libdir}/libboost_iostreams.so
17e8d8c2 673%attr(755,root,root) %{_libdir}/libboost_locale.so
2ced8724
JR
674%attr(755,root,root) %{_libdir}/libboost_log.so
675%attr(755,root,root) %{_libdir}/libboost_log_setup.so
e019306a 676%attr(755,root,root) %{_libdir}/libboost_math_*.so
8b623265
JB
677%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
678%attr(755,root,root) %{_libdir}/libboost_program_options.so
679%attr(755,root,root) %{_libdir}/libboost_regex.so
680%attr(755,root,root) %{_libdir}/libboost_random.so
681%attr(755,root,root) %{_libdir}/libboost_serialization.so
682%attr(755,root,root) %{_libdir}/libboost_signals.so
683%attr(755,root,root) %{_libdir}/libboost_system.so
684%attr(755,root,root) %{_libdir}/libboost_thread.so
17e8d8c2 685%attr(755,root,root) %{_libdir}/libboost_timer.so
8b623265
JB
686%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
687%attr(755,root,root) %{_libdir}/libboost_wave.so
688%attr(755,root,root) %{_libdir}/libboost_wserialization.so
689%{_includedir}/boost
690%exclude %{_includedir}/boost/python
691%exclude %{_includedir}/boost/python.hpp
99f4684a 692
000cd675
JB
693%files static
694%defattr(644,root,root,755)
7bf3427b 695%{_libdir}/libboost_atomic.a
17e8d8c2 696%{_libdir}/libboost_chrono.a
d20b153a 697%{_libdir}/libboost_container.a
bab7ef8c 698%ifnarch x32
e5cd13f8 699%{_libdir}/libboost_context.a
2ced8724 700%{_libdir}/libboost_coroutine.a
bab7ef8c 701%endif
8b623265 702%{_libdir}/libboost_date_time.a
17e8d8c2 703%{_libdir}/libboost_exception.a
8b623265
JB
704%{_libdir}/libboost_filesystem.a
705%{_libdir}/libboost_graph.a
706%{_libdir}/libboost_iostreams.a
17e8d8c2 707%{_libdir}/libboost_locale.a
2ced8724
JR
708%{_libdir}/libboost_log.a
709%{_libdir}/libboost_log_setup.a
e019306a 710%{_libdir}/libboost_math_*.a
8b623265
JB
711%{_libdir}/libboost_prg_exec_monitor.a
712%{_libdir}/libboost_program_options.a
713%{_libdir}/libboost_random.a
714%{_libdir}/libboost_regex.a
715%{_libdir}/libboost_serialization.a
716%{_libdir}/libboost_signals.a
717%{_libdir}/libboost_system.a
718%{_libdir}/libboost_test_exec_monitor.a
17e8d8c2 719%{_libdir}/libboost_timer.a
8b623265
JB
720%{_libdir}/libboost_thread.a
721%{_libdir}/libboost_unit_test_framework.a
722%{_libdir}/libboost_wave.a
723%{_libdir}/libboost_wserialization.a
db639b8e 724
fe766442
JR
725%if %{with python2} || %{with python3}
726%files python-devel-common
727%defattr(644,root,root,755)
728%{_includedir}/boost/python
729%{_includedir}/boost/python.hpp
730%endif
731
732%if %{with python2}
30964b71 733%files python
49f48a3b 734%defattr(644,root,root,755)
8b623265 735%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
49f48a3b 736
30964b71 737%files python-devel
c6874538 738%defattr(644,root,root,755)
8b623265 739%attr(755,root,root) %{_libdir}/libboost_python.so
30964b71 740
6725319f
JB
741%files python-static
742%defattr(644,root,root,755)
8b623265 743%{_libdir}/libboost_python.a
c6874538 744%endif
745
fe766442
JR
746%if %{with python3}
747%files python3
748%defattr(644,root,root,755)
749%attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.*
750
751%files python3-devel
752%defattr(644,root,root,755)
753%attr(755,root,root) %{_libdir}/libboost_python3.so
754
755%files python3-static
756%defattr(644,root,root,755)
757%{_libdir}/libboost_python3.a
758%endif
759
17e8d8c2
ŁK
760%files chrono
761%defattr(644,root,root,755)
762%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
763
bab7ef8c 764%ifnarch x32
e5cd13f8
JB
765%files context
766%defattr(644,root,root,755)
767%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
bab7ef8c 768%endif
e5cd13f8 769
02c23151 770%files date_time
771%defattr(644,root,root,755)
8b623265 772%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
02c23151 773
31026e88 774%files filesystem
775%defattr(644,root,root,755)
8b623265 776%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
31026e88 777
06ed6468
AM
778%files graph
779%defattr(644,root,root,755)
8b623265 780%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
06ed6468 781
17e8d8c2
ŁK
782%files locale
783%defattr(644,root,root,755)
784%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
785
2ced8724
JR
786%files log
787%defattr(644,root,root,755)
788%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
789%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
790
99f4684a 791%files program_options
792%defattr(644,root,root,755)
8b623265 793%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
99f4684a 794
09e2803f 795%files regex
99f4684a 796%defattr(644,root,root,755)
8b623265 797%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
99f4684a 798
db639b8e 799%files signals
800%defattr(644,root,root,755)
8b623265 801%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
db639b8e 802
09e2803f 803%files system
db639b8e 804%defattr(644,root,root,755)
8b623265 805%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
06ed6468 806
c0536c7f 807%files test
808%defattr(644,root,root,755)
8b623265
JB
809%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
810%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
c0536c7f 811
02c23151 812%files thread
813%defattr(644,root,root,755)
8b623265 814%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
02c23151 815
e5cd13f8
JB
816%files timer
817%defattr(644,root,root,755)
818%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
819
06ed6468
AM
820%files wave
821%defattr(644,root,root,755)
8b623265 822%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
06ed6468 823
30964b71 824%files doc
fe815c68 825%defattr(644,root,root,755)
75f9f612 826%{_docdir}/%{name}-%{version}
This page took 0.275169 seconds and 4 git commands to generate.