Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-dev:uclibc commit in: dev-libs/boost/files/, dev-libs/boost/
Date: Wed, 02 Jan 2013 04:08:36
Message-Id: 1357099635.4333c4b5c07d4d4e887512cdcc9fd89bcb0015e9.blueness@gentoo
1 commit: 4333c4b5c07d4d4e887512cdcc9fd89bcb0015e9
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 2 04:00:50 2013 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 2 04:07:15 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=4333c4b5
7
8 dev-libs/boost: remove since in tree works
9
10 Package-Manager: portage-2.1.11.31
11
12 ---
13 dev-libs/boost/boost-1.51.0-r99.ebuild | 432 --------------------
14 .../files/boost-1.48.0-disable_icu_rpath.patch | 29 --
15 .../boost-1.48.0-disable_libboost_python3.patch | 62 ---
16 .../boost/files/boost-1.48.0-mpi_python3.patch | 95 -----
17 .../boost-1.48.0-no_strict_aliasing_python2.patch | 23 -
18 .../boost/files/boost-1.48.0-python_linking.patch | 24 --
19 .../boost-1.51.0-respect_python-buildid.patch | 69 ---
20 ...ost-1.51.0-support_dots_in_python-buildid.patch | 22 -
21 dev-libs/boost/files/remove-toolset-1.48.0.patch | 11 -
22 dev-libs/boost/metadata.xml | 31 --
23 10 files changed, 0 insertions(+), 798 deletions(-)
24
25 diff --git a/dev-libs/boost/boost-1.51.0-r99.ebuild b/dev-libs/boost/boost-1.51.0-r99.ebuild
26 deleted file mode 100644
27 index a4f663f..0000000
28 --- a/dev-libs/boost/boost-1.51.0-r99.ebuild
29 +++ /dev/null
30 @@ -1,432 +0,0 @@
31 -# Copyright 1999-2012 Gentoo Foundation
32 -# Distributed under the terms of the GNU General Public License v2
33 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild,v 1.2 2012/11/01 15:21:39 flameeyes Exp $
34 -
35 -EAPI="5"
36 -PYTHON_DEPEND="python? *"
37 -SUPPORT_PYTHON_ABIS="1"
38 -RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
39 -
40 -inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator
41 -
42 -MY_P=${PN}_$(replace_all_version_separators _)
43 -
44 -DESCRIPTION="Boost Libraries for C++"
45 -HOMEPAGE="http://www.boost.org/"
46 -SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
47 -
48 -LICENSE="Boost-1.0"
49 -SLOT=0
50 -MAJOR_V="$(get_version_component_range 1-2)"
51 -KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
52 -IUSE="debug doc icu locale mpi python static-libs tools"
53 -
54 -RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
55 - !icu? ( virtual/libiconv )
56 - mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
57 - sys-libs/zlib
58 - !app-admin/eselect-boost"
59 -DEPEND="${RDEPEND}
60 - =dev-util/boost-build-${MAJOR_V}*"
61 -
62 -S=${WORKDIR}/${MY_P}
63 -
64 -MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
65 -BJAM="b2-${MAJOR_PV}"
66 -
67 -create_user-config.jam() {
68 - local compiler compiler_version compiler_executable
69 -
70 - if [[ ${CHOST} == *-darwin* ]]; then
71 - compiler="darwin"
72 - compiler_version="$(gcc-fullversion)"
73 - compiler_executable="$(tc-getCXX)"
74 - else
75 - compiler="gcc"
76 - compiler_version="$(gcc-version)"
77 - compiler_executable="$(tc-getCXX)"
78 - fi
79 - local mpi_configuration python_configuration
80 -
81 - if use mpi; then
82 - mpi_configuration="using mpi ;"
83 - fi
84 -
85 - if use python; then
86 - python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
87 - fi
88 -
89 - cat > user-config.jam << __EOF__
90 -using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
91 -${mpi_configuration}
92 -${python_configuration}
93 -__EOF__
94 -}
95 -
96 -pkg_setup() {
97 - if use python; then
98 - python_pkg_setup
99 - fi
100 -}
101 -
102 -src_prepare() {
103 - epatch \
104 - "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
105 - "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
106 - "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
107 - "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
108 - "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
109 - "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
110 - "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
111 - "${FILESDIR}/remove-toolset-1.48.0.patch"
112 -}
113 -
114 -src_configure() {
115 - OPTIONS=""
116 -
117 - if [[ ${CHOST} == *-darwin* ]]; then
118 - # We need to add the prefix, and in two cases this exceeds, so prepare
119 - # for the largest possible space allocation.
120 - append-ldflags -Wl,-headerpad_max_install_names
121 - fi
122 -
123 - # bug 298489
124 - if use ppc || use ppc64; then
125 - [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
126 - fi
127 -
128 - use icu && OPTIONS+=" -sICU_PATH=/usr"
129 - use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
130 - use locale || OPTIONS+=" --without-locale"
131 - use mpi || OPTIONS+=" --without-mpi"
132 - use python || OPTIONS+=" --without-python"
133 -
134 - # https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
135 - if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
136 - OPTIONS+=" --disable-long-double"
137 - fi
138 -
139 - OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
140 -
141 - if use static-libs; then
142 - LINK_OPTS="link=shared,static"
143 - LIBRARY_TARGETS="*.a *$(get_libname)"
144 - else
145 - LINK_OPTS="link=shared"
146 - # There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
147 - LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
148 - fi
149 -}
150 -
151 -src_compile() {
152 - export BOOST_ROOT="${S}"
153 - PYTHON_DIRS=""
154 - MPI_PYTHON_MODULE=""
155 - NUMJOBS="-j$(makeopts_jobs)"
156 -
157 - building() {
158 - create_user-config.jam
159 -
160 - einfo "Using the following command to build:"
161 - 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})"
162 -
163 - ${BJAM} ${NUMJOBS} -q -d+2 \
164 - gentoorelease \
165 - --user-config=user-config.jam \
166 - ${OPTIONS} threading=single,multi ${LINK_OPTS} \
167 - $(use python && echo --python-buildid=${PYTHON_ABI}) \
168 - || die "Building of Boost libraries failed"
169 -
170 - # ... and do the whole thing one more time to get the debug libs
171 - if use debug; then
172 - einfo "Using the following command to build:"
173 - 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})"
174 -
175 - ${BJAM} ${NUMJOBS} -q -d+2 \
176 - gentoodebug \
177 - --user-config=user-config.jam \
178 - ${OPTIONS} threading=single,multi ${LINK_OPTS} \
179 - --buildid=debug \
180 - $(use python && echo --python-buildid=${PYTHON_ABI}) \
181 - || die "Building of Boost debug libraries failed"
182 - fi
183 -
184 - if use python; then
185 - if [[ -z "${PYTHON_DIRS}" ]]; then
186 - PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
187 - else
188 - if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
189 - die "Inconsistent structure of build directories"
190 - fi
191 - fi
192 -
193 - local dir
194 - for dir in ${PYTHON_DIRS}; do
195 - mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
196 - done
197 -
198 - if use mpi; then
199 - if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
200 - MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
201 - if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
202 - die "Multiple mpi.so files found"
203 - fi
204 - else
205 - if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
206 - die "Inconsistent structure of build directories"
207 - fi
208 - fi
209 -
210 - 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"
211 - fi
212 - fi
213 - }
214 - if use python; then
215 - python_execute_function building
216 - else
217 - building
218 - fi
219 -
220 - if use tools; then
221 - pushd tools > /dev/null || die
222 - einfo "Using the following command to build the tools:"
223 - einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
224 -
225 - ${BJAM} ${NUMJOBS} -q -d+2\
226 - gentoorelease \
227 - --user-config=../user-config.jam \
228 - ${OPTIONS} \
229 - || die "Building of Boost tools failed"
230 - popd > /dev/null || die
231 - fi
232 -}
233 -
234 -src_install () {
235 - installation() {
236 - create_user-config.jam
237 -
238 - if use python; then
239 - local dir
240 - for dir in ${PYTHON_DIRS}; do
241 - cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
242 - done
243 -
244 - if use mpi; then
245 - 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"
246 - 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"
247 - fi
248 - fi
249 -
250 - einfo "Using the following command to install:"
251 - 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"
252 -
253 - ${BJAM} -q -d+2 \
254 - gentoorelease \
255 - --user-config=user-config.jam \
256 - ${OPTIONS} threading=single,multi ${LINK_OPTS} \
257 - --includedir="${D}usr/include" \
258 - --libdir="${D}usr/$(get_libdir)" \
259 - $(use python && echo --python-buildid=${PYTHON_ABI}) \
260 - install || die "Installation of Boost libraries failed"
261 -
262 - if use debug; then
263 - einfo "Using the following command to install:"
264 - 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})"
265 -
266 - ${BJAM} -q -d+2 \
267 - gentoodebug \
268 - --user-config=user-config.jam \
269 - ${OPTIONS} threading=single,multi ${LINK_OPTS} \
270 - --includedir="${D}usr/include" \
271 - --libdir="${D}usr/$(get_libdir)" \
272 - --buildid=debug \
273 - $(use python && echo --python-buildid=${PYTHON_ABI}) \
274 - install || die "Installation of Boost debug libraries failed"
275 - fi
276 -
277 - if use python; then
278 - rm -r ${PYTHON_DIRS} || die
279 -
280 - # Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
281 - if use mpi; then
282 - mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
283 - mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
284 - cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
285 -import sys
286 -if sys.platform.startswith('linux'):
287 - import DLFCN
288 - flags = sys.getdlopenflags()
289 - sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
290 - from . import mpi
291 - sys.setdlopenflags(flags)
292 - del DLFCN, flags
293 -else:
294 - from . import mpi
295 -del sys
296 -EOF
297 - fi
298 - fi
299 - }
300 - if use python; then
301 - python_execute_function installation
302 - else
303 - installation
304 - fi
305 -
306 - use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || 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 \
315 - -A pdf,txt \
316 - -r tools
317 - insinto /usr/share/doc/${PF}/html
318 - doins -r libs
319 - doins -r more
320 -
321 - # To avoid broken links
322 - insinto /usr/share/doc/${PF}/html
323 - doins LICENSE_1_0.txt
324 -
325 - dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
326 - fi
327 -
328 - dosym boost-${MAJOR_PV}/boost /usr/include/boost
329 -
330 - pushd "${D}usr/$(get_libdir)" > /dev/null || die
331 -
332 - # The threading libs obviously always gets the "-mt" (multithreading) tag
333 - # some packages seem to have a problem with it. Creating symlinks...
334 -
335 - if use static-libs; then
336 - THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
337 - else
338 - THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
339 - fi
340 - local lib
341 - for lib in ${THREAD_LIBS}; do
342 - dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
343 - done
344 -
345 - # The same goes for the mpi libs
346 - if use mpi; then
347 - if use static-libs; then
348 - MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
349 - else
350 - MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
351 - fi
352 - local lib
353 - for lib in ${MPI_LIBS}; do
354 - dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
355 - done
356 - fi
357 -
358 - if use debug; then
359 - if use static-libs; then
360 - THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
361 - else
362 - THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
363 - fi
364 -
365 - local lib
366 - for lib in ${THREAD_DEBUG_LIBS}; do
367 - dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
368 - done
369 -
370 - if use mpi; then
371 - if use static-libs; then
372 - MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
373 - else
374 - MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
375 - fi
376 -
377 - local lib
378 - for lib in ${MPI_DEBUG_LIBS}; do
379 - dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
380 - done
381 - fi
382 - fi
383 -
384 - local f
385 - for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
386 - dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
387 - done
388 -
389 - if use debug; then
390 - dodir /usr/$(get_libdir)/boost-debug
391 - local f
392 - for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
393 - dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
394 - done
395 - fi
396 -
397 - popd > /dev/null || die
398 -
399 - if use tools; then
400 - pushd dist/bin > /dev/null || die
401 - # Append version postfix to binaries for slotting
402 - local b
403 - for b in *; do
404 - newbin "${b}" "${b}-${MAJOR_PV}"
405 - done
406 - popd > /dev/null || die
407 -
408 - pushd dist > /dev/null || die
409 - insinto /usr/share
410 - doins -r share/boostbook
411 - # Append version postfix for slotting
412 - mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
413 - popd > /dev/null || die
414 - fi
415 -
416 - pushd status > /dev/null || die
417 - if [[ -f regress.log ]]; then
418 - docinto status
419 - dohtml *.html ../boost.png
420 - dodoc regress.log
421 - fi
422 - popd > /dev/null || die
423 -
424 - # boost's build system truely sucks for not having a destdir. Because for
425 - # this reason we are forced to build with a prefix that includes the
426 - # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
427 - # DESTROOT instread of the actual EPREFIX. There is no way out of here
428 - # but to do it the dirty way of manually setting the right install_names.
429 - if [[ ${CHOST} == *-darwin* ]]; then
430 - einfo "Working around completely broken build-system(tm)"
431 - local d
432 - for d in "${ED}"usr/lib/*.dylib; do
433 - if [[ -f ${d} ]]; then
434 - # fix the "soname"
435 - ebegin " correcting install_name of ${d#${ED}}"
436 - install_name_tool -id "/${d#${D}}" "${d}"
437 - eend $?
438 - # fix references to other libs
439 - refs=$(otool -XL "${d}" | \
440 - sed -e '1d' -e 's/^\t//' | \
441 - grep "^libboost_" | \
442 - cut -f1 -d' ')
443 - local r
444 - for r in ${refs}; do
445 - ebegin " correcting reference to ${r}"
446 - install_name_tool -change \
447 - "${r}" \
448 - "${EPREFIX}/usr/lib/${r}" \
449 - "${d}"
450 - eend $?
451 - done
452 - fi
453 - done
454 - fi
455 -}
456 -
457 -# the tests will never fail because these are not intended as sanity
458 -# tests at all. They are more a way for upstream to check their own code
459 -# on new compilers. Since they would either be completely unreliable
460 -# (failing for no good reason) or completely useless (never failing)
461 -# there is no point in having them in the ebuild to begin with.
462 -src_test() { :; }
463
464 diff --git a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
465 deleted file mode 100644
466 index a902d61..0000000
467 --- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
468 +++ /dev/null
469 @@ -1,29 +0,0 @@
470 ---- libs/locale/build/Jamfile.v2
471 -+++ libs/locale/build/Jamfile.v2
472 -@@ -58,8 +58,8 @@
473 -
474 - if $(ICU_LINK)
475 - {
476 -- ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <runtime-link>shared ;
477 -- ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin64 <runtime-link>shared ;
478 -+ ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
479 -+ ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
480 - }
481 - else
482 - {
483 -@@ -117,7 +117,6 @@
484 - <library>icuuc/<link>shared/<runtime-link>shared
485 - <library>icudt/<link>shared/<runtime-link>shared
486 - <library>icuin/<link>shared/<runtime-link>shared
487 -- <dll-path>$(ICU_PATH)/bin
488 - <runtime-link>shared ;
489 -
490 -
491 -@@ -176,7 +175,6 @@
492 - <library>icuuc_64/<link>shared/<runtime-link>shared
493 - <library>icudt_64/<link>shared/<runtime-link>shared
494 - <library>icuin_64/<link>shared/<runtime-link>shared
495 -- <dll-path>$(ICU_PATH)/bin64
496 - <runtime-link>shared ;
497 -
498 -
499
500 diff --git a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
501 deleted file mode 100644
502 index c24a56c..0000000
503 --- a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
504 +++ /dev/null
505 @@ -1,62 +0,0 @@
506 ---- libs/python/build/Jamfile.v2
507 -+++ libs/python/build/Jamfile.v2
508 -@@ -39,23 +39,6 @@
509 - PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
510 - }
511 -
512 --
513 --rule find-py3-version
514 --{
515 -- local versions = [ feature.values python ] ;
516 -- local py3ver ;
517 -- for local v in $(versions)
518 -- {
519 -- if $(v) >= 3.0
520 -- {
521 -- py3ver = $(v) ;
522 -- }
523 -- }
524 -- return $(py3ver) ;
525 --}
526 --
527 --py3-version = [ find-py3-version ] ;
528 --
529 - project boost/python
530 - : source-location ../src
531 - : requirements
532 -@@ -82,7 +65,7 @@
533 - rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
534 - rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
535 -
536 --rule lib_boost_python ( is-py3 ? )
537 -+rule lib_boost_python
538 - {
539 -
540 - local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
541 -@@ -91,7 +74,7 @@
542 - {
543 - python2 = true ;
544 - }
545 -- lib [ cond $(is-py3) : boost_python3 : boost_python ]
546 -+ lib boost_python
547 - : # sources
548 - numeric.cpp
549 - list.cpp
550 -@@ -148,7 +131,6 @@
551 - <dependency>config-warning
552 -
553 - <python-debugging>on:<define>BOOST_DEBUG_PYTHON
554 -- [ cond $(is-py3) : <python>$(py3-version) ]
555 - : # default build
556 - <link>shared
557 - : # usage requirements
558 -@@ -160,9 +142,3 @@
559 -
560 - lib_boost_python ;
561 - boost-install boost_python ;
562 --
563 --if $(py3-version)
564 --{
565 -- lib_boost_python yes ;
566 -- boost-install boost_python3 ;
567 --}
568
569 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
570 deleted file mode 100644
571 index a32eca9..0000000
572 --- a/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
573 +++ /dev/null
574 @@ -1,95 +0,0 @@
575 -https://svn.boost.org/trac/boost/ticket/4657
576 -https://svn.boost.org/trac/boost/changeset/76290
577 -
578 ---- libs/mpi/src/python/datatypes.cpp
579 -+++ libs/mpi/src/python/datatypes.cpp
580 -@@ -17,7 +17,9 @@
581 -
582 - void export_datatypes()
583 - {
584 -+#if PY_MAJOR_VERSION < 3
585 - register_serialized(long(0), &PyInt_Type);
586 -+#endif
587 - register_serialized(false, &PyBool_Type);
588 - register_serialized(double(0.0), &PyFloat_Type);
589 - }
590 ---- libs/mpi/src/python/py_environment.cpp
591 -+++ libs/mpi/src/python/py_environment.cpp
592 -@@ -11,6 +11,9 @@
593 - * This file reflects the Boost.MPI "environment" class into Python
594 - * methods at module level.
595 - */
596 -+
597 -+#include <locale>
598 -+#include <string>
599 - #include <boost/python.hpp>
600 - #include <boost/mpi.hpp>
601 -
602 -@@ -50,11 +53,64 @@
603 -
604 - // If anything changed, convert C-style argc/argv into Python argv
605 - if (mpi_argv != my_argv)
606 -+ {
607 -+#if PY_MAJOR_VERSION >= 3
608 -+
609 -+ wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
610 -+ /* We need a second copy, as Python might modify the first one. */
611 -+ wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
612 -+
613 -+ if (!argv_copy || !argv_copy2) {
614 -+ fprintf(stderr, "out of memory\n");
615 -+ return false;
616 -+ }
617 -+
618 -+ std::locale mylocale;
619 -+ mbstate_t mystate;
620 -+
621 -+ const std::codecvt<char, wchar_t, mbstate_t>& myfacet =
622 -+ std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale);
623 -+
624 -+ for (int i = 0; i < mpi_argc; i++)
625 -+ {
626 -+ size_t length = strlen(mpi_argv[i]);
627 -+
628 -+ wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1));
629 -+
630 -+ const char *from_next;
631 -+ wchar_t *to_next;
632 -+
633 -+ std::codecvt<wchar_t,char,mbstate_t>::result myresult =
634 -+ myfacet.out(mystate,
635 -+ mpi_argv[i], mpi_argv[i] + length + 1, from_next,
636 -+ dest, dest+length+1, to_next);
637 -+
638 -+ if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok )
639 -+ {
640 -+ fprintf(stderr, "failure translating argv\n");
641 -+ return 1;
642 -+ }
643 -+
644 -+ argv_copy2[i] = argv_copy[i] = dest;
645 -+ if (!argv_copy[i])
646 -+ return false;
647 -+ }
648 -+
649 -+ PySys_SetArgv(mpi_argc, argv_copy);
650 -+
651 -+ for (int i = 0; i < mpi_argc; i++) {
652 -+ PyMem_Free(argv_copy2[i]);
653 -+ }
654 -+ PyMem_Free(argv_copy);
655 -+ PyMem_Free(argv_copy2);
656 -+#else
657 - PySys_SetArgv(mpi_argc, mpi_argv);
658 -+#endif
659 -+ }
660 -
661 -- for (int arg = 0; arg < my_argc; ++arg)
662 -- free(my_argv[arg]);
663 -- delete [] my_argv;
664 -+ for (int arg = 0; arg < mpi_argc; ++arg)
665 -+ free(mpi_argv[arg]);
666 -+ delete [] mpi_argv;
667 -
668 - return true;
669 - }
670
671 diff --git a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
672 deleted file mode 100644
673 index 89f8109..0000000
674 --- a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
675 +++ /dev/null
676 @@ -1,23 +0,0 @@
677 ---- libs/python/build/Jamfile.v2
678 -+++ libs/python/build/Jamfile.v2
679 -@@ -85,6 +85,12 @@
680 - rule lib_boost_python ( is-py3 ? )
681 - {
682 -
683 -+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
684 -+ local python2 ;
685 -+ if $(python_major_version) = 2
686 -+ {
687 -+ python2 = true ;
688 -+ }
689 - lib [ cond $(is-py3) : boost_python3 : boost_python ]
690 - : # sources
691 - numeric.cpp
692 -@@ -119,6 +125,7 @@
693 - : # requirements
694 - <link>static:<define>BOOST_PYTHON_STATIC_LIB
695 - <define>BOOST_PYTHON_SOURCE
696 -+ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
697 -
698 - # On Windows, all code using Python has to link to the Python
699 - # import library.
700
701 diff --git a/dev-libs/boost/files/boost-1.48.0-python_linking.patch b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
702 deleted file mode 100644
703 index e7f4e7c..0000000
704 --- a/dev-libs/boost/files/boost-1.48.0-python_linking.patch
705 +++ /dev/null
706 @@ -1,24 +0,0 @@
707 ---- libs/python/build/Jamfile.v2
708 -+++ libs/python/build/Jamfile.v2
709 -@@ -109,20 +109,7 @@
710 - <link>static:<define>BOOST_PYTHON_STATIC_LIB
711 - <define>BOOST_PYTHON_SOURCE
712 - [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
713 --
714 -- # On Windows, all code using Python has to link to the Python
715 -- # import library.
716 -- #
717 -- # On *nix we never link libboost_python to libpython. When
718 -- # extending Python, all Python symbols are provided by the
719 -- # Python interpreter executable. When embedding Python, the
720 -- # client executable is expected to explicitly link to
721 -- # /python//python (the target representing libpython) itself.
722 -- #
723 -- # python_for_extensions is a target defined by Boost.Build to
724 -- # provide the Python include paths, and on Windows, the Python
725 -- # import library, as usage requirements.
726 -- [ cond [ python.configured ] : <library>/python//python_for_extensions ]
727 -+ [ cond [ python.configured ] : <library>/python//python ]
728 -
729 - # we prevent building when there is no python available
730 - # as it's not possible anyway, and to cause dependents to
731
732 diff --git a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
733 deleted file mode 100644
734 index 327429e..0000000
735 --- a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
736 +++ /dev/null
737 @@ -1,69 +0,0 @@
738 -https://svn.boost.org/trac/boost/ticket/6286
739 -
740 ---- boostcpp.jam
741 -+++ boostcpp.jam
742 -@@ -99,13 +99,6 @@
743 - BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" _ ] ;
744 - }
745 -
746 --# Python build id (for Python libraries only).
747 --python-id = [ option.get "python-buildid" ] ;
748 --if $(python-id)
749 --{
750 -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
751 --}
752 --
753 -
754 - ################################################################################
755 - #
756 ---- libs/mpi/build/Jamfile.v2
757 -+++ libs/mpi/build/Jamfile.v2
758 -@@ -8,6 +8,8 @@
759 - # Authors: Douglas Gregor
760 - # Andrew Lumsdaine
761 -
762 -+import option ;
763 -+import regex ;
764 - import mpi ;
765 - import indirect ;
766 - import python ;
767 -@@ -24,6 +26,13 @@
768 - <tag>@$(__name__).tag
769 - ;
770 -
771 -+# Python build id (for Python libraries only).
772 -+python-id = [ option.get "python-buildid" ] ;
773 -+if $(python-id)
774 -+{
775 -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
776 -+}
777 -+
778 - rule tag ( name : type ? : property-set )
779 - {
780 - local result = $(name) ;
781 ---- libs/python/build/Jamfile.v2
782 -+++ libs/python/build/Jamfile.v2
783 -@@ -2,6 +2,8 @@
784 - # Software License, Version 1.0. (See accompanying
785 - # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
786 -
787 -+import option ;
788 -+import regex ;
789 - import os ;
790 - import indirect ;
791 - import modules ;
792 -@@ -30,6 +32,14 @@
793 - ;
794 - }
795 -
796 -+# Python build id (for Python libraries only).
797 -+python-id = [ option.get "python-buildid" ] ;
798 -+if $(python-id)
799 -+{
800 -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
801 -+}
802 -+
803 -+
804 - rule find-py3-version
805 - {
806 - local versions = [ feature.values python ] ;
807
808 diff --git a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
809 deleted file mode 100644
810 index c8dc6e1..0000000
811 --- a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
812 +++ /dev/null
813 @@ -1,22 +0,0 @@
814 ---- libs/mpi/build/Jamfile.v2
815 -+++ libs/mpi/build/Jamfile.v2
816 -@@ -30,7 +30,7 @@
817 - python-id = [ option.get "python-buildid" ] ;
818 - if $(python-id)
819 - {
820 -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
821 -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
822 - }
823 -
824 - rule tag ( name : type ? : property-set )
825 ---- libs/python/build/Jamfile.v2
826 -+++ libs/python/build/Jamfile.v2
827 -@@ -36,7 +36,7 @@
828 - python-id = [ option.get "python-buildid" ] ;
829 - if $(python-id)
830 - {
831 -- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
832 -+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
833 - }
834 -
835 -
836
837 diff --git a/dev-libs/boost/files/remove-toolset-1.48.0.patch b/dev-libs/boost/files/remove-toolset-1.48.0.patch
838 deleted file mode 100644
839 index df91529..0000000
840 --- a/dev-libs/boost/files/remove-toolset-1.48.0.patch
841 +++ /dev/null
842 @@ -1,11 +0,0 @@
843 ---- boostcpp.jam
844 -+++ boostcpp.jam
845 -@@ -377,7 +377,7 @@
846 - if $(layout) = versioned
847 - {
848 - result = [ common.format-name
849 -- <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
850 -+ <base> <threading> <runtime> -$(BOOST_VERSION_TAG)
851 - -$(BUILD_ID)
852 - : $(name) : $(type) : $(property-set) ] ;
853 - }
854
855 diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
856 deleted file mode 100644
857 index 4484730..0000000
858 --- a/dev-libs/boost/metadata.xml
859 +++ /dev/null
860 @@ -1,31 +0,0 @@
861 -<?xml version="1.0" encoding="UTF-8"?>
862 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
863 -<pkgmetadata>
864 - <herd>cpp</herd>
865 - <maintainer>
866 - <email>dev-zero@g.o</email>
867 - <name>Tiziano Müller</name>
868 - </maintainer>
869 - <maintainer>
870 - <email>SebastianLuther@×××.de</email>
871 - <name>Sebastian Luther</name>
872 - </maintainer>
873 - <maintainer>
874 - <email>arfrever.fta@×××××.com</email>
875 - <name>Arfrever Frehtes Taifersar Arahesis</name>
876 - </maintainer>
877 - <maintainer>
878 - <email>mgorny@g.o</email>
879 - <name>Michał Górny</name>
880 - </maintainer>
881 -<longdescription>
882 -Boost is a free peer-reviewed portable C++ source libraries.
883 -</longdescription>
884 -<use>
885 - <flag name='tools'>Build and install the boost tools (bcp, quickbook,
886 - inspect, wave)</flag>
887 - <flag name='eselect'>Run "eselect boost update" even if version is
888 - already selected</flag>
889 - <flag name='locale'>Build with locale support</flag>
890 -</use>
891 -</pkgmetadata>