]>
Commit | Line | Data |
---|---|---|
c6874538 | 1 | # |
bde731a5 | 2 | # TODO: |
09e2803f PS |
3 | # - think about building MPI. |
4 | # - split shared libs from core package into -iostreams/-serialization. | |
bde731a5 | 5 | # |
c6874538 | 6 | # Conditional build: |
65d4777a | 7 | %bcond_without python # without boost-python support |
c6874538 | 8 | # |
8b623265 | 9 | %define fver %(echo %{version} | tr . _) |
c6874538 | 10 | Summary: The Boost C++ Libraries |
aa63c3d9 | 11 | Summary(pl.UTF-8): Biblioteki C++ "Boost" |
49f48a3b | 12 | Name: boost |
8d9c1188 | 13 | Version: 1.54.0 |
7bf3427b | 14 | Release: 1 |
db639b8e | 15 | License: Boost Software License and others |
c6874538 | 16 | Group: Libraries |
8b623265 | 17 | Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2 |
8d9c1188 | 18 | # Source0-md5: 15cb8c0803064faef0c4ddf5bc5ca279 |
8b623265 | 19 | Patch0: %{name}-link.patch |
49f48a3b | 20 | URL: http://www.boost.org/ |
afbf1450 | 21 | BuildRequires: bzip2-devel |
09e2803f | 22 | BuildRequires: expat-devel |
7c12a8f9 | 23 | BuildRequires: libicu-devel |
49f48a3b | 24 | BuildRequires: libstdc++-devel |
30964b71 | 25 | BuildRequires: perl-base |
6725319f | 26 | %{?with_python:BuildRequires: python-devel >= 2.2} |
dbf04d57 | 27 | BuildRequires: rpm-pythonprov |
afbf1450 | 28 | BuildRequires: zlib-devel |
c6874538 | 29 | BuildConflicts: gcc = 5:3.3.1 |
49f48a3b | 30 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
c6874538 | 31 | |
32 | %description | |
33 | The Boost web site provides free peer-reviewed portable C++ source | |
34 | libraries. The emphasis is on libraries which work well with the C++ | |
35 | Standard Library. One goal is to establish "existing practice" and | |
36 | provide reference implementations so that the Boost libraries are | |
37 | suitable for eventual standardization. Some of the libraries have | |
38 | already been proposed for inclusion in the C++ Standards Committee's | |
39 | upcoming C++ Standard Library Technical Report. | |
40 | ||
4c35df9e | 41 | %description -l pl.UTF-8 |
49f48a3b | 42 | Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z |
4c35df9e JR |
43 | kodem źródłowym. Nacisk położono na biblioteki, które dobrze |
44 | współpracują ze standardową biblioteką C++. Celem jest ustanowienie | |
45 | "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki | |
46 | "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek | |
47 | już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym | |
2b583775 | 48 | Raporcie Technicznym Biblioteki Standardowej C++. |
c6874538 | 49 | |
49f48a3b | 50 | %package devel |
000cd675 | 51 | Summary: Boost C++ development headers |
aa63c3d9 | 52 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost |
49f48a3b | 53 | Group: Development/Libraries |
000cd675 | 54 | Requires: %{name} = %{version}-%{release} |
e5cd13f8 JB |
55 | Requires: %{name}-chrono = %{version}-%{release} |
56 | Requires: %{name}-context = %{version}-%{release} | |
09e2803f PS |
57 | Requires: %{name}-date_time = %{version}-%{release} |
58 | Requires: %{name}-filesystem = %{version}-%{release} | |
59 | Requires: %{name}-graph = %{version}-%{release} | |
e5cd13f8 | 60 | Requires: %{name}-locale = %{version}-%{release} |
09e2803f PS |
61 | Requires: %{name}-program_options = %{version}-%{release} |
62 | Requires: %{name}-regex = %{version}-%{release} | |
63 | Requires: %{name}-signals = %{version}-%{release} | |
69912bfb | 64 | Requires: %{name}-system = %{version}-%{release} |
09e2803f PS |
65 | Requires: %{name}-test = %{version}-%{release} |
66 | Requires: %{name}-thread = %{version}-%{release} | |
e5cd13f8 | 67 | Requires: %{name}-timer = %{version}-%{release} |
09e2803f | 68 | Requires: %{name}-wave = %{version}-%{release} |
49f48a3b | 69 | Requires: libstdc++-devel |
09e2803f PS |
70 | Obsoletes: boost-any-devel |
71 | Obsoletes: boost-array-devel | |
875f51e3 | 72 | Obsoletes: boost-asio |
09e2803f | 73 | Obsoletes: boost-bind-devel |
05b0e240 | 74 | Obsoletes: boost-call_traits-devel |
09e2803f | 75 | Obsoletes: boost-compatibility-devel |
470f1aae | 76 | Obsoletes: boost-compose-devel |
09e2803f | 77 | Obsoletes: boost-compressed_pair-devel |
89fd45a2 JB |
78 | Obsoletes: boost-concept_check-devel |
79 | Obsoletes: boost-conversion-devel | |
09e2803f PS |
80 | Obsoletes: boost-crc-devel |
81 | Obsoletes: boost-date_time-devel | |
82 | Obsoletes: boost-filesystem-devel | |
83 | Obsoletes: boost-graph-devel | |
84 | Obsoletes: boost-mem_fn-devel | |
89fd45a2 JB |
85 | Obsoletes: boost-mpl-devel |
86 | Obsoletes: boost-preprocessor-devel | |
09e2803f | 87 | Obsoletes: boost-program_options-devel |
7c797e1a | 88 | Obsoletes: boost-ref-devel |
09e2803f PS |
89 | Obsoletes: boost-regex-devel |
90 | Obsoletes: boost-signals-devel | |
91 | Obsoletes: boost-spirit-devel | |
92 | Obsoletes: boost-statechart-devel | |
89fd45a2 | 93 | Obsoletes: boost-static_assert-devel |
09e2803f PS |
94 | Obsoletes: boost-test-devel |
95 | Obsoletes: boost-thread-devel | |
96 | Obsoletes: boost-tr1-devel | |
89fd45a2 | 97 | Obsoletes: boost-type_traits-devel |
09e2803f PS |
98 | Obsoletes: boost-typeof-devel |
99 | Obsoletes: boost-uBLAS-devel | |
89fd45a2 | 100 | Obsoletes: boost-utility-devel |
09e2803f PS |
101 | Obsoletes: boost-wave-devel |
102 | Obsoletes: boost-xpressive-devel | |
49f48a3b JB |
103 | |
104 | %description devel | |
000cd675 | 105 | Header files for the Boost C++ libraries. |
49f48a3b | 106 | |
4c35df9e JR |
107 | %description devel -l pl.UTF-8 |
108 | Pliki nagłówkowe bibliotek C++ Boost. | |
000cd675 JB |
109 | |
110 | %package static | |
111 | Summary: Static version of base Boost C++ libraries | |
aa63c3d9 | 112 | Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost |
000cd675 JB |
113 | Group: Development/Libraries |
114 | Requires: %{name}-devel = %{version}-%{release} | |
09e2803f | 115 | Obsoletes: boost-static < 1.33 |
000cd675 JB |
116 | |
117 | %description static | |
118 | Static version of base Boost C++ libraries. | |
119 | ||
4c35df9e | 120 | %description static -l pl.UTF-8 |
000cd675 | 121 | Statyczne wersje podstawowych bibliotek C++ Boost. |
49f48a3b | 122 | |
c6874538 | 123 | %package python |
124 | Summary: Boost.Python library | |
aa63c3d9 | 125 | Summary(pl.UTF-8): biblioteka Boost.Python |
c6874538 | 126 | Group: Libraries |
6725319f | 127 | %pyrequires_eq python |
c6874538 | 128 | |
129 | %description python | |
130 | Use the Boost Python Library to quickly and easily export a C++ | |
131 | library to Python such that the Python interface is very similar to | |
132 | the C++ interface. It is designed to be minimally intrusive on your | |
133 | C++ design. In most cases, you should not have to alter your C++ | |
134 | classes in any way in order to use them with Boost.Python. The system | |
135 | should simply ``reflect'' your C++ classes and functions into Python. | |
136 | ||
4c35df9e JR |
137 | %description python -l pl.UTF-8 |
138 | Biblioteka Boost Python służy do szybkiego i prostego eksportu | |
139 | biblioteki C++ do Pythona, tak że interfejs Pythona jest bardzo | |
140 | podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby | |
141 | narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W | |
142 | większości przypadków nie trzeba w ogóle zmieniać własnych klas C++, | |
143 | żeby używać ich z Boost.Python. System powinien po prostu ,,odbić'' | |
66ac0d93 | 144 | klasy C++ i funkcje do Pythona. |
c6874538 | 145 | |
146 | %package python-devel | |
147 | Summary: Boost.Python development headers | |
aa63c3d9 | 148 | Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python |
49f48a3b JB |
149 | Group: Development/Libraries |
150 | Requires: %{name}-devel = %{version}-%{release} | |
6725319f | 151 | Requires: %{name}-python = %{version}-%{release} |
c6874538 | 152 | |
153 | %description python-devel | |
66ac0d93 | 154 | Headers for the Boost.Python library. |
c6874538 | 155 | |
4c35df9e JR |
156 | %description python-devel -l pl.UTF-8 |
157 | Pliki nagłówkowe dla biblioteki Boost.Python. | |
c6874538 | 158 | |
6725319f JB |
159 | %package python-static |
160 | Summary: Static version of Boost.Python library | |
aa63c3d9 | 161 | Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python |
6725319f JB |
162 | Group: Development/Libraries |
163 | Requires: %{name}-python-devel = %{version}-%{release} | |
164 | ||
165 | %description python-static | |
166 | Static version of Boost.Python library. | |
167 | ||
4c35df9e | 168 | %description python-static -l pl.UTF-8 |
6725319f JB |
169 | Statyczna wersja biblioteki Boost.Python. |
170 | ||
17e8d8c2 ŁK |
171 | %package chrono |
172 | Summary: Useful time utilities | |
d7f6b47a | 173 | Summary(pl.UTF-8): Przydatne funkcje związane z czasem |
17e8d8c2 ŁK |
174 | Group: Libraries |
175 | Obsoletes: boost < 1.33 | |
176 | ||
177 | %description chrono | |
178 | Useful time utilities. | |
179 | ||
d7f6b47a JB |
180 | %description chrono -l pl.UTF-8 |
181 | Przydatne funkcje związane z czasem. | |
182 | ||
e5cd13f8 JB |
183 | %package context |
184 | Summary: Boost.Context - context switching library | |
185 | Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu | |
186 | Group: Libraries | |
187 | ||
188 | %description context | |
189 | Boost.Context - context switching library, providing a sort of | |
190 | cooperative multitasking on a single thread. | |
191 | ||
192 | %description context -l pl.UTF-8 | |
193 | Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną | |
194 | wielozadaniowość kooperatywnąw ramach pojedynczego wątku. | |
195 | ||
02c23151 | 196 | %package date_time |
d143171f | 197 | Summary: Date-Time library |
aa63c3d9 | 198 | Summary(pl.UTF-8): Biblioteka daty-czasu |
02c23151 | 199 | Group: Libraries |
000cd675 | 200 | Obsoletes: boost < 1.33 |
02c23151 | 201 | |
202 | %description date_time | |
203 | A set of date-time libraries. | |
204 | ||
4c35df9e JR |
205 | %description date_time -l pl.UTF-8 |
206 | Zbiór bibliotek daty-czasu. | |
02c23151 | 207 | |
31026e88 | 208 | %package filesystem |
209 | Summary: Portable paths, iteration over directories, and other useful filesystem operations | |
aa63c3d9 | 210 | Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików |
31026e88 | 211 | Group: Libraries |
69912bfb | 212 | Requires: %{name}-system = %{version}-%{release} |
000cd675 | 213 | Obsoletes: boost < 1.33 |
31026e88 | 214 | |
215 | %description filesystem | |
04846599 JB |
216 | The boost::filesystem library provides portable facilities to query |
217 | and manipulate paths, files, and directories. | |
31026e88 | 218 | |
4c35df9e JR |
219 | %description filesystem -l pl.UTF-8 |
220 | Przenośna biblioteka boost::filesystem dostarcza ułatwienia w | |
221 | operacjach na ścieżkach, plikach i katalogach. | |
31026e88 | 222 | |
06ed6468 AM |
223 | %package graph |
224 | Summary: General purpose, generic C++ library for graph data structures and graph algorithms | |
225 | Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami | |
226 | Group: Libraries | |
227 | ||
228 | %description graph | |
229 | The boost::graph library provides portable facilities to operate on | |
230 | graph data structures using graph algorithms. | |
231 | ||
232 | %description graph -l pl.UTF-8 | |
233 | Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na | |
234 | strukturach danych typu graf za pomocą algorytmów związanych z | |
235 | grafami. | |
236 | ||
17e8d8c2 ŁK |
237 | %package locale |
238 | Summary: Provide localization and Unicode handling tools for C++ | |
d7f6b47a | 239 | Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++ |
17e8d8c2 ŁK |
240 | Group: Libraries |
241 | ||
242 | %description locale | |
243 | Provide localization and Unicode handling tools for C++. | |
244 | ||
d7f6b47a JB |
245 | %description locale -l pl.UTF-8 |
246 | Narzędzia do obsługi lokalizacji i Unikodu w C++. | |
247 | ||
99f4684a | 248 | %package program_options |
249 | Summary: Access to program options, via conventional methods such as command line and config file | |
aa63c3d9 | 250 | Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny |
99f4684a | 251 | Group: Libraries |
252 | ||
253 | %description program_options | |
254 | The program_options library allows program developers to obtain | |
255 | program options, that is (name, value) pairs from the user, via | |
256 | conventional methods such as command line and config file. | |
257 | ||
4c35df9e JR |
258 | %description program_options -l pl.UTF-8 |
259 | Biblioteka program_options umożliwia uzyskanie od użytkownika opcji | |
260 | programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich | |
261 | jak linia poleceń, czy plik konfiguracyjny. | |
99f4684a | 262 | |
09e2803f PS |
263 | %package regex |
264 | Summary: Boost C++ regular expressions library | |
265 | Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++ | |
266 | Group: Libraries | |
99f4684a | 267 | |
09e2803f PS |
268 | %description regex |
269 | Shared library for Boost C++ regular expressions. | |
99f4684a | 270 | |
09e2803f | 271 | %description regex -l pl.UTF-8 |
d7f6b47a | 272 | Biblioteka współdzielona do obsługi wyrażeń regularnych w C++. |
99f4684a | 273 | |
db639b8e | 274 | %package signals |
75f9f612 | 275 | Summary: Signals & slots callback implementation |
aa63c3d9 | 276 | Summary(pl.UTF-8): Implementacja sygnałów i slotów |
db639b8e | 277 | Group: Libraries |
000cd675 | 278 | Obsoletes: boost < 1.33 |
db639b8e | 279 | |
280 | %description signals | |
281 | The boost::signals library is an implementation of a signals and slots | |
282 | system. | |
283 | ||
4c35df9e JR |
284 | %description signals -l pl.UTF-8 |
285 | Biblioteka boost::signals jest implementacją systemu sygnałów i | |
286 | slotów. | |
db639b8e | 287 | |
09e2803f PS |
288 | %package system |
289 | Summary: Support for getting system specific error codes | |
290 | Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów | |
291 | Group: Libraries | |
06ed6468 | 292 | |
09e2803f PS |
293 | %description system |
294 | The Boost System library provides simple, light-weight error_code | |
295 | objects that encapsulate system-specific error code values, yet also | |
296 | provide access to more abstract and portable error conditions objects. | |
0651a785 | 297 | |
2b583775 JB |
298 | %description system -l pl.UTF-8 |
299 | Biblioteka Boost System udostępnia proste, lekkie obiekty error_code | |
300 | obudowujące wartości kodów błędów specyficznych dla systemu, dając | |
301 | jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów | |
302 | błędów. | |
303 | ||
c0536c7f | 304 | %package test |
09e2803f | 305 | Summary: Support for program testing and execution monitoring |
aa63c3d9 | 306 | Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu |
c0536c7f | 307 | Group: Libraries |
000cd675 | 308 | Obsoletes: boost < 1.33 |
c0536c7f | 309 | |
310 | %description test | |
311 | Support for simple program testing, full unit testing, and for program | |
312 | execution monitoring. | |
313 | ||
4c35df9e JR |
314 | %description test -l pl.UTF-8 |
315 | Wsparcie dla prostego testowania programu, pełnego testowania i | |
c0536c7f | 316 | monitorowania wykonania programu. |
317 | ||
02c23151 | 318 | %package thread |
d143171f | 319 | Summary: Portable C++ threads library |
aa63c3d9 | 320 | Summary(pl.UTF-8): Przenośna biblioteka wątków C++ |
02c23151 | 321 | Group: Libraries |
000cd675 | 322 | Obsoletes: boost < 1.33 |
02c23151 | 323 | |
324 | %description thread | |
e4ddb7d1 | 325 | Portable C++ threads library - shared library. |
02c23151 | 326 | |
4c35df9e JR |
327 | %description thread -l pl.UTF-8 |
328 | Przenośna biblioteka wątków dla C++ - biblioteka dzielona. | |
02c23151 | 329 | |
e5cd13f8 JB |
330 | %package timer |
331 | Summary: Event timer, progress timer, and progress display classes | |
332 | Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu | |
333 | Group: Libraries | |
334 | Obsoletes: boost < 1.33 | |
335 | ||
336 | %description timer | |
337 | Event timer, progress timer, and progress display classes. | |
338 | ||
339 | %description timer -l pl.UTF-8 | |
340 | Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu. | |
341 | ||
06ed6468 AM |
342 | %package wave |
343 | Summary: Boost.Wave - a standard compliant C++ preprocessor library | |
344 | Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++ | |
345 | Group: Development/Libraries | |
06ed6468 AM |
346 | |
347 | %description wave | |
348 | Boost.Wave - a standard compliant C++ preprocessor library. | |
349 | ||
350 | %description wave -l pl.UTF-8 | |
351 | Boost.Wave - zgodna ze standardem biblioteka preprocesora C++. | |
352 | ||
c6874538 | 353 | %package doc |
354 | Summary: Boost C++ Library documentation | |
aa63c3d9 | 355 | Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++ |
49f48a3b | 356 | Group: Documentation |
b0977fb8 | 357 | Requires: %{name}-devel = %{version}-%{release} |
c6874538 | 358 | |
359 | %description doc | |
66ac0d93 | 360 | Documentation for the Boost C++ Library. |
c6874538 | 361 | |
4c35df9e | 362 | %description doc -l pl.UTF-8 |
66ac0d93 | 363 | Dokumentacja dla biblioteki Boost C++. |
c6874538 | 364 | |
365 | %prep | |
8b623265 | 366 | %setup -q -n %{name}_%{fver} |
09e2803f | 367 | %patch0 -p1 |
c6874538 | 368 | |
9b1806d5 PS |
369 | # - don't know how to pass it through (b)jam -s (no way?) |
370 | # due to oversophisticated build flags system. | |
371 | # - pass -fPIC due to <shared-linkable> removal. | |
0c1a0872 | 372 | %{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/v2/tools/gcc.jam |
09e2803f PS |
373 | |
374 | # cleanup -g switch to avoid override debuginfocflags. | |
375 | %{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/v2/tools/gcc.jam | |
376 | # link against shared expat library. | |
377 | %{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2 | |
502f5d36 | 378 | |
09e2803f PS |
379 | cat << EOF > tools/build/v2/user-config.jam |
380 | using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ; | |
381 | EOF | |
382 | ||
c6874538 | 383 | %build |
49f48a3b | 384 | %if %{with python} |
7c12a8f9 | 385 | PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]') |
c6874538 | 386 | PYTHON_ROOT=%{_prefix} |
387 | %else | |
388 | PYTHON_ROOT= | |
389 | PYTHON_VERSION= | |
390 | %endif | |
09e2803f PS |
391 | EXPAT_INCLUDE=%{_includedir} \ |
392 | EXPAT_LIBPATH=%{_libdir} \ | |
393 | ICU_PATH=%{_prefix} \ | |
17e8d8c2 ŁK |
394 | ./bootstrap.sh --prefix=%{_prefix} |
395 | ./b2 \ | |
9b1806d5 | 396 | -d2 --toolset=gcc \ |
09e2803f | 397 | variant=release debug-symbols=on inlining=on link=static,shared threading=multi |
9b1806d5 | 398 | |
c6874538 | 399 | %install |
400 | rm -rf $RPM_BUILD_ROOT | |
30964b71 | 401 | install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}} |
c6874538 | 402 | |
30964b71 | 403 | cp -rf boost $RPM_BUILD_ROOT%{_includedir} |
c6874538 | 404 | |
8b623265 JB |
405 | install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir} |
406 | install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir} | |
407 | cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir} | |
fa767695 | 408 | |
c6874538 | 409 | # documentation |
410 | install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version} | |
c6874538 | 411 | |
412 | # as the documentation doesn't completely reside in a directory of its | |
413 | # own, we need to find out ourselves... this looks for HTML files and | |
414 | # then collects everything linked from those. this is certainly quite | |
415 | # unoptimized wrt mkdir calls, but does it really matter? | |
7c12a8f9 ER |
416 | installdocs() { |
417 | for i in $(find -type f -name '*.htm*'); do | |
c6874538 | 418 | # bjam docu is included in the boost-jam RPM |
419 | if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then | |
7c12a8f9 | 420 | install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*} |
30964b71 | 421 | for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT' |
c6874538 | 422 | sub rewrite_link |
423 | { | |
424 | my $link = shift; | |
425 | # rewrite links from boost/* to %{_includedir}/boost/* and | |
426 | # ignore external links as well as document-internal ones. | |
427 | # HTML files are also ignored as they get installed anyway. | |
428 | if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),)) | |
429 | { | |
430 | (my $file = $link) =~ s/\#.*//; | |
431 | print "$file\n"; | |
432 | } | |
433 | $link; | |
434 | } | |
435 | open IN, @ARGV[0]; | |
436 | open OUT, ">@ARGV[1]"; | |
66ac0d93 | 437 | my $in_link; |
c6874538 | 438 | while (<IN>) |
439 | { | |
66ac0d93 | 440 | $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e; |
c6874538 | 441 | s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig; |
442 | print OUT; | |
d143171f | 443 | $in_link = /href|src=\s*$/; |
c6874538 | 444 | } |
445 | EOT`; do | |
7c12a8f9 | 446 | TARGET=${i%/*}/$LINKED |
c6874538 | 447 | # ignore non-existant linked files |
448 | if test -f $TARGET; then | |
7c12a8f9 | 449 | install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET |
c6874538 | 450 | fi |
451 | done | |
452 | fi | |
453 | done | |
7c12a8f9 | 454 | }; installdocs |
c6874538 | 455 | |
456 | %clean | |
457 | rm -rf $RPM_BUILD_ROOT | |
458 | ||
000cd675 JB |
459 | %post -p /sbin/ldconfig |
460 | %postun -p /sbin/ldconfig | |
461 | ||
17e8d8c2 ŁK |
462 | %post chrono -p /sbin/ldconfig |
463 | %postun chrono -p /sbin/ldconfig | |
464 | ||
e5cd13f8 JB |
465 | %post context -p /sbin/ldconfig |
466 | %postun context -p /sbin/ldconfig | |
467 | ||
3d8dd501 JB |
468 | %post date_time -p /sbin/ldconfig |
469 | %postun date_time -p /sbin/ldconfig | |
470 | ||
04846599 JB |
471 | %post filesystem -p /sbin/ldconfig |
472 | %postun filesystem -p /sbin/ldconfig | |
473 | ||
06ed6468 AM |
474 | %post graph -p /sbin/ldconfig |
475 | %postun graph -p /sbin/ldconfig | |
476 | ||
17e8d8c2 ŁK |
477 | %post locale -p /sbin/ldconfig |
478 | %postun locale -p /sbin/ldconfig | |
479 | ||
09e2803f PS |
480 | %post python -p /sbin/ldconfig |
481 | %postun python -p /sbin/ldconfig | |
482 | ||
483 | %post program_options -p /sbin/ldconfig | |
484 | %postun program_options -p /sbin/ldconfig | |
c6874538 | 485 | |
09e2803f PS |
486 | %post regex -p /sbin/ldconfig |
487 | %postun regex -p /sbin/ldconfig | |
290ca6f4 | 488 | |
09e2803f PS |
489 | %post signals -p /sbin/ldconfig |
490 | %postun signals -p /sbin/ldconfig | |
c6874538 | 491 | |
09e2803f PS |
492 | %post system -p /sbin/ldconfig |
493 | %postun system -p /sbin/ldconfig | |
3d8dd501 | 494 | |
09e2803f PS |
495 | %post test -p /sbin/ldconfig |
496 | %postun test -p /sbin/ldconfig | |
c0536c7f | 497 | |
09e2803f PS |
498 | %post thread -p /sbin/ldconfig |
499 | %postun thread -p /sbin/ldconfig | |
3d8dd501 | 500 | |
e5cd13f8 JB |
501 | %post timer -p /sbin/ldconfig |
502 | %postun timer -p /sbin/ldconfig | |
503 | ||
d7f6b47a JB |
504 | %post wave -p /sbin/ldconfig |
505 | %postun wave -p /sbin/ldconfig | |
506 | ||
000cd675 JB |
507 | %files |
508 | %defattr(644,root,root,755) | |
7bf3427b | 509 | %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.* |
8b623265 | 510 | %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.* |
e019306a | 511 | %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.* |
8b623265 JB |
512 | %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.* |
513 | %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.* | |
514 | %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.* | |
000cd675 | 515 | |
30964b71 JB |
516 | %files devel |
517 | %defattr(644,root,root,755) | |
7bf3427b | 518 | %attr(755,root,root) %{_libdir}/libboost_atomic.so |
17e8d8c2 | 519 | %attr(755,root,root) %{_libdir}/libboost_chrono.so |
e5cd13f8 | 520 | %attr(755,root,root) %{_libdir}/libboost_context.so |
8b623265 JB |
521 | %attr(755,root,root) %{_libdir}/libboost_date_time.so |
522 | %attr(755,root,root) %{_libdir}/libboost_filesystem.so | |
523 | %attr(755,root,root) %{_libdir}/libboost_graph.so | |
524 | %attr(755,root,root) %{_libdir}/libboost_iostreams.so | |
17e8d8c2 | 525 | %attr(755,root,root) %{_libdir}/libboost_locale.so |
e019306a | 526 | %attr(755,root,root) %{_libdir}/libboost_math_*.so |
8b623265 JB |
527 | %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so |
528 | %attr(755,root,root) %{_libdir}/libboost_program_options.so | |
529 | %attr(755,root,root) %{_libdir}/libboost_regex.so | |
530 | %attr(755,root,root) %{_libdir}/libboost_random.so | |
531 | %attr(755,root,root) %{_libdir}/libboost_serialization.so | |
532 | %attr(755,root,root) %{_libdir}/libboost_signals.so | |
533 | %attr(755,root,root) %{_libdir}/libboost_system.so | |
534 | %attr(755,root,root) %{_libdir}/libboost_thread.so | |
17e8d8c2 | 535 | %attr(755,root,root) %{_libdir}/libboost_timer.so |
8b623265 JB |
536 | %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so |
537 | %attr(755,root,root) %{_libdir}/libboost_wave.so | |
538 | %attr(755,root,root) %{_libdir}/libboost_wserialization.so | |
539 | %{_includedir}/boost | |
540 | %exclude %{_includedir}/boost/python | |
541 | %exclude %{_includedir}/boost/python.hpp | |
99f4684a | 542 | |
000cd675 JB |
543 | %files static |
544 | %defattr(644,root,root,755) | |
7bf3427b | 545 | %{_libdir}/libboost_atomic.a |
17e8d8c2 | 546 | %{_libdir}/libboost_chrono.a |
e5cd13f8 | 547 | %{_libdir}/libboost_context.a |
8b623265 | 548 | %{_libdir}/libboost_date_time.a |
17e8d8c2 | 549 | %{_libdir}/libboost_exception.a |
8b623265 JB |
550 | %{_libdir}/libboost_filesystem.a |
551 | %{_libdir}/libboost_graph.a | |
552 | %{_libdir}/libboost_iostreams.a | |
17e8d8c2 | 553 | %{_libdir}/libboost_locale.a |
e019306a | 554 | %{_libdir}/libboost_math_*.a |
8b623265 JB |
555 | %{_libdir}/libboost_prg_exec_monitor.a |
556 | %{_libdir}/libboost_program_options.a | |
557 | %{_libdir}/libboost_random.a | |
558 | %{_libdir}/libboost_regex.a | |
559 | %{_libdir}/libboost_serialization.a | |
560 | %{_libdir}/libboost_signals.a | |
561 | %{_libdir}/libboost_system.a | |
562 | %{_libdir}/libboost_test_exec_monitor.a | |
17e8d8c2 | 563 | %{_libdir}/libboost_timer.a |
8b623265 JB |
564 | %{_libdir}/libboost_thread.a |
565 | %{_libdir}/libboost_unit_test_framework.a | |
566 | %{_libdir}/libboost_wave.a | |
567 | %{_libdir}/libboost_wserialization.a | |
db639b8e | 568 | |
49f48a3b | 569 | %if %{with python} |
30964b71 | 570 | %files python |
49f48a3b | 571 | %defattr(644,root,root,755) |
8b623265 | 572 | %attr(755,root,root) %{_libdir}/libboost_python.so.*.*.* |
49f48a3b | 573 | |
30964b71 | 574 | %files python-devel |
c6874538 | 575 | %defattr(644,root,root,755) |
8b623265 | 576 | %attr(755,root,root) %{_libdir}/libboost_python.so |
30964b71 JB |
577 | %{_includedir}/boost/python |
578 | %{_includedir}/boost/python.hpp | |
579 | ||
6725319f JB |
580 | %files python-static |
581 | %defattr(644,root,root,755) | |
8b623265 | 582 | %{_libdir}/libboost_python.a |
c6874538 | 583 | %endif |
584 | ||
17e8d8c2 ŁK |
585 | %files chrono |
586 | %defattr(644,root,root,755) | |
587 | %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.* | |
588 | ||
e5cd13f8 JB |
589 | %files context |
590 | %defattr(644,root,root,755) | |
591 | %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.* | |
592 | ||
02c23151 | 593 | %files date_time |
594 | %defattr(644,root,root,755) | |
8b623265 | 595 | %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.* |
02c23151 | 596 | |
31026e88 | 597 | %files filesystem |
598 | %defattr(644,root,root,755) | |
8b623265 | 599 | %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.* |
31026e88 | 600 | |
06ed6468 AM |
601 | %files graph |
602 | %defattr(644,root,root,755) | |
8b623265 | 603 | %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.* |
06ed6468 | 604 | |
17e8d8c2 ŁK |
605 | %files locale |
606 | %defattr(644,root,root,755) | |
607 | %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.* | |
608 | ||
99f4684a | 609 | %files program_options |
610 | %defattr(644,root,root,755) | |
8b623265 | 611 | %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.* |
99f4684a | 612 | |
09e2803f | 613 | %files regex |
99f4684a | 614 | %defattr(644,root,root,755) |
8b623265 | 615 | %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.* |
99f4684a | 616 | |
db639b8e | 617 | %files signals |
618 | %defattr(644,root,root,755) | |
8b623265 | 619 | %attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.* |
db639b8e | 620 | |
09e2803f | 621 | %files system |
db639b8e | 622 | %defattr(644,root,root,755) |
8b623265 | 623 | %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.* |
06ed6468 | 624 | |
c0536c7f | 625 | %files test |
626 | %defattr(644,root,root,755) | |
8b623265 JB |
627 | %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.* |
628 | %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.* | |
c0536c7f | 629 | |
02c23151 | 630 | %files thread |
631 | %defattr(644,root,root,755) | |
8b623265 | 632 | %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.* |
02c23151 | 633 | |
e5cd13f8 JB |
634 | %files timer |
635 | %defattr(644,root,root,755) | |
636 | %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.* | |
637 | ||
06ed6468 AM |
638 | %files wave |
639 | %defattr(644,root,root,755) | |
8b623265 | 640 | %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.* |
06ed6468 | 641 | |
30964b71 | 642 | %files doc |
fe815c68 | 643 | %defattr(644,root,root,755) |
75f9f612 | 644 | %{_docdir}/%{name}-%{version} |