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