Magellan Linux

Contents of /branches/R11-unstable/extras/boost/boost-1.56.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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