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