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