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