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