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