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