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