Gentoo Archives: gentoo-commits

From: "Diego Petteno (flameeyes)" <flameeyes@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/boost: boost-1.46.1-r1.ebuild metadata.xml boost-1.49.0-r1.ebuild boost-1.51.0-r1.ebuild ChangeLog boost-1.47.0.ebuild boost-1.35.0-r2.ebuild boost-1.47.0-r1.ebuild boost-1.39.0.ebuild boost-1.50.0-r2.ebuild boost-1.42.0-r1.ebuild boost-1.51.0.ebuild boost-1.37.0-r1.ebuild boost-1.42.0-r2.ebuild boost-1.50.0.ebuild boost-1.48.0-r2.ebuild boost-1.42.0.ebuild boost-1.35.0-r5.ebuild boost-1.41.0-r3.ebuild boost-1.45.0.ebuild
Date: Wed, 31 Oct 2012 16:32:47
Message-Id: 20121031163225.EE2E121600@flycatcher.gentoo.org
1 flameeyes 12/10/31 16:32:25
2
3 Modified: boost-1.46.1-r1.ebuild metadata.xml
4 boost-1.49.0-r1.ebuild ChangeLog
5 Added: boost-1.51.0-r1.ebuild
6 Removed: boost-1.47.0.ebuild boost-1.35.0-r2.ebuild
7 boost-1.47.0-r1.ebuild boost-1.39.0.ebuild
8 boost-1.50.0-r2.ebuild boost-1.42.0-r1.ebuild
9 boost-1.51.0.ebuild boost-1.37.0-r1.ebuild
10 boost-1.42.0-r2.ebuild boost-1.50.0.ebuild
11 boost-1.48.0-r2.ebuild boost-1.42.0.ebuild
12 boost-1.35.0-r5.ebuild boost-1.41.0-r3.ebuild
13 boost-1.45.0.ebuild
14 Log:
15 Unslotting. This removes a bunch of older packages that will not build on modern systems, keeps only three versions (stable, mostly-stable and masked). The new 1.51.0-r1 is designed so that it does not have to do any eselect or eselect-like trickery for the symlinks, also drops the tests (which are not working as expected anyway).
16
17 (Portage version: 2.2.0_alpha141/cvs/Linux x86_64, signed Manifest commit with key 1CD13C8AD4301342)
18
19 Revision Changes Path
20 1.8 dev-libs/boost/boost-1.46.1-r1.ebuild
21
22 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild?rev=1.8&view=markup
23 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild?rev=1.8&content-type=text/plain
24 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild?r1=1.7&r2=1.8
25
26 Index: boost-1.46.1-r1.ebuild
27 ===================================================================
28 RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v
29 retrieving revision 1.7
30 retrieving revision 1.8
31 diff -u -r1.7 -r1.8
32 --- boost-1.46.1-r1.ebuild 8 Jan 2012 11:42:28 -0000 1.7
33 +++ boost-1.46.1-r1.ebuild 31 Oct 2012 16:32:25 -0000 1.8
34 @@ -1,6 +1,6 @@
35 # Copyright 1999-2012 Gentoo Foundation
36 # Distributed under the terms of the GNU General Public License v2
37 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v 1.7 2012/01/08 11:42:28 hwoarang Exp $
38 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v 1.8 2012/10/31 16:32:25 flameeyes Exp $
39
40 EAPI="2"
41
42 @@ -12,7 +12,8 @@
43 HOMEPAGE="http://www.boost.org/"
44 SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
45 LICENSE="Boost-1.0"
46 -SLOT="$(get_version_component_range 1-2)"
47 +SLOT=0
48 +MAJOR_V="$(get_version_component_range 1-2)"
49 IUSE="debug doc +eselect icu mpi python static-libs test tools"
50
51 KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
52 @@ -24,11 +25,11 @@
53 !!<=dev-libs/boost-1.35.0-r2
54 >=app-admin/eselect-boost-0.3"
55 DEPEND="${RDEPEND}
56 - dev-util/boost-build:${SLOT}"
57 + =dev-util/boost-build-${MAJOR_V}*"
58
59 S=${WORKDIR}/${MY_P}
60
61 -MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
62 +MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
63 BJAM="bjam-${MAJOR_PV}"
64
65 # Usage:
66
67
68
69 1.19 dev-libs/boost/metadata.xml
70
71 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/metadata.xml?rev=1.19&view=markup
72 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/metadata.xml?rev=1.19&content-type=text/plain
73 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/metadata.xml?r1=1.18&r2=1.19
74
75 Index: metadata.xml
76 ===================================================================
77 RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/metadata.xml,v
78 retrieving revision 1.18
79 retrieving revision 1.19
80 diff -u -r1.18 -r1.19
81 --- metadata.xml 7 Sep 2012 22:33:53 -0000 1.18
82 +++ metadata.xml 31 Oct 2012 16:32:25 -0000 1.19
83 @@ -2,29 +2,18 @@
84 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
85 <pkgmetadata>
86 <herd>cpp</herd>
87 - <maintainer>
88 - <email>dev-zero@g.o</email>
89 - <name>Tiziano Müller</name>
90 - </maintainer>
91 - <maintainer>
92 - <email>SebastianLuther@×××.de</email>
93 - <name>Sebastian Luther</name>
94 - </maintainer>
95 - <maintainer>
96 - <email>arfrever.fta@×××××.com</email>
97 - <name>Arfrever Frehtes Taifersar Arahesis</name>
98 - </maintainer>
99 - <maintainer>
100 - <email>mgorny@g.o</email>
101 - <name>Michał Górny</name>
102 - </maintainer>
103 -<longdescription>
104 -Boost is a free peer-reviewed portable C++ source libraries.
105 -</longdescription>
106 -<use>
107 - <flag name='tools'>Build and install the boost tools (bcp, quickbook,
108 - inspect, wave)</flag>
109 - <flag name='eselect'>Run "eselect boost update" even if version is
110 - already selected</flag>
111 -</use>
112 + <use>
113 + <flag name='tools'>
114 + Build and install the boost tools (bcp, quickbook, inspect,
115 + wave)
116 + </flag>
117 + <flag name='eselect' restrict='&lt;dev-libs/boost-1.50.0-r2'>
118 + Run "eselect boost update" even if version is already selected
119 + </flag>
120 + <flag name='debug'>
121 + Build and install debug versions of the Boost libraries. These
122 + libraries are not used by default, and should not be used unless
123 + you're developing against Boost.
124 + </flag>
125 + </use>
126 </pkgmetadata>
127
128
129
130 1.11 dev-libs/boost/boost-1.49.0-r1.ebuild
131
132 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild?rev=1.11&view=markup
133 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild?rev=1.11&content-type=text/plain
134 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild?r1=1.10&r2=1.11
135
136 Index: boost-1.49.0-r1.ebuild
137 ===================================================================
138 RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v
139 retrieving revision 1.10
140 retrieving revision 1.11
141 diff -u -r1.10 -r1.11
142 --- boost-1.49.0-r1.ebuild 30 Oct 2012 23:11:53 -0000 1.10
143 +++ boost-1.49.0-r1.ebuild 31 Oct 2012 16:32:25 -0000 1.11
144 @@ -1,6 +1,6 @@
145 # Copyright 1999-2012 Gentoo Foundation
146 # Distributed under the terms of the GNU General Public License v2
147 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.10 2012/10/30 23:11:53 floppym Exp $
148 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.11 2012/10/31 16:32:25 flameeyes Exp $
149
150 EAPI="4"
151 PYTHON_DEPEND="python? *"
152 @@ -16,7 +16,8 @@
153 SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
154
155 LICENSE="Boost-1.0"
156 -SLOT="$(get_version_component_range 1-2)"
157 +SLOT=0
158 +MAJOR_V="$(get_version_component_range 1-2)"
159 KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
160 IUSE="debug doc +eselect icu mpi python static-libs test tools"
161
162 @@ -26,11 +27,11 @@
163 !!<=dev-libs/boost-1.35.0-r2
164 >=app-admin/eselect-boost-0.4"
165 DEPEND="${RDEPEND}
166 - dev-util/boost-build:${SLOT}"
167 + =dev-util/boost-build-${MAJOR_V}*"
168
169 S=${WORKDIR}/${MY_P}
170
171 -MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
172 +MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
173 BJAM="b2-${MAJOR_PV}"
174
175 # Usage:
176
177
178
179 1.269 dev-libs/boost/ChangeLog
180
181 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?rev=1.269&view=markup
182 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?rev=1.269&content-type=text/plain
183 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?r1=1.268&r2=1.269
184
185 Index: ChangeLog
186 ===================================================================
187 RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v
188 retrieving revision 1.268
189 retrieving revision 1.269
190 diff -u -r1.268 -r1.269
191 --- ChangeLog 30 Oct 2012 23:28:10 -0000 1.268
192 +++ ChangeLog 31 Oct 2012 16:32:25 -0000 1.269
193 @@ -1,6 +1,37 @@
194 # ChangeLog for dev-libs/boost
195 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
196 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.268 2012/10/30 23:28:10 floppym Exp $
197 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.269 2012/10/31 16:32:25 flameeyes Exp $
198 +
199 +*boost-1.51.0-r1 (31 Oct 2012)
200 +
201 + 31 Oct 2012; Diego E. Pettenò <flameeyes@g.o> +boost-1.51.0-r1.ebuild,
202 + -boost-1.35.0-r2.ebuild, -boost-1.35.0-r5.ebuild, -boost-1.37.0-r1.ebuild,
203 + -boost-1.39.0.ebuild, -boost-1.41.0-r3.ebuild, -boost-1.42.0-r1.ebuild,
204 + -boost-1.42.0-r2.ebuild, -boost-1.42.0.ebuild, -boost-1.45.0.ebuild,
205 + -boost-1.47.0-r1.ebuild, -boost-1.47.0.ebuild, -boost-1.48.0-r2.ebuild,
206 + -boost-1.50.0-r2.ebuild, -boost-1.50.0.ebuild, -boost-1.51.0.ebuild,
207 + -files/1.35-remove-hardlink-creation.patch,
208 + -files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch,
209 + -files/boost-1.41.0-iostreams-missing-include-guard.patch,
210 + -files/boost-1.41.0-mpi_process_group-missing-include.patch,
211 + -files/boost-1.41.0-parameter-needs-python.patch,
212 + -files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch,
213 + -files/boost-1.42.0-gcc45-python.patch,
214 + -files/boost-1.42.0-parameter-needs-python.patch,
215 + -files/boost-1.42.0-template_arity-gcc45.patch,
216 + -files/boost-1.47.0-exceptions.patch, -files/boost-1.48.0-BOOST_FOREACH.patch,
217 + -files/boost-1.48.0-gcc47.patch, -files/buildid-fix.patch,
218 + -files/random-Jamfile, -files/random-Jamfile-1.45.0,
219 + -files/random-Jamfile-1.47.0, -files/remove-toolset-1.41.0.patch,
220 + -files/remove-toolset-1.42.0.patch, -files/remove-toolset-1.45.0.patch,
221 + -files/remove-toolset-1.47.0.patch,
222 + -files/remove_toolset_from_targetname.patch, boost-1.46.1-r1.ebuild,
223 + boost-1.49.0-r1.ebuild, metadata.xml:
224 + Unslotting. This removes a bunch of older packages that will not build on
225 + modern systems, keeps only three versions (stable, mostly-stable and masked).
226 + The new 1.51.0-r1 is designed so that it does not have to do any eselect or
227 + eselect-like trickery for the symlinks, also drops the tests (which are not
228 + working as expected anyway).
229
230 30 Oct 2012; Mike Gilbert <floppym@g.o> boost-1.51.0.ebuild:
231 Remove python_mod_optimize call; boost_1_51 does not exist in site-packages.
232
233
234
235 1.1 dev-libs/boost/boost-1.51.0-r1.ebuild
236
237 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild?rev=1.1&view=markup
238 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild?rev=1.1&content-type=text/plain
239
240 Index: boost-1.51.0-r1.ebuild
241 ===================================================================
242 # Copyright 1999-2012 Gentoo Foundation
243 # Distributed under the terms of the GNU General Public License v2
244 # $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild,v 1.1 2012/10/31 16:32:25 flameeyes Exp $
245
246 EAPI="5"
247 PYTHON_DEPEND="python? *"
248 SUPPORT_PYTHON_ABIS="1"
249 RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
250
251 inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator
252
253 MY_P=${PN}_$(replace_all_version_separators _)
254
255 DESCRIPTION="Boost Libraries for C++"
256 HOMEPAGE="http://www.boost.org/"
257 SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
258
259 LICENSE="Boost-1.0"
260 SLOT=0
261 MAJOR_V="$(get_version_component_range 1-2)"
262 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
263 IUSE="debug doc icu mpi python static-libs tools"
264
265 RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
266 !icu? ( virtual/libiconv )
267 mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
268 sys-libs/zlib
269 !app-admin/eselect-boost"
270 DEPEND="${RDEPEND}
271 =dev-util/boost-build-${MAJOR_V}*"
272
273 S=${WORKDIR}/${MY_P}
274
275 MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
276 BJAM="b2-${MAJOR_PV}"
277
278 create_user-config.jam() {
279 local compiler compiler_version compiler_executable
280
281 if [[ ${CHOST} == *-darwin* ]]; then
282 compiler="darwin"
283 compiler_version="$(gcc-fullversion)"
284 compiler_executable="$(tc-getCXX)"
285 else
286 compiler="gcc"
287 compiler_version="$(gcc-version)"
288 compiler_executable="$(tc-getCXX)"
289 fi
290 local mpi_configuration python_configuration
291
292 if use mpi; then
293 mpi_configuration="using mpi ;"
294 fi
295
296 if use python; then
297 python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
298 fi
299
300 cat > user-config.jam << __EOF__
301 using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
302 ${mpi_configuration}
303 ${python_configuration}
304 __EOF__
305 }
306
307 pkg_setup() {
308 if use python; then
309 python_pkg_setup
310 fi
311 }
312
313 src_prepare() {
314 epatch \
315 "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
316 "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
317 "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
318 "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
319 "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
320 "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
321 "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
322 "${FILESDIR}/remove-toolset-1.48.0.patch"
323 }
324
325 src_configure() {
326 OPTIONS=""
327
328 if [[ ${CHOST} == *-darwin* ]]; then
329 # We need to add the prefix, and in two cases this exceeds, so prepare
330 # for the largest possible space allocation.
331 append-ldflags -Wl,-headerpad_max_install_names
332 fi
333
334 # bug 298489
335 if use ppc || use ppc64; then
336 [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
337 fi
338
339 use icu && OPTIONS+=" -sICU_PATH=/usr"
340 use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
341 use mpi || OPTIONS+=" --without-mpi"
342 use python || OPTIONS+=" --without-python"
343
344 # https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
345 if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
346 OPTIONS+=" --disable-long-double"
347 fi
348
349 OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
350
351 if use static-libs; then
352 LINK_OPTS="link=shared,static"
353 LIBRARY_TARGETS="*.a *$(get_libname)"
354 else
355 LINK_OPTS="link=shared"
356 # There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
357 LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
358 fi
359 }
360
361 src_compile() {
362 export BOOST_ROOT="${S}"
363 PYTHON_DIRS=""
364 MPI_PYTHON_MODULE=""
365 NUMJOBS="-j$(makeopts_jobs)"
366
367 building() {
368 create_user-config.jam
369
370 einfo "Using the following command to build:"
371 einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} $(use python && echo --python-buildid=${PYTHON_ABI})"
372
373 ${BJAM} ${NUMJOBS} -q -d+2 \
374 gentoorelease \
375 --user-config=user-config.jam \
376 ${OPTIONS} threading=single,multi ${LINK_OPTS} \
377 $(use python && echo --python-buildid=${PYTHON_ABI}) \
378 || die "Building of Boost libraries failed"
379
380 # ... and do the whole thing one more time to get the debug libs
381 if use debug; then
382 einfo "Using the following command to build:"
383 einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
384
385 ${BJAM} ${NUMJOBS} -q -d+2 \
386 gentoodebug \
387 --user-config=user-config.jam \
388 ${OPTIONS} threading=single,multi ${LINK_OPTS} \
389 --buildid=debug \
390 $(use python && echo --python-buildid=${PYTHON_ABI}) \
391 || die "Building of Boost debug libraries failed"
392 fi
393
394 if use python; then
395 if [[ -z "${PYTHON_DIRS}" ]]; then
396 PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
397 else
398 if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
399 die "Inconsistent structure of build directories"
400 fi
401 fi
402
403 local dir
404 for dir in ${PYTHON_DIRS}; do
405 mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
406 done
407
408 if use mpi; then
409 if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
410 MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
411 if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
412 die "Multiple mpi.so files found"
413 fi
414 else
415 if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
416 die "Inconsistent structure of build directories"
417 fi
418 fi
419
420 mv stage/lib/mpi.so stage/lib/mpi.so-${PYTHON_ABI} || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${PYTHON_ABI}' failed"
421 fi
422 fi
423 }
424 if use python; then
425 python_execute_function building
426 else
427 building
428 fi
429
430 if use tools; then
431 pushd tools > /dev/null || die
432 einfo "Using the following command to build the tools:"
433 einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
434
435 ${BJAM} ${NUMJOBS} -q -d+2\
436 gentoorelease \
437 --user-config=../user-config.jam \
438 ${OPTIONS} \
439 || die "Building of Boost tools failed"
440 popd > /dev/null || die
441 fi
442 }
443
444 src_install () {
445 installation() {
446 create_user-config.jam
447
448 if use python; then
449 local dir
450 for dir in ${PYTHON_DIRS}; do
451 cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
452 done
453
454 if use mpi; then
455 cp -p stage/lib/mpi.so-${PYTHON_ABI} "${MPI_PYTHON_MODULE}" || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to '${MPI_PYTHON_MODULE}' failed"
456 cp -p stage/lib/mpi.so-${PYTHON_ABI} stage/lib/mpi.so || die "Copying of 'stage/lib/mpi.so-${PYTHON_ABI}' to 'stage/lib/mpi.so' failed"
457 fi
458 fi
459
460 einfo "Using the following command to install:"
461 einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
462
463 ${BJAM} -q -d+2 \
464 gentoorelease \
465 --user-config=user-config.jam \
466 ${OPTIONS} threading=single,multi ${LINK_OPTS} \
467 --includedir="${D}usr/include" \
468 --libdir="${D}usr/$(get_libdir)" \
469 $(use python && echo --python-buildid=${PYTHON_ABI}) \
470 install || die "Installation of Boost libraries failed"
471
472 if use debug; then
473 einfo "Using the following command to install:"
474 einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
475
476 ${BJAM} -q -d+2 \
477 gentoodebug \
478 --user-config=user-config.jam \
479 ${OPTIONS} threading=single,multi ${LINK_OPTS} \
480 --includedir="${D}usr/include" \
481 --libdir="${D}usr/$(get_libdir)" \
482 --buildid=debug \
483 $(use python && echo --python-buildid=${PYTHON_ABI}) \
484 install || die "Installation of Boost debug libraries failed"
485 fi
486
487 if use python; then
488 rm -r ${PYTHON_DIRS} || die
489
490 # Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
491 if use mpi; then
492 mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
493 mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
494 cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
495 import sys
496 if sys.platform.startswith('linux'):
497 import DLFCN
498 flags = sys.getdlopenflags()
499 sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
500 from . import mpi
501 sys.setdlopenflags(flags)
502 del DLFCN, flags
503 else:
504 from . import mpi
505 del sys
506 EOF
507 fi
508 fi
509 }
510 if use python; then
511 python_execute_function installation
512 else
513 installation
514 fi
515
516 use python || rm -rf "${D}usr/include/boost"/python* || die
517
518 if use doc; then
519 find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
520 dohtml \
521 -A pdf,txt,cpp,hpp \
522 *.{htm,html,png,css} \
523 -r doc
524 dohtml \
525 -A pdf,txt \
526 -r tools
527 insinto /usr/share/doc/${PF}/html
528 doins -r libs
529 doins -r more
530
531 # To avoid broken links
532 insinto /usr/share/doc/${PF}/html
533 doins LICENSE_1_0.txt
534
535 dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
536 fi
537
538 dosym boost-${MAJOR_PV}/boost /usr/include/boost
539
540 pushd "${D}usr/$(get_libdir)" > /dev/null || die
541
542 # The threading libs obviously always gets the "-mt" (multithreading) tag
543 # some packages seem to have a problem with it. Creating symlinks...
544
545 if use static-libs; then
546 THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
547 else
548 THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
549 fi
550 local lib
551 for lib in ${THREAD_LIBS}; do
552 dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
553 done
554
555 # The same goes for the mpi libs
556 if use mpi; then
557 if use static-libs; then
558 MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
559 else
560 MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
561 fi
562 local lib
563 for lib in ${MPI_LIBS}; do
564 dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
565 done
566 fi
567
568 if use debug; then
569 if use static-libs; then
570 THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
571 else
572 THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
573 fi
574
575 local lib
576 for lib in ${THREAD_DEBUG_LIBS}; do
577 dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
578 done
579
580 if use mpi; then
581 if use static-libs; then
582 MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
583 else
584 MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
585 fi
586
587 local lib
588 for lib in ${MPI_DEBUG_LIBS}; do
589 dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
590 done
591 fi
592 fi
593
594 local f
595 for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
596 dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
597 done
598
599 if use debug; then
600 dodir /usr/$(get_libdir)/boost-debug
601 local f
602 for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
603 dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
604 done
605 fi
606
607 popd > /dev/null || die
608
609 if use tools; then
610 pushd dist/bin > /dev/null || die
611 # Append version postfix to binaries for slotting
612 local b
613 for b in *; do
614 newbin "${b}" "${b}-${MAJOR_PV}"
615 done
616 popd > /dev/null || die
617
618 pushd dist > /dev/null || die
619 insinto /usr/share
620 doins -r share/boostbook
621 # Append version postfix for slotting
622 mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
623 popd > /dev/null || die
624 fi
625
626 pushd status > /dev/null || die
627 if [[ -f regress.log ]]; then
628 docinto status
629 dohtml *.html ../boost.png
630 dodoc regress.log
631 fi
632 popd > /dev/null || die
633
634 # boost's build system truely sucks for not having a destdir. Because for
635 # this reason we are forced to build with a prefix that includes the
636 # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
637 # DESTROOT instread of the actual EPREFIX. There is no way out of here
638 # but to do it the dirty way of manually setting the right install_names.
639 if [[ ${CHOST} == *-darwin* ]]; then
640 einfo "Working around completely broken build-system(tm)"
641 local d
642 for d in "${ED}"usr/lib/*.dylib; do
643 if [[ -f ${d} ]]; then
644 # fix the "soname"
645 ebegin " correcting install_name of ${d#${ED}}"
646 install_name_tool -id "/${d#${D}}" "${d}"
647 eend $?
648 # fix references to other libs
649 refs=$(otool -XL "${d}" | \
650 sed -e '1d' -e 's/^\t//' | \
651 grep "^libboost_" | \
652 cut -f1 -d' ')
653 local r
654 for r in ${refs}; do
655 ebegin " correcting reference to ${r}"
656 install_name_tool -change \
657 "${r}" \
658 "${EPREFIX}/usr/lib/${r}" \
659 "${d}"
660 eend $?
661 done
662 fi
663 done
664 fi
665 }
666
667 # the tests will never fail because these are not intended as sanity
668 # tests at all. They are more a way for upstream to check their own code
669 # on new compilers. Since they would either be completely unreliable
670 # (failing for no good reason) or completely useless (never failing)
671 # there is no point in having them in the ebuild to begin with.
672 src_test() { :; }