]> git.pld-linux.org Git - packages/boost.git/blame - boost.spec
fix python2 build deps
[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
7218d9a2 16Version: 1.79.0
73192e05 17Release: 2
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
7218d9a2 21# Source0-md5: ce966eccb3c296a27abfef9356fd1dc4
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
716bfbbd 36%if %{with python2}
1b90837b
JB
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
0121966c 46BuildRequires: rpmbuild(macros) >= 1.750
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
0121966c 56%if %{_ver_ge "%{py3_ver}" "3.8"}
adf920b0 57%define py3v_suffix ""
0121966c
JP
58%else
59%define py3v_suffix "m"
60%endif
adf920b0 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 \
59df39f3 527 %{?__jobs:-j %{__jobs}} \
9b1806d5 528 -d2 --toolset=gcc \
c8ead127
JB
529%ifarch x32
530 abi=x32 \
531 address-model=64 \
532%endif
bab7ef8c
JR
533 debug-symbols=on \
534 inlining=on \
535 link=static,shared \
c8ead127
JB
536 threading=multi \
537 variant=release
9b1806d5 538
6cb66fff 539%if %{with python3}
adf920b0 540echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : %{py3v_suffix} ;" >> project-config.jam
fe766442 541./b2 \
59df39f3 542 %{?__jobs:-j %{__jobs}} \
1b90837b 543 --with-python python=%{py3_ver} \
e56ca5b5 544 -a -d2 --toolset=gcc \
fe766442
JR
545 debug-symbols=on \
546 inlining=on \
547 link=static,shared \
c8ead127
JB
548 threading=multi \
549 variant=release
fe766442
JR
550%endif
551
6cb66fff 552%if %{with python2}
1b90837b 553%{__sed} -i -e '/^using python : 3/d' project-config.jam
6cb66fff 554echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
fe766442 555./b2 \
59df39f3 556 %{?__jobs:-j %{__jobs}} \
6cb66fff 557 --with-python python=%{py_ver} \
e56ca5b5 558 -a -d2 --toolset=gcc \
fe766442
JR
559 debug-symbols=on \
560 inlining=on \
561 link=static,shared \
c8ead127
JB
562 threading=multi \
563 variant=release
fe766442
JR
564%endif
565
c6874538 566%install
567rm -rf $RPM_BUILD_ROOT
30964b71 568install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
c6874538 569
30964b71 570cp -rf boost $RPM_BUILD_ROOT%{_includedir}
c6874538 571
8b623265
JB
572install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
573install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
574cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
fa767695 575
74755c8e 576%if %{with doc}
c6874538 577# documentation
578install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
c6874538 579
580# as the documentation doesn't completely reside in a directory of its
581# own, we need to find out ourselves... this looks for HTML files and
582# then collects everything linked from those. this is certainly quite
583# unoptimized wrt mkdir calls, but does it really matter?
7c12a8f9
ER
584installdocs() {
585for i in $(find -type f -name '*.htm*'); do
c6874538 586 # bjam docu is included in the boost-jam RPM
587 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
7c12a8f9 588 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
30964b71 589 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
c6874538 590 sub rewrite_link
591 {
592 my $link = shift;
593 # rewrite links from boost/* to %{_includedir}/boost/* and
594 # ignore external links as well as document-internal ones.
595 # HTML files are also ignored as they get installed anyway.
596 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
597 {
598 (my $file = $link) =~ s/\#.*//;
599 print "$file\n";
600 }
601 $link;
602 }
603 open IN, @ARGV[0];
604 open OUT, ">@ARGV[1]";
66ac0d93 605 my $in_link;
c6874538 606 while (<IN>)
607 {
66ac0d93 608 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
c6874538 609 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
610 print OUT;
d143171f 611 $in_link = /href|src=\s*$/;
c6874538 612 }
613EOT`; do
7c12a8f9 614 TARGET=${i%/*}/$LINKED
c6874538 615 # ignore non-existant linked files
616 if test -f $TARGET; then
7c12a8f9 617 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
c6874538 618 fi
619 done
620 fi
621done
7c12a8f9 622}; installdocs
74755c8e 623%endif
c6874538 624
625%clean
626rm -rf $RPM_BUILD_ROOT
627
000cd675
JB
628%post -p /sbin/ldconfig
629%postun -p /sbin/ldconfig
630
17e8d8c2
ŁK
631%post chrono -p /sbin/ldconfig
632%postun chrono -p /sbin/ldconfig
633
e5cd13f8
JB
634%post context -p /sbin/ldconfig
635%postun context -p /sbin/ldconfig
636
3d8dd501
JB
637%post date_time -p /sbin/ldconfig
638%postun date_time -p /sbin/ldconfig
639
f3e7d454
JR
640%post fiber -p /sbin/ldconfig
641%postun fiber -p /sbin/ldconfig
642
04846599
JB
643%post filesystem -p /sbin/ldconfig
644%postun filesystem -p /sbin/ldconfig
645
06ed6468
AM
646%post graph -p /sbin/ldconfig
647%postun graph -p /sbin/ldconfig
648
aac01146
JP
649%post json -p /sbin/ldconfig
650%postun json -p /sbin/ldconfig
651
17e8d8c2
ŁK
652%post locale -p /sbin/ldconfig
653%postun locale -p /sbin/ldconfig
654
09e2803f
PS
655%post python -p /sbin/ldconfig
656%postun python -p /sbin/ldconfig
657
fe766442
JR
658%post python3 -p /sbin/ldconfig
659%postun python3 -p /sbin/ldconfig
660
09e2803f
PS
661%post program_options -p /sbin/ldconfig
662%postun program_options -p /sbin/ldconfig
c6874538 663
09e2803f
PS
664%post regex -p /sbin/ldconfig
665%postun regex -p /sbin/ldconfig
290ca6f4 666
09e2803f
PS
667%post system -p /sbin/ldconfig
668%postun system -p /sbin/ldconfig
3d8dd501 669
09e2803f
PS
670%post test -p /sbin/ldconfig
671%postun test -p /sbin/ldconfig
c0536c7f 672
09e2803f
PS
673%post thread -p /sbin/ldconfig
674%postun thread -p /sbin/ldconfig
3d8dd501 675
e5cd13f8
JB
676%post timer -p /sbin/ldconfig
677%postun timer -p /sbin/ldconfig
678
d7f6b47a
JB
679%post wave -p /sbin/ldconfig
680%postun wave -p /sbin/ldconfig
681
000cd675
JB
682%files
683%defattr(644,root,root,755)
7bf3427b 684%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
d20b153a 685%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
dade1db4 686%attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.*
f1235ec7 687%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
8b623265 688%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
e019306a 689%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
d1319b2e 690%attr(755,root,root) %{_libdir}/libboost_nowide.so.*.*.*
8b623265
JB
691%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
692%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
dade1db4 693%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so.*.*.*
5877771e 694%attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.*
8b623265 695%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
000cd675 696
30964b71
JB
697%files devel
698%defattr(644,root,root,755)
7bf3427b 699%attr(755,root,root) %{_libdir}/libboost_atomic.so
17e8d8c2 700%attr(755,root,root) %{_libdir}/libboost_chrono.so
d20b153a 701%attr(755,root,root) %{_libdir}/libboost_container.so
e5cd13f8 702%attr(755,root,root) %{_libdir}/libboost_context.so
dade1db4 703%attr(755,root,root) %{_libdir}/libboost_contract.so
f1235ec7 704%attr(755,root,root) %{_libdir}/libboost_coroutine.so
8b623265 705%attr(755,root,root) %{_libdir}/libboost_date_time.so
f3e7d454 706%attr(755,root,root) %{_libdir}/libboost_fiber.so
8b623265
JB
707%attr(755,root,root) %{_libdir}/libboost_filesystem.so
708%attr(755,root,root) %{_libdir}/libboost_graph.so
709%attr(755,root,root) %{_libdir}/libboost_iostreams.so
aac01146 710%attr(755,root,root) %{_libdir}/libboost_json.so
17e8d8c2 711%attr(755,root,root) %{_libdir}/libboost_locale.so
2ced8724
JR
712%attr(755,root,root) %{_libdir}/libboost_log.so
713%attr(755,root,root) %{_libdir}/libboost_log_setup.so
e019306a 714%attr(755,root,root) %{_libdir}/libboost_math_*.so
d1319b2e 715%attr(755,root,root) %{_libdir}/libboost_nowide.so
8b623265
JB
716%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
717%attr(755,root,root) %{_libdir}/libboost_program_options.so
718%attr(755,root,root) %{_libdir}/libboost_regex.so
719%attr(755,root,root) %{_libdir}/libboost_random.so
720%attr(755,root,root) %{_libdir}/libboost_serialization.so
dade1db4 721%attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so
8b623265
JB
722%attr(755,root,root) %{_libdir}/libboost_system.so
723%attr(755,root,root) %{_libdir}/libboost_thread.so
17e8d8c2 724%attr(755,root,root) %{_libdir}/libboost_timer.so
5877771e 725%attr(755,root,root) %{_libdir}/libboost_type_erasure.so
8b623265
JB
726%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
727%attr(755,root,root) %{_libdir}/libboost_wave.so
728%attr(755,root,root) %{_libdir}/libboost_wserialization.so
729%{_includedir}/boost
730%exclude %{_includedir}/boost/python
731%exclude %{_includedir}/boost/python.hpp
99f4684a 732
000cd675
JB
733%files static
734%defattr(644,root,root,755)
7bf3427b 735%{_libdir}/libboost_atomic.a
17e8d8c2 736%{_libdir}/libboost_chrono.a
d20b153a 737%{_libdir}/libboost_container.a
e5cd13f8 738%{_libdir}/libboost_context.a
dade1db4 739%{_libdir}/libboost_contract.a
2ced8724 740%{_libdir}/libboost_coroutine.a
8b623265 741%{_libdir}/libboost_date_time.a
17e8d8c2 742%{_libdir}/libboost_exception.a
f3e7d454 743%{_libdir}/libboost_fiber.a
8b623265
JB
744%{_libdir}/libboost_filesystem.a
745%{_libdir}/libboost_graph.a
746%{_libdir}/libboost_iostreams.a
aac01146 747%{_libdir}/libboost_json.a
17e8d8c2 748%{_libdir}/libboost_locale.a
2ced8724
JR
749%{_libdir}/libboost_log.a
750%{_libdir}/libboost_log_setup.a
e019306a 751%{_libdir}/libboost_math_*.a
d1319b2e 752%{_libdir}/libboost_nowide.a
8b623265
JB
753%{_libdir}/libboost_prg_exec_monitor.a
754%{_libdir}/libboost_program_options.a
755%{_libdir}/libboost_random.a
756%{_libdir}/libboost_regex.a
757%{_libdir}/libboost_serialization.a
dade1db4 758%{_libdir}/libboost_stacktrace_*.a
8b623265
JB
759%{_libdir}/libboost_system.a
760%{_libdir}/libboost_test_exec_monitor.a
17e8d8c2 761%{_libdir}/libboost_timer.a
8b623265 762%{_libdir}/libboost_thread.a
5877771e 763%{_libdir}/libboost_type_erasure.a
8b623265
JB
764%{_libdir}/libboost_unit_test_framework.a
765%{_libdir}/libboost_wave.a
766%{_libdir}/libboost_wserialization.a
db639b8e 767
fe766442
JR
768%if %{with python2} || %{with python3}
769%files python-devel-common
770%defattr(644,root,root,755)
771%{_includedir}/boost/python
772%{_includedir}/boost/python.hpp
773%endif
774
775%if %{with python2}
30964b71 776%files python
49f48a3b 777%defattr(644,root,root,755)
1b90837b 778%if %{with numpy}
dade1db4 779%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.*
1b90837b 780%endif
dade1db4 781%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.*
49f48a3b 782
30964b71 783%files python-devel
c6874538 784%defattr(644,root,root,755)
1b90837b 785%if %{with numpy}
dade1db4 786%attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so
1b90837b 787%endif
dade1db4 788%attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so
30964b71 789
6725319f
JB
790%files python-static
791%defattr(644,root,root,755)
1b90837b 792%if %{with numpy}
dade1db4 793%{_libdir}/libboost_numpy%{py2v}.a
1b90837b 794%endif
dade1db4 795%{_libdir}/libboost_python%{py2v}.a
c6874538 796%endif
797
fe766442
JR
798%if %{with python3}
799%files python3
800%defattr(644,root,root,755)
1b90837b 801%if %{with numpy}
dade1db4 802%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.*
1b90837b 803%endif
dade1db4 804%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.*
fe766442
JR
805
806%files python3-devel
807%defattr(644,root,root,755)
1b90837b 808%if %{with numpy}
dade1db4 809%attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so
1b90837b 810%endif
dade1db4 811%attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so
fe766442
JR
812
813%files python3-static
814%defattr(644,root,root,755)
1b90837b 815%if %{with numpy}
dade1db4 816%{_libdir}/libboost_numpy%{py3v}.a
1b90837b 817%endif
dade1db4 818%{_libdir}/libboost_python%{py3v}.a
fe766442
JR
819%endif
820
17e8d8c2
ŁK
821%files chrono
822%defattr(644,root,root,755)
823%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
824
e5cd13f8
JB
825%files context
826%defattr(644,root,root,755)
827%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
828
02c23151 829%files date_time
830%defattr(644,root,root,755)
8b623265 831%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
02c23151 832
f3e7d454
JR
833%files fiber
834%defattr(644,root,root,755)
835%attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
836
31026e88 837%files filesystem
838%defattr(644,root,root,755)
8b623265 839%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
31026e88 840
06ed6468
AM
841%files graph
842%defattr(644,root,root,755)
8b623265 843%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
06ed6468 844
aac01146
JP
845%files json
846%defattr(644,root,root,755)
847%attr(755,root,root) %{_libdir}/libboost_json.so.*.*.*
848
17e8d8c2
ŁK
849%files locale
850%defattr(644,root,root,755)
851%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
852
2ced8724
JR
853%files log
854%defattr(644,root,root,755)
855%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
856%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
857
99f4684a 858%files program_options
859%defattr(644,root,root,755)
8b623265 860%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
99f4684a 861
09e2803f 862%files regex
99f4684a 863%defattr(644,root,root,755)
8b623265 864%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
99f4684a 865
09e2803f 866%files system
db639b8e 867%defattr(644,root,root,755)
8b623265 868%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
06ed6468 869
c0536c7f 870%files test
871%defattr(644,root,root,755)
8b623265
JB
872%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
873%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
c0536c7f 874
02c23151 875%files thread
876%defattr(644,root,root,755)
8b623265 877%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
02c23151 878
e5cd13f8
JB
879%files timer
880%defattr(644,root,root,755)
881%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
882
06ed6468
AM
883%files wave
884%defattr(644,root,root,755)
8b623265 885%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
06ed6468 886
74755c8e 887%if %{with doc}
30964b71 888%files doc
fe815c68 889%defattr(644,root,root,755)
75f9f612 890%{_docdir}/%{name}-%{version}
74755c8e 891%endif
This page took 0.388249 seconds and 4 git commands to generate.