Magellan Linux

Annotation of /trunk/extras/boost/boost-1.64.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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