]>
Commit | Line | Data |
---|---|---|
e5ea083d | 1 | ############################################################################### |
802ea3af MT |
2 | # IPFire.org - An Open Source Firewall Solution # |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
e5ea083d MT |
4 | ############################################################################### |
5 | ||
802ea3af | 6 | name = boost |
998f9637 SS |
7 | ver_major = 1 |
8 | ver_minor = 51 | |
9 | ver_plevel = 0 | |
10 | version = %{ver_major}.%{ver_minor}.%{ver_plevel} | |
2d194874 | 11 | release = 2 |
e5ea083d | 12 | |
802ea3af MT |
13 | groups = System/Libraries |
14 | url = http://www.boost.org/ | |
15 | license = Boost | |
16 | summary = The Boost C++ Libraries. | |
e5ea083d | 17 | |
802ea3af MT |
18 | description |
19 | Boost provides free peer-reviewed portable C++ source libraries. The | |
20 | emphasis is on libraries which work well with the C++ Standard | |
21 | Library, in the hopes of establishing existing practice for | |
22 | extensions and providing reference implementations so that the Boost | |
8c893619 | 23 | libraries are suitable for eventual standardization. |
802ea3af MT |
24 | end |
25 | ||
998f9637 | 26 | thisapp = %{name}_%{ver_major}_%{ver_minor}_%{ver_plevel} |
802ea3af | 27 | |
998f9637 | 28 | source_dl = http://sourceforge.net/projects/boost/files/%{name}/%{version}/ |
802ea3af MT |
29 | |
30 | build | |
31 | requires | |
998f9637 | 32 | bzip2-devel |
802ea3af | 33 | gcc-c++ |
998f9637 SS |
34 | python-devel |
35 | python3-devel | |
802ea3af MT |
36 | zlib-devel |
37 | end | |
38 | ||
998f9637 SS |
39 | CFLAGS += -fno-strict-aliasing |
40 | CXXFLAGS += -fno-strict-aliasing | |
41 | ||
2d194874 MT |
42 | # Don't build in parallel on ARM. |
43 | # The C++ compiles consumes too much memory, so | |
44 | # we cannot run multiple instances at once. | |
45 | if "%{DISTRO_PLATFORM}" == "arm" | |
46 | PARALLELISMFLAGS = -j2 | |
47 | end | |
48 | ||
998f9637 SS |
49 | configure_options = \ |
50 | --layout=tagged \ | |
51 | --without-mpi \ | |
52 | --without-graph_parallel \ | |
53 | --build-dir=serial \ | |
54 | \ | |
55 | cflags="%{CFLAGS}" \ | |
56 | cxxflags="%{CXXFLAGS}" \ | |
57 | variant=release \ | |
58 | threading=single,multi \ | |
59 | debug-symbols=on \ | |
60 | python=%{python_version} \ | |
61 | pch=off | |
62 | ||
63 | # Get python3 abi flags. | |
64 | python3_abiflags = %(%{python3}-config --abiflags) | |
65 | ||
802ea3af | 66 | prepare_cmds |
998f9637 | 67 | # Create build dir. |
802ea3af | 68 | mkdir -pv %{DIR_APP}/serial |
998f9637 SS |
69 | |
70 | # Bootstrap build environment. | |
71 | ./bootstrap.sh --with-toolset=gcc | |
72 | ||
73 | # Enable boost lib for python3. | |
74 | cat >> ./tools/build/v2/user-config.jam << EOF | |
75 | using python : %{python3_version} : %{python3} : %{includedir}/python%{python3_version}%{python3_abiflags} : %{libdir}/python%{python3_version} ; | |
76 | EOF | |
802ea3af MT |
77 | end |
78 | ||
79 | build | |
998f9637 SS |
80 | # Build boost. |
81 | ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage | |
802ea3af MT |
82 | end |
83 | ||
84 | install | |
998f9637 SS |
85 | # Install boost. |
86 | ./b2 %{PARALLELISMFLAGS} %{configure_options} install \ | |
87 | --prefix=%{BUILDROOT}%{prefix} \ | |
88 | --libdir=%{BUILDROOT}%{libdir} | |
802ea3af MT |
89 | end |
90 | end | |
91 | ||
92 | packages | |
998f9637 SS |
93 | # boost is just a umbrella package, that pulls all other boost |
94 | # components, except the python3 sub-package. | |
802ea3af | 95 | package %{name} |
998f9637 SS |
96 | requires |
97 | boost-chrono = %{thisver} | |
98 | boost-context = %{thisver} | |
99 | boost-date-time = %{thisver} | |
100 | boost-filesystem = %{thisver} | |
101 | boost-graph = %{thisver} | |
102 | boost-iostreams = %{thisver} | |
103 | boost-locale = %{thisver} | |
104 | boost-math = %{thisver} | |
105 | boost-program-options = %{thisver} | |
106 | boost-python = %{thisver} | |
107 | boost-random = %{thisver} | |
108 | boost-regex = %{thisver} | |
109 | boost-serialization = %{thisver} | |
110 | boost-signals = %{thisver} | |
111 | boost-system = %{thisver} | |
112 | boost-test = %{thisver} | |
113 | boost-thread = %{thisver} | |
114 | boost-timer = %{thisver} | |
115 | boost-wave = %{thisver} | |
116 | end | |
117 | end | |
118 | ||
119 | package %{name}-chrono | |
120 | summary = Run-Time component of boost chrono library. | |
121 | description | |
122 | Run-Time support for Boost.Chrono, a set of useful time utilities. | |
123 | end | |
124 | ||
125 | files | |
126 | %{libdir}/libboost_chrono*.so.* | |
127 | end | |
128 | end | |
129 | ||
130 | package %{name}-context | |
131 | summary = Run-Time component of boost context library. | |
132 | description | |
133 | A foundational library that provides a sort of cooperative multitasking | |
134 | on asingle thread. | |
135 | end | |
136 | ||
137 | files | |
138 | %{libdir}/libboost_context*.so.* | |
139 | end | |
140 | end | |
141 | ||
142 | package %{name}-date-time | |
143 | summary = Run-Time component of boost date-time library. | |
144 | description | |
145 | Run-Time support for Boost Date Time, set of date-time libraries based | |
146 | on generic programming concepts. | |
147 | end | |
148 | ||
149 | files | |
150 | %{libdir}/libboost_date_time*.so.* | |
151 | end | |
152 | end | |
153 | ||
154 | package %{name}-filesystem | |
155 | summary = Run-Time component of boost filesystem library. | |
156 | description | |
157 | Run-Time support for the Boost Filesystem Library, which provides | |
158 | portable facilities to query and manipulate paths, files, and | |
159 | directories. | |
160 | end | |
161 | ||
162 | files | |
163 | %{libdir}/libboost_filesystem*.so.* | |
164 | end | |
165 | end | |
166 | ||
167 | package %{name}-graph | |
168 | summary = Run-Time component of boost graph library. | |
169 | description | |
170 | Run-Time support for the BGL graph library. BGL interface and graph | |
171 | components are generic, in the same sense as the the Standard Template | |
172 | Library (STL). | |
173 | end | |
174 | ||
175 | files | |
176 | %{libdir}/libboost_graph*.so.* | |
177 | end | |
178 | end | |
179 | ||
180 | package %{name}-iostreams | |
181 | summary = Run-Time component of boost iostreams library. | |
182 | description | |
183 | Run-Time support for Boost.IOStreams, a framework for defining streams, | |
184 | stream buffers and i/o filters. | |
185 | end | |
186 | ||
187 | files | |
188 | %{libdir}/libboost_iostreams*.so.* | |
189 | end | |
190 | end | |
191 | ||
192 | package %{name}-locale | |
193 | summary = Run-Time component of boost locale library. | |
194 | description | |
195 | Run-Time support for Boost.Locale, a set of localization and Unicode | |
196 | handling tools. | |
197 | end | |
198 | ||
199 | files | |
200 | %{libdir}/libboost_locale*.so.* | |
201 | end | |
202 | end | |
203 | ||
204 | package %{name}-math | |
205 | summary = Math functions for boost TR1 library. | |
206 | description | |
207 | Run-Time support for C99 and C++ TR1 C-style Functions from math | |
208 | portion of Boost.TR1. | |
209 | end | |
210 | ||
211 | files | |
212 | %{libdir}/libboost_math*.so.* | |
213 | end | |
214 | end | |
215 | ||
216 | package %{name}-program-options | |
217 | summary = Run-Time component of boost program_options library. | |
218 | description | |
219 | Run-Time support of boost program options library, which allows program | |
220 | developers to obtain (name, value) pairs from the user, via | |
221 | conventional methods such as command line and configuration file. | |
222 | end | |
223 | ||
224 | files | |
225 | %{libdir}/libboost_program_options*.so.* | |
226 | end | |
227 | end | |
228 | ||
229 | package %{name}-python | |
230 | summary = Run-Time component of boost python library. | |
231 | description | |
232 | The Boost Python Library is a framework for interfacing Python and | |
233 | C++. It allows you to quickly and seamlessly expose C++ classes | |
234 | functions and objects to Python, and vice versa, using no special | |
235 | tools -- just your C++ compiler. This package contains run-time | |
236 | support for Boost Python Library. | |
237 | end | |
238 | ||
239 | files | |
240 | %{libdir}/libboost_python.so.* | |
241 | %{libdir}/libboost_python-mt.so.* | |
242 | end | |
243 | end | |
244 | ||
245 | package %{name}-python3 | |
246 | summary = Run-Time component of boost python library for Python 3. | |
247 | description | |
248 | The Boost Python Library is a framework for interfacing Python and | |
249 | C++. It allows you to quickly and seamlessly expose C++ classes | |
250 | functions and objects to Python, and vice versa, using no special | |
251 | tools -- just your C++ compiler. This package contains run-time | |
252 | support for Boost Python Library compiled for Python 3. | |
253 | end | |
254 | ||
255 | files | |
256 | %{libdir}/libboost_python3*.so.* | |
257 | end | |
258 | end | |
259 | ||
260 | package %{name}-random | |
261 | summary = Run-Time component of boost random library. | |
262 | description | |
263 | Run-Time support for boost random library. | |
264 | end | |
265 | ||
266 | files | |
267 | %{libdir}/libboost_random*.so.* | |
268 | end | |
269 | end | |
270 | ||
271 | package %{name}-regex | |
272 | summary = Run-Time component of boost regular expression library. | |
273 | description | |
274 | Run-Time support for boost regular expression library. | |
275 | end | |
276 | ||
277 | files | |
278 | %{libdir}/libboost_regex*.so.* | |
279 | end | |
280 | end | |
281 | ||
282 | package %{name}-serialization | |
283 | summary = Run-Time component of boost serialization library. | |
284 | description | |
285 | Run-Time support for serialization for persistence and marshaling. | |
286 | end | |
287 | ||
288 | files | |
289 | %{libdir}/libboost_serialization*.so.* | |
290 | %{libdir}/libboost_wserialization*so.* | |
291 | end | |
292 | end | |
293 | ||
294 | package %{name}-signals | |
295 | summary = Run-Time component of boost signals and slots library. | |
296 | description | |
297 | Run-Time support for managed signals & slots callback implementation. | |
298 | end | |
299 | ||
300 | files | |
301 | %{libdir}/libboost_signals*.so.* | |
302 | end | |
303 | end | |
304 | ||
305 | package %{name}-system | |
306 | summary = Run-Time component of boost system support library. | |
307 | description | |
308 | Run-Time component of Boost operating system support library, including | |
309 | the diagnostics support that will be part of the C++0x standard | |
310 | library. | |
311 | end | |
312 | ||
313 | files | |
314 | %{libdir}/libboost_system*.so.* | |
315 | end | |
316 | end | |
317 | ||
318 | package %{name}-test | |
319 | summary = Run-Time component of boost test library. | |
320 | description | |
321 | Run-Time support for simple program testing, full unit testing, and for | |
322 | program execution monitoring. | |
323 | end | |
324 | ||
325 | files | |
326 | %{libdir}/libboost_prg_exec_monitor*.so.* | |
327 | %{libdir}/libboost_unit_test_framework*.so.* | |
328 | end | |
329 | end | |
330 | ||
331 | package %{name}-thread | |
332 | summary = Run-Time component of boost thread library. | |
333 | description | |
334 | Run-Time component Boost.Thread library, which provides classes and | |
335 | functions for managing multiple threads of execution, and for | |
336 | synchronizing data between the threads or providing separate copies of | |
337 | data specific to individual threads. | |
338 | end | |
339 | ||
340 | files | |
341 | %{libdir}/libboost_thread*.so.* | |
342 | end | |
343 | end | |
344 | ||
345 | package %{name}-timer | |
346 | summary = Run-Time component of boost timer library. | |
347 | description | |
348 | "How long does my C++ code take to run?" | |
349 | The Boost Timer library answers that question and does so portably, | |
350 | with as little as one #include and one additional line of code. | |
351 | end | |
352 | ||
353 | files | |
354 | %{libdir}/libboost_timer*.so.* | |
355 | end | |
356 | end | |
357 | ||
358 | package %{name}-wave | |
359 | summary = Run-Time component of boost C99/C++ pre-processing library. | |
360 | description | |
361 | Run-Time support for the Boost.Wave library, a Standards conforming, | |
362 | and highly configurable implementation of the mandated C99/C++ | |
363 | pre-processor functionality. | |
364 | end | |
365 | ||
366 | files | |
367 | %{libdir}/libboost_wave*.so.* | |
368 | end | |
369 | end | |
1f9bc2f0 | 370 | |
802ea3af MT |
371 | package %{name}-devel |
372 | template DEVEL | |
998f9637 SS |
373 | |
374 | requires = %{name} = %{thisver} | |
802ea3af | 375 | end |
1f9bc2f0 MT |
376 | |
377 | package %{name}-debuginfo | |
378 | template DEBUGINFO | |
379 | end | |
802ea3af | 380 | end |