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='<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() { :; } |