Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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