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
45 --without-graph_parallel \
49 cxxflags="%{CXXFLAGS}" \
51 threading=single,multi \
53 python=%{python_version} \
56 # Get python3 abi flags.
57 python3_abiflags = %(%{python3}-config --abiflags)
61 mkdir -pv %{DIR_APP}/serial
63 # Bootstrap build environment.
64 ./bootstrap.sh --with-toolset=gcc
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} ;
74 ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage
79 ./b2 %{PARALLELISMFLAGS} %{configure_options} install \
80 --prefix=%{BUILDROOT}%{prefix} \
81 --libdir=%{BUILDROOT}%{libdir}
86 # boost is just a umbrella package, that pulls all other boost
87 # components, except the python3 sub-package.
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}
112 package %{name}-chrono
113 summary = Run-Time component of boost chrono library.
115 Run-Time support for Boost.Chrono, a set of useful time utilities.
119 %{libdir}/libboost_chrono*.so.*
123 package %{name}-context
124 summary = Run-Time component of boost context library.
126 A foundational library that provides a sort of cooperative multitasking
131 %{libdir}/libboost_context*.so.*
135 package %{name}-date-time
136 summary = Run-Time component of boost date-time library.
138 Run-Time support for Boost Date Time, set of date-time libraries based
139 on generic programming concepts.
143 %{libdir}/libboost_date_time*.so.*
147 package %{name}-filesystem
148 summary = Run-Time component of boost filesystem library.
150 Run-Time support for the Boost Filesystem Library, which provides
151 portable facilities to query and manipulate paths, files, and
156 %{libdir}/libboost_filesystem*.so.*
160 package %{name}-graph
161 summary = Run-Time component of boost graph library.
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
169 %{libdir}/libboost_graph*.so.*
173 package %{name}-iostreams
174 summary = Run-Time component of boost iostreams library.
176 Run-Time support for Boost.IOStreams, a framework for defining streams,
177 stream buffers and i/o filters.
181 %{libdir}/libboost_iostreams*.so.*
185 package %{name}-locale
186 summary = Run-Time component of boost locale library.
188 Run-Time support for Boost.Locale, a set of localization and Unicode
193 %{libdir}/libboost_locale*.so.*
198 summary = Math functions for boost TR1 library.
200 Run-Time support for C99 and C++ TR1 C-style Functions from math
201 portion of Boost.TR1.
205 %{libdir}/libboost_math*.so.*
209 package %{name}-program-options
210 summary = Run-Time component of boost program_options library.
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.
218 %{libdir}/libboost_program_options*.so.*
222 package %{name}-python
223 summary = Run-Time component of boost python library.
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.
233 %{libdir}/libboost_python.so.*
234 %{libdir}/libboost_python-mt.so.*
238 package %{name}-python3
239 summary = Run-Time component of boost python library for Python 3.
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.
249 %{libdir}/libboost_python3*.so.*
253 package %{name}-random
254 summary = Run-Time component of boost random library.
256 Run-Time support for boost random library.
260 %{libdir}/libboost_random*.so.*
264 package %{name}-regex
265 summary = Run-Time component of boost regular expression library.
267 Run-Time support for boost regular expression library.
271 %{libdir}/libboost_regex*.so.*
275 package %{name}-serialization
276 summary = Run-Time component of boost serialization library.
278 Run-Time support for serialization for persistence and marshaling.
282 %{libdir}/libboost_serialization*.so.*
283 %{libdir}/libboost_wserialization*so.*
287 package %{name}-signals
288 summary = Run-Time component of boost signals and slots library.
290 Run-Time support for managed signals & slots callback implementation.
294 %{libdir}/libboost_signals*.so.*
298 package %{name}-system
299 summary = Run-Time component of boost system support library.
301 Run-Time component of Boost operating system support library, including
302 the diagnostics support that will be part of the C++0x standard
307 %{libdir}/libboost_system*.so.*
312 summary = Run-Time component of boost test library.
314 Run-Time support for simple program testing, full unit testing, and for
315 program execution monitoring.
319 %{libdir}/libboost_prg_exec_monitor*.so.*
320 %{libdir}/libboost_unit_test_framework*.so.*
324 package %{name}-thread
325 summary = Run-Time component of boost thread library.
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.
334 %{libdir}/libboost_thread*.so.*
338 package %{name}-timer
339 summary = Run-Time component of boost timer library.
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.
347 %{libdir}/libboost_timer*.so.*
352 summary = Run-Time component of boost C99/C++ pre-processing library.
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.
360 %{libdir}/libboost_wave*.so.*
364 package %{name}-devel
367 requires = %{name} = %{thisver}
370 package %{name}-debuginfo