Magellan Linux

Contents of /branches/R11-stable/extras/boost/boost-1.55.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21701 - (show annotations) (download)
Mon Jul 21 09:35:25 2014 UTC (9 years, 9 months ago) by niro
File size: 11455 byte(s)
-release branches/R11-stable
1 # $Id$
2
3 PNAME="boost"
4 PVER="1.55.0"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="boost-system
8 boost-regex
9 boost-atomic
10 boost-chrono
11 boost-context
12 boost-date-time
13 boost-filesystem
14 boost-graph
15 boost-iostreams
16 boost-locale
17 boost-log
18 boost-math
19 boost-program-options
20 boost-python
21 boost-random
22 boost-serialization
23 boost-signals
24 boost-test
25 boost-thread
26 boost-timer
27 boost-wave
28 boost-jam
29 boost-build
30 boost
31 boost-doc
32 boost-examples"
33
34 PCAT="dev-libs"
35 HOMEPAGE="http://www.boost.org/"
36
37 COMMON_DEPEND=">= sys-libs/libstdc++-4.8"
38 BZIP_DEPEND=">= app-arch/bzip2-1.0.6"
39 ZLIB_DEPEND=">= sys-libs/zlib-1.2"
40 PYTHON_DEPEND=">= dev-lang/python-2.7"
41 ICU_DEPEND=">= dev-libs/icu-50"
42
43 SDEPEND="${COMMON_DEPEND}
44 ${BZIP_DEPEND}
45 ${ZLIB_DEPEND}
46 ${PYTHON_DEPEND}
47 ${ICU_DEPEND}"
48
49 SRCFILE="${PNAME}_$(echo ${PVER} | sed "s:\.:_:g").tar.bz2"
50 SRCDIR="${BUILDDIR}/${PNAME}_$(echo ${PVER} | sed "s:\.:_:g")"
51
52 sminclude python mbuild mtools
53 msetfeature "!check"
54
55 SRC_URI=(
56 sourceforge://${PNAME}/${SRCFILE}
57 mirror://${PNAME}/${SRCFILE}
58 )
59
60 UP2SEPERATOR="_"
61 UP2DATE="updatecmd_sourceforge ${PNAME} | sed 's:_:.:g'"
62
63 # install_boost_lib ${name}
64 install_boost_lib()
65 {
66 local name="$1"
67 local libname
68 [[ -z ${name} ]] && die "no name given"
69 # replace all - with _
70 libname="${name//-/_}"
71
72 minstalldir /usr/$(mlibdir) || die
73
74 # install normal libs if tehy exist
75 if [ -f stage/lib/lib${libname}.so.${PVER} ]
76 then
77 minstallexec stage/lib/lib${libname}.so.${PVER} /usr/$(mlibdir) || die
78 mlink lib${libname}.so.${PVER} /usr/$(mlibdir)/lib${libname}.so || die
79 else
80 echo -e "${COLYELLOW}No normal lib for '${libname}' found!${COLDEFAULT}"
81 fi
82
83 # install multithread libs if they exist
84 if [ -f stage/lib/lib${libname}-mt.so.${PVER} ]
85 then
86 minstallexec stage/lib/lib${libname}-mt.so.${PVER} /usr/$(mlibdir) || die
87 mlink lib${libname}-mt.so.${PVER} /usr/$(mlibdir)/lib${libname}-mt.so || die
88 else
89 echo -e "${COLYELLOW}No multithreading lib for '${libname}' found!${COLDEFAULT}"
90 fi
91
92 minstalldocs LICENSE_1_0.txt || die
93 }
94
95 split_info_boost-atomic()
96 {
97 DESCRIPTION="Run-Time component of boost atomic library."
98 DEPEND="${COMMON_DEPEND}"
99 }
100
101 split_info_boost-chrono()
102 {
103 DESCRIPTION="Run-Time component of boost chrono library."
104 DEPEND="${COMMON_DEPEND}
105 == dev-libs/boost-system-${PVER}"
106 }
107
108 split_info_boost-context()
109 {
110 DESCRIPTION="Run-Time component of boost context library."
111 DEPEND="${COMMON_DEPEND}"
112 }
113
114 split_info_boost-date-time()
115 {
116 DESCRIPTION="Run-Time component of boost date-time library."
117 DEPEND="${COMMON_DEPEND}"
118 }
119
120 split_info_boost-filesystem()
121 {
122 DESCRIPTION="Run-Time component of boost filesystem library."
123 DEPEND="${COMMON_DEPEND}
124 == dev-libs/boost-system-${PVER}"
125 }
126
127 split_info_boost-graph()
128 {
129 DESCRIPTION="Run-Time component of boost graph library."
130 DEPEND="${COMMON_DEPEND}
131 ${ICU_DEPEND}
132 == dev-libs/boost-regex-${PVER}"
133 }
134
135 split_info_boost-iostreams()
136 {
137 DESCRIPTION="Run-Time component of boost iostreams library."
138 DEPEND="${COMMON_DEPEND}
139 ${BZIP_DEPEND}
140 ${ZLIB_DEPEND}"
141 }
142
143 split_info_boost-locale()
144 {
145 DESCRIPTION="Run-Time component of boost locale library."
146 DEPEND="${COMMON_DEPEND}
147 ${ICU_DEPEND}"
148 }
149
150 split_info_boost-log()
151 {
152 DESCRIPTION="Run-Time component of boost log library."
153 DEPEND="${COMMON_DEPEND}"
154 }
155
156 split_info_boost-math()
157 {
158 DESCRIPTION="Math functions for boost TR1/C99 library."
159 DEPEND="${COMMON_DEPEND}"
160 }
161
162 split_info_boost-program-options()
163 {
164 DESCRIPTION="Run-Time component of boost program_options library."
165 DEPEND="${COMMON_DEPEND}"
166 }
167
168 split_info_boost-python()
169 {
170 DESCRIPTION="Run-Time component of boost python library."
171 DEPEND="${COMMON_DEPEND}
172 ${PYTHON_DEPEND}"
173 }
174
175 split_info_boost-random()
176 {
177 DESCRIPTION="Run-Time component of boost random library."
178 DEPEND="${COMMON_DEPEND}"
179 }
180
181 split_info_boost-regex()
182 {
183 DESCRIPTION="Run-Time component of boost regex library."
184 DEPEND="${COMMON_DEPEND}
185 ${ICU_DEPEND}"
186 }
187
188 split_info_boost-serialization()
189 {
190 DESCRIPTION="Run-Time component of boost serialization library."
191 DEPEND="${COMMON_DEPEND}"
192 }
193
194 split_info_boost-signals()
195 {
196 DESCRIPTION="Run-Time component of boost signals and slots library."
197 DEPEND="${COMMON_DEPEND}"
198 }
199
200 split_info_boost-system()
201 {
202 DESCRIPTION="Run-Time component of boost system support library."
203 DEPEND="${COMMON_DEPEND}"
204 }
205
206 split_info_boost-test()
207 {
208 DESCRIPTION="Run-Time component of boost test library."
209 DEPEND="${COMMON_DEPEND}"
210 }
211
212 split_info_boost-thread()
213 {
214 DESCRIPTION="Run-Time component of boost thead library."
215 DEPEND="${COMMON_DEPEND}"
216 }
217
218 split_info_boost-timer()
219 {
220 DESCRIPTION="Run-Time component of boost timer library."
221 DEPEND="${COMMON_DEPEND}
222 == dev-libs/boost-system-${PVER}
223 == dev-libs/boost-chrono-${PVER}"
224 }
225
226 split_info_boost-wave()
227 {
228 DESCRIPTION="Run-Time component of boost C99/C++ pre-processing library."
229 DEPEND="${COMMON_DEPEND}
230 == dev-libs/boost-system-${PVER}
231 == dev-libs/boost-date-time-${PVER}
232 == dev-libs/boost-filesystem-${PVER}
233 == dev-libs/boost-thread-${PVER}"
234 }
235
236 split_info_boost-doc()
237 {
238 DESCRIPTION="HTML documentation for the Boost C++ libraries."
239 DEPEND=""
240 }
241
242 split_info_boost-examples()
243 {
244 DESCRIPTION="Source examples for the Boost C++ libraries"
245 DEPEND=">= dev-libs/boost-${PVER}"
246 }
247
248 split_info_boost-jam()
249 {
250 PCAT="dev-util"
251 DESCRIPTION="Boost.Jam is an alternative to make based on Jam."
252 DEPEND="${COMMON_DEPEND}"
253 }
254
255 split_info_boost-build()
256 {
257 PCAT="dev-util"
258 DESCRIPTION="Cross platform build system for C++ projects."
259 DEPEND="== dev-util/boost-jam-${PVER}"
260 }
261
262 split_info_boost()
263 {
264 DESCRIPTION="Boost provides free peer-reviewed portable C++ source libraries."
265 DEPEND="== dev-libs/boost-system-${PVER}
266 == dev-libs/boost-regex-${PVER}
267 == dev-libs/boost-atomic-${PVER}
268 == dev-libs/boost-chrono-${PVER}
269 == dev-libs/boost-context-${PVER}
270 == dev-libs/boost-date-time-${PVER}
271 == dev-libs/boost-filesystem-${PVER}
272 == dev-libs/boost-graph-${PVER}
273 == dev-libs/boost-iostreams-${PVER}
274 == dev-libs/boost-locale-${PVER}
275 == dev-libs/boost-log-${PVER}
276 == dev-libs/boost-math-${PVER}
277 == dev-libs/boost-program-options-${PVER}
278 == dev-libs/boost-python-${PVER}
279 == dev-libs/boost-random-${PVER}
280 == dev-libs/boost-test-${PVER}
281 == dev-libs/boost-signals-${PVER}
282 == dev-libs/boost-test-${PVER}
283 == dev-libs/boost-thread-${PVER}
284 == dev-libs/boost-timer-${PVER}
285 == dev-libs/boost-wave-${PVER}
286 == dev-util/boost-jam-${PVER}
287 == dev-util/boost-build-${PVER}"
288 }
289
290 src_compile()
291 {
292 # bjam builded with gcc-4.2 segfaults without '-fno-strict-aliasing'
293 # see: http://svn.boost.org/trac/boost/ticket/977
294 export CFLAGS="${CFLAGS} -fno-strict-aliasing"
295 export CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
296
297 # first build bjam (must use cc not gcc to use our modified cflags)
298 cd ${SRCDIR}/tools/build/v2/engine
299 ./build.sh cc || die
300
301 # find bjam exec
302 local bjam=$(find ${SRCDIR}/tools/build/v2/engine -name bjam -a -type f)
303
304 # build bcp
305 cd ${SRCDIR}/tools/bcp
306 ${bjam} || die
307
308 # build boost libraries
309 # --layout=tagged will add the "-mt" suffix for multithreaded libraries
310 # and installs includes in /usr/include/boost.
311 # --layout=system no longer adds the -mt suffix for multi-threaded libs.
312 cd ${SRCDIR}
313 ${bjam} \
314 variant=release \
315 debug-symbols=off \
316 runtime-link=shared \
317 link=shared \
318 threading=multi \
319 python=$(get_python_version) \
320 toolset=gcc \
321 --prefix=${BINDIR}/usr \
322 --layout=system \
323 || die
324
325 # build pyste
326 cd ${SRCDIR}/libs/python/pyste/install
327 python_docompile || die
328 }
329
330 src_install_boost-atomic()
331 {
332 cd ${SRCDIR}
333 install_boost_lib "${PNAME}" || die
334 }
335
336 src_install_boost-chrono()
337 {
338 cd ${SRCDIR}
339 install_boost_lib "${PNAME}" || die
340 }
341
342 src_install_boost-context()
343 {
344 cd ${SRCDIR}
345 install_boost_lib "${PNAME}" || die
346 }
347
348 src_install_boost-date-time()
349 {
350 cd ${SRCDIR}
351 install_boost_lib "${PNAME}" || die
352 }
353
354 src_install_boost-filesystem()
355 {
356 cd ${SRCDIR}
357 install_boost_lib "${PNAME}" || die
358 }
359
360 src_install_boost-graph()
361 {
362 cd ${SRCDIR}
363 install_boost_lib "${PNAME}" || die
364 }
365
366 src_install_boost-iostreams()
367 {
368 cd ${SRCDIR}
369 install_boost_lib "${PNAME}" || die
370 }
371
372 src_install_boost-locale()
373 {
374 cd ${SRCDIR}
375 install_boost_lib "${PNAME}" || die
376 }
377
378 src_install_boost-log()
379 {
380 cd ${SRCDIR}
381 install_boost_lib "${PNAME}" || die
382 install_boost_lib "${PNAME}_setup" || die
383 }
384
385 src_install_boost-math()
386 {
387 cd ${SRCDIR}
388 install_boost_lib "${PNAME}_c99" || die
389 install_boost_lib "${PNAME}_c99f" || die
390 install_boost_lib "${PNAME}_c99l" || die
391 install_boost_lib "${PNAME}_tr1" || die
392 install_boost_lib "${PNAME}_tr1f" || die
393 install_boost_lib "${PNAME}_tr1l" || die
394 }
395
396 src_install_boost-program-options()
397 {
398 cd ${SRCDIR}
399 install_boost_lib "${PNAME}" || die
400 }
401
402 src_install_boost-python()
403 {
404 cd ${SRCDIR}
405 install_boost_lib "${PNAME}" || die
406 }
407
408 src_install_boost-random()
409 {
410 cd ${SRCDIR}
411 install_boost_lib "${PNAME}" || die
412 }
413
414 src_install_boost-regex()
415 {
416 cd ${SRCDIR}
417 install_boost_lib "${PNAME}" || die
418 }
419
420 src_install_boost-serialization()
421 {
422 cd ${SRCDIR}
423 install_boost_lib "${PNAME}" || die
424 install_boost_lib "boost_wserialization" || die
425 }
426
427 src_install_boost-signals()
428 {
429 cd ${SRCDIR}
430 install_boost_lib "${PNAME}" || die
431 }
432
433 src_install_boost-system()
434 {
435 cd ${SRCDIR}
436 install_boost_lib "${PNAME}" || die
437 }
438
439 src_install_boost-test()
440 {
441 cd ${SRCDIR}
442 install_boost_lib "boost_prg_exec_monitor" || die
443 install_boost_lib "boost_unit_test_framework" || die
444 }
445
446 src_install_boost-thread()
447 {
448 cd ${SRCDIR}
449 install_boost_lib "${PNAME}" || die
450 }
451
452 src_install_boost-timer()
453 {
454 cd ${SRCDIR}
455 install_boost_lib "${PNAME}" || die
456 }
457
458 src_install_boost-wave()
459 {
460 cd ${SRCDIR}
461 install_boost_lib "${PNAME}" || die
462 }
463
464 src_install_boost-jam()
465 {
466 cd ${SRCDIR}
467
468 # find bjam exec
469 local bjam=$(find ${SRCDIR}/tools/build/v2/engine -name bjam -a -type f)
470 minstallexec ${bjam} || die
471
472 minstalldocs LICENSE_1_0.txt || die
473 }
474
475 src_install_boost-build()
476 {
477 cd ${SRCDIR}
478 minstalldir /usr/share || die
479 mcopy -a tools/build /usr/share/boost-build || die
480
481 # cleanup things provided by other packages
482 mdelete -r /usr/share/boost-build/v2/doc || die
483 mdelete -r /usr/share/boost-build/v2/example || die
484
485 # cleanup uneccessary stuff
486 mdelete -r /usr/share/boost-build/v2/debian || die
487 mdelete -r /usr/share/boost-build/v2/notes || die
488 mdelete /usr/share/boost-build/v2/\*.txt || die
489
490 minstalldocs LICENSE_1_0.txt || die
491 minstalldocs tools/build/v2/*.txt || die
492 minstalldocs tools/build/v2/notes/*.txt || die
493 }
494
495 src_install_boost-doc()
496 {
497 cd ${SRCDIR}
498 minstalldir /usr/share/doc || die
499 mcopy -a doc/html /usr/share/doc/${PNAME}-${PVER} || die
500 }
501
502 src_install_boost-examples()
503 {
504 cd ${SRCDIR}
505 minstalldir /usr/share/doc || die
506 mcopy -a tools/build/v2/example /usr/share/doc/${PNAME}-${PVER} || die
507 minstalldocs LICENSE_1_0.txt || die
508 }
509
510 src_install_boost()
511 {
512 cd ${SRCDIR}
513
514 # find bjam exec
515 local bjam=$(find ${SRCDIR}/tools/build/v2/engine -name bjam -a -type f)
516
517 # install boost
518 ${bjam} \
519 variant=release \
520 debug-symbols=off \
521 runtime-link=shared \
522 link=shared \
523 threading=multi \
524 python=$(get_python_version) \
525 toolset=gcc \
526 --prefix=${BINDIR}/usr \
527 --libdir=${BINDIR}/usr/$(mlibdir) \
528 --layout=system \
529 install \
530 || die
531
532 # install bcp executables
533 minstallexec dist/bin/bcp || die
534
535 # install pyste
536 cd libs/python/pyste/install
537 python_doinstall || die
538
539 # install docs
540 cd ${SRCDIR}
541 minstalldocs LICENSE_1_0.txt README || die
542
543 # cleanup things provided by other packages
544 mdelete /usr/$(mlibdir)/libboost\*.so\* || die
545 mdelete /usr/$(mlibdir)/libboost\*.a || die
546 }