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