]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blob - boost/boost.nm
glibc: Disable multilib support on X86_64
[people/stevee/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 = 60
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 # Don't build in parallel on any architecture.
47 # The C++ compiles consumes too much memory, so
48 # we cannot run multiple instances at once.
49 PARALLELISMFLAGS = -j2
50
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
68 prepare_cmds
69 # Create build dir.
70 mkdir -pv %{DIR_APP}/serial
71
72 # Bootstrap build environment.
73 ./bootstrap.sh --with-toolset=gcc --with-icu
74
75 # Enable boost lib for python3.
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} ;
79 EOF
80 end
81
82 build
83 # Build boost.
84 ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage
85 end
86
87 install
88 # Install boost.
89 ./b2 %{PARALLELISMFLAGS} %{configure_options} install \
90 --prefix=%{BUILDROOT}%{prefix} \
91 --libdir=%{BUILDROOT}%{libdir}
92 end
93 end
94
95 packages
96 # boost is just a umbrella package, that pulls all other boost
97 # components, except the python3 sub-package.
98 package %{name}
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
373
374 package %{name}-devel
375 template DEVEL
376
377 requires = %{name} = %{thisver}
378 end
379
380 package %{name}-debuginfo
381 template DEBUGINFO
382 end
383 end