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