Gentoo Archives: gentoo-commits

From: Sergey Popov <pinkbyte@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/files/, dev-libs/boost/
Date: Wed, 27 Jan 2016 06:21:05
Message-Id: 1453875298.02d60f710015005b938d501e5f4f0615c1667fda.pinkbyte@gentoo
1 commit: 02d60f710015005b938d501e5f4f0615c1667fda
2 Author: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 27 06:14:58 2016 +0000
4 Commit: Sergey Popov <pinkbyte <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 27 06:14:58 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02d60f71
7
8 dev-libs/boost: drop old masked versions
9
10 Package-Manager: portage-2.2.26
11
12 dev-libs/boost/Manifest | 3 -
13 dev-libs/boost/boost-1.52.0-r7.ebuild | 352 --------------------
14 dev-libs/boost/boost-1.53.0-r1.ebuild | 365 ---------------------
15 dev-libs/boost/boost-1.54.0-r1.ebuild | 365 ---------------------
16 .../boost/files/boost-1.48.0-mpi_python3.patch | 95 ------
17 dev-libs/boost/files/boost-1.52.0-locale-utf.patch | 52 ---
18 dev-libs/boost/files/boost-1.52.0-tuple.patch | 11 -
19 .../files/boost-1.53.0-glibc-2.18-compat.patch | 18 -
20 .../boost/files/boost-1.53.0-library_status.patch | 57 ----
21 dev-libs/boost/files/remove-toolset-1.48.0.patch | 11 -
22 10 files changed, 1329 deletions(-)
23
24 diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
25 index bc223f6..fb6648e 100644
26 --- a/dev-libs/boost/Manifest
27 +++ b/dev-libs/boost/Manifest
28 @@ -1,6 +1,3 @@
29 -DIST boost_1_52_0.tar.bz2 54421709 SHA256 222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92 SHA512 fc512d3bfa6a39a60fee548775c97239271cf757587b8df7ed739c800844a819a359dca172be0e69ad7752753753139bf11f0813d650066d58386662fe32842d WHIRLPOOL 73bbab4a1d2a652200f4b5e669440a2afcebcea96a1139ecc75213067ca32d5cadb0f060bb0ec2e29e9e31272fb7ec9d2cb960801032ee6c5dcb86564766411d
30 -DIST boost_1_53_0.tar.bz2 55765258 SHA256 f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196 SHA512 8cd7806653cb6ea4a1c6862796ef698de5ae0bdbda96954fedbe090c59e3e6cb8f8d385df35183e9063ac4e2c2fccf10744516c47a994cde5f1d1cba1b07e522 WHIRLPOOL e8c5ed6b34dd5f68dc7e102a9e22b302616a65077d3f4af370ece6352b02a866e04294a4fc76bbd5555b6a4131f590e6455e6a74b5f12c4ffc2dd15af0bc8746
31 -DIST boost_1_54_0.tar.bz2 57873778 SHA256 047e927de336af106a24bceba30069980c191529fd76b8dff8eb9a328b48ae1d SHA512 3467a2bb9b4797cadfc52150cb036939ef35263f421870897dbe9492d1504a714805668a193b0811fdaf39a3527ee693ff70da5b942d7ab11b307e2e693e1760 WHIRLPOOL dbe3cbecaccf86ca184cf73cff75c17d6307b680bab098e38a9efd24d17776481e597017fc9f8fc8f488495f315c6d2b14b9212c51cf98529c302482bf67e92a
32 DIST boost_1_55_0.tar.bz2 58146647 SHA256 fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 SHA512 dc606477f4c303e8f40de2586c16394b6d758e198b35bf3a7d3e576a2f49171aadc4f95e8d685fa731bc4e61e19869d5a24e1e816febfca9de078d66e096e041 WHIRLPOOL 6ae111d6a956651bd91914432b743faffeb466703191b05193db47f02fd3528a14ce200f26c1ab77bf2c68994eb5b135b0176f66a746964d334b4793ba113ad5
33 DIST boost_1_56_0.tar.bz2 94777674 SHA256 134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d SHA512 1ce9871c3a2519682538a5f1331938b948123432d99aea0ce026958cbebd25d84019a3a28c452724b9693df98a8d1264bb2d93d2fee508453f8b42836e67481e WHIRLPOOL e9e9bb965816b687141d55bc026e378a56ed577a2bf0bdad61a1736e7f11d1797e0cac0185a1fa25b6c4b9fe1f75cbb0bb73a5ea05e84d59385bb3b17a90fd12
34 DIST boost_1_57_0.tar.bz2 60821561 SHA256 910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967 SHA512 61881440fd89644c43c6e3bc6292e9fed75a6d3a76f98654b189d0ed4e1087d77b585884e882270c08bf9f7132b173bfc1fde05848e06aa78ba7f1008d10714d WHIRLPOOL ff092af332434082a774645a5eb42829cdbdac805ef86dccce8988542062901524bd4d5fc890e3a9c01f0a721047501e5d8b13d50ffa5368066c3438dcf719d6
35
36 diff --git a/dev-libs/boost/boost-1.52.0-r7.ebuild b/dev-libs/boost/boost-1.52.0-r7.ebuild
37 deleted file mode 100644
38 index 04e7578..0000000
39 --- a/dev-libs/boost/boost-1.52.0-r7.ebuild
40 +++ /dev/null
41 @@ -1,352 +0,0 @@
42 -# Copyright 1999-2015 Gentoo Foundation
43 -# Distributed under the terms of the GNU General Public License v2
44 -# $Id$
45 -
46 -EAPI="5"
47 -PYTHON_COMPAT=( python{2_7,3_3} )
48 -
49 -inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
50 -
51 -MY_P=${PN}_$(replace_all_version_separators _)
52 -
53 -DESCRIPTION="Boost Libraries for C++"
54 -HOMEPAGE="http://www.boost.org/"
55 -SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
56 -
57 -LICENSE="Boost-1.0"
58 -MAJOR_V="$(get_version_component_range 1-2)"
59 -SLOT="0/${MAJOR_V}"
60 -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
61 -IUSE="debug doc icu +nls mpi python static-libs +threads tools"
62 -
63 -RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
64 - !icu? ( virtual/libiconv )
65 - mpi? ( virtual/mpi[cxx,threads] )
66 - python? ( ${PYTHON_DEPS} )
67 - app-arch/bzip2
68 - sys-libs/zlib
69 - !app-admin/eselect-boost"
70 -DEPEND="${RDEPEND}
71 - =dev-util/boost-build-1.52.0*"
72 -
73 -REQUIRED_USE="mpi? ( threads )"
74 -
75 -S="${WORKDIR}/${MY_P}"
76 -
77 -create_user-config.jam() {
78 - local compiler compiler_version compiler_executable
79 -
80 - if [[ ${CHOST} == *-darwin* ]]; then
81 - compiler="darwin"
82 - compiler_version="$(gcc-fullversion)"
83 - compiler_executable="$(tc-getCXX)"
84 - else
85 - compiler="gcc"
86 - compiler_version="$(gcc-version)"
87 - compiler_executable="$(tc-getCXX)"
88 - fi
89 - local mpi_configuration python_configuration
90 -
91 - if use mpi; then
92 - mpi_configuration="using mpi ;"
93 - fi
94 -
95 - if use python; then
96 - python_configuration="using python : : ${PYTHON} ;"
97 - fi
98 -
99 - cat > user-config.jam << __EOF__
100 -using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
101 -${mpi_configuration}
102 -${python_configuration}
103 -__EOF__
104 -}
105 -
106 -pkg_setup() {
107 - # Bail out on unsupported build configuration, bug #456792
108 - if [[ -f "${EROOT}etc/site-config.jam" ]]; then
109 - grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
110 - (
111 - eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
112 - eerror "Boost can not be built in such configuration."
113 - eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
114 - die
115 - )
116 - fi
117 -}
118 -
119 -src_prepare() {
120 - epatch \
121 - "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
122 - "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
123 - "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
124 - "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
125 - "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
126 - "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
127 - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
128 - "${FILESDIR}/remove-toolset-1.48.0.patch" \
129 - "${FILESDIR}/${PN}-1.52.0-tuple.patch" \
130 - "${FILESDIR}/${P}-locale-utf.patch" \
131 - "${FILESDIR}/${PN}-1.52.0-threads.patch" \
132 - "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
133 -
134 - # Avoid a patch for now
135 - for file in libs/context/src/asm/*.S; do
136 - cat - >> $file <<EOF
137 -
138 -#if defined(__linux__) && defined(__ELF__)
139 -.section .note.GNU-stack,"",%progbits
140 -#endif
141 -EOF
142 - done
143 -
144 - epatch_user
145 -}
146 -
147 -ejam() {
148 - echo b2 "$@"
149 - b2 "$@"
150 -}
151 -
152 -src_configure() {
153 - # Workaround for too many parallel processes requested, bug #506064
154 - [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
155 -
156 - OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
157 -
158 - if [[ ${CHOST} == *-darwin* ]]; then
159 - # We need to add the prefix, and in two cases this exceeds, so prepare
160 - # for the largest possible space allocation.
161 - append-ldflags -Wl,-headerpad_max_install_names
162 - fi
163 -
164 - # bug 298489
165 - if use ppc || use ppc64; then
166 - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
167 - fi
168 -
169 - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
170 - append-cxxflags -std=gnu++98
171 -
172 - use icu && OPTIONS+=" -sICU_PATH=/usr"
173 - use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
174 - use mpi || OPTIONS+=" --without-mpi"
175 - use python || OPTIONS+=" --without-python"
176 - use nls || OPTIONS+=" --without-locale"
177 -
178 - 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"
179 -}
180 -
181 -src_compile() {
182 - export BOOST_ROOT="${S}"
183 - PYTHON_DIRS=""
184 - MPI_PYTHON_MODULE=""
185 -
186 - building() {
187 - create_user-config.jam
188 -
189 - ejam ${OPTIONS} \
190 - $(use python && echo --python-buildid=${EPYTHON#python}) \
191 - || die "Building of Boost libraries failed"
192 -
193 - if use python; then
194 - if [[ -z "${PYTHON_DIRS}" ]]; then
195 - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
196 - else
197 - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
198 - die "Inconsistent structure of build directories"
199 - fi
200 - fi
201 -
202 - local dir
203 - for dir in ${PYTHON_DIRS}; do
204 - mv ${dir} ${dir}-${EPYTHON} \
205 - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
206 - done
207 -
208 - if use mpi; then
209 - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
210 - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
211 - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
212 - die "Multiple mpi.so files found"
213 - fi
214 - else
215 - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
216 - die "Inconsistent structure of build directories"
217 - fi
218 - fi
219 -
220 - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
221 - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
222 - fi
223 - fi
224 - }
225 - if use python; then
226 - python_foreach_impl building
227 - else
228 - building
229 - fi
230 -
231 - if use tools; then
232 - pushd tools > /dev/null || die
233 -
234 - ejam ${OPTIONS} \
235 - || die "Building of Boost tools failed"
236 - popd > /dev/null || die
237 - fi
238 -}
239 -
240 -src_install () {
241 - installation() {
242 - create_user-config.jam
243 -
244 - if use python; then
245 - local dir
246 - for dir in ${PYTHON_DIRS}; do
247 - cp -pr ${dir}-${EPYTHON} ${dir} \
248 - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
249 - done
250 -
251 - if use mpi; then
252 - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
253 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
254 - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
255 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
256 - fi
257 - fi
258 -
259 - ejam ${OPTIONS} \
260 - --includedir="${D}usr/include" \
261 - --libdir="${D}usr/$(get_libdir)" \
262 - $(use python && echo --python-buildid=${EPYTHON#python}) \
263 - install || die "Installation of Boost libraries failed"
264 -
265 - if use python; then
266 - rm -r ${PYTHON_DIRS} || die
267 -
268 - # Move mpi.so Python module to Python site-packages directory.
269 - # https://svn.boost.org/trac/boost/ticket/2838
270 - if use mpi; then
271 - local moddir=$(python_get_sitedir)/boost
272 - dodir "${moddir}"
273 - mv "${D}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
274 - cat << EOF > "${D}${moddir}/__init__.py" || die
275 -import sys
276 -if sys.platform.startswith('linux'):
277 - import DLFCN
278 - flags = sys.getdlopenflags()
279 - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
280 - from . import mpi
281 - sys.setdlopenflags(flags)
282 - del DLFCN, flags
283 -else:
284 - from . import mpi
285 -del sys
286 -EOF
287 - fi
288 -
289 - python_optimize
290 - fi
291 - }
292 - if use python; then
293 - python_foreach_impl installation
294 - else
295 - installation
296 - fi
297 -
298 - if ! use python; then
299 - rm -r "${D}"/usr/include/boost/python* || die
300 - fi
301 -
302 - if ! use nls; then
303 - rm -r "${D}"/usr/include/boost/locale || die
304 - fi
305 -
306 - rm -r "${D}"/usr/include/boost/context || die
307 -
308 - if use doc; then
309 - find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
310 - dohtml \
311 - -A pdf,txt,cpp,hpp \
312 - *.{htm,html,png,css} \
313 - -r doc
314 - dohtml -A pdf,txt -r tools
315 - insinto /usr/share/doc/${PF}/html
316 - doins -r libs
317 - doins -r more
318 -
319 - # To avoid broken links
320 - insinto /usr/share/doc/${PF}/html
321 - doins LICENSE_1_0.txt
322 -
323 - dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
324 - fi
325 -
326 - pushd "${D}usr/$(get_libdir)" > /dev/null || die
327 -
328 - local ext=$(get_libname)
329 - if use threads; then
330 - local f
331 - for f in *${ext}; do
332 - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
333 - done
334 - fi
335 -
336 - popd > /dev/null || die
337 -
338 - if use tools; then
339 - dobin dist/bin/*
340 -
341 - insinto /usr/share
342 - doins -r dist/share/boostbook
343 - fi
344 -
345 - # boost's build system truely sucks for not having a destdir. Because for
346 - # this reason we are forced to build with a prefix that includes the
347 - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
348 - # DESTROOT instread of the actual EPREFIX. There is no way out of here
349 - # but to do it the dirty way of manually setting the right install_names.
350 - if [[ ${CHOST} == *-darwin* ]]; then
351 - einfo "Working around completely broken build-system(tm)"
352 - local d
353 - for d in "${ED}"usr/lib/*.dylib; do
354 - if [[ -f ${d} ]]; then
355 - # fix the "soname"
356 - ebegin " correcting install_name of ${d#${ED}}"
357 - install_name_tool -id "/${d#${D}}" "${d}"
358 - eend $?
359 - # fix references to other libs
360 - refs=$(otool -XL "${d}" | \
361 - sed -e '1d' -e 's/^\t//' | \
362 - grep "^libboost_" | \
363 - cut -f1 -d' ')
364 - local r
365 - for r in ${refs}; do
366 - ebegin " correcting reference to ${r}"
367 - install_name_tool -change \
368 - "${r}" \
369 - "${EPREFIX}/usr/lib/${r}" \
370 - "${d}"
371 - eend $?
372 - done
373 - fi
374 - done
375 - fi
376 -}
377 -
378 -pkg_preinst() {
379 - # Yai for having symlinks that are nigh-impossible to remove without
380 - # resorting to dirty hacks like these. Removes lingering symlinks
381 - # from the slotted versions.
382 - local symlink
383 - for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
384 - [[ -L ${symlink} ]] && rm -f "${symlink}"
385 - done
386 -}
387 -
388 -# the tests will never fail because these are not intended as sanity
389 -# tests at all. They are more a way for upstream to check their own code
390 -# on new compilers. Since they would either be completely unreliable
391 -# (failing for no good reason) or completely useless (never failing)
392 -# there is no point in having them in the ebuild to begin with.
393 -src_test() { :; }
394
395 diff --git a/dev-libs/boost/boost-1.53.0-r1.ebuild b/dev-libs/boost/boost-1.53.0-r1.ebuild
396 deleted file mode 100644
397 index 200101b..0000000
398 --- a/dev-libs/boost/boost-1.53.0-r1.ebuild
399 +++ /dev/null
400 @@ -1,365 +0,0 @@
401 -# Copyright 1999-2015 Gentoo Foundation
402 -# Distributed under the terms of the GNU General Public License v2
403 -# $Id$
404 -
405 -EAPI="5"
406 -PYTHON_COMPAT=( python{2_7,3_3} )
407 -
408 -inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
409 -
410 -MY_P=${PN}_$(replace_all_version_separators _)
411 -
412 -DESCRIPTION="Boost Libraries for C++"
413 -HOMEPAGE="http://www.boost.org/"
414 -SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
415 -
416 -LICENSE="Boost-1.0"
417 -MAJOR_V="$(get_version_component_range 1-2)"
418 -SLOT="0/${MAJOR_V}"
419 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-fbsd ~x86-linux"
420 -IUSE="debug doc icu +nls mpi python static-libs +threads tools"
421 -
422 -RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
423 - !icu? ( virtual/libiconv )
424 - mpi? ( virtual/mpi[cxx,threads] )
425 - python? ( ${PYTHON_DEPS} )
426 - app-arch/bzip2
427 - sys-libs/zlib
428 - !app-admin/eselect-boost"
429 -DEPEND="${RDEPEND}
430 - =dev-util/boost-build-${MAJOR_V}*"
431 -REQUIRED_USE="
432 - mpi? ( threads )
433 - python? ( ${PYTHON_REQUIRED_USE} )"
434 -
435 -S="${WORKDIR}/${MY_P}"
436 -
437 -create_user-config.jam() {
438 - local compiler compiler_version compiler_executable
439 -
440 - if [[ ${CHOST} == *-darwin* ]]; then
441 - compiler="darwin"
442 - compiler_version="$(gcc-fullversion)"
443 - compiler_executable="$(tc-getCXX)"
444 - else
445 - compiler="gcc"
446 - compiler_version="$(gcc-version)"
447 - compiler_executable="$(tc-getCXX)"
448 - fi
449 - local mpi_configuration python_configuration
450 -
451 - if use mpi; then
452 - mpi_configuration="using mpi ;"
453 - fi
454 -
455 - if use python; then
456 - python_configuration="using python : : ${PYTHON} ;"
457 - fi
458 -
459 - cat > user-config.jam << __EOF__
460 -using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
461 -${mpi_configuration}
462 -${python_configuration}
463 -__EOF__
464 -}
465 -
466 -pkg_setup() {
467 - # Bail out on unsupported build configuration, bug #456792
468 - if [[ -f "${EROOT}etc/site-config.jam" ]]; then
469 - grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
470 - (
471 - eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
472 - eerror "Boost can not be built in such configuration."
473 - eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
474 - die
475 - )
476 - fi
477 -}
478 -
479 -src_prepare() {
480 - epatch \
481 - "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
482 - "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
483 - "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
484 - "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
485 - "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
486 - "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
487 - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
488 - epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112
489 - epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
490 - epatch "${FILESDIR}/${PN}-1.52.0-threads.patch"
491 -
492 - # Avoid a patch for now
493 - for file in libs/context/src/asm/*.S; do
494 - cat - >> $file <<EOF
495 -
496 -#if defined(__linux__) && defined(__ELF__)
497 -.section .note.GNU-stack,"",%progbits
498 -#endif
499 -EOF
500 - done
501 -
502 - epatch_user
503 -}
504 -
505 -ejam() {
506 - echo b2 "$@"
507 - b2 "$@"
508 -}
509 -
510 -src_configure() {
511 - # Workaround for too many parallel processes requested, bug #506064
512 - [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
513 -
514 - OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
515 -
516 - if [[ ${CHOST} == *-darwin* ]]; then
517 - # We need to add the prefix, and in two cases this exceeds, so prepare
518 - # for the largest possible space allocation.
519 - append-ldflags -Wl,-headerpad_max_install_names
520 - elif [[ ${CHOST} == *-winnt* ]]; then
521 - compiler=parity
522 - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
523 - compilerVersion=trunk
524 - else
525 - compilerVersion=$($(tc-getCXX) -v | sed '1q' \
526 - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
527 - fi
528 - compilerExecutable=$(tc-getCXX)
529 - fi
530 -
531 - # bug 298489
532 - if use ppc || use ppc64; then
533 - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
534 - fi
535 -
536 - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
537 - append-cxxflags -std=gnu++98
538 -
539 - use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
540 - use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
541 - use mpi || OPTIONS+=" --without-mpi"
542 - use python || OPTIONS+=" --without-python"
543 - use nls || OPTIONS+=" --without-locale"
544 -
545 - OPTIONS+=" pch=off --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
546 - OPTIONS+=" --without-context"
547 -
548 - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
549 -}
550 -
551 -src_compile() {
552 - export BOOST_ROOT="${S}"
553 - PYTHON_DIRS=""
554 - MPI_PYTHON_MODULE=""
555 -
556 - building() {
557 - create_user-config.jam
558 -
559 - ejam ${OPTIONS} \
560 - $(use python && echo --python-buildid=${EPYTHON#python}) \
561 - || die "Building of Boost libraries failed"
562 -
563 - if use python; then
564 - if [[ -z "${PYTHON_DIRS}" ]]; then
565 - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
566 - else
567 - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
568 - die "Inconsistent structure of build directories"
569 - fi
570 - fi
571 -
572 - local dir
573 - for dir in ${PYTHON_DIRS}; do
574 - mv ${dir} ${dir}-${EPYTHON} \
575 - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
576 - done
577 -
578 - if use mpi; then
579 - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
580 - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
581 - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
582 - die "Multiple mpi.so files found"
583 - fi
584 - else
585 - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
586 - die "Inconsistent structure of build directories"
587 - fi
588 - fi
589 -
590 - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
591 - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
592 - fi
593 - fi
594 - }
595 - if use python; then
596 - python_foreach_impl building
597 - else
598 - building
599 - fi
600 -
601 - if use tools; then
602 - pushd tools > /dev/null || die
603 -
604 - ejam ${OPTIONS} \
605 - || die "Building of Boost tools failed"
606 - popd > /dev/null || die
607 - fi
608 -}
609 -
610 -src_install () {
611 - installation() {
612 - create_user-config.jam
613 -
614 - if use python; then
615 - local dir
616 - for dir in ${PYTHON_DIRS}; do
617 - cp -pr ${dir}-${EPYTHON} ${dir} \
618 - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
619 - done
620 -
621 - if use mpi; then
622 - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
623 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
624 - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
625 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
626 - fi
627 - fi
628 -
629 - ejam ${OPTIONS} \
630 - --includedir="${ED}usr/include" \
631 - --libdir="${ED}usr/$(get_libdir)" \
632 - $(use python && echo --python-buildid=${EPYTHON#python}) \
633 - install || die "Installation of Boost libraries failed"
634 -
635 - if use python; then
636 - rm -r ${PYTHON_DIRS} || die
637 -
638 - # Move mpi.so Python module to Python site-packages directory.
639 - # https://svn.boost.org/trac/boost/ticket/2838
640 - if use mpi; then
641 - local moddir=$(python_get_sitedir)/boost
642 - # moddir already includes eprefix
643 - mkdir -p "${D}${moddir}" || die
644 - mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
645 - cat << EOF > "${D}${moddir}/__init__.py" || die
646 -import sys
647 -if sys.platform.startswith('linux'):
648 - import DLFCN
649 - flags = sys.getdlopenflags()
650 - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
651 - from . import mpi
652 - sys.setdlopenflags(flags)
653 - del DLFCN, flags
654 -else:
655 - from . import mpi
656 -del sys
657 -EOF
658 - fi
659 -
660 - python_optimize
661 - fi
662 - }
663 - if use python; then
664 - python_foreach_impl installation
665 - else
666 - installation
667 - fi
668 -
669 - if ! use python; then
670 - rm -r "${ED}"/usr/include/boost/python* || die
671 - fi
672 -
673 - if ! use nls; then
674 - rm -r "${ED}"/usr/include/boost/locale || die
675 - fi
676 -
677 - rm -r "${ED}"/usr/include/boost/context || die
678 - rm -r "${ED}"/usr/include/boost/coroutine || die
679 -
680 - if use doc; then
681 - find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
682 - dohtml \
683 - -A pdf,txt,cpp,hpp \
684 - *.{htm,html,png,css} \
685 - -r doc
686 - dohtml -A pdf,txt -r tools
687 - insinto /usr/share/doc/${PF}/html
688 - doins -r libs
689 - doins -r more
690 -
691 - # To avoid broken links
692 - insinto /usr/share/doc/${PF}/html
693 - doins LICENSE_1_0.txt
694 -
695 - dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
696 - fi
697 -
698 - pushd "${ED}usr/$(get_libdir)" > /dev/null || die
699 -
700 - local ext=$(get_libname)
701 - if use threads; then
702 - local f
703 - for f in *${ext}; do
704 - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
705 - done
706 - fi
707 -
708 - popd > /dev/null || die
709 -
710 - if use tools; then
711 - dobin dist/bin/*
712 -
713 - insinto /usr/share
714 - doins -r dist/share/boostbook
715 - fi
716 -
717 - # boost's build system truely sucks for not having a destdir. Because for
718 - # this reason we are forced to build with a prefix that includes the
719 - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
720 - # DESTROOT instread of the actual EPREFIX. There is no way out of here
721 - # but to do it the dirty way of manually setting the right install_names.
722 - if [[ ${CHOST} == *-darwin* ]]; then
723 - einfo "Working around completely broken build-system(tm)"
724 - local d
725 - for d in "${ED}"usr/lib/*.dylib; do
726 - if [[ -f ${d} ]]; then
727 - # fix the "soname"
728 - ebegin " correcting install_name of ${d#${ED}}"
729 - install_name_tool -id "/${d#${D}}" "${d}"
730 - eend $?
731 - # fix references to other libs
732 - refs=$(otool -XL "${d}" | \
733 - sed -e '1d' -e 's/^\t//' | \
734 - grep "^libboost_" | \
735 - cut -f1 -d' ')
736 - local r
737 - for r in ${refs}; do
738 - ebegin " correcting reference to ${r}"
739 - install_name_tool -change \
740 - "${r}" \
741 - "${EPREFIX}/usr/lib/${r}" \
742 - "${d}"
743 - eend $?
744 - done
745 - fi
746 - done
747 - fi
748 -}
749 -
750 -pkg_preinst() {
751 - # Yai for having symlinks that are nigh-impossible to remove without
752 - # resorting to dirty hacks like these. Removes lingering symlinks
753 - # from the slotted versions.
754 - local symlink
755 - for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
756 - [[ -L ${symlink} ]] && rm -f "${symlink}"
757 - done
758 -}
759 -
760 -# the tests will never fail because these are not intended as sanity
761 -# tests at all. They are more a way for upstream to check their own code
762 -# on new compilers. Since they would either be completely unreliable
763 -# (failing for no good reason) or completely useless (never failing)
764 -# there is no point in having them in the ebuild to begin with.
765 -src_test() { :; }
766
767 diff --git a/dev-libs/boost/boost-1.54.0-r1.ebuild b/dev-libs/boost/boost-1.54.0-r1.ebuild
768 deleted file mode 100644
769 index a5f9bc2..0000000
770 --- a/dev-libs/boost/boost-1.54.0-r1.ebuild
771 +++ /dev/null
772 @@ -1,365 +0,0 @@
773 -# Copyright 1999-2015 Gentoo Foundation
774 -# Distributed under the terms of the GNU General Public License v2
775 -# $Id$
776 -
777 -EAPI="5"
778 -PYTHON_COMPAT=( python{2_7,3_3} )
779 -
780 -inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator
781 -
782 -MY_P=${PN}_$(replace_all_version_separators _)
783 -
784 -DESCRIPTION="Boost Libraries for C++"
785 -HOMEPAGE="http://www.boost.org/"
786 -SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
787 -
788 -LICENSE="Boost-1.0"
789 -MAJOR_V="$(get_version_component_range 1-2)"
790 -SLOT="0/${MAJOR_V}"
791 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-fbsd ~x86-linux"
792 -IUSE="debug doc icu +nls mpi python static-libs +threads tools"
793 -
794 -RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
795 - !icu? ( virtual/libiconv )
796 - mpi? ( virtual/mpi[cxx,threads] )
797 - python? ( ${PYTHON_DEPS} )
798 - app-arch/bzip2
799 - sys-libs/zlib
800 - !app-admin/eselect-boost"
801 -DEPEND="${RDEPEND}
802 - =dev-util/boost-build-${MAJOR_V}*"
803 -REQUIRED_USE="
804 - mpi? ( threads )
805 - python? ( ${PYTHON_REQUIRED_USE} )"
806 -
807 -S="${WORKDIR}/${MY_P}"
808 -
809 -create_user-config.jam() {
810 - local compiler compiler_version compiler_executable
811 -
812 - if [[ ${CHOST} == *-darwin* ]]; then
813 - compiler="darwin"
814 - compiler_version="$(gcc-fullversion)"
815 - compiler_executable="$(tc-getCXX)"
816 - else
817 - compiler="gcc"
818 - compiler_version="$(gcc-version)"
819 - compiler_executable="$(tc-getCXX)"
820 - fi
821 - local mpi_configuration python_configuration
822 -
823 - if use mpi; then
824 - mpi_configuration="using mpi ;"
825 - fi
826 -
827 - if use python; then
828 - python_configuration="using python : : ${PYTHON} ;"
829 - fi
830 -
831 - cat > user-config.jam << __EOF__
832 -using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
833 -${mpi_configuration}
834 -${python_configuration}
835 -__EOF__
836 -}
837 -
838 -pkg_setup() {
839 - # Bail out on unsupported build configuration, bug #456792
840 - if [[ -f "${EROOT}etc/site-config.jam" ]]; then
841 - grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
842 - (
843 - eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
844 - eerror "Boost can not be built in such configuration."
845 - eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
846 - die
847 - )
848 - fi
849 -}
850 -
851 -src_prepare() {
852 - epatch \
853 - "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
854 - "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
855 - "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
856 - "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
857 - "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
858 - "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
859 - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
860 - epatch "${FILESDIR}/${PN}-1.53.0-library_status.patch" # bug 459112
861 - epatch "${FILESDIR}/${PN}-1.53.0-glibc-2.18-compat.patch" # bug 482372
862 - epatch "${FILESDIR}/${PN}-1.52.0-threads.patch"
863 -
864 - # Avoid a patch for now
865 - for file in libs/context/src/asm/*.S; do
866 - cat - >> $file <<EOF
867 -
868 -#if defined(__linux__) && defined(__ELF__)
869 -.section .note.GNU-stack,"",%progbits
870 -#endif
871 -EOF
872 - done
873 -
874 - epatch_user
875 -}
876 -
877 -ejam() {
878 - echo b2 "$@"
879 - b2 "$@"
880 -}
881 -
882 -src_configure() {
883 - # Workaround for too many parallel processes requested, bug #506064
884 - [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
885 -
886 - OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2 --user-config=${S}/user-config.jam"
887 -
888 - if [[ ${CHOST} == *-darwin* ]]; then
889 - # We need to add the prefix, and in two cases this exceeds, so prepare
890 - # for the largest possible space allocation.
891 - append-ldflags -Wl,-headerpad_max_install_names
892 - elif [[ ${CHOST} == *-winnt* ]]; then
893 - compiler=parity
894 - if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
895 - compilerVersion=trunk
896 - else
897 - compilerVersion=$($(tc-getCXX) -v | sed '1q' \
898 - | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
899 - fi
900 - compilerExecutable=$(tc-getCXX)
901 - fi
902 -
903 - # bug 298489
904 - if use ppc || use ppc64; then
905 - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
906 - fi
907 -
908 - # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
909 - append-cxxflags -std=gnu++98
910 -
911 - use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
912 - use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
913 - use mpi || OPTIONS+=" --without-mpi"
914 - use python || OPTIONS+=" --without-python"
915 - use nls || OPTIONS+=" --without-locale"
916 -
917 - OPTIONS+=" pch=off --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\" --layout=system threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
918 - OPTIONS+=" --without-context --without-coroutine"
919 -
920 - [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
921 -}
922 -
923 -src_compile() {
924 - export BOOST_ROOT="${S}"
925 - PYTHON_DIRS=""
926 - MPI_PYTHON_MODULE=""
927 -
928 - building() {
929 - create_user-config.jam
930 -
931 - ejam ${OPTIONS} \
932 - $(use python && echo --python-buildid=${EPYTHON#python}) \
933 - || die "Building of Boost libraries failed"
934 -
935 - if use python; then
936 - if [[ -z "${PYTHON_DIRS}" ]]; then
937 - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
938 - else
939 - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
940 - die "Inconsistent structure of build directories"
941 - fi
942 - fi
943 -
944 - local dir
945 - for dir in ${PYTHON_DIRS}; do
946 - mv ${dir} ${dir}-${EPYTHON} \
947 - || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
948 - done
949 -
950 - if use mpi; then
951 - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
952 - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
953 - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
954 - die "Multiple mpi.so files found"
955 - fi
956 - else
957 - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
958 - die "Inconsistent structure of build directories"
959 - fi
960 - fi
961 -
962 - mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
963 - || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
964 - fi
965 - fi
966 - }
967 - if use python; then
968 - python_foreach_impl building
969 - else
970 - building
971 - fi
972 -
973 - if use tools; then
974 - pushd tools > /dev/null || die
975 -
976 - ejam ${OPTIONS} \
977 - || die "Building of Boost tools failed"
978 - popd > /dev/null || die
979 - fi
980 -}
981 -
982 -src_install () {
983 - installation() {
984 - create_user-config.jam
985 -
986 - if use python; then
987 - local dir
988 - for dir in ${PYTHON_DIRS}; do
989 - cp -pr ${dir}-${EPYTHON} ${dir} \
990 - || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
991 - done
992 -
993 - if use mpi; then
994 - cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
995 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
996 - cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
997 - || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
998 - fi
999 - fi
1000 -
1001 - ejam ${OPTIONS} \
1002 - --includedir="${ED}usr/include" \
1003 - --libdir="${ED}usr/$(get_libdir)" \
1004 - $(use python && echo --python-buildid=${EPYTHON#python}) \
1005 - install || die "Installation of Boost libraries failed"
1006 -
1007 - if use python; then
1008 - rm -r ${PYTHON_DIRS} || die
1009 -
1010 - # Move mpi.so Python module to Python site-packages directory.
1011 - # https://svn.boost.org/trac/boost/ticket/2838
1012 - if use mpi; then
1013 - local moddir=$(python_get_sitedir)/boost
1014 - # moddir already includes eprefix
1015 - mkdir -p "${D}${moddir}" || die
1016 - mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
1017 - cat << EOF > "${D}${moddir}/__init__.py" || die
1018 -import sys
1019 -if sys.platform.startswith('linux'):
1020 - import DLFCN
1021 - flags = sys.getdlopenflags()
1022 - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
1023 - from . import mpi
1024 - sys.setdlopenflags(flags)
1025 - del DLFCN, flags
1026 -else:
1027 - from . import mpi
1028 -del sys
1029 -EOF
1030 - fi
1031 -
1032 - python_optimize
1033 - fi
1034 - }
1035 - if use python; then
1036 - python_foreach_impl installation
1037 - else
1038 - installation
1039 - fi
1040 -
1041 - if ! use python; then
1042 - rm -r "${ED}"/usr/include/boost/python* || die
1043 - fi
1044 -
1045 - if ! use nls; then
1046 - rm -r "${ED}"/usr/include/boost/locale || die
1047 - fi
1048 -
1049 - rm -r "${ED}"/usr/include/boost/context || die
1050 - rm -r "${ED}"/usr/include/boost/coroutine || die
1051 -
1052 - if use doc; then
1053 - find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
1054 - dohtml \
1055 - -A pdf,txt,cpp,hpp \
1056 - *.{htm,html,png,css} \
1057 - -r doc
1058 - dohtml -A pdf,txt -r tools
1059 - insinto /usr/share/doc/${PF}/html
1060 - doins -r libs
1061 - doins -r more
1062 -
1063 - # To avoid broken links
1064 - insinto /usr/share/doc/${PF}/html
1065 - doins LICENSE_1_0.txt
1066 -
1067 - dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
1068 - fi
1069 -
1070 - pushd "${ED}usr/$(get_libdir)" > /dev/null || die
1071 -
1072 - local ext=$(get_libname)
1073 - if use threads; then
1074 - local f
1075 - for f in *${ext}; do
1076 - dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
1077 - done
1078 - fi
1079 -
1080 - popd > /dev/null || die
1081 -
1082 - if use tools; then
1083 - dobin dist/bin/*
1084 -
1085 - insinto /usr/share
1086 - doins -r dist/share/boostbook
1087 - fi
1088 -
1089 - # boost's build system truely sucks for not having a destdir. Because for
1090 - # this reason we are forced to build with a prefix that includes the
1091 - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
1092 - # DESTROOT instread of the actual EPREFIX. There is no way out of here
1093 - # but to do it the dirty way of manually setting the right install_names.
1094 - if [[ ${CHOST} == *-darwin* ]]; then
1095 - einfo "Working around completely broken build-system(tm)"
1096 - local d
1097 - for d in "${ED}"usr/lib/*.dylib; do
1098 - if [[ -f ${d} ]]; then
1099 - # fix the "soname"
1100 - ebegin " correcting install_name of ${d#${ED}}"
1101 - install_name_tool -id "/${d#${D}}" "${d}"
1102 - eend $?
1103 - # fix references to other libs
1104 - refs=$(otool -XL "${d}" | \
1105 - sed -e '1d' -e 's/^\t//' | \
1106 - grep "^libboost_" | \
1107 - cut -f1 -d' ')
1108 - local r
1109 - for r in ${refs}; do
1110 - ebegin " correcting reference to ${r}"
1111 - install_name_tool -change \
1112 - "${r}" \
1113 - "${EPREFIX}/usr/lib/${r}" \
1114 - "${d}"
1115 - eend $?
1116 - done
1117 - fi
1118 - done
1119 - fi
1120 -}
1121 -
1122 -pkg_preinst() {
1123 - # Yai for having symlinks that are nigh-impossible to remove without
1124 - # resorting to dirty hacks like these. Removes lingering symlinks
1125 - # from the slotted versions.
1126 - local symlink
1127 - for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
1128 - [[ -L ${symlink} ]] && rm -f "${symlink}"
1129 - done
1130 -}
1131 -
1132 -# the tests will never fail because these are not intended as sanity
1133 -# tests at all. They are more a way for upstream to check their own code
1134 -# on new compilers. Since they would either be completely unreliable
1135 -# (failing for no good reason) or completely useless (never failing)
1136 -# there is no point in having them in the ebuild to begin with.
1137 -src_test() { :; }
1138
1139 diff --git a/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch b/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
1140 deleted file mode 100644
1141 index a32eca9..0000000
1142 --- a/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
1143 +++ /dev/null
1144 @@ -1,95 +0,0 @@
1145 -https://svn.boost.org/trac/boost/ticket/4657
1146 -https://svn.boost.org/trac/boost/changeset/76290
1147 -
1148 ---- libs/mpi/src/python/datatypes.cpp
1149 -+++ libs/mpi/src/python/datatypes.cpp
1150 -@@ -17,7 +17,9 @@
1151 -
1152 - void export_datatypes()
1153 - {
1154 -+#if PY_MAJOR_VERSION < 3
1155 - register_serialized(long(0), &PyInt_Type);
1156 -+#endif
1157 - register_serialized(false, &PyBool_Type);
1158 - register_serialized(double(0.0), &PyFloat_Type);
1159 - }
1160 ---- libs/mpi/src/python/py_environment.cpp
1161 -+++ libs/mpi/src/python/py_environment.cpp
1162 -@@ -11,6 +11,9 @@
1163 - * This file reflects the Boost.MPI "environment" class into Python
1164 - * methods at module level.
1165 - */
1166 -+
1167 -+#include <locale>
1168 -+#include <string>
1169 - #include <boost/python.hpp>
1170 - #include <boost/mpi.hpp>
1171 -
1172 -@@ -50,11 +53,64 @@
1173 -
1174 - // If anything changed, convert C-style argc/argv into Python argv
1175 - if (mpi_argv != my_argv)
1176 -+ {
1177 -+#if PY_MAJOR_VERSION >= 3
1178 -+
1179 -+ wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
1180 -+ /* We need a second copy, as Python might modify the first one. */
1181 -+ wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
1182 -+
1183 -+ if (!argv_copy || !argv_copy2) {
1184 -+ fprintf(stderr, "out of memory\n");
1185 -+ return false;
1186 -+ }
1187 -+
1188 -+ std::locale mylocale;
1189 -+ mbstate_t mystate;
1190 -+
1191 -+ const std::codecvt<char, wchar_t, mbstate_t>& myfacet =
1192 -+ std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale);
1193 -+
1194 -+ for (int i = 0; i < mpi_argc; i++)
1195 -+ {
1196 -+ size_t length = strlen(mpi_argv[i]);
1197 -+
1198 -+ wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1));
1199 -+
1200 -+ const char *from_next;
1201 -+ wchar_t *to_next;
1202 -+
1203 -+ std::codecvt<wchar_t,char,mbstate_t>::result myresult =
1204 -+ myfacet.out(mystate,
1205 -+ mpi_argv[i], mpi_argv[i] + length + 1, from_next,
1206 -+ dest, dest+length+1, to_next);
1207 -+
1208 -+ if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok )
1209 -+ {
1210 -+ fprintf(stderr, "failure translating argv\n");
1211 -+ return 1;
1212 -+ }
1213 -+
1214 -+ argv_copy2[i] = argv_copy[i] = dest;
1215 -+ if (!argv_copy[i])
1216 -+ return false;
1217 -+ }
1218 -+
1219 -+ PySys_SetArgv(mpi_argc, argv_copy);
1220 -+
1221 -+ for (int i = 0; i < mpi_argc; i++) {
1222 -+ PyMem_Free(argv_copy2[i]);
1223 -+ }
1224 -+ PyMem_Free(argv_copy);
1225 -+ PyMem_Free(argv_copy2);
1226 -+#else
1227 - PySys_SetArgv(mpi_argc, mpi_argv);
1228 -+#endif
1229 -+ }
1230 -
1231 -- for (int arg = 0; arg < my_argc; ++arg)
1232 -- free(my_argv[arg]);
1233 -- delete [] my_argv;
1234 -+ for (int arg = 0; arg < mpi_argc; ++arg)
1235 -+ free(mpi_argv[arg]);
1236 -+ delete [] mpi_argv;
1237 -
1238 - return true;
1239 - }
1240
1241 diff --git a/dev-libs/boost/files/boost-1.52.0-locale-utf.patch b/dev-libs/boost/files/boost-1.52.0-locale-utf.patch
1242 deleted file mode 100644
1243 index 7ef51e9..0000000
1244 --- a/dev-libs/boost/files/boost-1.52.0-locale-utf.patch
1245 +++ /dev/null
1246 @@ -1,52 +0,0 @@
1247 -Index: boost/locale/utf.hpp
1248 -===================================================================
1249 ---- boost/locale/utf.hpp (revision 81589)
1250 -+++ boost/locale/utf.hpp (revision 81590)
1251 -@@ -219,16 +219,22 @@
1252 - if(BOOST_LOCALE_UNLIKELY(p==e))
1253 - return incomplete;
1254 - tmp = *p++;
1255 -+ if (!is_trail(tmp))
1256 -+ return illegal;
1257 - c = (c << 6) | ( tmp & 0x3F);
1258 - case 2:
1259 - if(BOOST_LOCALE_UNLIKELY(p==e))
1260 - return incomplete;
1261 - tmp = *p++;
1262 -+ if (!is_trail(tmp))
1263 -+ return illegal;
1264 - c = (c << 6) | ( tmp & 0x3F);
1265 - case 1:
1266 - if(BOOST_LOCALE_UNLIKELY(p==e))
1267 - return incomplete;
1268 - tmp = *p++;
1269 -+ if (!is_trail(tmp))
1270 -+ return illegal;
1271 - c = (c << 6) | ( tmp & 0x3F);
1272 - }
1273 -
1274 -Index: libs/locale/test/test_codepage_converter.cpp
1275 -===================================================================
1276 ---- libs/locale/test/test_codepage_converter.cpp (revision 81589)
1277 -+++ libs/locale/test/test_codepage_converter.cpp (revision 81590)
1278 -@@ -140,6 +140,20 @@
1279 - TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000
1280 - TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff
1281 -
1282 -+ std::cout << "-- Invalid trail" << std::endl;
1283 -+ TEST_TO("\xC2\x7F",illegal);
1284 -+ TEST_TO("\xdf\x7F",illegal);
1285 -+ TEST_TO("\xe0\x7F\x80",illegal);
1286 -+ TEST_TO("\xef\xbf\x7F",illegal);
1287 -+ TEST_TO("\xe0\x7F\x80",illegal);
1288 -+ TEST_TO("\xef\xbf\x7F",illegal);
1289 -+ TEST_TO("\xf0\x7F\x80\x80",illegal);
1290 -+ TEST_TO("\xf4\x7f\xbf\xbf",illegal);
1291 -+ TEST_TO("\xf0\x90\x7F\x80",illegal);
1292 -+ TEST_TO("\xf4\x8f\x7F\xbf",illegal);
1293 -+ TEST_TO("\xf0\x90\x80\x7F",illegal);
1294 -+ TEST_TO("\xf4\x8f\xbf\x7F",illegal);
1295 -+
1296 - std::cout << "-- Invalid length" << std::endl;
1297 -
1298 - /// Test that this actually works
1299
1300 diff --git a/dev-libs/boost/files/boost-1.52.0-tuple.patch b/dev-libs/boost/files/boost-1.52.0-tuple.patch
1301 deleted file mode 100644
1302 index 08bab86..0000000
1303 --- a/dev-libs/boost/files/boost-1.52.0-tuple.patch
1304 +++ /dev/null
1305 @@ -1,11 +0,0 @@
1306 ---- boost/signals2/detail/variadic_slot_invoker.hpp.org 2012-11-20 09:15:55.000000000 +0400
1307 -+++ boost/signals2/detail/variadic_slot_invoker.hpp 2012-11-20 09:19:56.000000000 +0400
1308 -@@ -20,7 +20,7 @@
1309 - // if compiler has std::tuple use it instead of boost::tuple
1310 - // because boost::tuple does not have variadic template support at present.
1311 - #ifdef BOOST_NO_CXX11_HDR_TUPLE
1312 --#include <boost/tuple.hpp>
1313 -+#include <boost/tuple/tuple.hpp>
1314 - #define BOOST_SIGNALS2_TUPLE boost::tuple
1315 - #else
1316 - #include <tuple>
1317
1318 diff --git a/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch b/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch
1319 deleted file mode 100644
1320 index 54d2e29..0000000
1321 --- a/dev-libs/boost/files/boost-1.53.0-glibc-2.18-compat.patch
1322 +++ /dev/null
1323 @@ -1,18 +0,0 @@
1324 -Patch for compatibility with glibc 2.18
1325 -Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=482372
1326 -Upstream fix: https://svn.boost.org/trac/boost/changeset/84950
1327 -
1328 ---- boost_1_53_0/boost/cstdint.hpp 2012-12-11 22:42:26.000000000 +0800
1329 -+++ boost_1_53_0.fix/boost/cstdint.hpp 2013-08-25 20:48:53.683000000 +0800
1330 -@@ -41,7 +41,10 @@
1331 - // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
1332 - // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
1333 - //
1334 --#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
1335 -+#if defined(BOOST_HAS_STDINT_H) \
1336 -+ && (!defined(__GLIBC__) \
1337 -+ || defined(__GLIBC_HAVE_LONG_LONG) \
1338 -+ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
1339 -
1340 - // The following #include is an implementation artifact; not part of interface.
1341 - # ifdef __hpux
1342
1343 diff --git a/dev-libs/boost/files/boost-1.53.0-library_status.patch b/dev-libs/boost/files/boost-1.53.0-library_status.patch
1344 deleted file mode 100644
1345 index 7d10461..0000000
1346 --- a/dev-libs/boost/files/boost-1.53.0-library_status.patch
1347 +++ /dev/null
1348 @@ -1,57 +0,0 @@
1349 ---- tools_orig/regression/src/library_status.cpp 2012-12-11 15:42:26.000000000 +0100
1350 -+++ tools/regression/src/library_status.cpp 2013-07-11 16:15:54.000000000 +0200
1351 -@@ -171,16 +171,17 @@
1352 - // find_element ------------------------------------------------------------//
1353 -
1354 -+ struct element_equal {
1355 -+ const string & m_name;
1356 -+ element_equal(const string & name) :
1357 -+ m_name(name)
1358 -+ {}
1359 -+ bool operator()(const xml::element_ptr & xep) const {
1360 -+ return xep.get()->name == m_name;
1361 -+ }
1362 -+ };
1363 -+
1364 - xml::element_list::const_iterator find_element(
1365 - const xml::element & root, const string & name
1366 - ){
1367 -- struct element_equal {
1368 -- const string & m_name;
1369 -- element_equal(const string & name) :
1370 -- m_name(name)
1371 -- {}
1372 -- bool operator()(const xml::element_ptr & xep) const {
1373 -- return xep.get()->name == m_name;
1374 -- }
1375 -- };
1376 - return std::find_if(
1377 - root.elements.begin(),
1378 -@@ -203,17 +204,18 @@
1379 - // attribute_value ----------------------------------------------------------//
1380 -
1381 -+ struct attribute_equal {
1382 -+ const string & m_name;
1383 -+ attribute_equal(const string & name) :
1384 -+ m_name(name)
1385 -+ {}
1386 -+ bool operator()(const xml::attribute & a) const {
1387 -+ return a.name == m_name;
1388 -+ }
1389 -+ };
1390 -+
1391 - const string & attribute_value(
1392 - const xml::element & element,
1393 - const string & attribute_name
1394 - ){
1395 -- struct attribute_equal {
1396 -- const string & m_name;
1397 -- attribute_equal(const string & name) :
1398 -- m_name(name)
1399 -- {}
1400 -- bool operator()(const xml::attribute & a) const {
1401 -- return a.name == m_name;
1402 -- }
1403 -- };
1404 - xml::attribute_list::const_iterator itr;
1405 - itr = std::find_if(
1406
1407 diff --git a/dev-libs/boost/files/remove-toolset-1.48.0.patch b/dev-libs/boost/files/remove-toolset-1.48.0.patch
1408 deleted file mode 100644
1409 index df91529..0000000
1410 --- a/dev-libs/boost/files/remove-toolset-1.48.0.patch
1411 +++ /dev/null
1412 @@ -1,11 +0,0 @@
1413 ---- boostcpp.jam
1414 -+++ boostcpp.jam
1415 -@@ -377,7 +377,7 @@
1416 - if $(layout) = versioned
1417 - {
1418 - result = [ common.format-name
1419 -- <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
1420 -+ <base> <threading> <runtime> -$(BOOST_VERSION_TAG)
1421 - -$(BUILD_ID)
1422 - : $(name) : $(type) : $(property-set) ] ;
1423 - }