1 |
hasufell 14/07/29 13:32:16 |
2 |
|
3 |
Modified: boost-1.53.0-r1.ebuild ChangeLog |
4 |
boost-1.55.0-r1.ebuild boost-1.54.0-r1.ebuild |
5 |
Added: boost-1.52.0-r7.ebuild |
6 |
Log: |
7 |
fix build with USE=-threads wrt #458404 |
8 |
|
9 |
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key BDEED020) |
10 |
|
11 |
Revision Changes Path |
12 |
1.5 dev-libs/boost/boost-1.53.0-r1.ebuild |
13 |
|
14 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild?rev=1.5&view=markup |
15 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild?rev=1.5&content-type=text/plain |
16 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild?r1=1.4&r2=1.5 |
17 |
|
18 |
Index: boost-1.53.0-r1.ebuild |
19 |
=================================================================== |
20 |
RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild,v |
21 |
retrieving revision 1.4 |
22 |
retrieving revision 1.5 |
23 |
diff -u -r1.4 -r1.5 |
24 |
--- boost-1.53.0-r1.ebuild 28 Apr 2014 07:20:08 -0000 1.4 |
25 |
+++ boost-1.53.0-r1.ebuild 29 Jul 2014 13:32:16 -0000 1.5 |
26 |
@@ -1,6 +1,6 @@ |
27 |
# Copyright 1999-2014 Gentoo Foundation |
28 |
# Distributed under the terms of the GNU General Public License v2 |
29 |
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild,v 1.4 2014/04/28 07:20:08 pinkbyte Exp $ |
30 |
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.53.0-r1.ebuild,v 1.5 2014/07/29 13:32:16 hasufell Exp $ |
31 |
|
32 |
EAPI="5" |
33 |
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) |
34 |
@@ -85,6 +85,7 @@ |
35 |
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" |
36 |
epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112 |
37 |
epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372 |
38 |
+ epatch "${FILESDIR}/${PN}-1.52.0-threads.patch" |
39 |
|
40 |
# Avoid a patch for now |
41 |
for file in libs/context/src/asm/*.S; do |
42 |
|
43 |
|
44 |
|
45 |
1.319 dev-libs/boost/ChangeLog |
46 |
|
47 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?rev=1.319&view=markup |
48 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?rev=1.319&content-type=text/plain |
49 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/ChangeLog?r1=1.318&r2=1.319 |
50 |
|
51 |
Index: ChangeLog |
52 |
=================================================================== |
53 |
RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v |
54 |
retrieving revision 1.318 |
55 |
retrieving revision 1.319 |
56 |
diff -u -r1.318 -r1.319 |
57 |
--- ChangeLog 23 Jun 2014 15:36:15 -0000 1.318 |
58 |
+++ ChangeLog 29 Jul 2014 13:32:16 -0000 1.319 |
59 |
@@ -1,6 +1,13 @@ |
60 |
# ChangeLog for dev-libs/boost |
61 |
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 |
62 |
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.318 2014/06/23 15:36:15 mgorny Exp $ |
63 |
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.319 2014/07/29 13:32:16 hasufell Exp $ |
64 |
+ |
65 |
+*boost-1.52.0-r7 (29 Jul 2014) |
66 |
+ |
67 |
+ 29 Jul 2014; Julian Ospald <hasufell@g.o> +boost-1.52.0-r7.ebuild, |
68 |
+ boost-1.53.0-r1.ebuild, boost-1.54.0-r1.ebuild, boost-1.55.0-r1.ebuild, |
69 |
+ +files/boost-1.52.0-threads.patch: |
70 |
+ fix build with USE=-threads wrt #458404 |
71 |
|
72 |
23 Jun 2014; Michał Górny <mgorny@g.o> boost-1.55.0-r1.ebuild: |
73 |
Enable python3.4. |
74 |
|
75 |
|
76 |
|
77 |
1.7 dev-libs/boost/boost-1.55.0-r1.ebuild |
78 |
|
79 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild?rev=1.7&view=markup |
80 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild?rev=1.7&content-type=text/plain |
81 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild?r1=1.6&r2=1.7 |
82 |
|
83 |
Index: boost-1.55.0-r1.ebuild |
84 |
=================================================================== |
85 |
RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild,v |
86 |
retrieving revision 1.6 |
87 |
retrieving revision 1.7 |
88 |
diff -u -r1.6 -r1.7 |
89 |
--- boost-1.55.0-r1.ebuild 23 Jun 2014 15:36:15 -0000 1.6 |
90 |
+++ boost-1.55.0-r1.ebuild 29 Jul 2014 13:32:16 -0000 1.7 |
91 |
@@ -1,6 +1,6 @@ |
92 |
# Copyright 1999-2014 Gentoo Foundation |
93 |
# Distributed under the terms of the GNU General Public License v2 |
94 |
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild,v 1.6 2014/06/23 15:36:15 mgorny Exp $ |
95 |
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.55.0-r1.ebuild,v 1.7 2014/07/29 13:32:16 hasufell Exp $ |
96 |
|
97 |
EAPI="5" |
98 |
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} ) |
99 |
@@ -91,7 +91,8 @@ |
100 |
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \ |
101 |
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \ |
102 |
"${FILESDIR}/${PN}-1.55.0-context-x32.patch" \ |
103 |
- "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" |
104 |
+ "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \ |
105 |
+ "${FILESDIR}/${PN}-1.52.0-threads.patch" |
106 |
|
107 |
epatch_user |
108 |
} |
109 |
|
110 |
|
111 |
|
112 |
1.5 dev-libs/boost/boost-1.54.0-r1.ebuild |
113 |
|
114 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild?rev=1.5&view=markup |
115 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild?rev=1.5&content-type=text/plain |
116 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild?r1=1.4&r2=1.5 |
117 |
|
118 |
Index: boost-1.54.0-r1.ebuild |
119 |
=================================================================== |
120 |
RCS file: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild,v |
121 |
retrieving revision 1.4 |
122 |
retrieving revision 1.5 |
123 |
diff -u -r1.4 -r1.5 |
124 |
--- boost-1.54.0-r1.ebuild 28 Apr 2014 07:20:08 -0000 1.4 |
125 |
+++ boost-1.54.0-r1.ebuild 29 Jul 2014 13:32:16 -0000 1.5 |
126 |
@@ -1,6 +1,6 @@ |
127 |
# Copyright 1999-2014 Gentoo Foundation |
128 |
# Distributed under the terms of the GNU General Public License v2 |
129 |
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild,v 1.4 2014/04/28 07:20:08 pinkbyte Exp $ |
130 |
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.54.0-r1.ebuild,v 1.5 2014/07/29 13:32:16 hasufell Exp $ |
131 |
|
132 |
EAPI="5" |
133 |
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) |
134 |
@@ -85,6 +85,7 @@ |
135 |
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" |
136 |
epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112 |
137 |
epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372 |
138 |
+ epatch "${FILESDIR}/${PN}-1.52.0-threads.patch" |
139 |
|
140 |
# Avoid a patch for now |
141 |
for file in libs/context/src/asm/*.S; do |
142 |
|
143 |
|
144 |
|
145 |
1.1 dev-libs/boost/boost-1.52.0-r7.ebuild |
146 |
|
147 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.52.0-r7.ebuild?rev=1.1&view=markup |
148 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/boost/boost-1.52.0-r7.ebuild?rev=1.1&content-type=text/plain |
149 |
|
150 |
Index: boost-1.52.0-r7.ebuild |
151 |
=================================================================== |
152 |
# Copyright 1999-2014 Gentoo Foundation |
153 |
# Distributed under the terms of the GNU General Public License v2 |
154 |
# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.52.0-r7.ebuild,v 1.1 2014/07/29 13:32:16 hasufell Exp $ |
155 |
|
156 |
EAPI="5" |
157 |
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) |
158 |
|
159 |
inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator |
160 |
|
161 |
MY_P=${PN}_$(replace_all_version_separators _) |
162 |
|
163 |
DESCRIPTION="Boost Libraries for C++" |
164 |
HOMEPAGE="http://www.boost.org/" |
165 |
SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2" |
166 |
|
167 |
LICENSE="Boost-1.0" |
168 |
MAJOR_V="$(get_version_component_range 1-2)" |
169 |
SLOT="0/${MAJOR_V}" |
170 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" |
171 |
IUSE="debug doc icu +nls mpi python static-libs +threads tools" |
172 |
|
173 |
RDEPEND="icu? ( >=dev-libs/icu-3.6:= ) |
174 |
!icu? ( virtual/libiconv ) |
175 |
mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) ) |
176 |
python? ( ${PYTHON_DEPS} ) |
177 |
app-arch/bzip2 |
178 |
sys-libs/zlib |
179 |
!app-admin/eselect-boost" |
180 |
DEPEND="${RDEPEND} |
181 |
=dev-util/boost-build-1.52.0-r1" |
182 |
|
183 |
S=${WORKDIR}/${MY_P} |
184 |
|
185 |
create_user-config.jam() { |
186 |
local compiler compiler_version compiler_executable |
187 |
|
188 |
if [[ ${CHOST} == *-darwin* ]]; then |
189 |
compiler="darwin" |
190 |
compiler_version="$(gcc-fullversion)" |
191 |
compiler_executable="$(tc-getCXX)" |
192 |
else |
193 |
compiler="gcc" |
194 |
compiler_version="$(gcc-version)" |
195 |
compiler_executable="$(tc-getCXX)" |
196 |
fi |
197 |
local mpi_configuration python_configuration |
198 |
|
199 |
if use mpi; then |
200 |
mpi_configuration="using mpi ;" |
201 |
fi |
202 |
|
203 |
if use python; then |
204 |
python_configuration="using python : : ${PYTHON} ;" |
205 |
fi |
206 |
|
207 |
cat > user-config.jam << __EOF__ |
208 |
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ; |
209 |
${mpi_configuration} |
210 |
${python_configuration} |
211 |
__EOF__ |
212 |
} |
213 |
|
214 |
pkg_setup() { |
215 |
# Bail out on unsupported build configuration, bug #456792 |
216 |
if [[ -f "${EROOT}etc/site-config.jam" ]]; then |
217 |
grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" || |
218 |
( |
219 |
eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets." |
220 |
eerror "Boost can not be built in such configuration." |
221 |
eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it." |
222 |
die |
223 |
) |
224 |
fi |
225 |
} |
226 |
|
227 |
src_prepare() { |
228 |
epatch \ |
229 |
"${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \ |
230 |
"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \ |
231 |
"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \ |
232 |
"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \ |
233 |
"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \ |
234 |
"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \ |
235 |
"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \ |
236 |
"${FILESDIR}/remove-toolset-1.48.0.patch" \ |
237 |
"${FILESDIR}/${PN}-1.52.0-tuple.patch" \ |
238 |
"${FILESDIR}/${P}-locale-utf.patch" \ |
239 |
"${FILESDIR}/${PN}-1.52.0-threads.patch" |
240 |
|
241 |
# Avoid a patch for now |
242 |
for file in libs/context/src/asm/*.S; do |
243 |
cat - >> $file <<EOF |
244 |
|
245 |
#if defined(__linux__) && defined(__ELF__) |
246 |
.section .note.GNU-stack,"",%progbits |
247 |
#endif |
248 |
EOF |
249 |
done |
250 |
|
251 |
epatch_user |
252 |
} |
253 |
|
254 |
ejam() { |
255 |
echo b2 "$@" |
256 |
b2 "$@" |
257 |
} |
258 |
|
259 |
src_configure() { |
260 |
OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam" |
261 |
|
262 |
if [[ ${CHOST} == *-darwin* ]]; then |
263 |
# We need to add the prefix, and in two cases this exceeds, so prepare |
264 |
# for the largest possible space allocation. |
265 |
append-ldflags -Wl,-headerpad_max_install_names |
266 |
fi |
267 |
|
268 |
# bug 298489 |
269 |
if use ppc || use ppc64; then |
270 |
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec |
271 |
fi |
272 |
|
273 |
# Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard. |
274 |
append-cxxflags -std=gnu++98 |
275 |
|
276 |
use icu && OPTIONS+=" -sICU_PATH=/usr" |
277 |
use icu || OPTIONS+=" --disable-icu boost.locale.icu=off" |
278 |
use mpi || OPTIONS+=" --without-mpi" |
279 |
use python || OPTIONS+=" --without-python" |
280 |
use nls || OPTIONS+=" --without-locale" |
281 |
|
282 |
OPTIONS+=" pch=off --boost-build=/usr/share/boost-build --prefix=\"${D}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared) --without-context" |
283 |
} |
284 |
|
285 |
src_compile() { |
286 |
export BOOST_ROOT="${S}" |
287 |
PYTHON_DIRS="" |
288 |
MPI_PYTHON_MODULE="" |
289 |
|
290 |
building() { |
291 |
create_user-config.jam |
292 |
|
293 |
ejam ${OPTIONS} \ |
294 |
$(use python && echo --python-buildid=${EPYTHON#python}) \ |
295 |
|| die "Building of Boost libraries failed" |
296 |
|
297 |
if use python; then |
298 |
if [[ -z "${PYTHON_DIRS}" ]]; then |
299 |
PYTHON_DIRS="$(find bin.v2/libs -name python | sort)" |
300 |
else |
301 |
if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then |
302 |
die "Inconsistent structure of build directories" |
303 |
fi |
304 |
fi |
305 |
|
306 |
local dir |
307 |
for dir in ${PYTHON_DIRS}; do |
308 |
mv ${dir} ${dir}-${EPYTHON} \ |
309 |
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed" |
310 |
done |
311 |
|
312 |
if use mpi; then |
313 |
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then |
314 |
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" |
315 |
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then |
316 |
die "Multiple mpi.so files found" |
317 |
fi |
318 |
else |
319 |
if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then |
320 |
die "Inconsistent structure of build directories" |
321 |
fi |
322 |
fi |
323 |
|
324 |
mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \ |
325 |
|| die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed" |
326 |
fi |
327 |
fi |
328 |
} |
329 |
if use python; then |
330 |
python_foreach_impl building |
331 |
else |
332 |
building |
333 |
fi |
334 |
|
335 |
if use tools; then |
336 |
pushd tools > /dev/null || die |
337 |
|
338 |
ejam ${OPTIONS} \ |
339 |
|| die "Building of Boost tools failed" |
340 |
popd > /dev/null || die |
341 |
fi |
342 |
} |
343 |
|
344 |
src_install () { |
345 |
installation() { |
346 |
create_user-config.jam |
347 |
|
348 |
if use python; then |
349 |
local dir |
350 |
for dir in ${PYTHON_DIRS}; do |
351 |
cp -pr ${dir}-${EPYTHON} ${dir} \ |
352 |
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed" |
353 |
done |
354 |
|
355 |
if use mpi; then |
356 |
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \ |
357 |
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed" |
358 |
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \ |
359 |
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed" |
360 |
fi |
361 |
fi |
362 |
|
363 |
ejam ${OPTIONS} \ |
364 |
--includedir="${D}usr/include" \ |
365 |
--libdir="${D}usr/$(get_libdir)" \ |
366 |
$(use python && echo --python-buildid=${EPYTHON#python}) \ |
367 |
install || die "Installation of Boost libraries failed" |
368 |
|
369 |
if use python; then |
370 |
rm -r ${PYTHON_DIRS} || die |
371 |
|
372 |
# Move mpi.so Python module to Python site-packages directory. |
373 |
# https://svn.boost.org/trac/boost/ticket/2838 |
374 |
if use mpi; then |
375 |
local moddir=$(python_get_sitedir)/boost |
376 |
dodir "${moddir}" |
377 |
mv "${D}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die |
378 |
cat << EOF > "${D}${moddir}/__init__.py" || die |
379 |
import sys |
380 |
if sys.platform.startswith('linux'): |
381 |
import DLFCN |
382 |
flags = sys.getdlopenflags() |
383 |
sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL) |
384 |
from . import mpi |
385 |
sys.setdlopenflags(flags) |
386 |
del DLFCN, flags |
387 |
else: |
388 |
from . import mpi |
389 |
del sys |
390 |
EOF |
391 |
fi |
392 |
|
393 |
python_optimize |
394 |
fi |
395 |
} |
396 |
if use python; then |
397 |
python_foreach_impl installation |
398 |
else |
399 |
installation |
400 |
fi |
401 |
|
402 |
if ! use python; then |
403 |
rm -r "${D}"/usr/include/boost/python* || die |
404 |
fi |
405 |
|
406 |
if ! use nls; then |
407 |
rm -r "${D}"/usr/include/boost/locale || die |
408 |
fi |
409 |
|
410 |
rm -r "${D}"/usr/include/boost/context || die |
411 |
|
412 |
if use doc; then |
413 |
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf |
414 |
dohtml \ |
415 |
-A pdf,txt,cpp,hpp \ |
416 |
*.{htm,html,png,css} \ |
417 |
-r doc |
418 |
dohtml -A pdf,txt -r tools |
419 |
insinto /usr/share/doc/${PF}/html |
420 |
doins -r libs |
421 |
doins -r more |
422 |
|
423 |
# To avoid broken links |
424 |
insinto /usr/share/doc/${PF}/html |
425 |
doins LICENSE_1_0.txt |
426 |
|
427 |
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost |
428 |
fi |
429 |
|
430 |
pushd "${D}usr/$(get_libdir)" > /dev/null || die |
431 |
|
432 |
local ext=$(get_libname) |
433 |
if use threads; then |
434 |
local f |
435 |
for f in *${ext}; do |
436 |
dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}} |
437 |
done |
438 |
fi |
439 |
|
440 |
popd > /dev/null || die |
441 |
|
442 |
if use tools; then |
443 |
dobin dist/bin/* |
444 |
|
445 |
insinto /usr/share |
446 |
doins -r dist/share/boostbook |
447 |
fi |
448 |
|
449 |
# boost's build system truely sucks for not having a destdir. Because for |
450 |
# this reason we are forced to build with a prefix that includes the |
451 |
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the |
452 |
# DESTROOT instread of the actual EPREFIX. There is no way out of here |
453 |
# but to do it the dirty way of manually setting the right install_names. |
454 |
if [[ ${CHOST} == *-darwin* ]]; then |
455 |
einfo "Working around completely broken build-system(tm)" |
456 |
local d |
457 |
for d in "${ED}"usr/lib/*.dylib; do |
458 |
if [[ -f ${d} ]]; then |
459 |
# fix the "soname" |
460 |
ebegin " correcting install_name of ${d#${ED}}" |
461 |
install_name_tool -id "/${d#${D}}" "${d}" |
462 |
eend $? |
463 |
# fix references to other libs |
464 |
refs=$(otool -XL "${d}" | \ |
465 |
sed -e '1d' -e 's/^\t//' | \ |
466 |
grep "^libboost_" | \ |
467 |
cut -f1 -d' ') |
468 |
local r |
469 |
for r in ${refs}; do |
470 |
ebegin " correcting reference to ${r}" |
471 |
install_name_tool -change \ |
472 |
"${r}" \ |
473 |
"${EPREFIX}/usr/lib/${r}" \ |
474 |
"${d}" |
475 |
eend $? |
476 |
done |
477 |
fi |
478 |
done |
479 |
fi |
480 |
} |
481 |
|
482 |
pkg_preinst() { |
483 |
# Yai for having symlinks that are nigh-impossible to remove without |
484 |
# resorting to dirty hacks like these. Removes lingering symlinks |
485 |
# from the slotted versions. |
486 |
local symlink |
487 |
for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do |
488 |
[[ -L ${symlink} ]] && rm -f "${symlink}" |
489 |
done |
490 |
} |
491 |
|
492 |
# the tests will never fail because these are not intended as sanity |
493 |
# tests at all. They are more a way for upstream to check their own code |
494 |
# on new compilers. Since they would either be completely unreliable |
495 |
# (failing for no good reason) or completely useless (never failing) |
496 |
# there is no point in having them in the ebuild to begin with. |
497 |
src_test() { :; } |