1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 version = %{ver_major}.%{ver_minor}.%{ver_plevel}
13 groups = System/Libraries
14 url = http://www.boost.org/
16 summary = The Boost C++ Libraries.
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.
26 thisapp = %{name}_%{ver_major}_%{ver_minor}_%{ver_plevel}
28 source_dl = http://sourceforge.net/projects/boost/files/%{name}/%{version}/
39 CFLAGS += -fno-strict-aliasing
40 CXXFLAGS += -fno-strict-aliasing
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
52 --without-graph_parallel \
56 cxxflags="%{CXXFLAGS}" \
58 threading=single,multi \
60 python=%{python_version} \
63 # Get python3 abi flags.
64 python3_abiflags = %(%{python3}-config --abiflags)
68 mkdir -pv %{DIR_APP}/serial
70 # Bootstrap build environment.
71 ./bootstrap.sh --with-toolset=gcc
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} ;
81 ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage
86 ./b2 %{PARALLELISMFLAGS} %{configure_options} install \
87 --prefix=%{BUILDROOT}%{prefix} \
88 --libdir=%{BUILDROOT}%{libdir}
93 # boost is just a umbrella package, that pulls all other boost
94 # components, except the python3 sub-package.
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}
119 package %{name}-chrono
120 summary = Run-Time component of boost chrono library.
122 Run-Time support for Boost.Chrono, a set of useful time utilities.
126 %{libdir}/libboost_chrono*.so.*
130 package %{name}-context
131 summary = Run-Time component of boost context library.
133 A foundational library that provides a sort of cooperative multitasking
138 %{libdir}/libboost_context*.so.*
142 package %{name}-date-time
143 summary = Run-Time component of boost date-time library.
145 Run-Time support for Boost Date Time, set of date-time libraries based
146 on generic programming concepts.
150 %{libdir}/libboost_date_time*.so.*
154 package %{name}-filesystem
155 summary = Run-Time component of boost filesystem library.
157 Run-Time support for the Boost Filesystem Library, which provides
158 portable facilities to query and manipulate paths, files, and
163 %{libdir}/libboost_filesystem*.so.*
167 package %{name}-graph
168 summary = Run-Time component of boost graph library.
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
176 %{libdir}/libboost_graph*.so.*
180 package %{name}-iostreams
181 summary = Run-Time component of boost iostreams library.
183 Run-Time support for Boost.IOStreams, a framework for defining streams,
184 stream buffers and i/o filters.
188 %{libdir}/libboost_iostreams*.so.*
192 package %{name}-locale
193 summary = Run-Time component of boost locale library.
195 Run-Time support for Boost.Locale, a set of localization and Unicode
200 %{libdir}/libboost_locale*.so.*
205 summary = Math functions for boost TR1 library.
207 Run-Time support for C99 and C++ TR1 C-style Functions from math
208 portion of Boost.TR1.
212 %{libdir}/libboost_math*.so.*
216 package %{name}-program-options
217 summary = Run-Time component of boost program_options library.
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.
225 %{libdir}/libboost_program_options*.so.*
229 package %{name}-python
230 summary = Run-Time component of boost python library.
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.
240 %{libdir}/libboost_python.so.*
241 %{libdir}/libboost_python-mt.so.*
245 package %{name}-python3
246 summary = Run-Time component of boost python library for Python 3.
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.
256 %{libdir}/libboost_python3*.so.*
260 package %{name}-random
261 summary = Run-Time component of boost random library.
263 Run-Time support for boost random library.
267 %{libdir}/libboost_random*.so.*
271 package %{name}-regex
272 summary = Run-Time component of boost regular expression library.
274 Run-Time support for boost regular expression library.
278 %{libdir}/libboost_regex*.so.*
282 package %{name}-serialization
283 summary = Run-Time component of boost serialization library.
285 Run-Time support for serialization for persistence and marshaling.
289 %{libdir}/libboost_serialization*.so.*
290 %{libdir}/libboost_wserialization*so.*
294 package %{name}-signals
295 summary = Run-Time component of boost signals and slots library.
297 Run-Time support for managed signals & slots callback implementation.
301 %{libdir}/libboost_signals*.so.*
305 package %{name}-system
306 summary = Run-Time component of boost system support library.
308 Run-Time component of Boost operating system support library, including
309 the diagnostics support that will be part of the C++0x standard
314 %{libdir}/libboost_system*.so.*
319 summary = Run-Time component of boost test library.
321 Run-Time support for simple program testing, full unit testing, and for
322 program execution monitoring.
326 %{libdir}/libboost_prg_exec_monitor*.so.*
327 %{libdir}/libboost_unit_test_framework*.so.*
331 package %{name}-thread
332 summary = Run-Time component of boost thread library.
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.
341 %{libdir}/libboost_thread*.so.*
345 package %{name}-timer
346 summary = Run-Time component of boost timer library.
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.
354 %{libdir}/libboost_timer*.so.*
359 summary = Run-Time component of boost C99/C++ pre-processing library.
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.
367 %{libdir}/libboost_wave*.so.*
371 package %{name}-devel
374 requires = %{name} = %{thisver}
377 package %{name}-debuginfo