public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/hardened-dev:uclibc commit in: dev-libs/boost/files/, dev-libs/boost/
@ 2012-09-25 22:40 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2012-09-25 22:40 UTC (permalink / raw
  To: gentoo-commits

commit:     982d5bc9ed18e819948145ad30a0abe1d8950d09
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 25 22:39:55 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Sep 25 22:39:55 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=982d5bc9

dev-libs/boost: add USE=locale to boost

---
 dev-libs/boost/boost-1.49.0-r99.ebuild             |  614 ++++++++++++++++++++
 dev-libs/boost/boost-1.50.0-r99.ebuild             |  596 +++++++++++++++++++
 .../files/boost-1.48.0-disable_icu_rpath.patch     |   29 +
 .../boost-1.48.0-disable_libboost_python3.patch    |   62 ++
 .../boost/files/boost-1.48.0-mpi_python3.patch     |   95 +++
 .../boost-1.48.0-no_strict_aliasing_python2.patch  |   23 +
 .../boost/files/boost-1.48.0-python_linking.patch  |   24 +
 .../boost-1.48.0-respect_python-buildid.patch      |   69 +++
 ...ost-1.48.0-support_dots_in_python-buildid.patch |   22 +
 dev-libs/boost/files/remove-toolset-1.48.0.patch   |   11 +
 dev-libs/boost/metadata.xml                        |   31 +
 11 files changed, 1576 insertions(+), 0 deletions(-)

diff --git a/dev-libs/boost/boost-1.49.0-r99.ebuild b/dev-libs/boost/boost-1.49.0-r99.ebuild
new file mode 100644
index 0000000..df362e1
--- /dev/null
+++ b/dev-libs/boost/boost-1.49.0-r99.ebuild
@@ -0,0 +1,614 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.7 2012/09/23 12:28:19 ago Exp $
+
+EAPI="4"
+PYTHON_DEPEND="python? *"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
+
+inherit check-reqs flag-o-matic multilib python toolchain-funcs versionator
+
+MY_P=${PN}_$(replace_all_version_separators _)
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc +eselect icu +locale mpi python static-libs test tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.3 )
+	mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
+	sys-libs/zlib
+	!!<=dev-libs/boost-1.35.0-r2
+	>=app-admin/eselect-boost-0.4"
+DEPEND="${RDEPEND}
+	dev-util/boost-build:${SLOT}"
+
+S=${WORKDIR}/${MY_P}
+
+MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
+BJAM="b2-${MAJOR_PV}"
+
+# Usage:
+# _add_line <line-to-add> <profile>
+# ... to add to specific profile
+# or
+# _add_line <line-to-add>
+# ... to add to all profiles for which the use flag set
+
+_add_line() {
+	if [[ -z "$2" ]]; then
+		echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/default"
+		if use debug; then
+			echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/debug"
+		fi
+	else
+		echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/${2}"
+	fi
+}
+
+create_user-config.jam() {
+	local compiler compiler_version compiler_executable
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		compiler="darwin"
+		compiler_version="$(gcc-fullversion)"
+		compiler_executable="$(tc-getCXX)"
+	else
+		compiler="gcc"
+		compiler_version="$(gcc-version)"
+		compiler_executable="$(tc-getCXX)"
+	fi
+	local mpi_configuration python_configuration
+
+	if use mpi; then
+		mpi_configuration="using mpi ;"
+	fi
+
+	if use python; then
+		python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
+	fi
+
+	# The debug-symbols=none and optimization=none are not official upstream flags but a Gentoo
+	# specific patch to make sure that all our CFLAGS/CXXFLAGS/LDFLAGS are being respected.
+	# Using optimization=off would for example add "-O0" and override "-O2" set by the user.
+	# Please take a look at the boost-build ebuild for more information.
+	cat > user-config.jam << __EOF__
+variant gentoorelease : release : <optimization>none <debug-symbols>none ;
+variant gentoodebug : debug : <optimization>none ;
+
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_pretend() {
+	if use test; then
+		CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
+
+		ewarn "The tests may take several hours on a recent machine"
+		ewarn "but they will not fail (unless something weird happens ;-)"
+		ewarn "This is because the tests depend on the used compiler version"
+		ewarn "and the platform and upstream says that this is normal."
+		ewarn "If you are interested in the results, please take a look at the"
+		ewarn "generated results page:"
+		ewarn "  ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
+	fi
+}
+
+pkg_setup() {
+	if use python; then
+		python_pkg_setup
+	fi
+
+	if use debug; then
+		ewarn "The debug USE flag means that a second set of the boost libraries"
+		ewarn "will be built containing debug symbols. You'll be able to select them"
+		ewarn "using the boost-eselect module. But even though the optimization flags"
+		ewarn "you might have set are not stripped, there will be a performance"
+		ewarn "penalty and linking other packages against the debug version"
+		ewarn "of boost is _not_ recommended."
+	fi
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-python_linking.patch"
+	epatch "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
+	epatch "${FILESDIR}/remove-toolset-1.48.0.patch"
+}
+
+src_configure() {
+	OPTIONS=""
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		# We need to add the prefix, and in two cases this exceeds, so prepare
+		# for the largest possible space allocation.
+		append-ldflags -Wl,-headerpad_max_install_names
+	fi
+
+	# bug 298489
+	if use ppc || use ppc64; then
+		[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+	fi
+
+	use icu && OPTIONS+=" -sICU_PATH=/usr"
+	use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+	use locale || OPTIONS+=" --without-locale"
+	use mpi || OPTIONS+=" --without-mpi"
+	use python || OPTIONS+=" --without-python"
+
+	# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
+	if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
+		OPTIONS+=" --disable-long-double"
+	fi
+
+	OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
+
+	if use static-libs; then
+		LINK_OPTS="link=shared,static"
+		LIBRARY_TARGETS="*.a *$(get_libname)"
+	else
+		LINK_OPTS="link=shared"
+		# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
+		LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
+	fi
+}
+
+src_compile() {
+	local jobs
+	jobs=$( echo " ${MAKEOPTS} " | \
+		sed -e 's/ --jobs[= ]/ -j /g' \
+			-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
+			-e 's/ -j\>/ -j1/g' | \
+			( while read -d ' ' j; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
+	if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi
+
+	export BOOST_ROOT="${S}"
+	PYTHON_DIRS=""
+	MPI_PYTHON_MODULE=""
+
+	building() {
+		create_user-config.jam
+
+		einfo "Using the following command to build:"
+		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared $(use python && echo --python-buildid=${PYTHON_ABI})"
+
+		${BJAM} ${NUMJOBS} -q -d+2 \
+			gentoorelease \
+			--user-config=user-config.jam \
+			${OPTIONS} \
+			threading=single,multi ${LINK_OPTS} runtime-link=shared \
+			$(use python && echo --python-buildid=${PYTHON_ABI}) \
+			|| die "Building of Boost libraries failed"
+
+		# ... and do the whole thing one more time to get the debug libs
+		if use debug; then
+			einfo "Using the following command to build:"
+			einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
+
+			${BJAM} ${NUMJOBS} -q -d+2 \
+				gentoodebug \
+				--user-config=user-config.jam \
+				${OPTIONS} \
+				threading=single,multi ${LINK_OPTS} runtime-link=shared \
+				--buildid=debug \
+				$(use python && echo --python-buildid=${PYTHON_ABI}) \
+				|| die "Building of Boost debug libraries failed"
+		fi
+
+		if use python; then
+			if [[ -z "${PYTHON_DIRS}" ]]; then
+				PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+			else
+				if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+					die "Inconsistent structure of build directories"
+				fi
+			fi
+
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
+			done
+
+			if use mpi; then
+				if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+					MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
+					if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+						die "Multiple mpi.so files found"
+					fi
+				else
+					if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
+						die "Inconsistent structure of build directories"
+					fi
+				fi
+
+				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"
+			fi
+		fi
+	}
+	if use python; then
+		python_execute_function building
+	else
+		building
+	fi
+
+	if use tools; then
+		pushd tools > /dev/null || die
+		einfo "Using the following command to build the tools:"
+		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
+
+		${BJAM} ${NUMJOBS} -q -d+2\
+			gentoorelease \
+			--user-config=../user-config.jam \
+			${OPTIONS} \
+			|| die "Building of Boost tools failed"
+		popd > /dev/null || die
+	fi
+}
+
+src_install () {
+	dodir /usr/share/boost-eselect/profiles/${SLOT}
+	touch "${D}usr/share/boost-eselect/profiles/${SLOT}/default" || die
+	if use debug; then
+		 touch "${D}usr/share/boost-eselect/profiles/${SLOT}/debug" || die
+	fi
+
+	if use mpi && use python; then
+		_add_line "python_modules=\""
+	fi
+
+	installation() {
+		create_user-config.jam
+
+		if use python; then
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
+			done
+
+			if use mpi; then
+				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"
+				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"
+			fi
+		fi
+
+		einfo "Using the following command to install:"
+		einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
+
+		${BJAM} -q -d+2 \
+			gentoorelease \
+			--user-config=user-config.jam \
+			${OPTIONS} \
+			threading=single,multi ${LINK_OPTS} runtime-link=shared \
+			--includedir="${D}usr/include" \
+			--libdir="${D}usr/$(get_libdir)" \
+			$(use python && echo --python-buildid=${PYTHON_ABI}) \
+			install || die "Installation of Boost libraries failed"
+
+		if use debug; then
+			einfo "Using the following command to install:"
+			einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
+
+			${BJAM} -q -d+2 \
+				gentoodebug \
+				--user-config=user-config.jam \
+				${OPTIONS} \
+				threading=single,multi ${LINK_OPTS} runtime-link=shared \
+				--includedir="${D}usr/include" \
+				--libdir="${D}usr/$(get_libdir)" \
+				--buildid=debug \
+				$(use python && echo --python-buildid=${PYTHON_ABI}) \
+				install || die "Installation of Boost debug libraries failed"
+		fi
+
+		if use python; then
+			rm -r ${PYTHON_DIRS} || die
+
+			# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
+			if use mpi; then
+				mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
+				mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
+				cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+	import DLFCN
+	flags = sys.getdlopenflags()
+	sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+	from . import mpi
+	sys.setdlopenflags(flags)
+	del DLFCN, flags
+else:
+	from . import mpi
+del sys
+EOF
+				_add_line "$(python_get_sitedir)/mpi.py:boost_${MAJOR_PV}.mpi"
+			fi
+		fi
+	}
+	if use python; then
+		python_execute_function installation
+	else
+		installation
+	fi
+
+	if use mpi && use python; then
+		_add_line "\""
+	fi
+
+	use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
+
+	if use doc; then
+		find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+		dohtml \
+			-A pdf,txt,cpp,hpp \
+			*.{htm,html,png,css} \
+			-r doc
+		dohtml \
+			-A pdf,txt \
+			-r tools
+		insinto /usr/share/doc/${PF}/html
+		doins -r libs
+		doins -r more
+
+		# To avoid broken links
+		insinto /usr/share/doc/${PF}/html
+		doins LICENSE_1_0.txt
+
+		dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
+	fi
+
+	pushd "${D}usr/$(get_libdir)" > /dev/null || die
+
+	# Remove (unversioned) symlinks
+	# And check for what we remove to catch bugs
+	# got a better idea how to do it? tell me!
+	local f
+	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
+		if [[ ! -h "${f}" ]]; then
+			eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
+			die "Slotting/naming of the libraries broken!"
+		fi
+		rm "${f}" || die
+	done
+
+	# The threading libs obviously always gets the "-mt" (multithreading) tag
+	# some packages seem to have a problem with it. Creating symlinks...
+
+	if use static-libs; then
+		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
+	else
+		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
+	fi
+	local lib
+	for lib in ${THREAD_LIBS}; do
+		dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+	done
+
+	# The same goes for the mpi libs
+	if use mpi; then
+		if use static-libs; then
+			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
+		else
+			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
+		fi
+		local lib
+		for lib in ${MPI_LIBS}; do
+			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+		done
+	fi
+
+	if use debug; then
+		if use static-libs; then
+			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
+		else
+			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
+		fi
+
+		local lib
+		for lib in ${THREAD_DEBUG_LIBS}; do
+			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+		done
+
+		if use mpi; then
+			if use static-libs; then
+				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
+			else
+				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
+			fi
+
+			local lib
+			for lib in ${MPI_DEBUG_LIBS}; do
+				dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+			done
+		fi
+	fi
+
+	# Create a subdirectory with completely unversioned symlinks
+	# and store the names in the profiles-file for eselect
+	dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
+
+	_add_line "libs=\"" default
+	local f
+	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
+		dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
+		_add_line "/usr/$(get_libdir)/${f}" default
+	done
+	_add_line "\"" default
+
+	if use debug; then
+		_add_line "libs=\"" debug
+		dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
+		local f
+		for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
+			dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
+			_add_line "/usr/$(get_libdir)/${f}" debug
+		done
+		_add_line "\"" debug
+
+		_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
+		_add_line "suffix=\"-debug\"" debug
+	fi
+
+	_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
+
+	popd > /dev/null || die
+
+	if use tools; then
+		pushd dist/bin > /dev/null || die
+		# Append version postfix to binaries for slotting
+		_add_line "bins=\""
+		local b
+		for b in *; do
+			newbin "${b}" "${b}-${MAJOR_PV}"
+			_add_line "/usr/bin/${b}-${MAJOR_PV}"
+		done
+		_add_line "\""
+		popd > /dev/null || die
+
+		pushd dist > /dev/null || die
+		insinto /usr/share
+		doins -r share/boostbook
+		# Append version postfix for slotting
+		mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
+		_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
+		popd > /dev/null || die
+	fi
+
+	pushd status > /dev/null || die
+	if [[ -f regress.log ]]; then
+		docinto status
+		dohtml *.html ../boost.png
+		dodoc regress.log
+	fi
+	popd > /dev/null || die
+
+	# boost's build system truely sucks for not having a destdir.  Because for
+	# this reason we are forced to build with a prefix that includes the
+	# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+	# DESTROOT instread of the actual EPREFIX.  There is no way out of here
+	# but to do it the dirty way of manually setting the right install_names.
+	if [[ ${CHOST} == *-darwin* ]]; then
+		einfo "Working around completely broken build-system(tm)"
+		local d
+		for d in "${ED}"usr/lib/*.dylib; do
+			if [[ -f ${d} ]]; then
+				# fix the "soname"
+				ebegin "  correcting install_name of ${d#${ED}}"
+				install_name_tool -id "/${d#${D}}" "${d}"
+				eend $?
+				# fix references to other libs
+				refs=$(otool -XL "${d}" | \
+					sed -e '1d' -e 's/^\t//' | \
+					grep "^libboost_" | \
+					cut -f1 -d' ')
+				local r
+				for r in ${refs}; do
+					ebegin "    correcting reference to ${r}"
+					install_name_tool -change \
+						"${r}" \
+						"${EPREFIX}/usr/lib/${r}" \
+						"${d}"
+					eend $?
+				done
+			fi
+		done
+	fi
+}
+
+src_test() {
+	testing() {
+		if use python; then
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
+			done
+
+			if use mpi; then
+				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"
+				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"
+			fi
+		fi
+
+		pushd tools/regression/build > /dev/null || die
+		einfo "Using the following command to build test helpers:"
+		einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
+
+		${BJAM} -q -d+2 \
+			gentoorelease \
+			--user-config=../../../user-config.jam \
+			${OPTIONS} \
+			process_jam_log compiler_status \
+			|| die "Building of regression test helpers failed"
+
+		popd > /dev/null || die
+		pushd status > /dev/null || die
+
+		# Some of the test-checks seem to rely on regexps
+		export LC_ALL="C"
+
+		# The following is largely taken from tools/regression/run_tests.sh,
+		# but adapted to our needs.
+
+		# Run the tests & write them into a file for postprocessing
+		einfo "Using the following command to test:"
+		einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
+
+		${BJAM} \
+			--user-config=../user-config.jam \
+			${OPTIONS} \
+			--dump-tests 2>&1 | tee regress.log || die
+
+		# Postprocessing
+		cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
+		if test $? != 0; then
+			die "Postprocessing the build log failed"
+		fi
+
+		cat > comment.html <<- __EOF__
+		<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
+__EOF__
+
+		# Generate the build log html summary page
+		"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
+			--comment comment.html "${S}" \
+			cs-$(uname).html cs-$(uname)-links.html
+		if test $? != 0; then
+			die "Generating the build log html summary page failed"
+		fi
+
+		# And do some cosmetic fixes :)
+		sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
+
+		popd > /dev/null || die
+
+		if use python; then
+			rm -r ${PYTHON_DIRS} || die
+		fi
+	}
+	if use python; then
+		python_execute_function -f -q testing
+	else
+		testing
+	fi
+}
+
+pkg_postinst() {
+	if use eselect; then
+		eselect boost update || ewarn "eselect boost update failed."
+	fi
+
+	if [[ ! -h "${ROOT}etc/eselect/boost/active" ]]; then
+		elog "No active boost version found. Calling eselect to select one..."
+		eselect boost update || ewarn "eselect boost update failed."
+	fi
+}

diff --git a/dev-libs/boost/boost-1.50.0-r99.ebuild b/dev-libs/boost/boost-1.50.0-r99.ebuild
new file mode 100644
index 0000000..ed3ac2d
--- /dev/null
+++ b/dev-libs/boost/boost-1.50.0-r99.ebuild
@@ -0,0 +1,596 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.50.0-r2.ebuild,v 1.2 2012/08/27 08:11:30 dev-zero Exp $
+
+EAPI="4"
+PYTHON_DEPEND="python? *"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
+
+inherit check-reqs flag-o-matic multilib multiprocessing python toolchain-funcs versionator
+
+MY_P=${PN}_$(replace_all_version_separators _)
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="http://www.boost.org/"
+SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug doc icu locale mpi python static-libs test tools"
+
+RDEPEND="icu? ( >=dev-libs/icu-3.6 )
+	!icu? ( virtual/libiconv )
+	mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
+	sys-libs/zlib
+	!!<=dev-libs/boost-1.35.0-r2"
+DEPEND="${RDEPEND}
+	>=dev-util/boost-build-1.50.0-r2:${SLOT}"
+
+S=${WORKDIR}/${MY_P}
+
+MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
+BJAM="b2-${MAJOR_PV}"
+
+create_user-config.jam() {
+	local compiler compiler_version compiler_executable
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		compiler="darwin"
+		compiler_version="$(gcc-fullversion)"
+		compiler_executable="$(tc-getCXX)"
+	else
+		compiler="gcc"
+		compiler_version="$(gcc-version)"
+		compiler_executable="$(tc-getCXX)"
+	fi
+	local mpi_configuration python_configuration
+
+	if use mpi; then
+		mpi_configuration="using mpi ;"
+	fi
+
+	if use python; then
+		python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
+	fi
+
+	cat > user-config.jam << __EOF__
+using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
+${mpi_configuration}
+${python_configuration}
+__EOF__
+}
+
+pkg_pretend() {
+	if use test; then
+		CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
+
+		ewarn "The tests may take several hours on a recent machine"
+		ewarn "but they will not fail (unless something weird happens ;-)"
+		ewarn "This is because the tests depend on the used compiler version"
+		ewarn "and the platform and upstream says that this is normal."
+		ewarn "If you are interested in the results, please take a look at the"
+		ewarn "generated results page:"
+		ewarn "  ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
+	fi
+}
+
+pkg_setup() {
+	if use python; then
+		python_pkg_setup
+	fi
+
+	if use debug; then
+		ewarn "The debug USE flag means that a second set of the boost libraries"
+		ewarn "will be built containing debug symbols. But even though the optimization flags"
+		ewarn "you might have set are not stripped, there will be a performance"
+		ewarn "penalty and linking other packages against the debug version"
+		ewarn "of boost is _not_ recommended."
+	fi
+}
+
+src_prepare() {
+	epatch \
+		"${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
+		"${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch" \
+		"${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch" \
+		"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
+		"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
+		"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
+		"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
+		"${FILESDIR}/remove-toolset-1.48.0.patch"
+}
+
+src_configure() {
+	OPTIONS=""
+
+	if [[ ${CHOST} == *-darwin* ]]; then
+		# We need to add the prefix, and in two cases this exceeds, so prepare
+		# for the largest possible space allocation.
+		append-ldflags -Wl,-headerpad_max_install_names
+	fi
+
+	# bug 298489
+	if use ppc || use ppc64; then
+		[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
+	fi
+
+	use icu && OPTIONS+=" -sICU_PATH=/usr"
+	use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
+	use locale || OPTIONS+=" --without-locale"
+	use mpi || OPTIONS+=" --without-mpi"
+	use python || OPTIONS+=" --without-python"
+
+	# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
+	if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
+		OPTIONS+=" --disable-long-double"
+	fi
+
+	OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
+
+	if use static-libs; then
+		LINK_OPTS="link=shared,static"
+		LIBRARY_TARGETS="*.a *$(get_libname)"
+	else
+		LINK_OPTS="link=shared"
+		# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
+		LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
+	fi
+}
+
+src_compile() {
+	export BOOST_ROOT="${S}"
+	PYTHON_DIRS=""
+	MPI_PYTHON_MODULE=""
+	NUMJOBS="-j$(makeopts_jobs)"
+
+	building() {
+		create_user-config.jam
+
+		einfo "Using the following command to build:"
+		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})"
+
+		${BJAM} ${NUMJOBS} -q -d+2 \
+			gentoorelease \
+			--user-config=user-config.jam \
+			${OPTIONS} threading=single,multi ${LINK_OPTS} \
+			$(use python && echo --python-buildid=${PYTHON_ABI}) \
+			|| die "Building of Boost libraries failed"
+
+		# ... and do the whole thing one more time to get the debug libs
+		if use debug; then
+			einfo "Using the following command to build:"
+			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})"
+
+			${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}) \
+				|| die "Building of Boost debug libraries failed"
+		fi
+
+		if use python; then
+			if [[ -z "${PYTHON_DIRS}" ]]; then
+				PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
+			else
+				if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
+					die "Inconsistent structure of build directories"
+				fi
+			fi
+
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
+			done
+
+			if use mpi; then
+				if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
+					MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
+					if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
+						die "Multiple mpi.so files found"
+					fi
+				else
+					if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
+						die "Inconsistent structure of build directories"
+					fi
+				fi
+
+				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"
+			fi
+		fi
+	}
+	if use python; then
+		python_execute_function building
+	else
+		building
+	fi
+
+	if use tools; then
+		pushd tools > /dev/null || die
+		einfo "Using the following command to build the tools:"
+		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
+
+		${BJAM} ${NUMJOBS} -q -d+2\
+			gentoorelease \
+			--user-config=../user-config.jam \
+			${OPTIONS} \
+			|| die "Building of Boost tools failed"
+		popd > /dev/null || die
+	fi
+}
+
+src_install () {
+	installation() {
+		create_user-config.jam
+
+		if use python; then
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
+			done
+
+			if use mpi; then
+				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"
+				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"
+			fi
+		fi
+
+		einfo "Using the following command to install:"
+		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"
+
+		${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 || die "Installation of Boost libraries failed"
+
+		if use debug; then
+			einfo "Using the following command to install:"
+			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})"
+
+			${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}) \
+				install || die "Installation of Boost debug libraries failed"
+		fi
+
+		if use python; then
+			rm -r ${PYTHON_DIRS} || die
+
+			# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
+			if use mpi; then
+				mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
+				mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
+				cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
+import sys
+if sys.platform.startswith('linux'):
+	import DLFCN
+	flags = sys.getdlopenflags()
+	sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
+	from . import mpi
+	sys.setdlopenflags(flags)
+	del DLFCN, flags
+else:
+	from . import mpi
+del sys
+EOF
+			fi
+		fi
+	}
+	if use python; then
+		python_execute_function installation
+	else
+		installation
+	fi
+
+	use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
+
+	if use doc; then
+		find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
+		dohtml \
+			-A pdf,txt,cpp,hpp \
+			*.{htm,html,png,css} \
+			-r doc
+		dohtml \
+			-A pdf,txt \
+			-r tools
+		insinto /usr/share/doc/${PF}/html
+		doins -r libs
+		doins -r more
+
+		# To avoid broken links
+		insinto /usr/share/doc/${PF}/html
+		doins LICENSE_1_0.txt
+
+		dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
+	fi
+
+	pushd "${D}usr/$(get_libdir)" > /dev/null || die
+
+	# Remove (unversioned) symlinks
+	# And check for what we remove to catch bugs
+	# got a better idea how to do it? tell me!
+	local f
+	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
+		if [[ ! -h "${f}" ]]; then
+			eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
+			die "Slotting/naming of the libraries broken!"
+		fi
+		rm "${f}" || die
+	done
+
+	# The threading libs obviously always gets the "-mt" (multithreading) tag
+	# some packages seem to have a problem with it. Creating symlinks...
+
+	if use static-libs; then
+		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
+	else
+		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
+	fi
+	local lib
+	for lib in ${THREAD_LIBS}; do
+		dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+	done
+
+	# The same goes for the mpi libs
+	if use mpi; then
+		if use static-libs; then
+			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
+		else
+			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
+		fi
+		local lib
+		for lib in ${MPI_LIBS}; do
+			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+		done
+	fi
+
+	if use debug; then
+		if use static-libs; then
+			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
+		else
+			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
+		fi
+
+		local lib
+		for lib in ${THREAD_DEBUG_LIBS}; do
+			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+		done
+
+		if use mpi; then
+			if use static-libs; then
+				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
+			else
+				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
+			fi
+
+			local lib
+			for lib in ${MPI_DEBUG_LIBS}; do
+				dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+			done
+		fi
+	fi
+
+	# Create a subdirectory with completely unversioned symlinks
+	dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
+
+	local f
+	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
+		dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
+	done
+
+	if use debug; then
+		dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
+		local f
+		for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
+			dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
+		done
+	fi
+
+	popd > /dev/null || die
+
+	if use tools; then
+		pushd dist/bin > /dev/null || die
+		# Append version postfix to binaries for slotting
+		local b
+		for b in *; do
+			newbin "${b}" "${b}-${MAJOR_PV}"
+		done
+		popd > /dev/null || die
+
+		pushd dist > /dev/null || die
+		insinto /usr/share
+		doins -r share/boostbook
+		# Append version postfix for slotting
+		mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
+		popd > /dev/null || die
+	fi
+
+	pushd status > /dev/null || die
+	if [[ -f regress.log ]]; then
+		docinto status
+		dohtml *.html ../boost.png
+		dodoc regress.log
+	fi
+	popd > /dev/null || die
+
+	# boost's build system truely sucks for not having a destdir.  Because for
+	# this reason we are forced to build with a prefix that includes the
+	# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+	# DESTROOT instread of the actual EPREFIX.  There is no way out of here
+	# but to do it the dirty way of manually setting the right install_names.
+	if [[ ${CHOST} == *-darwin* ]]; then
+		einfo "Working around completely broken build-system(tm)"
+		local d
+		for d in "${ED}"usr/lib/*.dylib; do
+			if [[ -f ${d} ]]; then
+				# fix the "soname"
+				ebegin "  correcting install_name of ${d#${ED}}"
+				install_name_tool -id "/${d#${D}}" "${d}"
+				eend $?
+				# fix references to other libs
+				refs=$(otool -XL "${d}" | \
+					sed -e '1d' -e 's/^\t//' | \
+					grep "^libboost_" | \
+					cut -f1 -d' ')
+				local r
+				for r in ${refs}; do
+					ebegin "    correcting reference to ${r}"
+					install_name_tool -change \
+						"${r}" \
+						"${EPREFIX}/usr/lib/${r}" \
+						"${d}"
+					eend $?
+				done
+			fi
+		done
+	fi
+}
+
+src_test() {
+	testing() {
+		if use python; then
+			local dir
+			for dir in ${PYTHON_DIRS}; do
+				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
+			done
+
+			if use mpi; then
+				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"
+				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"
+			fi
+		fi
+
+		pushd tools/regression/build > /dev/null || die
+		einfo "Using the following command to build test helpers:"
+		einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
+
+		${BJAM} -q -d+2 \
+			gentoorelease \
+			--user-config=../../../user-config.jam \
+			${OPTIONS} \
+			process_jam_log compiler_status \
+			|| die "Building of regression test helpers failed"
+
+		popd > /dev/null || die
+		pushd status > /dev/null || die
+
+		# Some of the test-checks seem to rely on regexps
+		export LC_ALL="C"
+
+		# The following is largely taken from tools/regression/run_tests.sh,
+		# but adapted to our needs.
+
+		# Run the tests & write them into a file for postprocessing
+		einfo "Using the following command to test:"
+		einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
+
+		${BJAM} \
+			--user-config=../user-config.jam \
+			${OPTIONS} \
+			--dump-tests 2>&1 | tee regress.log || die
+
+		# Postprocessing
+		cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
+		if test $? != 0; then
+			die "Postprocessing the build log failed"
+		fi
+
+		cat > comment.html <<- __EOF__
+		<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
+__EOF__
+
+		# Generate the build log html summary page
+		"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
+			--comment comment.html "${S}" \
+			cs-$(uname).html cs-$(uname)-links.html
+		if test $? != 0; then
+			die "Generating the build log html summary page failed"
+		fi
+
+		# And do some cosmetic fixes :)
+		sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
+
+		popd > /dev/null || die
+
+		if use python; then
+			rm -r ${PYTHON_DIRS} || die
+		fi
+	}
+	if use python; then
+		python_execute_function -f -q testing
+	else
+		testing
+	fi
+}
+
+pkg_postinst() {
+	# mostly copy/paste from eselect-boost
+
+	_boost_tools="bcp bjam compiler_status inspect library_status process_jam_log quickbook wave"
+
+	# ... meaning: <none> and -debug:
+	_suffices="|-debug"
+
+	einfo "Removing symlinks from old version"
+
+	local link
+	for link in "${ROOT}/usr/include/boost" "${ROOT}/usr/share/boostbook" ; do
+		if [[ -L "${link}" ]] ; then
+			rm "${link}" || die -q "Couldn't remove \"${link}\" symlink"
+		else
+			[[ -e "${link}" ]] && die -q "\"${link}\" exists and isn't a symlink"
+		fi
+	done
+
+	pushd "${ROOT}/usr/$(get_libdir)" 1>/dev/null
+	local lib
+	for lib in libboost_*.{a,so} ; do
+		[[ -L "${lib}" && "${lib}" != libboost_*[[:digit:]]_[[:digit:]][[:digit:]]@(${_suffices}).@(a|so) ]] || continue
+		rm "${lib}" || die -q "Unable to remove \"/usr/$(get_libdir)/${lib}\" symlink"
+	done
+	popd 1>/dev/null
+
+	pushd "${ROOT}"/usr/bin 1>/dev/null
+	local tool
+	for tool in ${_boost_tools} ; do
+		[[ -L "${tool}" ]] && ( rm "${tool}" || die -q "Unable to remove \"/usr/bin/${tool}\" symlink" )
+	done
+	popd 1>/dev/null
+
+	local python_module python_module_dir
+	for python_module in mpi.py mpi_debug.py ; do
+		for python_module_dir in "${ROOT}"usr/$(get_libdir)/python*/site-packages ; do
+			if [[ -e "${python_module_dir}/${python_module}" ]] ; then
+				rm "${python_module_dir}/${python_module}" || die -q "Unable to remove \"${python_module_dir}/${python_module}\""
+			fi
+		done
+	done
+
+	# Deprecated code for older versions of Boost.
+	local mod="mpi.so"
+	for moddir in "${ROOT}"/usr/$(get_libdir)/python*/site-packages ; do
+		if [ -L "${moddir}/${mod}" ] ; then
+			rm "${moddir}/${mod}" || die -q "Unable to remove \"${moddir}/${mod}\" symlink"
+		else
+			[[ -e "${moddir}/${mod}" ]] && die -q "\"${moddir}/${mod}\" exists and isn't a symlink"
+		fi
+	done
+
+	if [ -L "${ROOT}/etc/eselect/boost/active" ] ; then
+		rm  "${ROOT}/etc/eselect/boost/active" || die -q "Unable to remove \"${ROOT}/etc/eselect/boost/active\" symlink"
+	else
+		[[ -e "${ROOT}/etc/eselect/boost/active" ]] && die -q "\"${ROOT}/etc/eselect/boost/active\" exists and isn't a symlink"
+	fi
+}

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
new file mode 100644
index 0000000..a902d61
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
@@ -0,0 +1,29 @@
+--- libs/locale/build/Jamfile.v2
++++ libs/locale/build/Jamfile.v2
+@@ -58,8 +58,8 @@
+ 
+ if $(ICU_LINK)
+ {
+-    ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <runtime-link>shared ;
+-    ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin64 <runtime-link>shared ;
++    ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
++    ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
+ }
+ else
+ {
+@@ -117,7 +117,6 @@
+       <library>icuuc/<link>shared/<runtime-link>shared 
+       <library>icudt/<link>shared/<runtime-link>shared 
+       <library>icuin/<link>shared/<runtime-link>shared
+-      <dll-path>$(ICU_PATH)/bin
+         <runtime-link>shared ;
+ 
+ 
+@@ -176,7 +175,6 @@
+       <library>icuuc_64/<link>shared/<runtime-link>shared 
+       <library>icudt_64/<link>shared/<runtime-link>shared 
+       <library>icuin_64/<link>shared/<runtime-link>shared
+-      <dll-path>$(ICU_PATH)/bin64
+         <runtime-link>shared ;
+  
+     

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
new file mode 100644
index 0000000..c24a56c
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
@@ -0,0 +1,62 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -39,23 +39,6 @@
+     PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+ }
+ 
+-
+-rule find-py3-version
+-{
+-    local versions = [ feature.values python ] ;
+-    local py3ver ;
+-    for local v in $(versions)
+-    {
+-        if $(v) >= 3.0
+-        {
+-            py3ver = $(v) ;
+-        }
+-    }
+-    return $(py3ver) ;
+-}
+-
+-py3-version = [ find-py3-version ] ;
+-
+ project boost/python
+   : source-location ../src
+   : requirements
+@@ -82,7 +65,7 @@
+ rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
+ rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
+ 
+-rule lib_boost_python ( is-py3 ? )
++rule lib_boost_python
+ {
+ 
+     local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
+@@ -91,7 +74,7 @@
+     {
+         python2 = true ;
+     }
+-    lib [ cond $(is-py3) : boost_python3 : boost_python ]
++    lib boost_python
+         : # sources
+         numeric.cpp
+         list.cpp
+@@ -148,7 +131,6 @@
+             <dependency>config-warning
+ 
+             <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+-            [ cond $(is-py3) : <python>$(py3-version) ]
+         :   # default build
+             <link>shared
+         :   # usage requirements
+@@ -160,9 +142,3 @@
+ 
+ lib_boost_python ;
+ boost-install boost_python ;
+-
+-if $(py3-version)
+-{
+-    lib_boost_python yes ;
+-    boost-install boost_python3 ;
+-}

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
new file mode 100644
index 0000000..a32eca9
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
@@ -0,0 +1,95 @@
+https://svn.boost.org/trac/boost/ticket/4657
+https://svn.boost.org/trac/boost/changeset/76290
+
+--- libs/mpi/src/python/datatypes.cpp
++++ libs/mpi/src/python/datatypes.cpp
+@@ -17,7 +17,9 @@
+ 
+ void export_datatypes()
+ {
++#if PY_MAJOR_VERSION < 3 
+   register_serialized(long(0), &PyInt_Type);
++#endif
+   register_serialized(false, &PyBool_Type);
+   register_serialized(double(0.0), &PyFloat_Type);
+ }
+--- libs/mpi/src/python/py_environment.cpp
++++ libs/mpi/src/python/py_environment.cpp
+@@ -11,6 +11,9 @@
+  *  This file reflects the Boost.MPI "environment" class into Python
+  *  methods at module level.
+  */
++
++#include <locale>
++#include <string>
+ #include <boost/python.hpp>
+ #include <boost/mpi.hpp>
+ 
+@@ -50,11 +53,64 @@
+ 
+   // If anything changed, convert C-style argc/argv into Python argv
+   if (mpi_argv != my_argv)
++  {
++#if PY_MAJOR_VERSION >= 3
++
++    wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
++    /* We need a second copy, as Python might modify the first one. */
++    wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
++
++    if (!argv_copy || !argv_copy2) {
++      fprintf(stderr, "out of memory\n");
++      return false;
++    }
++
++    std::locale mylocale;
++    mbstate_t mystate;
++
++    const std::codecvt<char, wchar_t, mbstate_t>& myfacet =
++      std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale);
++
++    for (int i = 0; i < mpi_argc; i++) 
++    {
++      size_t length = strlen(mpi_argv[i]);
++
++      wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1));
++
++      const char *from_next;
++      wchar_t *to_next;
++
++      std::codecvt<wchar_t,char,mbstate_t>::result myresult = 
++        myfacet.out(mystate,
++            mpi_argv[i], mpi_argv[i] + length + 1, from_next,
++            dest, dest+length+1, to_next);
++
++      if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok )
++      {
++        fprintf(stderr, "failure translating argv\n");
++        return 1;
++      }
++
++      argv_copy2[i] = argv_copy[i] = dest;
++      if (!argv_copy[i])
++          return false;
++    }
++
++    PySys_SetArgv(mpi_argc, argv_copy);
++
++    for (int i = 0; i < mpi_argc; i++) {
++        PyMem_Free(argv_copy2[i]);
++    }
++    PyMem_Free(argv_copy);
++    PyMem_Free(argv_copy2);
++#else
+     PySys_SetArgv(mpi_argc, mpi_argv);
++#endif
++  }
+ 
+-  for (int arg = 0; arg < my_argc; ++arg)
+-    free(my_argv[arg]);
+-  delete [] my_argv;
++  for (int arg = 0; arg < mpi_argc; ++arg)
++    free(mpi_argv[arg]);
++  delete [] mpi_argv;
+ 
+   return true;
+ }

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
new file mode 100644
index 0000000..89f8109
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
@@ -0,0 +1,23 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -85,6 +85,12 @@
+ rule lib_boost_python ( is-py3 ? )
+ {
+ 
++    local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
++    local python2 ;
++    if $(python_major_version) = 2
++    {
++        python2 = true ;
++    }
+     lib [ cond $(is-py3) : boost_python3 : boost_python ]
+         : # sources
+         numeric.cpp
+@@ -119,6 +125,7 @@
+         :   # requirements
+             <link>static:<define>BOOST_PYTHON_STATIC_LIB 
+             <define>BOOST_PYTHON_SOURCE
++            [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
+           
+             # On Windows, all code using Python has to link to the Python
+             # import library.

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
new file mode 100644
index 0000000..e7f4e7c
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-python_linking.patch
@@ -0,0 +1,24 @@
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -109,20 +109,7 @@
+             <link>static:<define>BOOST_PYTHON_STATIC_LIB 
+             <define>BOOST_PYTHON_SOURCE
+             [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
+-          
+-            # On Windows, all code using Python has to link to the Python
+-            # import library.
+-            #
+-            # On *nix we never link libboost_python to libpython.  When
+-            # extending Python, all Python symbols are provided by the
+-            # Python interpreter executable.  When embedding Python, the
+-            # client executable is expected to explicitly link to
+-            # /python//python (the target representing libpython) itself.
+-            #
+-            # python_for_extensions is a target defined by Boost.Build to
+-            # provide the Python include paths, and on Windows, the Python
+-            # import library, as usage requirements.
+-            [ cond [ python.configured ] : <library>/python//python_for_extensions ]
++            [ cond [ python.configured ] : <library>/python//python ]
+             
+             # we prevent building when there is no python available
+             # as it's not possible anyway, and to cause dependents to

diff --git a/dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch b/dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch
new file mode 100644
index 0000000..51003db
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch
@@ -0,0 +1,69 @@
+https://svn.boost.org/trac/boost/ticket/6286
+
+--- boostcpp.jam
++++ boostcpp.jam
+@@ -99,13 +99,6 @@
+     BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" "_" ] ;
+ }
+ 
+-# Python build id (only for Python libraries)
+-python-id = [ option.get "python-buildid" ] ;
+-if $(python-id)
+-{
+-    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
+-}
+-
+ ##############################################################################
+ #
+ # 1. The 'tag' function that adds decoration suitable to the properties if
+--- libs/mpi/build/Jamfile.v2
++++ libs/mpi/build/Jamfile.v2
+@@ -8,6 +8,8 @@
+ #  Authors: Douglas Gregor
+ #           Andrew Lumsdaine
+ 
++import option ;
++import regex ;
+ import mpi ;
+ import indirect ;
+ import python ;
+@@ -24,6 +26,13 @@
+     <tag>@$(__name__).tag
+   ;
+ 
++# Python build id (only for Python libraries)
++python-id = [ option.get "python-buildid" ] ;
++if $(python-id)
++{
++    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++}
++
+ rule tag ( name : type ? : property-set )
+ {
+     local result = $(name) ;
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -2,6 +2,8 @@
+ # Software License, Version 1.0. (See accompanying
+ # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ 
++import option ;
++import regex ;
+ import os ;
+ import indirect ;
+ import modules ;
+@@ -30,6 +32,14 @@
+         ;
+ }
+ 
++# Python build id (only for Python libraries)
++python-id = [ option.get "python-buildid" ] ;
++if $(python-id)
++{
++    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++}
++
++
+ rule find-py3-version
+ {
+     local versions = [ feature.values python ] ;

diff --git a/dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch b/dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch
new file mode 100644
index 0000000..af65f64
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch
@@ -0,0 +1,22 @@
+--- libs/mpi/build/Jamfile.v2
++++ libs/mpi/build/Jamfile.v2
+@@ -30,7 +30,7 @@
+ python-id = [ option.get "python-buildid" ] ;
+ if $(python-id)
+ {
+-    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+ }
+ 
+ rule tag ( name : type ? : property-set )
+--- libs/python/build/Jamfile.v2
++++ libs/python/build/Jamfile.v2
+@@ -36,7 +36,7 @@
+ python-id = [ option.get "python-buildid" ] ;
+ if $(python-id)
+ {
+-    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+ }
+ 
+ 

diff --git a/dev-libs/boost/files/remove-toolset-1.48.0.patch b/dev-libs/boost/files/remove-toolset-1.48.0.patch
new file mode 100644
index 0000000..df91529
--- /dev/null
+++ b/dev-libs/boost/files/remove-toolset-1.48.0.patch
@@ -0,0 +1,11 @@
+--- boostcpp.jam
++++ boostcpp.jam
+@@ -377,7 +377,7 @@
+         if $(layout) = versioned
+         {
+             result = [ common.format-name
+-                <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
++                <base> <threading> <runtime> -$(BOOST_VERSION_TAG)
+                 -$(BUILD_ID)
+                 : $(name) : $(type) : $(property-set) ] ;
+         }        

diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
new file mode 100644
index 0000000..4484730
--- /dev/null
+++ b/dev-libs/boost/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <herd>cpp</herd>
+  <maintainer>
+    <email>dev-zero@gentoo.org</email>
+    <name>Tiziano Müller</name>
+  </maintainer>
+  <maintainer>
+    <email>SebastianLuther@gmx.de</email>
+    <name>Sebastian Luther</name>
+  </maintainer>
+  <maintainer>
+    <email>arfrever.fta@gmail.com</email>
+    <name>Arfrever Frehtes Taifersar Arahesis</name>
+  </maintainer>
+  <maintainer>
+    <email>mgorny@gentoo.org</email>
+    <name>Michał Górny</name>
+  </maintainer>
+<longdescription>
+Boost is a free peer-reviewed portable C++ source libraries.
+</longdescription>
+<use>
+  <flag name='tools'>Build and install the boost tools (bcp, quickbook,
+    inspect, wave)</flag>
+  <flag name='eselect'>Run "eselect boost update" even if version is
+    already selected</flag>
+  <flag name='locale'>Build with locale support</flag>
+</use>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] proj/hardened-dev:uclibc commit in: dev-libs/boost/files/, dev-libs/boost/
@ 2012-11-08  0:13 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2012-11-08  0:13 UTC (permalink / raw
  To: gentoo-commits

commit:     e05f611baef956c8dee636b942ce717fc8e3c90d
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  8 00:13:32 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Nov  8 00:13:32 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=e05f611b

dev-libs/boost: update to newer ebuilds

Package-Manager: portage-2.1.11.31
Manifest-Sign-Key: 0xF52D4BBA

---
 dev-libs/boost/boost-1.49.0-r99.ebuild             |  614 --------------------
 ...t-1.50.0-r99.ebuild => boost-1.51.0-r99.ebuild} |  220 +------
 ...h => boost-1.51.0-respect_python-buildid.patch} |   18 +-
 ...st-1.51.0-support_dots_in_python-buildid.patch} |    8 +-
 4 files changed, 41 insertions(+), 819 deletions(-)

diff --git a/dev-libs/boost/boost-1.49.0-r99.ebuild b/dev-libs/boost/boost-1.49.0-r99.ebuild
deleted file mode 100644
index 077a919..0000000
--- a/dev-libs/boost/boost-1.49.0-r99.ebuild
+++ /dev/null
@@ -1,614 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.7 2012/09/23 12:28:19 ago Exp $
-
-EAPI="4"
-PYTHON_DEPEND="python? *"
-SUPPORT_PYTHON_ABIS="1"
-RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
-
-inherit check-reqs flag-o-matic multilib python toolchain-funcs versionator
-
-MY_P=${PN}_$(replace_all_version_separators _)
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT="$(get_version_component_range 1-2)"
-KEYWORDS="amd64 arm ~mips ppc ppc64 ~x86"
-IUSE="debug doc +eselect icu +locale mpi python static-libs test tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
-	mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
-	sys-libs/zlib
-	!!<=dev-libs/boost-1.35.0-r2
-	>=app-admin/eselect-boost-0.4"
-DEPEND="${RDEPEND}
-	dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="b2-${MAJOR_PV}"
-
-# Usage:
-# _add_line <line-to-add> <profile>
-# ... to add to specific profile
-# or
-# _add_line <line-to-add>
-# ... to add to all profiles for which the use flag set
-
-_add_line() {
-	if [[ -z "$2" ]]; then
-		echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/default"
-		if use debug; then
-			echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/debug"
-		fi
-	else
-		echo "${1}" >> "${D}usr/share/boost-eselect/profiles/${SLOT}/${2}"
-	fi
-}
-
-create_user-config.jam() {
-	local compiler compiler_version compiler_executable
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		compiler="darwin"
-		compiler_version="$(gcc-fullversion)"
-		compiler_executable="$(tc-getCXX)"
-	else
-		compiler="gcc"
-		compiler_version="$(gcc-version)"
-		compiler_executable="$(tc-getCXX)"
-	fi
-	local mpi_configuration python_configuration
-
-	if use mpi; then
-		mpi_configuration="using mpi ;"
-	fi
-
-	if use python; then
-		python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
-	fi
-
-	# The debug-symbols=none and optimization=none are not official upstream flags but a Gentoo
-	# specific patch to make sure that all our CFLAGS/CXXFLAGS/LDFLAGS are being respected.
-	# Using optimization=off would for example add "-O0" and override "-O2" set by the user.
-	# Please take a look at the boost-build ebuild for more information.
-	cat > user-config.jam << __EOF__
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-pkg_pretend() {
-	if use test; then
-		CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
-
-		ewarn "The tests may take several hours on a recent machine"
-		ewarn "but they will not fail (unless something weird happens ;-)"
-		ewarn "This is because the tests depend on the used compiler version"
-		ewarn "and the platform and upstream says that this is normal."
-		ewarn "If you are interested in the results, please take a look at the"
-		ewarn "generated results page:"
-		ewarn "  ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
-	fi
-}
-
-pkg_setup() {
-	if use python; then
-		python_pkg_setup
-	fi
-
-	if use debug; then
-		ewarn "The debug USE flag means that a second set of the boost libraries"
-		ewarn "will be built containing debug symbols. You'll be able to select them"
-		ewarn "using the boost-eselect module. But even though the optimization flags"
-		ewarn "you might have set are not stripped, there will be a performance"
-		ewarn "penalty and linking other packages against the debug version"
-		ewarn "of boost is _not_ recommended."
-	fi
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PN}-1.48.0-mpi_python3.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-python_linking.patch"
-	epatch "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
-	epatch "${FILESDIR}/remove-toolset-1.48.0.patch"
-}
-
-src_configure() {
-	OPTIONS=""
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		# We need to add the prefix, and in two cases this exceeds, so prepare
-		# for the largest possible space allocation.
-		append-ldflags -Wl,-headerpad_max_install_names
-	fi
-
-	# bug 298489
-	if use ppc || use ppc64; then
-		[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
-	fi
-
-	use icu && OPTIONS+=" -sICU_PATH=/usr"
-	use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
-	use locale || OPTIONS+=" --without-locale"
-	use mpi || OPTIONS+=" --without-mpi"
-	use python || OPTIONS+=" --without-python"
-
-	# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
-	if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
-		OPTIONS+=" --disable-long-double"
-	fi
-
-	OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
-
-	if use static-libs; then
-		LINK_OPTS="link=shared,static"
-		LIBRARY_TARGETS="*.a *$(get_libname)"
-	else
-		LINK_OPTS="link=shared"
-		# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
-		LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
-	fi
-}
-
-src_compile() {
-	local jobs
-	jobs=$( echo " ${MAKEOPTS} " | \
-		sed -e 's/ --jobs[= ]/ -j /g' \
-			-e 's/ -j \([1-9][0-9]*\)/ -j\1/g' \
-			-e 's/ -j\>/ -j1/g' | \
-			( while read -d ' ' j; do if [[ "${j#-j}" = "$j" ]]; then continue; fi; jobs="${j#-j}"; done; echo ${jobs} ) )
-	if [[ "${jobs}" != "" ]]; then NUMJOBS="-j"${jobs}; fi
-
-	export BOOST_ROOT="${S}"
-	PYTHON_DIRS=""
-	MPI_PYTHON_MODULE=""
-
-	building() {
-		create_user-config.jam
-
-		einfo "Using the following command to build:"
-		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared $(use python && echo --python-buildid=${PYTHON_ABI})"
-
-		${BJAM} ${NUMJOBS} -q -d+2 \
-			gentoorelease \
-			--user-config=user-config.jam \
-			${OPTIONS} \
-			threading=single,multi ${LINK_OPTS} runtime-link=shared \
-			$(use python && echo --python-buildid=${PYTHON_ABI}) \
-			|| die "Building of Boost libraries failed"
-
-		# ... and do the whole thing one more time to get the debug libs
-		if use debug; then
-			einfo "Using the following command to build:"
-			einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
-
-			${BJAM} ${NUMJOBS} -q -d+2 \
-				gentoodebug \
-				--user-config=user-config.jam \
-				${OPTIONS} \
-				threading=single,multi ${LINK_OPTS} runtime-link=shared \
-				--buildid=debug \
-				$(use python && echo --python-buildid=${PYTHON_ABI}) \
-				|| die "Building of Boost debug libraries failed"
-		fi
-
-		if use python; then
-			if [[ -z "${PYTHON_DIRS}" ]]; then
-				PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
-			else
-				if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
-					die "Inconsistent structure of build directories"
-				fi
-			fi
-
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
-			done
-
-			if use mpi; then
-				if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
-					MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
-					if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
-						die "Multiple mpi.so files found"
-					fi
-				else
-					if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
-						die "Inconsistent structure of build directories"
-					fi
-				fi
-
-				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"
-			fi
-		fi
-	}
-	if use python; then
-		python_execute_function building
-	else
-		building
-	fi
-
-	if use tools; then
-		pushd tools > /dev/null || die
-		einfo "Using the following command to build the tools:"
-		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
-
-		${BJAM} ${NUMJOBS} -q -d+2\
-			gentoorelease \
-			--user-config=../user-config.jam \
-			${OPTIONS} \
-			|| die "Building of Boost tools failed"
-		popd > /dev/null || die
-	fi
-}
-
-src_install () {
-	dodir /usr/share/boost-eselect/profiles/${SLOT}
-	touch "${D}usr/share/boost-eselect/profiles/${SLOT}/default" || die
-	if use debug; then
-		 touch "${D}usr/share/boost-eselect/profiles/${SLOT}/debug" || die
-	fi
-
-	if use mpi && use python; then
-		_add_line "python_modules=\""
-	fi
-
-	installation() {
-		create_user-config.jam
-
-		if use python; then
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
-			done
-
-			if use mpi; then
-				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"
-				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"
-			fi
-		fi
-
-		einfo "Using the following command to install:"
-		einfo "${BJAM} -q -d+2 gentoorelease --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" $(use python && echo --python-buildid=${PYTHON_ABI}) install"
-
-		${BJAM} -q -d+2 \
-			gentoorelease \
-			--user-config=user-config.jam \
-			${OPTIONS} \
-			threading=single,multi ${LINK_OPTS} runtime-link=shared \
-			--includedir="${D}usr/include" \
-			--libdir="${D}usr/$(get_libdir)" \
-			$(use python && echo --python-buildid=${PYTHON_ABI}) \
-			install || die "Installation of Boost libraries failed"
-
-		if use debug; then
-			einfo "Using the following command to install:"
-			einfo "${BJAM} -q -d+2 gentoodebug --user-config=user-config.jam ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}usr/include\" --libdir=\"${D}usr/$(get_libdir)\" --buildid=debug $(use python && echo --python-buildid=${PYTHON_ABI})"
-
-			${BJAM} -q -d+2 \
-				gentoodebug \
-				--user-config=user-config.jam \
-				${OPTIONS} \
-				threading=single,multi ${LINK_OPTS} runtime-link=shared \
-				--includedir="${D}usr/include" \
-				--libdir="${D}usr/$(get_libdir)" \
-				--buildid=debug \
-				$(use python && echo --python-buildid=${PYTHON_ABI}) \
-				install || die "Installation of Boost debug libraries failed"
-		fi
-
-		if use python; then
-			rm -r ${PYTHON_DIRS} || die
-
-			# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
-			if use mpi; then
-				mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
-				mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
-				cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
-import sys
-if sys.platform.startswith('linux'):
-	import DLFCN
-	flags = sys.getdlopenflags()
-	sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
-	from . import mpi
-	sys.setdlopenflags(flags)
-	del DLFCN, flags
-else:
-	from . import mpi
-del sys
-EOF
-				_add_line "$(python_get_sitedir)/mpi.py:boost_${MAJOR_PV}.mpi"
-			fi
-		fi
-	}
-	if use python; then
-		python_execute_function installation
-	else
-		installation
-	fi
-
-	if use mpi && use python; then
-		_add_line "\""
-	fi
-
-	use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
-	if use doc; then
-		find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
-		dohtml \
-			-A pdf,txt,cpp,hpp \
-			*.{htm,html,png,css} \
-			-r doc
-		dohtml \
-			-A pdf,txt \
-			-r tools
-		insinto /usr/share/doc/${PF}/html
-		doins -r libs
-		doins -r more
-
-		# To avoid broken links
-		insinto /usr/share/doc/${PF}/html
-		doins LICENSE_1_0.txt
-
-		dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
-	fi
-
-	pushd "${D}usr/$(get_libdir)" > /dev/null || die
-
-	# Remove (unversioned) symlinks
-	# And check for what we remove to catch bugs
-	# got a better idea how to do it? tell me!
-	local f
-	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
-		if [[ ! -h "${f}" ]]; then
-			eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
-			die "Slotting/naming of the libraries broken!"
-		fi
-		rm "${f}" || die
-	done
-
-	# The threading libs obviously always gets the "-mt" (multithreading) tag
-	# some packages seem to have a problem with it. Creating symlinks...
-
-	if use static-libs; then
-		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
-	else
-		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
-	fi
-	local lib
-	for lib in ${THREAD_LIBS}; do
-		dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
-	done
-
-	# The same goes for the mpi libs
-	if use mpi; then
-		if use static-libs; then
-			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
-		else
-			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
-		fi
-		local lib
-		for lib in ${MPI_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
-		done
-	fi
-
-	if use debug; then
-		if use static-libs; then
-			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
-		else
-			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
-		fi
-
-		local lib
-		for lib in ${THREAD_DEBUG_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
-		done
-
-		if use mpi; then
-			if use static-libs; then
-				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
-			else
-				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
-			fi
-
-			local lib
-			for lib in ${MPI_DEBUG_LIBS}; do
-				dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
-			done
-		fi
-	fi
-
-	# Create a subdirectory with completely unversioned symlinks
-	# and store the names in the profiles-file for eselect
-	dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
-
-	_add_line "libs=\"" default
-	local f
-	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
-		dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
-		_add_line "/usr/$(get_libdir)/${f}" default
-	done
-	_add_line "\"" default
-
-	if use debug; then
-		_add_line "libs=\"" debug
-		dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
-		local f
-		for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
-			dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
-			_add_line "/usr/$(get_libdir)/${f}" debug
-		done
-		_add_line "\"" debug
-
-		_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" debug
-		_add_line "suffix=\"-debug\"" debug
-	fi
-
-	_add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
-
-	popd > /dev/null || die
-
-	if use tools; then
-		pushd dist/bin > /dev/null || die
-		# Append version postfix to binaries for slotting
-		_add_line "bins=\""
-		local b
-		for b in *; do
-			newbin "${b}" "${b}-${MAJOR_PV}"
-			_add_line "/usr/bin/${b}-${MAJOR_PV}"
-		done
-		_add_line "\""
-		popd > /dev/null || die
-
-		pushd dist > /dev/null || die
-		insinto /usr/share
-		doins -r share/boostbook
-		# Append version postfix for slotting
-		mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
-		_add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
-		popd > /dev/null || die
-	fi
-
-	pushd status > /dev/null || die
-	if [[ -f regress.log ]]; then
-		docinto status
-		dohtml *.html ../boost.png
-		dodoc regress.log
-	fi
-	popd > /dev/null || die
-
-	# boost's build system truely sucks for not having a destdir.  Because for
-	# this reason we are forced to build with a prefix that includes the
-	# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
-	# DESTROOT instread of the actual EPREFIX.  There is no way out of here
-	# but to do it the dirty way of manually setting the right install_names.
-	if [[ ${CHOST} == *-darwin* ]]; then
-		einfo "Working around completely broken build-system(tm)"
-		local d
-		for d in "${ED}"usr/lib/*.dylib; do
-			if [[ -f ${d} ]]; then
-				# fix the "soname"
-				ebegin "  correcting install_name of ${d#${ED}}"
-				install_name_tool -id "/${d#${D}}" "${d}"
-				eend $?
-				# fix references to other libs
-				refs=$(otool -XL "${d}" | \
-					sed -e '1d' -e 's/^\t//' | \
-					grep "^libboost_" | \
-					cut -f1 -d' ')
-				local r
-				for r in ${refs}; do
-					ebegin "    correcting reference to ${r}"
-					install_name_tool -change \
-						"${r}" \
-						"${EPREFIX}/usr/lib/${r}" \
-						"${d}"
-					eend $?
-				done
-			fi
-		done
-	fi
-}
-
-src_test() {
-	testing() {
-		if use python; then
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
-			done
-
-			if use mpi; then
-				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"
-				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"
-			fi
-		fi
-
-		pushd tools/regression/build > /dev/null || die
-		einfo "Using the following command to build test helpers:"
-		einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
-
-		${BJAM} -q -d+2 \
-			gentoorelease \
-			--user-config=../../../user-config.jam \
-			${OPTIONS} \
-			process_jam_log compiler_status \
-			|| die "Building of regression test helpers failed"
-
-		popd > /dev/null || die
-		pushd status > /dev/null || die
-
-		# Some of the test-checks seem to rely on regexps
-		export LC_ALL="C"
-
-		# The following is largely taken from tools/regression/run_tests.sh,
-		# but adapted to our needs.
-
-		# Run the tests & write them into a file for postprocessing
-		einfo "Using the following command to test:"
-		einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
-
-		${BJAM} \
-			--user-config=../user-config.jam \
-			${OPTIONS} \
-			--dump-tests 2>&1 | tee regress.log || die
-
-		# Postprocessing
-		cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
-		if test $? != 0; then
-			die "Postprocessing the build log failed"
-		fi
-
-		cat > comment.html <<- __EOF__
-		<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
-__EOF__
-
-		# Generate the build log html summary page
-		"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
-			--comment comment.html "${S}" \
-			cs-$(uname).html cs-$(uname)-links.html
-		if test $? != 0; then
-			die "Generating the build log html summary page failed"
-		fi
-
-		# And do some cosmetic fixes :)
-		sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
-
-		popd > /dev/null || die
-
-		if use python; then
-			rm -r ${PYTHON_DIRS} || die
-		fi
-	}
-	if use python; then
-		python_execute_function -f -q testing
-	else
-		testing
-	fi
-}
-
-pkg_postinst() {
-	if use eselect; then
-		eselect boost update || ewarn "eselect boost update failed."
-	fi
-
-	if [[ ! -h "${ROOT}etc/eselect/boost/active" ]]; then
-		elog "No active boost version found. Calling eselect to select one..."
-		eselect boost update || ewarn "eselect boost update failed."
-	fi
-}

diff --git a/dev-libs/boost/boost-1.50.0-r99.ebuild b/dev-libs/boost/boost-1.51.0-r99.ebuild
similarity index 62%
rename from dev-libs/boost/boost-1.50.0-r99.ebuild
rename to dev-libs/boost/boost-1.51.0-r99.ebuild
index 3441a9d..a4f663f 100644
--- a/dev-libs/boost/boost-1.50.0-r99.ebuild
+++ b/dev-libs/boost/boost-1.51.0-r99.ebuild
@@ -1,13 +1,13 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.50.0-r2.ebuild,v 1.2 2012/08/27 08:11:30 dev-zero Exp $
+# $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 $
 
-EAPI="4"
+EAPI="5"
 PYTHON_DEPEND="python? *"
 SUPPORT_PYTHON_ABIS="1"
 RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
 
-inherit check-reqs flag-o-matic multilib multiprocessing python toolchain-funcs versionator
+inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator
 
 MY_P=${PN}_$(replace_all_version_separators _)
 
@@ -16,21 +16,22 @@ HOMEPAGE="http://www.boost.org/"
 SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
 
 LICENSE="Boost-1.0"
-SLOT="$(get_version_component_range 1-2)"
+SLOT=0
+MAJOR_V="$(get_version_component_range 1-2)"
 KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
-IUSE="debug doc icu locale mpi python static-libs test tools"
+IUSE="debug doc icu locale mpi python static-libs tools"
 
-RDEPEND="icu? ( >=dev-libs/icu-3.6 )
+RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
 	!icu? ( virtual/libiconv )
 	mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
 	sys-libs/zlib
-	!!<=dev-libs/boost-1.35.0-r2"
+	!app-admin/eselect-boost"
 DEPEND="${RDEPEND}
-	>=dev-util/boost-build-1.50.0-r2:${SLOT}"
+	=dev-util/boost-build-${MAJOR_V}*"
 
 S=${WORKDIR}/${MY_P}
 
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
+MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
 BJAM="b2-${MAJOR_PV}"
 
 create_user-config.jam() {
@@ -62,39 +63,17 @@ ${python_configuration}
 __EOF__
 }
 
-pkg_pretend() {
-	if use test; then
-		CHECKREQS_DISK_BUILD="15G" check-reqs_pkg_pretend
-
-		ewarn "The tests may take several hours on a recent machine"
-		ewarn "but they will not fail (unless something weird happens ;-)"
-		ewarn "This is because the tests depend on the used compiler version"
-		ewarn "and the platform and upstream says that this is normal."
-		ewarn "If you are interested in the results, please take a look at the"
-		ewarn "generated results page:"
-		ewarn "  ${ROOT}usr/share/doc/${PF}/status/cs-$(uname).html"
-	fi
-}
-
 pkg_setup() {
 	if use python; then
 		python_pkg_setup
 	fi
-
-	if use debug; then
-		ewarn "The debug USE flag means that a second set of the boost libraries"
-		ewarn "will be built containing debug symbols. But even though the optimization flags"
-		ewarn "you might have set are not stripped, there will be a performance"
-		ewarn "penalty and linking other packages against the debug version"
-		ewarn "of boost is _not_ recommended."
-	fi
 }
 
 src_prepare() {
 	epatch \
 		"${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
-		"${FILESDIR}/${PN}-1.48.0-respect_python-buildid.patch" \
-		"${FILESDIR}/${PN}-1.48.0-support_dots_in_python-buildid.patch" \
+		"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
+		"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
 		"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
 		"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
 		"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
@@ -313,22 +292,12 @@ EOF
 		insinto /usr/share/doc/${PF}/html
 		doins LICENSE_1_0.txt
 
-		dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost
+		dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
 	fi
 
-	pushd "${D}usr/$(get_libdir)" > /dev/null || die
+	dosym boost-${MAJOR_PV}/boost /usr/include/boost
 
-	# Remove (unversioned) symlinks
-	# And check for what we remove to catch bugs
-	# got a better idea how to do it? tell me!
-	local f
-	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}"); do
-		if [[ ! -h "${f}" ]]; then
-			eerror "Tried to remove '${f}' which is a regular file instead of a symlink"
-			die "Slotting/naming of the libraries broken!"
-		fi
-		rm "${f}" || die
-	done
+	pushd "${D}usr/$(get_libdir)" > /dev/null || die
 
 	# The threading libs obviously always gets the "-mt" (multithreading) tag
 	# some packages seem to have a problem with it. Creating symlinks...
@@ -340,7 +309,7 @@ EOF
 	fi
 	local lib
 	for lib in ${THREAD_LIBS}; do
-		dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+		dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
 	done
 
 	# The same goes for the mpi libs
@@ -352,7 +321,7 @@ EOF
 		fi
 		local lib
 		for lib in ${MPI_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+			dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
 		done
 	fi
 
@@ -365,7 +334,7 @@ EOF
 
 		local lib
 		for lib in ${THREAD_DEBUG_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+			dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
 		done
 
 		if use mpi; then
@@ -377,24 +346,21 @@ EOF
 
 			local lib
 			for lib in ${MPI_DEBUG_LIBS}; do
-				dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
+				dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
 			done
 		fi
 	fi
 
-	# Create a subdirectory with completely unversioned symlinks
-	dodir /usr/$(get_libdir)/boost-${MAJOR_PV}
-
 	local f
 	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
-		dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
+		dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
 	done
 
 	if use debug; then
-		dodir /usr/$(get_libdir)/boost-${MAJOR_PV}-debug
+		dodir /usr/$(get_libdir)/boost-debug
 		local f
 		for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
-			dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug}
+			dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
 		done
 	fi
 
@@ -458,139 +424,9 @@ EOF
 	fi
 }
 
-src_test() {
-	testing() {
-		if use python; then
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
-			done
-
-			if use mpi; then
-				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"
-				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"
-			fi
-		fi
-
-		pushd tools/regression/build > /dev/null || die
-		einfo "Using the following command to build test helpers:"
-		einfo "${BJAM} -q -d+2 gentoorelease --user-config=../../../user-config.jam ${OPTIONS} process_jam_log compiler_status"
-
-		${BJAM} -q -d+2 \
-			gentoorelease \
-			--user-config=../../../user-config.jam \
-			${OPTIONS} \
-			process_jam_log compiler_status \
-			|| die "Building of regression test helpers failed"
-
-		popd > /dev/null || die
-		pushd status > /dev/null || die
-
-		# Some of the test-checks seem to rely on regexps
-		export LC_ALL="C"
-
-		# The following is largely taken from tools/regression/run_tests.sh,
-		# but adapted to our needs.
-
-		# Run the tests & write them into a file for postprocessing
-		einfo "Using the following command to test:"
-		einfo "${BJAM} --user-config=../user-config.jam ${OPTIONS} --dump-tests"
-
-		${BJAM} \
-			--user-config=../user-config.jam \
-			${OPTIONS} \
-			--dump-tests 2>&1 | tee regress.log || die
-
-		# Postprocessing
-		cat regress.log | "$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name process_jam_log)" --v2
-		if test $? != 0; then
-			die "Postprocessing the build log failed"
-		fi
-
-		cat > comment.html <<- __EOF__
-		<p>Tests are run on a <a href="http://www.gentoo.org">Gentoo</a> system.</p>
-__EOF__
-
-		# Generate the build log html summary page
-		"$(find ../tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease -name compiler_status)" --v2 \
-			--comment comment.html "${S}" \
-			cs-$(uname).html cs-$(uname)-links.html
-		if test $? != 0; then
-			die "Generating the build log html summary page failed"
-		fi
-
-		# And do some cosmetic fixes :)
-		sed -i -e 's|http://www.boost.org/boost.png|boost.png|' *.html || die
-
-		popd > /dev/null || die
-
-		if use python; then
-			rm -r ${PYTHON_DIRS} || die
-		fi
-	}
-	if use python; then
-		python_execute_function -f -q testing
-	else
-		testing
-	fi
-}
-
-pkg_postinst() {
-	# mostly copy/paste from eselect-boost
-
-	_boost_tools="bcp bjam compiler_status inspect library_status process_jam_log quickbook wave"
-
-	# ... meaning: <none> and -debug:
-	_suffices="|-debug"
-
-	einfo "Removing symlinks from old version"
-
-	local link
-	for link in "${ROOT}/usr/include/boost" "${ROOT}/usr/share/boostbook" ; do
-		if [[ -L "${link}" ]] ; then
-			rm "${link}" || die -q "Couldn't remove \"${link}\" symlink"
-		else
-			[[ -e "${link}" ]] && die -q "\"${link}\" exists and isn't a symlink"
-		fi
-	done
-
-	pushd "${ROOT}/usr/$(get_libdir)" 1>/dev/null
-	local lib
-	for lib in libboost_*.{a,so} ; do
-		[[ -L "${lib}" && "${lib}" != libboost_*[[:digit:]]_[[:digit:]][[:digit:]]@(${_suffices}).@(a|so) ]] || continue
-		rm "${lib}" || die -q "Unable to remove \"/usr/$(get_libdir)/${lib}\" symlink"
-	done
-	popd 1>/dev/null
-
-	pushd "${ROOT}"/usr/bin 1>/dev/null
-	local tool
-	for tool in ${_boost_tools} ; do
-		[[ -L "${tool}" ]] && ( rm "${tool}" || die -q "Unable to remove \"/usr/bin/${tool}\" symlink" )
-	done
-	popd 1>/dev/null
-
-	local python_module python_module_dir
-	for python_module in mpi.py mpi_debug.py ; do
-		for python_module_dir in "${ROOT}"usr/$(get_libdir)/python*/site-packages ; do
-			if [[ -e "${python_module_dir}/${python_module}" ]] ; then
-				rm "${python_module_dir}/${python_module}" || die -q "Unable to remove \"${python_module_dir}/${python_module}\""
-			fi
-		done
-	done
-
-	# Deprecated code for older versions of Boost.
-	local mod="mpi.so"
-	for moddir in "${ROOT}"/usr/$(get_libdir)/python*/site-packages ; do
-		if [ -L "${moddir}/${mod}" ] ; then
-			rm "${moddir}/${mod}" || die -q "Unable to remove \"${moddir}/${mod}\" symlink"
-		else
-			[[ -e "${moddir}/${mod}" ]] && die -q "\"${moddir}/${mod}\" exists and isn't a symlink"
-		fi
-	done
-
-	if [ -L "${ROOT}/etc/eselect/boost/active" ] ; then
-		rm  "${ROOT}/etc/eselect/boost/active" || die -q "Unable to remove \"${ROOT}/etc/eselect/boost/active\" symlink"
-	else
-		[[ -e "${ROOT}/etc/eselect/boost/active" ]] && die -q "\"${ROOT}/etc/eselect/boost/active\" exists and isn't a symlink"
-	fi
-}
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+src_test() { :; }

diff --git a/dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
similarity index 69%
rename from dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch
rename to dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
index 51003db..327429e 100644
--- a/dev-libs/boost/files/boost-1.48.0-respect_python-buildid.patch
+++ b/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
@@ -3,19 +3,19 @@ https://svn.boost.org/trac/boost/ticket/6286
 --- boostcpp.jam
 +++ boostcpp.jam
 @@ -99,13 +99,6 @@
-     BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" "_" ] ;
+     BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" _ ] ;
  }
  
--# Python build id (only for Python libraries)
+-# Python build id (for Python libraries only).
 -python-id = [ option.get "python-buildid" ] ;
 -if $(python-id)
 -{
--    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
+-    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
 -}
 -
- ##############################################################################
+ 
+ ################################################################################
  #
- # 1. The 'tag' function that adds decoration suitable to the properties if
 --- libs/mpi/build/Jamfile.v2
 +++ libs/mpi/build/Jamfile.v2
 @@ -8,6 +8,8 @@
@@ -31,11 +31,11 @@ https://svn.boost.org/trac/boost/ticket/6286
      <tag>@$(__name__).tag
    ;
  
-+# Python build id (only for Python libraries)
++# Python build id (for Python libraries only).
 +python-id = [ option.get "python-buildid" ] ;
 +if $(python-id)
 +{
-+    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
 +}
 +
  rule tag ( name : type ? : property-set )
@@ -56,11 +56,11 @@ https://svn.boost.org/trac/boost/ticket/6286
          ;
  }
  
-+# Python build id (only for Python libraries)
++# Python build id (for Python libraries only).
 +python-id = [ option.get "python-buildid" ] ;
 +if $(python-id)
 +{
-+    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
++    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
 +}
 +
 +

diff --git a/dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
similarity index 56%
rename from dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch
rename to dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
index af65f64..c8dc6e1 100644
--- a/dev-libs/boost/files/boost-1.48.0-support_dots_in_python-buildid.patch
+++ b/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
@@ -4,8 +4,8 @@
  python-id = [ option.get "python-buildid" ] ;
  if $(python-id)
  {
--    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
-+    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+-    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++    PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
  }
  
  rule tag ( name : type ? : property-set )
@@ -15,8 +15,8 @@
  python-id = [ option.get "python-buildid" ] ;
  if $(python-id)
  {
--    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" "_" ] ;
-+    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
+-    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
++    PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
  }
  
  


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] proj/hardened-dev:uclibc commit in: dev-libs/boost/files/, dev-libs/boost/
@ 2013-01-02  4:08 Anthony G. Basile
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony G. Basile @ 2013-01-02  4:08 UTC (permalink / raw
  To: gentoo-commits

commit:     4333c4b5c07d4d4e887512cdcc9fd89bcb0015e9
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  2 04:00:50 2013 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jan  2 04:07:15 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=4333c4b5

dev-libs/boost: remove since in tree works

Package-Manager: portage-2.1.11.31

---
 dev-libs/boost/boost-1.51.0-r99.ebuild             |  432 --------------------
 .../files/boost-1.48.0-disable_icu_rpath.patch     |   29 --
 .../boost-1.48.0-disable_libboost_python3.patch    |   62 ---
 .../boost/files/boost-1.48.0-mpi_python3.patch     |   95 -----
 .../boost-1.48.0-no_strict_aliasing_python2.patch  |   23 -
 .../boost/files/boost-1.48.0-python_linking.patch  |   24 --
 .../boost-1.51.0-respect_python-buildid.patch      |   69 ---
 ...ost-1.51.0-support_dots_in_python-buildid.patch |   22 -
 dev-libs/boost/files/remove-toolset-1.48.0.patch   |   11 -
 dev-libs/boost/metadata.xml                        |   31 --
 10 files changed, 0 insertions(+), 798 deletions(-)

diff --git a/dev-libs/boost/boost-1.51.0-r99.ebuild b/dev-libs/boost/boost-1.51.0-r99.ebuild
deleted file mode 100644
index a4f663f..0000000
--- a/dev-libs/boost/boost-1.51.0-r99.ebuild
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $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 $
-
-EAPI="5"
-PYTHON_DEPEND="python? *"
-SUPPORT_PYTHON_ABIS="1"
-RESTRICT_PYTHON_ABIS="*-jython *-pypy-*"
-
-inherit flag-o-matic multilib multiprocessing python toolchain-funcs versionator
-
-MY_P=${PN}_$(replace_all_version_separators _)
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT=0
-MAJOR_V="$(get_version_component_range 1-2)"
-KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86"
-IUSE="debug doc icu locale mpi python static-libs tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:= )
-	!icu? ( virtual/libiconv )
-	mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
-	sys-libs/zlib
-	!app-admin/eselect-boost"
-DEPEND="${RDEPEND}
-	=dev-util/boost-build-${MAJOR_V}*"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${MAJOR_V})
-BJAM="b2-${MAJOR_PV}"
-
-create_user-config.jam() {
-	local compiler compiler_version compiler_executable
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		compiler="darwin"
-		compiler_version="$(gcc-fullversion)"
-		compiler_executable="$(tc-getCXX)"
-	else
-		compiler="gcc"
-		compiler_version="$(gcc-version)"
-		compiler_executable="$(tc-getCXX)"
-	fi
-	local mpi_configuration python_configuration
-
-	if use mpi; then
-		mpi_configuration="using mpi ;"
-	fi
-
-	if use python; then
-		python_configuration="using python : $(python_get_version) : /usr : $(python_get_includedir) : /usr/$(get_libdir) ;"
-	fi
-
-	cat > user-config.jam << __EOF__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-pkg_setup() {
-	if use python; then
-		python_pkg_setup
-	fi
-}
-
-src_prepare() {
-	epatch \
-		"${FILESDIR}/${PN}-1.48.0-mpi_python3.patch" \
-		"${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
-		"${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
-		"${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
-		"${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
-		"${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
-		"${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
-		"${FILESDIR}/remove-toolset-1.48.0.patch"
-}
-
-src_configure() {
-	OPTIONS=""
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		# We need to add the prefix, and in two cases this exceeds, so prepare
-		# for the largest possible space allocation.
-		append-ldflags -Wl,-headerpad_max_install_names
-	fi
-
-	# bug 298489
-	if use ppc || use ppc64; then
-		[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
-	fi
-
-	use icu && OPTIONS+=" -sICU_PATH=/usr"
-	use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
-	use locale || OPTIONS+=" --without-locale"
-	use mpi || OPTIONS+=" --without-mpi"
-	use python || OPTIONS+=" --without-python"
-
-	# https://svn.boost.org/trac/boost/attachment/ticket/2597/add-disable-long-double.patch
-	if use sparc || { use mips && [[ ${ABI} = "o32" ]]; } || use hppa || use arm || use x86-fbsd || use sh; then
-		OPTIONS+=" --disable-long-double"
-	fi
-
-	OPTIONS+=" pch=off --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}usr\" --layout=versioned"
-
-	if use static-libs; then
-		LINK_OPTS="link=shared,static"
-		LIBRARY_TARGETS="*.a *$(get_libname)"
-	else
-		LINK_OPTS="link=shared"
-		# There is no dynamically linked version of libboost_test_exec_monitor and libboost_exception.
-		LIBRARY_TARGETS="libboost_test_exec_monitor*.a libboost_exception*.a *$(get_libname)"
-	fi
-}
-
-src_compile() {
-	export BOOST_ROOT="${S}"
-	PYTHON_DIRS=""
-	MPI_PYTHON_MODULE=""
-	NUMJOBS="-j$(makeopts_jobs)"
-
-	building() {
-		create_user-config.jam
-
-		einfo "Using the following command to build:"
-		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})"
-
-		${BJAM} ${NUMJOBS} -q -d+2 \
-			gentoorelease \
-			--user-config=user-config.jam \
-			${OPTIONS} threading=single,multi ${LINK_OPTS} \
-			$(use python && echo --python-buildid=${PYTHON_ABI}) \
-			|| die "Building of Boost libraries failed"
-
-		# ... and do the whole thing one more time to get the debug libs
-		if use debug; then
-			einfo "Using the following command to build:"
-			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})"
-
-			${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}) \
-				|| die "Building of Boost debug libraries failed"
-		fi
-
-		if use python; then
-			if [[ -z "${PYTHON_DIRS}" ]]; then
-				PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
-			else
-				if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
-					die "Inconsistent structure of build directories"
-				fi
-			fi
-
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				mv ${dir} ${dir}-${PYTHON_ABI} || die "Renaming of '${dir}' to '${dir}-${PYTHON_ABI}' failed"
-			done
-
-			if use mpi; then
-				if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
-					MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)"
-					if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
-						die "Multiple mpi.so files found"
-					fi
-				else
-					if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoorelease -name mpi.so)" ]]; then
-						die "Inconsistent structure of build directories"
-					fi
-				fi
-
-				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"
-			fi
-		fi
-	}
-	if use python; then
-		python_execute_function building
-	else
-		building
-	fi
-
-	if use tools; then
-		pushd tools > /dev/null || die
-		einfo "Using the following command to build the tools:"
-		einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease --user-config=../user-config.jam ${OPTIONS}"
-
-		${BJAM} ${NUMJOBS} -q -d+2\
-			gentoorelease \
-			--user-config=../user-config.jam \
-			${OPTIONS} \
-			|| die "Building of Boost tools failed"
-		popd > /dev/null || die
-	fi
-}
-
-src_install () {
-	installation() {
-		create_user-config.jam
-
-		if use python; then
-			local dir
-			for dir in ${PYTHON_DIRS}; do
-				cp -pr ${dir}-${PYTHON_ABI} ${dir} || die "Copying of '${dir}-${PYTHON_ABI}' to '${dir}' failed"
-			done
-
-			if use mpi; then
-				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"
-				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"
-			fi
-		fi
-
-		einfo "Using the following command to install:"
-		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"
-
-		${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 || die "Installation of Boost libraries failed"
-
-		if use debug; then
-			einfo "Using the following command to install:"
-			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})"
-
-			${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}) \
-				install || die "Installation of Boost debug libraries failed"
-		fi
-
-		if use python; then
-			rm -r ${PYTHON_DIRS} || die
-
-			# Move mpi.so Python module to Python site-packages directory and make sure it is slotted.
-			if use mpi; then
-				mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
-				mv "${D}usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}" || die
-				cat << EOF > "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
-import sys
-if sys.platform.startswith('linux'):
-	import DLFCN
-	flags = sys.getdlopenflags()
-	sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
-	from . import mpi
-	sys.setdlopenflags(flags)
-	del DLFCN, flags
-else:
-	from . import mpi
-del sys
-EOF
-			fi
-		fi
-	}
-	if use python; then
-		python_execute_function installation
-	else
-		installation
-	fi
-
-	use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
-	if use doc; then
-		find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
-		dohtml \
-			-A pdf,txt,cpp,hpp \
-			*.{htm,html,png,css} \
-			-r doc
-		dohtml \
-			-A pdf,txt \
-			-r tools
-		insinto /usr/share/doc/${PF}/html
-		doins -r libs
-		doins -r more
-
-		# To avoid broken links
-		insinto /usr/share/doc/${PF}/html
-		doins LICENSE_1_0.txt
-
-		dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
-	fi
-
-	dosym boost-${MAJOR_PV}/boost /usr/include/boost
-
-	pushd "${D}usr/$(get_libdir)" > /dev/null || die
-
-	# The threading libs obviously always gets the "-mt" (multithreading) tag
-	# some packages seem to have a problem with it. Creating symlinks...
-
-	if use static-libs; then
-		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}.a libboost_thread-mt-${MAJOR_PV}$(get_libname)"
-	else
-		THREAD_LIBS="libboost_thread-mt-${MAJOR_PV}$(get_libname)"
-	fi
-	local lib
-	for lib in ${THREAD_LIBS}; do
-		dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
-	done
-
-	# The same goes for the mpi libs
-	if use mpi; then
-		if use static-libs; then
-			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}.a libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
-		else
-			MPI_LIBS="libboost_mpi-mt-${MAJOR_PV}$(get_libname)"
-		fi
-		local lib
-		for lib in ${MPI_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
-		done
-	fi
-
-	if use debug; then
-		if use static-libs; then
-			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname) libboost_thread-mt-${MAJOR_PV}-debug.a"
-		else
-			THREAD_DEBUG_LIBS="libboost_thread-mt-${MAJOR_PV}-debug$(get_libname)"
-		fi
-
-		local lib
-		for lib in ${THREAD_DEBUG_LIBS}; do
-			dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
-		done
-
-		if use mpi; then
-			if use static-libs; then
-				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug.a libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
-			else
-				MPI_DEBUG_LIBS="libboost_mpi-mt-${MAJOR_PV}-debug$(get_libname)"
-			fi
-
-			local lib
-			for lib in ${MPI_DEBUG_LIBS}; do
-				dosym ${lib} "/usr/$(get_libdir)/${lib/-mt/}"
-			done
-		fi
-	fi
-
-	local f
-	for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug); do
-		dosym ${f} /usr/$(get_libdir)/${f/-${MAJOR_PV}}
-	done
-
-	if use debug; then
-		dodir /usr/$(get_libdir)/boost-debug
-		local f
-		for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug); do
-			dosym ../${f} /usr/$(get_libdir)/boost-debug/${f/-${MAJOR_PV}-debug}
-		done
-	fi
-
-	popd > /dev/null || die
-
-	if use tools; then
-		pushd dist/bin > /dev/null || die
-		# Append version postfix to binaries for slotting
-		local b
-		for b in *; do
-			newbin "${b}" "${b}-${MAJOR_PV}"
-		done
-		popd > /dev/null || die
-
-		pushd dist > /dev/null || die
-		insinto /usr/share
-		doins -r share/boostbook
-		# Append version postfix for slotting
-		mv "${D}usr/share/boostbook" "${D}usr/share/boostbook-${MAJOR_PV}" || die
-		popd > /dev/null || die
-	fi
-
-	pushd status > /dev/null || die
-	if [[ -f regress.log ]]; then
-		docinto status
-		dohtml *.html ../boost.png
-		dodoc regress.log
-	fi
-	popd > /dev/null || die
-
-	# boost's build system truely sucks for not having a destdir.  Because for
-	# this reason we are forced to build with a prefix that includes the
-	# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
-	# DESTROOT instread of the actual EPREFIX.  There is no way out of here
-	# but to do it the dirty way of manually setting the right install_names.
-	if [[ ${CHOST} == *-darwin* ]]; then
-		einfo "Working around completely broken build-system(tm)"
-		local d
-		for d in "${ED}"usr/lib/*.dylib; do
-			if [[ -f ${d} ]]; then
-				# fix the "soname"
-				ebegin "  correcting install_name of ${d#${ED}}"
-				install_name_tool -id "/${d#${D}}" "${d}"
-				eend $?
-				# fix references to other libs
-				refs=$(otool -XL "${d}" | \
-					sed -e '1d' -e 's/^\t//' | \
-					grep "^libboost_" | \
-					cut -f1 -d' ')
-				local r
-				for r in ${refs}; do
-					ebegin "    correcting reference to ${r}"
-					install_name_tool -change \
-						"${r}" \
-						"${EPREFIX}/usr/lib/${r}" \
-						"${d}"
-					eend $?
-				done
-			fi
-		done
-	fi
-}
-
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-src_test() { :; }

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
deleted file mode 100644
index a902d61..0000000
--- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- libs/locale/build/Jamfile.v2
-+++ libs/locale/build/Jamfile.v2
-@@ -58,8 +58,8 @@
- 
- if $(ICU_LINK)
- {
--    ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <runtime-link>shared ;
--    ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin64 <runtime-link>shared ;
-+    ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
-+    ICU64_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <runtime-link>shared ;
- }
- else
- {
-@@ -117,7 +117,6 @@
-       <library>icuuc/<link>shared/<runtime-link>shared 
-       <library>icudt/<link>shared/<runtime-link>shared 
-       <library>icuin/<link>shared/<runtime-link>shared
--      <dll-path>$(ICU_PATH)/bin
-         <runtime-link>shared ;
- 
- 
-@@ -176,7 +175,6 @@
-       <library>icuuc_64/<link>shared/<runtime-link>shared 
-       <library>icudt_64/<link>shared/<runtime-link>shared 
-       <library>icuin_64/<link>shared/<runtime-link>shared
--      <dll-path>$(ICU_PATH)/bin64
-         <runtime-link>shared ;
-  
-     

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
deleted file mode 100644
index c24a56c..0000000
--- a/dev-libs/boost/files/boost-1.48.0-disable_libboost_python3.patch
+++ /dev/null
@@ -1,62 +0,0 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
-@@ -39,23 +39,6 @@
-     PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" "_" ] ;
- }
- 
--
--rule find-py3-version
--{
--    local versions = [ feature.values python ] ;
--    local py3ver ;
--    for local v in $(versions)
--    {
--        if $(v) >= 3.0
--        {
--            py3ver = $(v) ;
--        }
--    }
--    return $(py3ver) ;
--}
--
--py3-version = [ find-py3-version ] ;
--
- project boost/python
-   : source-location ../src
-   : requirements
-@@ -82,7 +65,7 @@
- rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
- rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
- 
--rule lib_boost_python ( is-py3 ? )
-+rule lib_boost_python
- {
- 
-     local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
-@@ -91,7 +74,7 @@
-     {
-         python2 = true ;
-     }
--    lib [ cond $(is-py3) : boost_python3 : boost_python ]
-+    lib boost_python
-         : # sources
-         numeric.cpp
-         list.cpp
-@@ -148,7 +131,6 @@
-             <dependency>config-warning
- 
-             <python-debugging>on:<define>BOOST_DEBUG_PYTHON
--            [ cond $(is-py3) : <python>$(py3-version) ]
-         :   # default build
-             <link>shared
-         :   # usage requirements
-@@ -160,9 +142,3 @@
- 
- lib_boost_python ;
- boost-install boost_python ;
--
--if $(py3-version)
--{
--    lib_boost_python yes ;
--    boost-install boost_python3 ;
--}

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
deleted file mode 100644
index a32eca9..0000000
--- a/dev-libs/boost/files/boost-1.48.0-mpi_python3.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-https://svn.boost.org/trac/boost/ticket/4657
-https://svn.boost.org/trac/boost/changeset/76290
-
---- libs/mpi/src/python/datatypes.cpp
-+++ libs/mpi/src/python/datatypes.cpp
-@@ -17,7 +17,9 @@
- 
- void export_datatypes()
- {
-+#if PY_MAJOR_VERSION < 3 
-   register_serialized(long(0), &PyInt_Type);
-+#endif
-   register_serialized(false, &PyBool_Type);
-   register_serialized(double(0.0), &PyFloat_Type);
- }
---- libs/mpi/src/python/py_environment.cpp
-+++ libs/mpi/src/python/py_environment.cpp
-@@ -11,6 +11,9 @@
-  *  This file reflects the Boost.MPI "environment" class into Python
-  *  methods at module level.
-  */
-+
-+#include <locale>
-+#include <string>
- #include <boost/python.hpp>
- #include <boost/mpi.hpp>
- 
-@@ -50,11 +53,64 @@
- 
-   // If anything changed, convert C-style argc/argv into Python argv
-   if (mpi_argv != my_argv)
-+  {
-+#if PY_MAJOR_VERSION >= 3
-+
-+    wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
-+    /* We need a second copy, as Python might modify the first one. */
-+    wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*mpi_argc);
-+
-+    if (!argv_copy || !argv_copy2) {
-+      fprintf(stderr, "out of memory\n");
-+      return false;
-+    }
-+
-+    std::locale mylocale;
-+    mbstate_t mystate;
-+
-+    const std::codecvt<char, wchar_t, mbstate_t>& myfacet =
-+      std::use_facet<std::codecvt<char, wchar_t, mbstate_t> >(mylocale);
-+
-+    for (int i = 0; i < mpi_argc; i++) 
-+    {
-+      size_t length = strlen(mpi_argv[i]);
-+
-+      wchar_t *dest = (wchar_t *) PyMem_Malloc(sizeof(wchar_t) * (length + 1));
-+
-+      const char *from_next;
-+      wchar_t *to_next;
-+
-+      std::codecvt<wchar_t,char,mbstate_t>::result myresult = 
-+        myfacet.out(mystate,
-+            mpi_argv[i], mpi_argv[i] + length + 1, from_next,
-+            dest, dest+length+1, to_next);
-+
-+      if (myresult != std::codecvt<wchar_t,char,mbstate_t>::ok )
-+      {
-+        fprintf(stderr, "failure translating argv\n");
-+        return 1;
-+      }
-+
-+      argv_copy2[i] = argv_copy[i] = dest;
-+      if (!argv_copy[i])
-+          return false;
-+    }
-+
-+    PySys_SetArgv(mpi_argc, argv_copy);
-+
-+    for (int i = 0; i < mpi_argc; i++) {
-+        PyMem_Free(argv_copy2[i]);
-+    }
-+    PyMem_Free(argv_copy);
-+    PyMem_Free(argv_copy2);
-+#else
-     PySys_SetArgv(mpi_argc, mpi_argv);
-+#endif
-+  }
- 
--  for (int arg = 0; arg < my_argc; ++arg)
--    free(my_argv[arg]);
--  delete [] my_argv;
-+  for (int arg = 0; arg < mpi_argc; ++arg)
-+    free(mpi_argv[arg]);
-+  delete [] mpi_argv;
- 
-   return true;
- }

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
deleted file mode 100644
index 89f8109..0000000
--- a/dev-libs/boost/files/boost-1.48.0-no_strict_aliasing_python2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
-@@ -85,6 +85,12 @@
- rule lib_boost_python ( is-py3 ? )
- {
- 
-+    local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
-+    local python2 ;
-+    if $(python_major_version) = 2
-+    {
-+        python2 = true ;
-+    }
-     lib [ cond $(is-py3) : boost_python3 : boost_python ]
-         : # sources
-         numeric.cpp
-@@ -119,6 +125,7 @@
-         :   # requirements
-             <link>static:<define>BOOST_PYTHON_STATIC_LIB 
-             <define>BOOST_PYTHON_SOURCE
-+            [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
-           
-             # On Windows, all code using Python has to link to the Python
-             # import library.

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
deleted file mode 100644
index e7f4e7c..0000000
--- a/dev-libs/boost/files/boost-1.48.0-python_linking.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
-@@ -109,20 +109,7 @@
-             <link>static:<define>BOOST_PYTHON_STATIC_LIB 
-             <define>BOOST_PYTHON_SOURCE
-             [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
--          
--            # On Windows, all code using Python has to link to the Python
--            # import library.
--            #
--            # On *nix we never link libboost_python to libpython.  When
--            # extending Python, all Python symbols are provided by the
--            # Python interpreter executable.  When embedding Python, the
--            # client executable is expected to explicitly link to
--            # /python//python (the target representing libpython) itself.
--            #
--            # python_for_extensions is a target defined by Boost.Build to
--            # provide the Python include paths, and on Windows, the Python
--            # import library, as usage requirements.
--            [ cond [ python.configured ] : <library>/python//python_for_extensions ]
-+            [ cond [ python.configured ] : <library>/python//python ]
-             
-             # we prevent building when there is no python available
-             # as it's not possible anyway, and to cause dependents to

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
deleted file mode 100644
index 327429e..0000000
--- a/dev-libs/boost/files/boost-1.51.0-respect_python-buildid.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://svn.boost.org/trac/boost/ticket/6286
-
---- boostcpp.jam
-+++ boostcpp.jam
-@@ -99,13 +99,6 @@
-     BUILD_ID = [ regex.replace $(build-id) "[*\\/:.\"\' ]" _ ] ;
- }
- 
--# Python build id (for Python libraries only).
--python-id = [ option.get "python-buildid" ] ;
--if $(python-id)
--{
--    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
--}
--
- 
- ################################################################################
- #
---- libs/mpi/build/Jamfile.v2
-+++ libs/mpi/build/Jamfile.v2
-@@ -8,6 +8,8 @@
- #  Authors: Douglas Gregor
- #           Andrew Lumsdaine
- 
-+import option ;
-+import regex ;
- import mpi ;
- import indirect ;
- import python ;
-@@ -24,6 +26,13 @@
-     <tag>@$(__name__).tag
-   ;
- 
-+# Python build id (for Python libraries only).
-+python-id = [ option.get "python-buildid" ] ;
-+if $(python-id)
-+{
-+    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
-+}
-+
- rule tag ( name : type ? : property-set )
- {
-     local result = $(name) ;
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
-@@ -2,6 +2,8 @@
- # Software License, Version 1.0. (See accompanying
- # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- 
-+import option ;
-+import regex ;
- import os ;
- import indirect ;
- import modules ;
-@@ -30,6 +32,14 @@
-         ;
- }
- 
-+# Python build id (for Python libraries only).
-+python-id = [ option.get "python-buildid" ] ;
-+if $(python-id)
-+{
-+    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
-+}
-+
-+
- rule find-py3-version
- {
-     local versions = [ feature.values python ] ;

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
deleted file mode 100644
index c8dc6e1..0000000
--- a/dev-libs/boost/files/boost-1.51.0-support_dots_in_python-buildid.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- libs/mpi/build/Jamfile.v2
-+++ libs/mpi/build/Jamfile.v2
-@@ -30,7 +30,7 @@
- python-id = [ option.get "python-buildid" ] ;
- if $(python-id)
- {
--    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
-+    PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
- }
- 
- rule tag ( name : type ? : property-set )
---- libs/python/build/Jamfile.v2
-+++ libs/python/build/Jamfile.v2
-@@ -36,7 +36,7 @@
- python-id = [ option.get "python-buildid" ] ;
- if $(python-id)
- {
--    PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
-+    PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
- }
- 
- 

diff --git a/dev-libs/boost/files/remove-toolset-1.48.0.patch b/dev-libs/boost/files/remove-toolset-1.48.0.patch
deleted file mode 100644
index df91529..0000000
--- a/dev-libs/boost/files/remove-toolset-1.48.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- boostcpp.jam
-+++ boostcpp.jam
-@@ -377,7 +377,7 @@
-         if $(layout) = versioned
-         {
-             result = [ common.format-name
--                <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
-+                <base> <threading> <runtime> -$(BOOST_VERSION_TAG)
-                 -$(BUILD_ID)
-                 : $(name) : $(type) : $(property-set) ] ;
-         }        

diff --git a/dev-libs/boost/metadata.xml b/dev-libs/boost/metadata.xml
deleted file mode 100644
index 4484730..0000000
--- a/dev-libs/boost/metadata.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-  <herd>cpp</herd>
-  <maintainer>
-    <email>dev-zero@gentoo.org</email>
-    <name>Tiziano Müller</name>
-  </maintainer>
-  <maintainer>
-    <email>SebastianLuther@gmx.de</email>
-    <name>Sebastian Luther</name>
-  </maintainer>
-  <maintainer>
-    <email>arfrever.fta@gmail.com</email>
-    <name>Arfrever Frehtes Taifersar Arahesis</name>
-  </maintainer>
-  <maintainer>
-    <email>mgorny@gentoo.org</email>
-    <name>Michał Górny</name>
-  </maintainer>
-<longdescription>
-Boost is a free peer-reviewed portable C++ source libraries.
-</longdescription>
-<use>
-  <flag name='tools'>Build and install the boost tools (bcp, quickbook,
-    inspect, wave)</flag>
-  <flag name='eselect'>Run "eselect boost update" even if version is
-    already selected</flag>
-  <flag name='locale'>Build with locale support</flag>
-</use>
-</pkgmetadata>


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-01-02  4:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-25 22:40 [gentoo-commits] proj/hardened-dev:uclibc commit in: dev-libs/boost/files/, dev-libs/boost/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2012-11-08  0:13 Anthony G. Basile
2013-01-02  4:08 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox