]>
Commit | Line | Data |
---|---|---|
e5ea083d | 1 | ############################################################################### |
802ea3af MT |
2 | # IPFire.org - An Open Source Firewall Solution # |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
e5ea083d MT |
4 | ############################################################################### |
5 | ||
802ea3af | 6 | name = boost |
998f9637 | 7 | ver_major = 1 |
2c4c677f | 8 | ver_minor = 80 |
998f9637 SS |
9 | ver_plevel = 0 |
10 | version = %{ver_major}.%{ver_minor}.%{ver_plevel} | |
5194fdec | 11 | release = 1 |
e5ea083d | 12 | |
802ea3af | 13 | groups = System/Libraries |
2c4c677f | 14 | url = https://www.boost.org/ |
802ea3af MT |
15 | license = Boost |
16 | summary = The Boost C++ Libraries. | |
e5ea083d | 17 | |
802ea3af MT |
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 | |
8c893619 | 23 | libraries are suitable for eventual standardization. |
802ea3af MT |
24 | end |
25 | ||
998f9637 | 26 | thisapp = %{name}_%{ver_major}_%{ver_minor}_%{ver_plevel} |
802ea3af | 27 | |
2c4c677f | 28 | source_dl = https://sourceforge.net/projects/boost/files/%{name}/%{version}/ |
802ea3af MT |
29 | |
30 | build | |
31 | requires | |
998f9637 | 32 | bzip2-devel |
802ea3af | 33 | gcc-c++ |
cbe7d7b5 | 34 | icu-devel |
998f9637 | 35 | python3-devel |
2c4c677f | 36 | xz-devel |
802ea3af | 37 | zlib-devel |
2c4c677f | 38 | zstd-devel |
802ea3af MT |
39 | end |
40 | ||
cbe7d7b5 SS |
41 | # Obtain python3 abiflags. |
42 | python3_abiflags = %(python3-config --abiflags) | |
43 | ||
5194fdec MT |
44 | CFLAGS += -I/usr/include/python%{python3_version}%{python3_abiflags} |
45 | CXXFLAGS += -I/usr/include/python%{python3_version}%{python3_abiflags} | |
46 | ||
998f9637 | 47 | configure_options = \ |
5194fdec | 48 | --layout=system \ |
998f9637 SS |
49 | --build-dir=serial \ |
50 | \ | |
51 | cflags="%{CFLAGS}" \ | |
52 | cxxflags="%{CXXFLAGS}" \ | |
5194fdec | 53 | linkflags="%{LDFLAGS}" \ |
998f9637 | 54 | variant=release \ |
5194fdec MT |
55 | threading=multi \ |
56 | runtime-link=shared \ | |
57 | link=shared,static \ | |
998f9637 | 58 | debug-symbols=on \ |
5194fdec | 59 | python=%{python3_version} \ |
998f9637 SS |
60 | pch=off |
61 | ||
802ea3af | 62 | prepare_cmds |
998f9637 | 63 | # Create build dir. |
802ea3af | 64 | mkdir -pv %{DIR_APP}/serial |
998f9637 SS |
65 | |
66 | # Bootstrap build environment. | |
5194fdec MT |
67 | ./bootstrap.sh --with-toolset=gcc --with-icu \ |
68 | --with-python=%{python3} | |
998f9637 | 69 | |
5194fdec MT |
70 | # Support for OpenMPI |
71 | echo "using mpi ;" >> project-config.jam | |
802ea3af MT |
72 | end |
73 | ||
74 | build | |
998f9637 SS |
75 | # Build boost. |
76 | ./b2 -d+2 -q %{PARALLELISMFLAGS} %{configure_options} stage | |
802ea3af MT |
77 | end |
78 | ||
79 | install | |
998f9637 SS |
80 | # Install boost. |
81 | ./b2 %{PARALLELISMFLAGS} %{configure_options} install \ | |
82 | --prefix=%{BUILDROOT}%{prefix} \ | |
83 | --libdir=%{BUILDROOT}%{libdir} | |
802ea3af MT |
84 | end |
85 | end | |
86 | ||
87 | packages | |
88 | package %{name} | |
998f9637 SS |
89 | requires |
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} | |
2c4c677f | 99 | boost-python3 = %{thisver} |
998f9637 SS |
100 | boost-random = %{thisver} |
101 | boost-regex = %{thisver} | |
102 | boost-serialization = %{thisver} | |
998f9637 SS |
103 | boost-system = %{thisver} |
104 | boost-test = %{thisver} | |
105 | boost-thread = %{thisver} | |
106 | boost-timer = %{thisver} | |
107 | boost-wave = %{thisver} | |
108 | end | |
109 | end | |
110 | ||
111 | package %{name}-chrono | |
112 | summary = Run-Time component of boost chrono library. | |
113 | description | |
114 | Run-Time support for Boost.Chrono, a set of useful time utilities. | |
115 | end | |
116 | ||
117 | files | |
118 | %{libdir}/libboost_chrono*.so.* | |
119 | end | |
120 | end | |
121 | ||
122 | package %{name}-context | |
123 | summary = Run-Time component of boost context library. | |
124 | description | |
125 | A foundational library that provides a sort of cooperative multitasking | |
126 | on asingle thread. | |
127 | end | |
128 | ||
129 | files | |
130 | %{libdir}/libboost_context*.so.* | |
131 | end | |
132 | end | |
133 | ||
134 | package %{name}-date-time | |
135 | summary = Run-Time component of boost date-time library. | |
136 | description | |
137 | Run-Time support for Boost Date Time, set of date-time libraries based | |
138 | on generic programming concepts. | |
139 | end | |
140 | ||
141 | files | |
142 | %{libdir}/libboost_date_time*.so.* | |
143 | end | |
144 | end | |
145 | ||
146 | package %{name}-filesystem | |
147 | summary = Run-Time component of boost filesystem library. | |
148 | description | |
149 | Run-Time support for the Boost Filesystem Library, which provides | |
150 | portable facilities to query and manipulate paths, files, and | |
151 | directories. | |
152 | end | |
153 | ||
154 | files | |
155 | %{libdir}/libboost_filesystem*.so.* | |
156 | end | |
157 | end | |
158 | ||
159 | package %{name}-graph | |
160 | summary = Run-Time component of boost graph library. | |
161 | description | |
162 | Run-Time support for the BGL graph library. BGL interface and graph | |
163 | components are generic, in the same sense as the the Standard Template | |
164 | Library (STL). | |
165 | end | |
166 | ||
167 | files | |
168 | %{libdir}/libboost_graph*.so.* | |
169 | end | |
170 | end | |
171 | ||
172 | package %{name}-iostreams | |
173 | summary = Run-Time component of boost iostreams library. | |
174 | description | |
175 | Run-Time support for Boost.IOStreams, a framework for defining streams, | |
176 | stream buffers and i/o filters. | |
177 | end | |
178 | ||
179 | files | |
180 | %{libdir}/libboost_iostreams*.so.* | |
181 | end | |
182 | end | |
183 | ||
184 | package %{name}-locale | |
185 | summary = Run-Time component of boost locale library. | |
186 | description | |
187 | Run-Time support for Boost.Locale, a set of localization and Unicode | |
188 | handling tools. | |
189 | end | |
190 | ||
191 | files | |
192 | %{libdir}/libboost_locale*.so.* | |
193 | end | |
194 | end | |
195 | ||
196 | package %{name}-math | |
197 | summary = Math functions for boost TR1 library. | |
198 | description | |
199 | Run-Time support for C99 and C++ TR1 C-style Functions from math | |
200 | portion of Boost.TR1. | |
201 | end | |
202 | ||
203 | files | |
204 | %{libdir}/libboost_math*.so.* | |
205 | end | |
206 | end | |
207 | ||
208 | package %{name}-program-options | |
209 | summary = Run-Time component of boost program_options library. | |
210 | description | |
211 | Run-Time support of boost program options library, which allows program | |
212 | developers to obtain (name, value) pairs from the user, via | |
213 | conventional methods such as command line and configuration file. | |
214 | end | |
215 | ||
216 | files | |
217 | %{libdir}/libboost_program_options*.so.* | |
218 | end | |
219 | end | |
220 | ||
998f9637 SS |
221 | package %{name}-python3 |
222 | summary = Run-Time component of boost python library for Python 3. | |
223 | description | |
224 | The Boost Python Library is a framework for interfacing Python and | |
225 | C++. It allows you to quickly and seamlessly expose C++ classes | |
226 | functions and objects to Python, and vice versa, using no special | |
227 | tools -- just your C++ compiler. This package contains run-time | |
228 | support for Boost Python Library compiled for Python 3. | |
229 | end | |
230 | ||
231 | files | |
232 | %{libdir}/libboost_python3*.so.* | |
233 | end | |
234 | end | |
235 | ||
236 | package %{name}-random | |
237 | summary = Run-Time component of boost random library. | |
238 | description | |
239 | Run-Time support for boost random library. | |
240 | end | |
241 | ||
242 | files | |
243 | %{libdir}/libboost_random*.so.* | |
244 | end | |
245 | end | |
246 | ||
247 | package %{name}-regex | |
248 | summary = Run-Time component of boost regular expression library. | |
249 | description | |
250 | Run-Time support for boost regular expression library. | |
251 | end | |
252 | ||
253 | files | |
254 | %{libdir}/libboost_regex*.so.* | |
255 | end | |
256 | end | |
257 | ||
258 | package %{name}-serialization | |
259 | summary = Run-Time component of boost serialization library. | |
260 | description | |
261 | Run-Time support for serialization for persistence and marshaling. | |
262 | end | |
263 | ||
264 | files | |
265 | %{libdir}/libboost_serialization*.so.* | |
266 | %{libdir}/libboost_wserialization*so.* | |
267 | end | |
268 | end | |
269 | ||
998f9637 SS |
270 | package %{name}-system |
271 | summary = Run-Time component of boost system support library. | |
272 | description | |
273 | Run-Time component of Boost operating system support library, including | |
274 | the diagnostics support that will be part of the C++0x standard | |
275 | library. | |
276 | end | |
277 | ||
278 | files | |
279 | %{libdir}/libboost_system*.so.* | |
280 | end | |
281 | end | |
282 | ||
283 | package %{name}-test | |
284 | summary = Run-Time component of boost test library. | |
285 | description | |
286 | Run-Time support for simple program testing, full unit testing, and for | |
287 | program execution monitoring. | |
288 | end | |
289 | ||
290 | files | |
291 | %{libdir}/libboost_prg_exec_monitor*.so.* | |
292 | %{libdir}/libboost_unit_test_framework*.so.* | |
293 | end | |
294 | end | |
295 | ||
296 | package %{name}-thread | |
297 | summary = Run-Time component of boost thread library. | |
298 | description | |
299 | Run-Time component Boost.Thread library, which provides classes and | |
300 | functions for managing multiple threads of execution, and for | |
301 | synchronizing data between the threads or providing separate copies of | |
302 | data specific to individual threads. | |
303 | end | |
304 | ||
305 | files | |
306 | %{libdir}/libboost_thread*.so.* | |
307 | end | |
308 | end | |
309 | ||
310 | package %{name}-timer | |
311 | summary = Run-Time component of boost timer library. | |
312 | description | |
313 | "How long does my C++ code take to run?" | |
314 | The Boost Timer library answers that question and does so portably, | |
315 | with as little as one #include and one additional line of code. | |
316 | end | |
317 | ||
318 | files | |
319 | %{libdir}/libboost_timer*.so.* | |
320 | end | |
321 | end | |
322 | ||
323 | package %{name}-wave | |
324 | summary = Run-Time component of boost C99/C++ pre-processing library. | |
325 | description | |
326 | Run-Time support for the Boost.Wave library, a Standards conforming, | |
327 | and highly configurable implementation of the mandated C99/C++ | |
328 | pre-processor functionality. | |
329 | end | |
330 | ||
331 | files | |
332 | %{libdir}/libboost_wave*.so.* | |
333 | end | |
334 | end | |
1f9bc2f0 | 335 | |
802ea3af MT |
336 | package %{name}-devel |
337 | template DEVEL | |
998f9637 SS |
338 | |
339 | requires = %{name} = %{thisver} | |
802ea3af | 340 | end |
1f9bc2f0 MT |
341 | |
342 | package %{name}-debuginfo | |
343 | template DEBUGINFO | |
344 | end | |
802ea3af | 345 | end |