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