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