* [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