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}/
40 CFLAGS += -fno-strict-aliasing
41 CXXFLAGS += -fno-strict-aliasing
43 # Obtain python3 abiflags.
44 python3_abiflags = %(python3-config --abiflags)
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
54 --without-graph_parallel \
58 cxxflags="%{CXXFLAGS}" \
60 threading=single,multi \
62 python=%{python_version} \
65 # Get python3 abi flags.
66 python3_abiflags = %(%{python3}-config --abiflags)
70 mkdir -pv %{DIR_APP}/serial
72 # Bootstrap build environment.
73 ./bootstrap.sh --with-toolset=gcc --with-icu
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} ;
84 ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage
89 ./b2 %{PARALLELISMFLAGS} %{configure_options} install \
90 --prefix=%{BUILDROOT}%{prefix} \
91 --libdir=%{BUILDROOT}%{libdir}
96 # boost is just a umbrella package, that pulls all other boost
97 # components, except the python3 sub-package.
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}
122 package %{name}-chrono
123 summary = Run-Time component of boost chrono library.
125 Run-Time support for Boost.Chrono, a set of useful time utilities.
129 %{libdir}/libboost_chrono*.so.*
133 package %{name}-context
134 summary = Run-Time component of boost context library.
136 A foundational library that provides a sort of cooperative multitasking
141 %{libdir}/libboost_context*.so.*
145 package %{name}-date-time
146 summary = Run-Time component of boost date-time library.
148 Run-Time support for Boost Date Time, set of date-time libraries based
149 on generic programming concepts.
153 %{libdir}/libboost_date_time*.so.*
157 package %{name}-filesystem
158 summary = Run-Time component of boost filesystem library.
160 Run-Time support for the Boost Filesystem Library, which provides
161 portable facilities to query and manipulate paths, files, and
166 %{libdir}/libboost_filesystem*.so.*
170 package %{name}-graph
171 summary = Run-Time component of boost graph library.
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
179 %{libdir}/libboost_graph*.so.*
183 package %{name}-iostreams
184 summary = Run-Time component of boost iostreams library.
186 Run-Time support for Boost.IOStreams, a framework for defining streams,
187 stream buffers and i/o filters.
191 %{libdir}/libboost_iostreams*.so.*
195 package %{name}-locale
196 summary = Run-Time component of boost locale library.
198 Run-Time support for Boost.Locale, a set of localization and Unicode
203 %{libdir}/libboost_locale*.so.*
208 summary = Math functions for boost TR1 library.
210 Run-Time support for C99 and C++ TR1 C-style Functions from math
211 portion of Boost.TR1.
215 %{libdir}/libboost_math*.so.*
219 package %{name}-program-options
220 summary = Run-Time component of boost program_options library.
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.
228 %{libdir}/libboost_program_options*.so.*
232 package %{name}-python
233 summary = Run-Time component of boost python library.
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.
243 %{libdir}/libboost_python.so.*
244 %{libdir}/libboost_python-mt.so.*
248 package %{name}-python3
249 summary = Run-Time component of boost python library for Python 3.
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.
259 %{libdir}/libboost_python3*.so.*
263 package %{name}-random
264 summary = Run-Time component of boost random library.
266 Run-Time support for boost random library.
270 %{libdir}/libboost_random*.so.*
274 package %{name}-regex
275 summary = Run-Time component of boost regular expression library.
277 Run-Time support for boost regular expression library.
281 %{libdir}/libboost_regex*.so.*
285 package %{name}-serialization
286 summary = Run-Time component of boost serialization library.
288 Run-Time support for serialization for persistence and marshaling.
292 %{libdir}/libboost_serialization*.so.*
293 %{libdir}/libboost_wserialization*so.*
297 package %{name}-signals
298 summary = Run-Time component of boost signals and slots library.
300 Run-Time support for managed signals & slots callback implementation.
304 %{libdir}/libboost_signals*.so.*
308 package %{name}-system
309 summary = Run-Time component of boost system support library.
311 Run-Time component of Boost operating system support library, including
312 the diagnostics support that will be part of the C++0x standard
317 %{libdir}/libboost_system*.so.*
322 summary = Run-Time component of boost test library.
324 Run-Time support for simple program testing, full unit testing, and for
325 program execution monitoring.
329 %{libdir}/libboost_prg_exec_monitor*.so.*
330 %{libdir}/libboost_unit_test_framework*.so.*
334 package %{name}-thread
335 summary = Run-Time component of boost thread library.
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.
344 %{libdir}/libboost_thread*.so.*
348 package %{name}-timer
349 summary = Run-Time component of boost timer library.
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.
357 %{libdir}/libboost_timer*.so.*
362 summary = Run-Time component of boost C99/C++ pre-processing library.
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.
370 %{libdir}/libboost_wave*.so.*
374 package %{name}-devel
377 requires = %{name} = %{thisver}
380 package %{name}-debuginfo