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