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