]> git.pld-linux.org Git - packages/boost.git/blob - boost.spec
857fbcd81248f1f5a492017b4322a5718fdbad81
[packages/boost.git] / boost.spec
1 #
2 # Conditional build:
3 %bcond_with     python  # with boost-python support (not working now)
4 #
5 Summary:        The Boost C++ Libraries
6 Summary(pl):    Biblioteki C++ "Boost"
7 Name:           boost
8 Version:        1.30.2
9 Release:        0.1
10 License:        Freely distributable
11 Group:          Libraries
12 Source0:        http://dl.sourceforge.net/boost/%{name}-%{version}.tar.bz2
13 # Source0-md5:  4aed692a863bb4beaa0b70d6dc53bda5
14 URL:            http://www.boost.org/
15 BuildRequires:  boost-jam >= 3.1.3
16 BuildRequires:  libstdc++-devel
17 %{?with_python:BuildRequires:   python-devel}
18 BuildConflicts: gcc = 5:3.3.1
19 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
20
21 %description
22 The Boost web site provides free peer-reviewed portable C++ source
23 libraries. The emphasis is on libraries which work well with the C++
24 Standard Library. One goal is to establish "existing practice" and
25 provide reference implementations so that the Boost libraries are
26 suitable for eventual standardization. Some of the libraries have
27 already been proposed for inclusion in the C++ Standards Committee's
28 upcoming C++ Standard Library Technical Report.
29
30 %description -l pl
31 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
32 kodem ¼ród³owym. Nacisk po³o¿ono na biblioteki, które dobrze
33 wspó³pracuj± ze standardow± bibliotek± C++. Celem jest ustanowienie
34 "isniej±cej praktyki" i dostarczenie implementacji, tak ¿e biblioteki
35 "Boost" nadaj± siê do ewentualnej standaryzacji. Niektóre z bibliotek
36 ju¿ zosta³y zg³oszone do komitetu standaryzacyjnego C++ w nadchodz±cym
37 Raporcie Technicznym Biblioteki Standardowej C++
38
39 %package devel
40 Summary:        Boost C++ development libraries and headers
41 Summary(pl):    Pliki nag³ówkowe i biblioteki statyczne Boost C++
42 Group:          Development/Libraries
43 Requires:       %{name} = %{version}-%{release}
44 Requires:       libstdc++-devel
45
46 %description devel
47 Headers and static libraries for the Boost C++ libraries.
48
49 %description devel -l pl
50 Pliki nag³ówkowe i biblioteki statyczne bibliotek Boost C++.
51
52 #according to ldd (and automatically generated RPM dependencies) it
53 #doesn't strictly require python, but IMHO it's cleaner to split it
54 #this way
55 %package python
56 Summary:        Boost.Python library
57 Summary(pl):    biblioteka Boost.Python
58 Group:          Libraries
59 Requires:       %{name} = %{version}-%{release}
60 Requires:       python
61
62 %description python
63 Use the Boost Python Library to quickly and easily export a C++
64 library to Python such that the Python interface is very similar to
65 the C++ interface. It is designed to be minimally intrusive on your
66 C++ design. In most cases, you should not have to alter your C++
67 classes in any way in order to use them with Boost.Python. The system
68 should simply ``reflect'' your C++ classes and functions into Python.
69
70 %description python -l pl
71 Biblioteka Boost Python s³u¿y do szybkiego i prostego eksportu
72 biblioteki C++ do Pythona, tak ¿e interfejs Pythona jest bardzo
73 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, ¿eby
74 narzucaæ jak najmniej wymagañ dotycz±cych konstrukcjii C++. W
75 wiêkszo¶ci przypadków nie trzeba w ogóle zmieniaæ w³asnych klas C++,
76 ¿eby u¿ywaæ ich z Boost.Python. System powinien po prostu ,,odbiæ''
77 klasy C++ i funkcje do Pythona.
78
79 %package python-devel
80 Summary:        Boost.Python development headers
81 Summary(pl):    Pliki nag³ówkowe dla Boost.Python
82 Group:          Development/Libraries
83 Requires:       %{name}-devel = %{version}-%{release}
84
85 %description python-devel
86 Headers for the Boost.Python library.
87
88 %description python-devel -l pl
89 Pliki nag³ówkowe dla biblioteki Boost.Python.
90
91 %package regex
92 Summary:        Boost C++ regular expressions library
93 Summary(pl):    Biblioteka wyra¿eñ regularnych Boost C++
94 Group:          Libraries
95 Requires:       %{name} = %{version}-%{release}
96
97 %description regex
98 Shared library for Boost C++ regular expressions.
99
100 %description regex -l pl
101 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
102
103 %package regex-devel
104 Summary:        Boost C++ Regex library headers and static libraries
105 Summary(pl):    Pliki nag³ówkowe i biblioteki statyczne Boost C++ Regex
106 Group:          Development/Libraries
107 Requires:       %{name}-devel = %{version}-%{release}
108 Requires:       %{name}-regex = %{version}-%{release}
109
110 %description regex-devel
111 Boost C++ Regex headers and static libraries.
112
113 %description regex-devel -l pl
114 Pliki nag³ówkowe i biblioteki statyczne dla Boost C++ Regex.
115
116 %package any-devel
117 Summary:        Header for Boost C++ "Any" Library
118 Summary(pl):    Plik nag³ówkowy dla biblioteki Boost C++ "Any"
119 Group:          Development/Libraries
120 Requires:       %{name}-devel = %{version}-%{release}
121
122 %description any-devel
123 The boost::any class, is a variant value type, which supports copying
124 of any value type and safe checked extraction of that value strictly
125 against that type.
126
127 I.e. 5 is held strictly as an int and is not implicitly convertible
128 either to "5" or to 5.0.
129
130 %description any-devel -l pl
131 Klasa boost::any jest typem, który umo¿liwia kopiowanie ze zmiennej
132 dowolnego typu i bezpieczne, sprawdzone wydobycie jej warto¶ci
133 dok³adnie tego samego typu.
134
135 Np. 5 jest trzymane jako int i nie jest niejawnie konwertowalne ani do
136 "5" ani do 5.0.
137
138 %package array-devel
139 Summary:        STL compliant container wrapper for arrays of constant size
140 Summary(pl):    Wrapper na STLowe kontenery dla tablic o sta³ym rozmiarze
141 Group:          Development/Libraries
142 Requires:       %{name}-devel = %{version}-%{release}
143
144 %description array-devel
145 As replacement for ordinary arrays, the STL provides class vector<>.
146 However, vector<> provides the semantics of dynamic arrays. Thus, it
147 manages data to be able to change the number of elements. This results
148 in some overhead in case only arrays with static size are needed. This
149 library provides support for such static size arrays.
150
151 %description array-devel -l pl
152 STL dostarcza klasê vector<> jako zamiennik zwyk³ej tablicy. Jednak
153 vector<> dostarcza semantykê dynamicznych tablic. Zatem zarz±dza
154 danymi tak, by by³a mo¿liwa zmiana ilo¶ci elementów. To skutkuje
155 pewnym nadmiarem w przypadku kiedy tylko tablice o sta³ym rozmiarze s±
156 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
157 o sta³ym rozmiarze.
158
159
160 %package preprocessor-devel
161 Summary:        Preprocessor metaprogramming tools including repetition and recursion
162 Summary(pl):    Narzêdzia metaprogramowania preprocesora razem z repetycj± i rekursj±
163 Group:          Development/Libraries
164 Requires:       %{name}-devel = %{version}-%{release}
165
166 %description preprocessor-devel
167 This library provides preprocessor metaprogramming tools, including
168 repetition and recursion.
169
170 %description preprocessor-devel -l pl
171 Biblioteka udostêpnia narzêdzia metaprogramowania preprocesora,
172 w³±czaj±c w to repetycje i rekursjê.
173
174 %package mpl-devel
175 Summary:        Compile-time algorithms, sequences and metafunction classes
176 Summary(pl):    Algorytmy czasu kompilacji, sekwencji i klas metafunkcji
177 Group:          Development/Libraries
178 Requires:       %{name}-devel = %{version}-%{release}
179 Requires:       %{name}-preprocessor-devel = %{version}-%{release}
180 Requires:       %{name}-type_traits-devel = %{version}-%{release}
181 Requires:       %{name}-utility-devel = %{version}-%{release}
182
183 %description mpl-devel
184 The boost-mpl library is a C++ template metaprogramming framework of
185 compile-time algorithms, sequences and metafunction classes.
186
187 %description mpl-devel -l pl
188 Biblioteka boost-mpl jest szkieletem wzorców C++ dla algorytmów czasu
189 kompilacji, sekwencji i klas metafunkcji.
190
191 %package type_traits-devel
192 Summary:        Templates for fundamental properties of types
193 Summary(pl):    Wzorce dla fundamentalnych w³a¶ciwo¶ci typów
194 Group:          Development/Libraries
195 Requires:       %{name}-devel = %{version}-%{release}
196 Requires:       %{name}-mpl-devel = %{version}-%{release}
197 Requires:       %{name}-preprocessor-devel = %{version}-%{release}
198 Requires:       %{name}-utility-devel = %{version}-%{release}
199 Requires:       %{name}-static_assert-devel = %{version}-%{release}
200
201 %description type_traits-devel
202 The boost-type_traits library defines three kinds of type trait: 
203         1. The properties of a specific type. 
204         2. The relationship between two types. 
205         3. A transformation from one type to another.
206
207 %description type_traits-devel -l pl
208 Biblioteka boost-type_traits definiuje trzy rodzaje cech typów: 
209         1. w³a¶ciwo¶ci konkretnego typu. 
210         2. powi±zania miêdzy dwoma typami. 
211         3. transformacjê z jednego typu do drugiego.
212
213 %package utility-devel
214 Summary:        Useful utilities: classes and function templates.
215 Summary(pl):    U¿yteczne narzêdzia: klasy i wzorce funkcji
216 Group:          Development/Libraries
217 Requires:       %{name}-type_traits-devel = %{version}
218
219 %description utility-devel
220 Class noncopyable plus checked_delete(), checked_array_delete(),
221 next(), prior() function templates, plus base-from-member idiom.
222
223 %description utility-devel -l pl
224 Klasy noncopyable i checked_delete, funkcje checked_array_delete(),
225 next(), prior() oraz idiom base-from-member.
226
227 %package static_assert-devel
228 Summary:        Static assertions (compile time assertions)
229 Summary(pl):    Statyczne asercje (asercje kompilacyjne)
230 Group:          Development/Libraries
231 Requires:       %{name}-devel = %{version}
232
233 %description static_assert-devel
234 The header <boost/static_assert.hpp> supplies a single macro
235 BOOST_STATIC_ASSERT(x), which generates a compile time error message
236 if the integral-constant-expression x is not true. In other words it
237 is the compile time equivalent of the assert macro; this is sometimes
238 known as a "compile-time-assertion"
239
240 One of the aims of BOOST_STATIC_ASSERT is to generate readable error
241 messages. These immediately tell the user that a library is being used
242 in a manner that is not supported.
243
244 %description static_assert-devel -l pl
245 Plik nag³ówkowy <boost/static_assert.hpp> dostarcza pojedyncze makro
246 BOOST_STATIC_ASSERT(x), które generuje komunikat b³êdu kompilacji
247 je¿eli sta³e wyra¿enie x nie jest prawdziwe. Innymi s³owy jest to
248 kompilacyjny ekwiwalent makra 'assert'; czasami znane jest jako
249 "asercja czasu kompilacji"
250
251 Jednym z celów BOOST_STATIC_ASSERT jest generowanie czytelnych
252 komunikatów o b³êdach. One b³yskawicznie powiedz± u¿ytkownikowi ¿e
253 biblioteka zosta³a u¿yta w sposób który nie jest zalecany.
254
255
256 %package bind-devel
257 Group:          Development/Libraries
258 Summary:        Generalized binders for function/object/pointers.
259 Summary(pl):    Uogólnione bindery dla funkcji/obiektów/wska¼ników.
260 Requires:       boost-ref-devel = %{version}-%{release}
261 Requires:       boost-mem_fn-devel = %{version}-%{release}
262
263 %description bind-devel
264 boost::bind is a generalization of the standard functions std::bind1st
265 and std::bind2nd.
266
267 %description bind-devel -l pl
268 boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
269 std::bind2nd.
270
271
272 %package mem_fn-devel
273 Group:          Development/Libraries
274 Summary:        Generalized binders for member functions.
275 Summary(pl):    Uogólnione bindery dla metod.
276 Requires:       boost-devel = %{version}-%{release}
277
278 %description mem_fn-devel
279 boost::mem_fn is a generalization of the standard functions
280 std::mem_fun and std::mem_fun_ref.
281
282 %description mem_fn-devel -l pl
283 boost::mem_fn jest uogólnieniem standardowych funkcji std::mem_fun i
284 std::mem_fun_ref.
285
286
287 %package ref-devel
288 Group:          Development/Libraries
289 Summary:        Small library useful for passing references to function templates.
290 Summary(pl):    Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcjii.
291 Requires:       boost-devel = %{version}-%{release}
292 Requires:       boost-utility-devel = %{version}-%{release}
293 Requires:       boost-mpl-devel = %{version}-%{release}
294
295 %description ref-devel
296 boost::ref library is a small library that is useful for passing
297 references to function templates (algorithms) that would usually take
298 copies of their arguments.
299
300 %description ref-devel -l pl
301 Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
302 przypadku przekazywania referencji do wzorców funkcji (algorytmów)
303 które zazwyczaj bior± kopiê swoich argumentów.
304
305
306 %package call_traits-devel
307 Group:          Development/Libraries
308 Summary:        Defines types for passing parameters.
309 Summary(pl):    Definiuje typy dla przekazywania parametrów.
310 Requires:       boost-devel = %{version}-%{release}
311 Requires:       boost-type_traits-devel = %{version}-%{release}
312
313 %description call_traits-devel
314 boost::call_traits<T> encapsulates the "best" method to pass a
315 parameter of some type T to or from a function. The purpose of
316 call_traits is to ensure that problems like "references to references"
317 never occur, and that parameters are passed in the most efficient
318 manner possible.
319
320 %description call_traits-devel -l pl
321 boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
322 parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
323 zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
324 wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
325 efektywny sposób.
326
327
328 %package compatibility-devel
329 Group:          Development/Libraries
330 Summary:        Help for non-conforming standard libraries
331 Summary(pl):    Pomoc dla nie trzymaj±cych standardu bibliotek.
332 Requires:       boost-devel = %{version}-%{release}
333
334 %description compatibility-devel
335 This library provides workarounds which allow the other Boost
336 libraries to be used on otherwise non-conforming platforms
337
338 %description compatibility-devel -l pl
339 Bibliteka dostarcza obej¶cie problemu platform nie trzymaj±cych
340 standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
341 platformach.
342
343
344 %package compose-devel
345 Group:          Development/Libraries
346 Summary:        Functional composition adapters for the STL.
347 Summary(pl):    Funkcjonalne adaptery kompozycji dla STL.
348
349 %description compose-devel
350 The boost::compose provides compose function object adapter extensions
351 for use with the Standard Template Library (STL) portion of the C++
352 Standard Library. If you aren't currently using the STL, this library
353 won't be of any interest, but hard-core STL users will appreciate it's
354 usefulness
355
356 %description compose-devel -l pl
357 boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
358 do u¿ytku z STLow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
359 biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
360 u¿ytkownicy STLa doceni± jej u¿yteczno¶æ.
361
362 %package doc
363 Summary:        Boost C++ Library documentation
364 Summary(pl):    Dokumentacja dla biblioteki Boost C++
365 Group:          Documentation
366 Requires:       %{name}-devel = %{version}
367
368 %description doc
369 Documentation for the Boost C++ Library.
370
371 %description doc -l pl
372 Dokumentacja dla biblioteki Boost C++.
373
374 %prep
375 %setup -q
376
377 %build
378 %if %{with python}
379 PYTHON_VERSION=`python -V 2>&1 | sed 's,.* \([0-9]\.[0-9]\)\(\.[0-9]\)\?.*,\1,'`
380 PYTHON_ROOT=%{_prefix}
381 %else
382 PYTHON_ROOT=
383 PYTHON_VERSION=
384 %endif
385 bjam \
386         -sBUILD=release \
387         -sPYTHON_ROOT=$PYTHON_ROOT \
388         -sPYTHON_VERSION=$PYTHON_VERSION
389
390 %install
391 rm -rf $RPM_BUILD_ROOT
392 rm -f master.list regex.list regex-devel.list python.list devel.list python-devel.list doc.list any.list
393 # include files
394 install -d $RPM_BUILD_ROOT%{_includedir}
395 for i in `find boost -type d`; do
396         install -d $RPM_BUILD_ROOT%{_includedir}/$i
397 done
398 for i in `find boost -type f`; do
399         install -m 644 $i $RPM_BUILD_ROOT%{_includedir}/$i
400         if test "`echo $i | sed 's,python,,g'`" = "$i"; then
401                 echo %{_includedir}/$i >> devel.list
402         else
403                 echo %{_includedir}/$i >> python-devel.list
404         fi
405 done
406 # static libraries
407 install -d $RPM_BUILD_ROOT%{_libdir}
408 for i in `find libs -type f -name '*.a' | grep gcc`; do
409         install -m 644 $i $RPM_BUILD_ROOT%{_libdir}/`basename $i`
410         if test "`echo $i | sed 's,python,,g'`" = "$i"; then
411                 echo %{_libdir}/`basename $i` >> devel.list
412         else
413                 echo %{_libdir}/`basename $i` >> python-devel.list
414         fi
415 done
416
417
418 # dynamic libraries
419 for i in `find libs -type f -name '*.so.%{version}' | grep gcc`; do
420         install -m 755 $i $RPM_BUILD_ROOT%{_libdir}/`basename $i`
421         #ldconfig fails to generate the symlinks for boost libs :-(
422         LINK=`basename $i | sed 's,\.so\..*,.so,'`
423         (cd $RPM_BUILD_ROOT%{_libdir} && ln -s `basename $i` $LINK)
424         if test "`echo $i | sed 's,python,,g'`" = "$i"; then
425                 echo %{_libdir}/`basename $i` >> master.list
426                 echo %{_libdir}/$LINK >> master.list
427         else
428                 echo %{_libdir}/`basename $i` >> python.list
429                 echo %{_libdir}/$LINK >> python.list
430         fi
431 done
432
433 #regex library
434 grep libboost_regex.so master.list > regex.list
435 grep -v libboost_regex.so master.list >_master.list
436 mv {_,}master.list
437 #regex-devel
438 RFILES="%{_includedir}/boost/cregex.hpp|"
439 RFILES="$RFILES%{_includedir}/boost/regex/|"
440 RFILES="$RFILES%{_includedir}/boost/regex.h(pp){0,1}|"
441 RFILES="$RFILES%{_includedir}/boost/regex_fwd.hpp|"
442 RFILES="$RFILES%{_libdir}/libboost_regex.a"
443
444 egrep "$RFILES" devel.list > regex-devel.list
445 egrep -v "$RFILES" devel.list > _devel.list
446 mv {_,}devel.list
447
448 #any-devel library
449 grep any.hpp devel.list > any.list
450 grep -v any.hpp devel.list > _devel.list
451 mv {_,}devel.list
452
453 #array-devel library
454 egrep '/boost/array.hpp$' devel.list >array.list
455 egrep -v '/boost/array.hpp$' devel.list > _devel.list
456 mv {_,}devel.list
457
458 #preprocessor-devel
459 RFILES="%{_includedir}/boost/preprocessor"
460 egrep "$RFILES" devel.list > preprocessor.list
461 egrep -v $RFILES devel.list > _devel.list
462 mv {_,}devel.list
463
464 #mpl-devel
465 RFILES="%{_includedir}/boost/mpl/"
466 egrep "$RFILES" devel.list > mpl.list
467 egrep -v "$RFILES" devel.list >_devel.list
468 mv {_,}devel.list
469
470 #type_traits-devel
471 RFILES="%{_includedir}/boost/type_traits/"
472 RFILES="$RFILES|%{_includedir}/boost/type_traits.hpp"
473 egrep "$RFILES" devel.list > type_traits.list
474 egrep -v "$RFILES" devel.list >_devel.list
475 mv {_,}devel.list
476
477 #utility-devel
478 RFILES="%{_includedir}/boost/noncopyable.hpp"
479 RFILES="$RFILES|%{_includedir}/boost/checked_delete.hpp"
480 RFILES="$RFILES|%{_includedir}/boost/next_prior.hpp"
481 RFILES="$RFILES|%{_includedir}/boost/utility(_fwd){0,1}.hpp"
482 RFILES="$RFILES|%{_includedir}/boost/utility/"
483 egrep "$RFILES" devel.list > utility.list
484 egrep -v "$RFILES" devel.list >_devel.list
485 mv {_,}devel.list
486
487 #static_assert-devel
488 RFILES="%{_includedir}/boost/static_assert.hpp"
489 egrep "$RFILES" devel.list > static_assert.list
490 egrep -v "$RFILES" devel.list >_devel.list
491 mv {_,}devel.list
492
493 #bind-devel
494 RFILES="%{_includedir}/boost/bind.hpp"
495 RFILES="$RFILES|%{_includedir}/boost/bind/"
496 egrep "$RFILES" devel.list > bind.list
497 egrep -v "$RFILES" devel.list >_devel.list
498 mv {_,}devel.list
499
500 #mem_fn-devel
501 RFILES="%{_includedir}/boost/mem_fn.hpp"
502 RFILES="$RFILES|%{_includedir}/boost/get_pointer.hpp"
503 egrep "$RFILES" devel.list > mem_fn.list
504 egrep -v "$RFILES" devel.list >_devel.list
505 mv {_,}devel.list
506
507 #ref-devel
508 RFILES="%{_includedir}/boost/ref.hpp"
509 egrep "$RFILES" devel.list > ref.list
510 egrep -v "$RFILES" devel.list >_devel.list
511 mv {_,}devel.list
512
513
514 #call_traits-devel
515 RFILES="%{_includedir}/boost/call_traits.hpp"
516 RFILES="$RFILES|%{_includedir}/boost/detail/call_traits.hpp"
517 RFILES="$RFILES|%{_includedir}/boost/detail/ob_call_traits.hpp"
518 egrep "$RFILES" devel.list > call_traits.list
519 egrep -v "$RFILES" devel.list >_devel.list
520 mv {_,}devel.list
521
522
523 #compatibility-devel
524 RFILES="%{_includedir}/boost/limits.hpp"
525 RFILES="$RFILES|%{_includedir}/boost/compatibility/"
526 egrep "$RFILES" devel.list > compat.list
527 egrep -v "$RFILES" devel.list >_devel.list
528 mv {_,}devel.list
529
530 #compose-devel
531 RFILES="%{_includedir}/boost/compose.hpp"
532 egrep "$RFILES" devel.list > compose.list
533 egrep -v "$RFILES" devel.list >_devel.list
534 mv {_,}devel.list
535
536
537
538 # documentation
539 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
540 install README $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
541
542 # as the documentation doesn't completely reside in a directory of its
543 # own, we need to find out ourselves... this looks for HTML files and
544 # then collects everything linked from those.  this is certainly quite
545 # unoptimized wrt mkdir calls, but does it really matter?
546 for i in `find -type f -name '*.htm*'`; do
547         # bjam docu is included in the boost-jam RPM
548         if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
549                 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
550                 for LINKED in `perl - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
551                         sub rewrite_link
552                         {
553                                 my $link = shift;
554                                 # rewrite links from boost/* to %{_includedir}/boost/* and
555                                 # ignore external links as well as document-internal ones.
556                                 # HTML files are also ignored as they get installed anyway.
557                                 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
558                                 {
559                                         (my $file = $link) =~ s/\#.*//;
560                                         print "$file\n";
561                                 }
562                                 $link;
563                         }
564                         open IN, @ARGV[0];
565                         open OUT, ">@ARGV[1]";
566                         my $in_link;
567                         while (<IN>)
568                         {
569                                 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
570                                 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
571                                 print OUT;
572                                 $in_link = /href|src=\s*$/;
573                         }
574 EOT`; do
575                         TARGET=`dirname $i`/$LINKED
576                         # ignore non-existant linked files
577                         if test -f $TARGET; then
578                                 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $TARGET`
579                                 install -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
580                         fi
581                 done
582         fi
583 done
584
585 %clean
586 rm -rf $RPM_BUILD_ROOT
587
588 %post   -p /sbin/ldconfig
589 %postun -p /sbin/ldconfig
590
591 %post python    -p /sbin/ldconfig
592 %postun python  -p /sbin/ldconfig
593
594 %files -f master.list
595 %defattr(644,root,root,755)
596
597 %files devel -f devel.list
598 %defattr(644,root,root,755)
599 %dir %{_includedir}/boost
600 %dir %{_includedir}/boost/config
601 %dir %{_includedir}/boost/config/compiler
602 %dir %{_includedir}/boost/config/platform
603 %dir %{_includedir}/boost/config/stdlib
604 %dir %{_includedir}/boost/date_time
605 %dir %{_includedir}/boost/date_time/gregorian
606 %dir %{_includedir}/boost/date_time/posix_time
607 %dir %{_includedir}/boost/filesystem
608 %dir %{_includedir}/boost/format
609 %dir %{_includedir}/boost/function
610 %dir %{_includedir}/boost/function/detail
611 %dir %{_includedir}/boost/graph
612 %dir %{_includedir}/boost/graph/detail
613 %dir %{_includedir}/boost/integer
614 %dir %{_includedir}/boost/io
615 %dir %{_includedir}/boost/lambda
616 %dir %{_includedir}/boost/lambda/detail
617 %dir %{_includedir}/boost/math
618 %dir %{_includedir}/boost/math/special_functions
619 %dir %{_includedir}/boost/multi_array
620 %dir %{_includedir}/boost/numeric
621 %dir %{_includedir}/boost/numeric/interval
622 %dir %{_includedir}/boost/numeric/interval/compare
623 %dir %{_includedir}/boost/numeric/interval/detail
624 %dir %{_includedir}/boost/numeric/interval/ext
625 %dir %{_includedir}/boost/numeric/ublas
626 %dir %{_includedir}/boost/pending
627 %dir %{_includedir}/boost/pending/detail
628 %dir %{_includedir}/boost/pool
629 %dir %{_includedir}/boost/pool/detail
630 %dir %{_includedir}/boost/random
631 %dir %{_includedir}/boost/random/detail
632 %dir %{_includedir}/boost/signals
633 %dir %{_includedir}/boost/signals/detail
634 %dir %{_includedir}/boost/spirit
635 %dir %{_includedir}/boost/spirit/attribute
636 %dir %{_includedir}/boost/spirit/core
637 %dir %{_includedir}/boost/spirit/core/composite
638 %dir %{_includedir}/boost/spirit/core/composite/impl
639 %dir %{_includedir}/boost/spirit/core/impl
640 %dir %{_includedir}/boost/spirit/core/meta
641 %dir %{_includedir}/boost/spirit/core/meta/impl
642 %dir %{_includedir}/boost/spirit/core/non_terminal
643 %dir %{_includedir}/boost/spirit/core/non_terminal/impl
644 %dir %{_includedir}/boost/spirit/core/primitives
645 %dir %{_includedir}/boost/spirit/core/primitives/impl
646 %dir %{_includedir}/boost/spirit/core/scanner
647 %dir %{_includedir}/boost/spirit/core/scanner/impl
648 %dir %{_includedir}/boost/spirit/debug
649 %dir %{_includedir}/boost/spirit/debug/impl
650 %dir %{_includedir}/boost/spirit/dynamic
651 %dir %{_includedir}/boost/spirit/dynamic/impl
652 %dir %{_includedir}/boost/spirit/error_handling
653 %dir %{_includedir}/boost/spirit/error_handling/impl
654 %dir %{_includedir}/boost/spirit/iterator
655 %dir %{_includedir}/boost/spirit/iterator/impl
656 %dir %{_includedir}/boost/spirit/phoenix
657 %dir %{_includedir}/boost/spirit/symbols
658 %dir %{_includedir}/boost/spirit/symbols/impl
659 %dir %{_includedir}/boost/spirit/tree
660 %dir %{_includedir}/boost/spirit/tree/impl
661 %dir %{_includedir}/boost/spirit/utility
662 %dir %{_includedir}/boost/spirit/utility/impl
663 %dir %{_includedir}/boost/spirit/utility/impl/chset
664 %dir %{_includedir}/boost/test
665 %dir %{_includedir}/boost/test/detail
666 %dir %{_includedir}/boost/test/included
667 %dir %{_includedir}/boost/thread
668 %dir %{_includedir}/boost/thread/detail
669 %dir %{_includedir}/boost/tuple
670 %dir %{_includedir}/boost/tuple/detail
671 %dir %{_includedir}/boost/type_traits
672 %dir %{_includedir}/boost/type_traits/detail
673 %dir %{_includedir}/boost/utility
674
675 %if %{with python}
676 %files python -f python.list
677 %defattr(644,root,root,755)
678
679 %files python-devel -f python-devel.list
680 %defattr(644,root,root,755)
681 %endif
682
683 %files doc
684 %defattr(644,root,root,755)
685 %doc %{_docdir}/boost-%{version}
686
687 %files bind-devel -f bind.list
688 %defattr(644,root,root,755)
689
690 %files regex -f regex.list
691 %defattr(644,root,root,755)
692
693 %files regex-devel -f regex-devel.list
694 %defattr(644,root,root,755)
695
696 %files any-devel -f any.list
697 %defattr(644,root,root,755)
698
699 %files array-devel -f array.list
700 %defattr(644,root,root,755)
701
702 %files preprocessor-devel -f preprocessor.list
703 %defattr(644,root,root,755)
704
705 %files mpl-devel -f mpl.list
706 %defattr(644,root,root,755)
707
708 %files type_traits-devel -f type_traits.list
709 %defattr(644,root,root,755)
710
711 %files utility-devel -f utility.list
712 %defattr(644,root,root,755)
713
714 %files static_assert-devel -f static_assert.list
715 %defattr(644,root,root,755)
716
717 %files mem_fn-devel -f mem_fn.list
718 %defattr(644,root,root,755)
719
720 %files ref-devel -f ref.list
721 %defattr(644,root,root,755)
722
723 %files call_traits-devel -f call_traits.list
724 %defattr(644,root,root,755)
725
726 %files compatibility-devel -f compat.list
727 %defattr(644,root,root,755)
728
729 %files compose-devel -f compose.list
730 %defattr(644,root,root,755)
This page took 0.123608 seconds and 3 git commands to generate.