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