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