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 CFLAGS += -I/usr/include/python%{python3_version}%{python3_abiflags}
47 CXXFLAGS += -I/usr/include/python%{python3_version}%{python3_abiflags}
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
59 cxxflags="%{CXXFLAGS}" \
60 linkflags="%{LDFLAGS}" \
66 python=%{python3_version} \
69 # Get python3 abi flags.
70 python3_abiflags = %(%{python3}-config --abiflags)
74 mkdir -pv %{DIR_APP}/serial
76 # Bootstrap build environment.
77 ./bootstrap.sh --with-toolset=gcc --with-icu \
78 --with-python=%{python3}
81 echo "using mpi ;" >> project-config.jam
86 ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage
91 ./b2 %{PARALLELISMFLAGS} %{configure_options} install \
92 --prefix=%{BUILDROOT}%{prefix} \
93 --libdir=%{BUILDROOT}%{libdir}
98 # boost is just a umbrella package, that pulls all other boost
99 # components, except the python3 sub-package.
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}
124 package %{name}-chrono
125 summary = Run-Time component of boost chrono library.
127 Run-Time support for Boost.Chrono, a set of useful time utilities.
131 %{libdir}/libboost_chrono*.so.*
135 package %{name}-context
136 summary = Run-Time component of boost context library.
138 A foundational library that provides a sort of cooperative multitasking
143 %{libdir}/libboost_context*.so.*
147 package %{name}-date-time
148 summary = Run-Time component of boost date-time library.
150 Run-Time support for Boost Date Time, set of date-time libraries based
151 on generic programming concepts.
155 %{libdir}/libboost_date_time*.so.*
159 package %{name}-filesystem
160 summary = Run-Time component of boost filesystem library.
162 Run-Time support for the Boost Filesystem Library, which provides
163 portable facilities to query and manipulate paths, files, and
168 %{libdir}/libboost_filesystem*.so.*
172 package %{name}-graph
173 summary = Run-Time component of boost graph library.
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
181 %{libdir}/libboost_graph*.so.*
185 package %{name}-iostreams
186 summary = Run-Time component of boost iostreams library.
188 Run-Time support for Boost.IOStreams, a framework for defining streams,
189 stream buffers and i/o filters.
193 %{libdir}/libboost_iostreams*.so.*
197 package %{name}-locale
198 summary = Run-Time component of boost locale library.
200 Run-Time support for Boost.Locale, a set of localization and Unicode
205 %{libdir}/libboost_locale*.so.*
210 summary = Math functions for boost TR1 library.
212 Run-Time support for C99 and C++ TR1 C-style Functions from math
213 portion of Boost.TR1.
217 %{libdir}/libboost_math*.so.*
221 package %{name}-program-options
222 summary = Run-Time component of boost program_options library.
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.
230 %{libdir}/libboost_program_options*.so.*
234 package %{name}-python
235 summary = Run-Time component of boost python library.
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.
245 %{libdir}/libboost_python.so.*
246 %{libdir}/libboost_python-mt.so.*
250 package %{name}-python3
251 summary = Run-Time component of boost python library for Python 3.
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.
261 %{libdir}/libboost_python3*.so.*
265 package %{name}-random
266 summary = Run-Time component of boost random library.
268 Run-Time support for boost random library.
272 %{libdir}/libboost_random*.so.*
276 package %{name}-regex
277 summary = Run-Time component of boost regular expression library.
279 Run-Time support for boost regular expression library.
283 %{libdir}/libboost_regex*.so.*
287 package %{name}-serialization
288 summary = Run-Time component of boost serialization library.
290 Run-Time support for serialization for persistence and marshaling.
294 %{libdir}/libboost_serialization*.so.*
295 %{libdir}/libboost_wserialization*so.*
299 package %{name}-signals
300 summary = Run-Time component of boost signals and slots library.
302 Run-Time support for managed signals & slots callback implementation.
306 %{libdir}/libboost_signals*.so.*
310 package %{name}-system
311 summary = Run-Time component of boost system support library.
313 Run-Time component of Boost operating system support library, including
314 the diagnostics support that will be part of the C++0x standard
319 %{libdir}/libboost_system*.so.*
324 summary = Run-Time component of boost test library.
326 Run-Time support for simple program testing, full unit testing, and for
327 program execution monitoring.
331 %{libdir}/libboost_prg_exec_monitor*.so.*
332 %{libdir}/libboost_unit_test_framework*.so.*
336 package %{name}-thread
337 summary = Run-Time component of boost thread library.
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.
346 %{libdir}/libboost_thread*.so.*
350 package %{name}-timer
351 summary = Run-Time component of boost timer library.
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.
359 %{libdir}/libboost_timer*.so.*
364 summary = Run-Time component of boost C99/C++ pre-processing library.
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.
372 %{libdir}/libboost_wave*.so.*
376 package %{name}-devel
379 requires = %{name} = %{thisver}
382 package %{name}-debuginfo