summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2012-10-31 16:32:26 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2012-10-31 16:32:26 +0000
commit443977c23782282c0c85e32403c2a11def452f8a (patch)
treebbe66e5b47aa670fabc6249564d039ac3e9f39cd /dev-libs/boost
parentUnslotting. This removes a bunch of older packages that will not build on mod... (diff)
downloadgentoo-2-443977c23782282c0c85e32403c2a11def452f8a.tar.gz
gentoo-2-443977c23782282c0c85e32403c2a11def452f8a.tar.bz2
gentoo-2-443977c23782282c0c85e32403c2a11def452f8a.zip
Unslotting. This removes a bunch of older packages that will not build on modern systems, keeps only three versions (stable, mostly-stable and masked). The new 1.51.0-r1 is designed so that it does not have to do any eselect or eselect-like trickery for the symlinks, also drops the tests (which are not working as expected anyway).
(Portage version: 2.2.0_alpha141/cvs/Linux x86_64, signed Manifest commit with key 1CD13C8AD4301342)
Diffstat (limited to 'dev-libs/boost')
-rw-r--r--dev-libs/boost/ChangeLog33
-rw-r--r--dev-libs/boost/boost-1.35.0-r2.ebuild268
-rw-r--r--dev-libs/boost/boost-1.35.0-r5.ebuild334
-rw-r--r--dev-libs/boost/boost-1.37.0-r1.ebuild428
-rw-r--r--dev-libs/boost/boost-1.39.0.ebuild422
-rw-r--r--dev-libs/boost/boost-1.41.0-r3.ebuild473
-rw-r--r--dev-libs/boost/boost-1.42.0-r1.ebuild491
-rw-r--r--dev-libs/boost/boost-1.42.0-r2.ebuild492
-rw-r--r--dev-libs/boost/boost-1.42.0.ebuild490
-rw-r--r--dev-libs/boost/boost-1.45.0.ebuild486
-rw-r--r--dev-libs/boost/boost-1.46.1-r1.ebuild9
-rw-r--r--dev-libs/boost/boost-1.47.0-r1.ebuild487
-rw-r--r--dev-libs/boost/boost-1.47.0.ebuild487
-rw-r--r--dev-libs/boost/boost-1.48.0-r2.ebuild615
-rw-r--r--dev-libs/boost/boost-1.49.0-r1.ebuild9
-rw-r--r--dev-libs/boost/boost-1.50.0-r2.ebuild595
-rw-r--r--dev-libs/boost/boost-1.50.0.ebuild613
-rw-r--r--dev-libs/boost/boost-1.51.0-r1.ebuild (renamed from dev-libs/boost/boost-1.51.0.ebuild)214
-rw-r--r--dev-libs/boost/files/1.35-remove-hardlink-creation.patch21
-rw-r--r--dev-libs/boost/files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch24
-rw-r--r--dev-libs/boost/files/boost-1.41.0-iostreams-missing-include-guard.patch20
-rw-r--r--dev-libs/boost/files/boost-1.41.0-mpi_process_group-missing-include.patch12
-rw-r--r--dev-libs/boost/files/boost-1.41.0-parameter-needs-python.patch106
-rw-r--r--dev-libs/boost/files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch13
-rw-r--r--dev-libs/boost/files/boost-1.42.0-gcc45-python.patch15
-rw-r--r--dev-libs/boost/files/boost-1.42.0-parameter-needs-python.patch106
-rw-r--r--dev-libs/boost/files/boost-1.42.0-template_arity-gcc45.patch28
-rw-r--r--dev-libs/boost/files/boost-1.47.0-exceptions.patch22
-rw-r--r--dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch69
-rw-r--r--dev-libs/boost/files/boost-1.48.0-gcc47.patch14
-rw-r--r--dev-libs/boost/files/buildid-fix.patch23
-rw-r--r--dev-libs/boost/files/random-Jamfile15
-rw-r--r--dev-libs/boost/files/random-Jamfile-1.45.015
-rw-r--r--dev-libs/boost/files/random-Jamfile-1.47.015
-rw-r--r--dev-libs/boost/files/remove-toolset-1.41.0.patch11
-rw-r--r--dev-libs/boost/files/remove-toolset-1.42.0.patch11
-rw-r--r--dev-libs/boost/files/remove-toolset-1.45.0.patch11
-rw-r--r--dev-libs/boost/files/remove-toolset-1.47.0.patch11
-rw-r--r--dev-libs/boost/files/remove_toolset_from_targetname.patch11
-rw-r--r--dev-libs/boost/metadata.xml39
40 files changed, 81 insertions, 7477 deletions
diff --git a/dev-libs/boost/ChangeLog b/dev-libs/boost/ChangeLog
index e427c30b3d72..de447ff3b2f5 100644
--- a/dev-libs/boost/ChangeLog
+++ b/dev-libs/boost/ChangeLog
@@ -1,6 +1,37 @@
# ChangeLog for dev-libs/boost
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.268 2012/10/30 23:28:10 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.269 2012/10/31 16:32:25 flameeyes Exp $
+
+*boost-1.51.0-r1 (31 Oct 2012)
+
+ 31 Oct 2012; Diego E. Pettenò <flameeyes@gentoo.org> +boost-1.51.0-r1.ebuild,
+ -boost-1.35.0-r2.ebuild, -boost-1.35.0-r5.ebuild, -boost-1.37.0-r1.ebuild,
+ -boost-1.39.0.ebuild, -boost-1.41.0-r3.ebuild, -boost-1.42.0-r1.ebuild,
+ -boost-1.42.0-r2.ebuild, -boost-1.42.0.ebuild, -boost-1.45.0.ebuild,
+ -boost-1.47.0-r1.ebuild, -boost-1.47.0.ebuild, -boost-1.48.0-r2.ebuild,
+ -boost-1.50.0-r2.ebuild, -boost-1.50.0.ebuild, -boost-1.51.0.ebuild,
+ -files/1.35-remove-hardlink-creation.patch,
+ -files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch,
+ -files/boost-1.41.0-iostreams-missing-include-guard.patch,
+ -files/boost-1.41.0-mpi_process_group-missing-include.patch,
+ -files/boost-1.41.0-parameter-needs-python.patch,
+ -files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch,
+ -files/boost-1.42.0-gcc45-python.patch,
+ -files/boost-1.42.0-parameter-needs-python.patch,
+ -files/boost-1.42.0-template_arity-gcc45.patch,
+ -files/boost-1.47.0-exceptions.patch, -files/boost-1.48.0-BOOST_FOREACH.patch,
+ -files/boost-1.48.0-gcc47.patch, -files/buildid-fix.patch,
+ -files/random-Jamfile, -files/random-Jamfile-1.45.0,
+ -files/random-Jamfile-1.47.0, -files/remove-toolset-1.41.0.patch,
+ -files/remove-toolset-1.42.0.patch, -files/remove-toolset-1.45.0.patch,
+ -files/remove-toolset-1.47.0.patch,
+ -files/remove_toolset_from_targetname.patch, boost-1.46.1-r1.ebuild,
+ boost-1.49.0-r1.ebuild, metadata.xml:
+ Unslotting. This removes a bunch of older packages that will not build on
+ modern systems, keeps only three versions (stable, mostly-stable and masked).
+ The new 1.51.0-r1 is designed so that it does not have to do any eselect or
+ eselect-like trickery for the symlinks, also drops the tests (which are not
+ working as expected anyway).
30 Oct 2012; Mike Gilbert <floppym@gentoo.org> boost-1.51.0.ebuild:
Remove python_mod_optimize call; boost_1_51 does not exist in site-packages.
diff --git a/dev-libs/boost/boost-1.35.0-r2.ebuild b/dev-libs/boost/boost-1.35.0-r2.ebuild
deleted file mode 100644
index 0961212fdcb9..000000000000
--- a/dev-libs/boost/boost-1.35.0-r2.ebuild
+++ /dev/null
@@ -1,268 +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.35.0-r2.ebuild,v 1.17 2012/06/06 20:29:00 jer Exp $
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 s390 sh sparc x86"
-
-MY_P=${PN}_$(replace_all_version_separators _)
-PATCHSET_VERSION="${PV}-3"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
- mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2"
-LICENSE="Boost-1.0"
-SLOT="0"
-IUSE="debug doc expat icu mpi test tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- expat? ( dev-libs/expat )
- mpi? ( || ( sys-cluster/openmpi sys-cluster/mpich2 ) )
- sys-libs/zlib
- dev-lang/python"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${PV}-r1"
-
-S=${WORKDIR}/${MY_P}
-
-# Maintainer Information
-# ToDo:
-# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
-
-pkg_setup() {
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- fi
-}
-
-src_unpack() {
- unpack ${A}
-
- cd "${S}"
-
- EPATCH_SOURCE="${WORKDIR}/patches"
- EPATCH_SUFFIX="patch"
- epatch
-
- # This enables building the boost.random library with /dev/urandom support
- if ! use userland_Darwin ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- fi
-}
-
-generate_options() {
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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.
-
- BUILDNAME="gentoorelease"
- use debug && BUILDNAME="gentoodebug"
-
- OPTIONS="${BUILDNAME}"
-
- use icu && OPTIONS="${OPTIONS} -sICU_PATH=/usr"
- if use expat ; then
- OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
- fi
-
- if ! use mpi ; then
- OPTIONS="${OPTIONS} --without-mpi"
- fi
-
- OPTIONS="${OPTIONS} --user-config=${S}/user-config.jam --boost-build=/usr/share/boost-build"
-}
-
-generate_userconfig() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- append-ldflags -ldl
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none <debug-symbols>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;
-
-__EOF__
-
- if use mpi ; then
- echo "using mpi ;" >> "${S}/user-config.jam"
- fi
-}
-
-src_compile() {
-
- NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/' <<< ${MAKEOPTS})
-
- generate_userconfig
- generate_options
-
- elog "Using the following options to build: "
- elog " ${OPTIONS}"
-
- export BOOST_ROOT=${S}
-
- bjam ${NUMJOBS} -q \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --prefix="${D}/usr" \
- --layout=system \
- || die "building boost failed"
-
- if use tools; then
- cd "${S}/tools/"
- # We have to set optimization to -O0 or -O1 to work around a gcc-bug
- # optimization=off adds -O0 to the compiler call and overwrites our settings.
- bjam ${NUMJOBS} -q \
- ${OPTIONS} \
- --prefix="${D}/usr" \
- --layout=system \
- || die "building tools failed"
- fi
-}
-
-src_install () {
-
- generate_options
-
- export BOOST_ROOT=${S}
-
- bjam -q \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --prefix="${D}/usr" \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --layout=system \
- install || die "install failed for options '${OPTIONS}'"
-
- # Move the mpi.so to the right place
- if use mpi; then
- mkdir -p "${D}$(python_get_sitedir)"
- mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)"
- fi
-
- if use doc ; then
- find libs -iname "test" -or -iname "src" | xargs rm -rf
- dohtml \
- -A pdf,txt,cpp \
- *.{htm,html,png,css} \
- -r doc more people wiki
- insinto /usr/share/doc/${PF}/html
- doins -r libs
-
- # 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
-
- cd "${D}/usr/$(get_libdir)"
-
- # If built with debug enabled, all libraries get a 'd' postfix,
- # this breaks linking other apps against boost (bug #181972)
- if use debug ; then
- for lib in $(ls -1 libboost_*) ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-d\././' -e 's/d\././' <<< ${lib})"
- done
- fi
-
- for lib in $(ls -1 libboost_thread-mt.*) ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- if use tools; then
- cd "${S}/dist"
- dobin bin/*
- insinto /usr
- doins -r share
- fi
-
- cd "${S}/status"
- if [ -f regress.log ]; then
- docinto status
- dohtml *.{html,gif} ../boost.png
- dodoc regress.log
- fi
-}
-
-src_test() {
- generate_options
-
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build"
- bjam -q \
- ${OPTIONS} \
- --prefix="${D}/usr" \
- --layout=system \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status"
-
- # 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
- bjam \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/${BUILDNAME}/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/${BUILDNAME}/compiler_status" --v2 \
- --comment "${S}/status/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|../boost.png|boost.png|' *.html
-}
diff --git a/dev-libs/boost/boost-1.35.0-r5.ebuild b/dev-libs/boost/boost-1.35.0-r5.ebuild
deleted file mode 100644
index 95234592ca6c..000000000000
--- a/dev-libs/boost/boost-1.35.0-r5.ebuild
+++ /dev/null
@@ -1,334 +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.35.0-r5.ebuild,v 1.18 2012/06/06 20:29:00 jer Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs eutils
-
-KEYWORDS="alpha amd64 arm ia64 ~mips ppc ~ppc64 s390 sh sparc x86"
-
-MY_P=${PN}_$(replace_all_version_separators _)
-PATCHSET_VERSION="${PV}-5"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
- mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
- http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
-LICENSE="Boost-1.0"
-SLOT="0"
-IUSE="doc +eselect expat icu mpi python test tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- expat? ( dev-libs/expat )
- mpi? ( sys-cluster/openmpi[cxx] )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- >=dev-util/boost-build-1.35.0-r2:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-# Maintainer Information
-# ToDo:
-# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
-
-# manually setting it for this major version
-MAJOR_PV=1_35
-BJAM="bjam-${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/1.35/default"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/1.35/${2}"
- fi
-}
-
-pkg_setup() {
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- fi
-}
-
-src_prepare() {
- EPATCH_SOURCE="${WORKDIR}/patches"
- EPATCH_SUFFIX="patch"
- epatch
-
- epatch \
- "${FILESDIR}/remove_toolset_from_targetname.patch"
-
- # This enables building the boost.random library with /dev/urandom support
- if ! use userland_Darwin ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- fi
-
- epatch "${FILESDIR}/1.35-remove-hardlink-creation.patch"
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- append-ldflags -ldl
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
- [[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${OPTIONS} --without-python"
-
- OPTIONS="${OPTIONS} --user-config=${S}/user-config.jam --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=${D}/usr --layout=versioned"
-
-}
-
-src_compile() {
-
- NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
-
- einfo "Using the following options to build: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- || die "building boost failed"
-
- if use tools; then
- cd "${S}/tools/"
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- einfo "Using the following options to install: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
-
- dodir /usr/share/boost-eselect/profiles/1.35
- touch "${D}/usr/share/boost-eselect/profiles/1.35/default"
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; then
- mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
- mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- if use doc ; then
- find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
- dohtml \
- -A pdf,txt,cpp,cpp,hpp \
- *.{htm,html,png,css} \
- -r doc more people wiki
- insinto /usr/share/doc/${PF}/html
- doins -r libs
-
- # 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
-
- cd "${D}/usr/$(get_libdir)"
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 *.{a,so} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs broken!"
- fi
- rm "${f}"
- done
-
- # The threading libs obviously always gets the "-mt" (multithreading) tag
- # some packages seem to have a problem with it. Creating symlinks...
- for lib in libboost_thread-mt-${MAJOR_PV}{.a,.so} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- # The same goes for the mpi libs
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}{.a,.so} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
- 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
- for f in libboost_*.{a,so} ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}}
- _add_line "/usr/$(get_libdir)/${f}" default
- done
- _add_line "\"" default
-
- _add_line "includes=\"/usr/include/boost-${MAJOR_PV}/boost\"" default
-
- if use tools; then
- cd "${S}/dist/bin"
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}"
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist"
- insinto /usr/share
- doins -r share/boostbook
- # Append version postfix for slotting
- mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
- _add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
- fi
-
- cd "${S}/status"
- if [ -f regress.log ] ; then
- docinto status
- dohtml *.{html,gif} ../boost.png
- dodoc regress.log
- fi
-
- use python && python_need_rebuild
-}
-
-src_test() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build"
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status"
-
- # 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
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
- --comment "${S}/status/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|../boost.png|boost.png|' *.html
-}
-
-pkg_postinst() {
- use eselect && eselect boost update
- if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
- elog "No active boost version found. Calling eselect to select one..."
- eselect boost update
- fi
-}
diff --git a/dev-libs/boost/boost-1.37.0-r1.ebuild b/dev-libs/boost/boost-1.37.0-r1.ebuild
deleted file mode 100644
index 932e93cac988..000000000000
--- a/dev-libs/boost/boost-1.37.0-r1.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.37.0-r1.ebuild,v 1.17 2011/04/05 05:23:28 ulm Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-
-MY_P=${PN}_$(replace_all_version_separators _)
-PATCHSET_VERSION="${PV}-1"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
- mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
- http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
-LICENSE="Boost-1.0"
-SLOT="1.37"
-IUSE="debug doc +eselect expat icu mpi python test tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- expat? ( dev-libs/expat )
- mpi? ( sys-cluster/openmpi[cxx] )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-# Maintainer Information
-# ToDo:
-# - write a patch to support /dev/urandom on FreeBSD and OSX (see below)
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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_SOURCE="${WORKDIR}/patches"
- EPATCH_SUFFIX="patch"
- epatch
-
- epatch \
- "${FILESDIR}/remove_toolset_from_targetname.patch" \
- "${FILESDIR}/buildid-fix.patch" \
- "${FILESDIR}"/${P}-darwin-long-double.patch
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
- [[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${OPTIONS} --without-python"
-
- OPTIONS="${OPTIONS} --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
-
-}
-
-src_compile() {
-
- NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
-
- einfo "Using the following options to build: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- || die "building boost failed"
-
- # ... and do the whole thing one more time to get the debug libs
- if use debug ; then
- ${BJAM} ${NUMJOBS} -q \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- einfo "Using the following options to install: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- ${BJAM} -q \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared,static \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
-
- dodir /usr/share/boost-eselect/profiles/${SLOT}
- touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
- use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; then
- mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
- mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki
- dohtml \
- -A pdf,txt \
- -r tools
- insinto /usr/share/doc/${PF}/html
- doins -r libs
-
- # 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
-
- cd "${D}/usr/$(get_libdir)"
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs broken!"
- fi
- rm "${f}"
- done
-
- # The threading libs obviously always gets the "-mt" (multithreading) tag
- # some packages seem to have a problem with it. Creating symlinks...
- for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- # The same goes for the mpi libs
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
- fi
-
- if use debug ; then
- for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
-
- if use tools; then
- cd "${S}/dist/bin"
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}"
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist"
- insinto /usr/share
- doins -r share/boostbook
- # Append version postfix for slotting
- mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
- _add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
- fi
-
- cd "${S}/status"
- if [ -f regress.log ] ; then
- docinto status
- dohtml *.{html,gif} ../boost.png
- dodoc regress.log
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build"
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status"
-
- # 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
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-pkg_postinst() {
- use eselect && eselect boost update
- if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
- elog "No active boost version found. Calling eselect to select one..."
- eselect boost update
- fi
-}
diff --git a/dev-libs/boost/boost-1.39.0.ebuild b/dev-libs/boost/boost-1.39.0.ebuild
deleted file mode 100644
index aef488d03a45..000000000000
--- a/dev-libs/boost/boost-1.39.0.ebuild
+++ /dev/null
@@ -1,422 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.39.0.ebuild,v 1.11 2011/04/05 05:23:28 ulm Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-
-MY_P=${PN}_$(replace_all_version_separators _)
-PATCHSET_VERSION="${PV}-1"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2
- mirror://gentoo/boost-patches-${PATCHSET_VERSION}.tbz2
- http://www.gentoo.org/~dev-zero/distfiles/boost-patches-${PATCHSET_VERSION}.tbz2"
-LICENSE="Boost-1.0"
-SLOT="$(get_version_component_range 1-2)"
-IUSE="debug doc +eselect expat icu mpi python test tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- expat? ( dev-libs/expat )
- mpi? ( sys-cluster/openmpi[cxx] )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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_SOURCE="${WORKDIR}/patches"
- EPATCH_SUFFIX="patch"
- epatch
-
- epatch \
- "${FILESDIR}/remove_toolset_from_targetname.patch"
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Huge number of strict-aliasing warnings cause a build failure w/ >= GCC 4.4 bug #252287
- [[ $(gcc-version) > 4.3 ]] && append-flags -Wno-strict-aliasing
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${OPTIONS} --without-python"
-
- OPTIONS="${OPTIONS} --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
-
-}
-
-src_compile() {
-
- NUMJOBS=$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/; s/--jobs=\?/-j/' <<< ${MAKEOPTS})
-
- einfo "Using the following options to build: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- || die "building boost failed"
-
- # ... and do the whole thing one more time to get the debug libs
- if use debug ; then
- ${BJAM} ${NUMJOBS} -q \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- ${BJAM} ${NUMJOBS} -q \
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- einfo "Using the following options to install: "
- einfo " ${OPTIONS}"
-
- export BOOST_ROOT="${S}"
-
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- ${BJAM} -q \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
-
- dodir /usr/share/boost-eselect/profiles/${SLOT}
- touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
- use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; then
- mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
- mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki
- dohtml \
- -A pdf,txt \
- -r tools
- insinto /usr/share/doc/${PF}/html
- doins -r libs
-
- # 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
-
- cd "${D}/usr/$(get_libdir)"
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs broken!"
- fi
- rm "${f}"
- done
-
- # The threading libs obviously always gets the "-mt" (multithreading) tag
- # some packages seem to have a problem with it. Creating symlinks...
- for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- # The same goes for the mpi libs
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
- fi
-
- if use debug ; then
- for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
-
- if use tools; then
- cd "${S}/dist/bin"
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}"
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist"
- insinto /usr/share
- doins -r share/boostbook
- # Append version postfix for slotting
- mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
- _add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
- fi
-
- cd "${S}/status"
- if [ -f regress.log ] ; then
- docinto status
- dohtml *.{html,gif} ../boost.png
- dodoc regress.log
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build"
- ${BJAM} -q \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status"
-
- # 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
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-pkg_postinst() {
- use eselect && eselect boost update
- if [ ! -h "${ROOT}/etc/eselect/boost/active" ] ; then
- elog "No active boost version found. Calling eselect to select one..."
- eselect boost update
- fi
-}
diff --git a/dev-libs/boost/boost-1.41.0-r3.ebuild b/dev-libs/boost/boost-1.41.0-r3.ebuild
deleted file mode 100644
index 9935dc930aff..000000000000
--- a/dev-libs/boost/boost-1.41.0-r3.ebuild
+++ /dev/null
@@ -1,473 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.41.0-r3.ebuild,v 1.14 2011/07/15 16:27:59 mattst88 Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect expat icu mpi python test tools"
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- expat? ( dev-libs/expat )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
-
- # bug 291660
- epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
-
- # http://thread.gmane.org/gmane.comp.lib.boost.devel/196471
- epatch "${FILESDIR}/boost-${PV}-mpi_process_group-missing-include.patch"
-
- # https://svn.boost.org/trac/boost/ticket/3010
- epatch "${FILESDIR}/boost-${PV}-iostreams-missing-include-guard.patch"
-
- # bug 297163
- # https://svn.boost.org/trac/boost/ticket/3352
- epatch "${FILESDIR}/boost-${PV}-fix-CRC-on-x64-during-gzip-decompression.patch"
-
- # bug 297500
- # https://svn.boost.org/trac/boost/ticket/3724
- epatch "${FILESDIR}/boost-${PV}-spirit-fixed-include-guard-conflict.patch"
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use expat && OPTIONS="${OPTIONS} -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/$(get_libdir)"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --boost-build=/usr/share/boost-build-${MAJOR_PV} --prefix=\"${D}/usr\" --layout=versioned"
-
-}
-
-src_compile() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi link=shared,static runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi link=shared,static runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python*
-
- dodir /usr/share/boost-eselect/profiles/${SLOT}
- touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/default"
- use debug && touch "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; then
- mkdir -p "${D}$(python_get_sitedir)/boost_${MAJOR_PV}"
- mv "${D}/usr/$(get_libdir)/mpi.so" "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/"
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py"
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki
- dohtml \
- -A pdf,txt \
- -r tools
- insinto /usr/share/doc/${PF}/html
- doins -r libs
-
- # 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
-
- cd "${D}/usr/$(get_libdir)"
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 *{.a,$(get_libname)} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs broken!"
- fi
- rm "${f}"
- done
-
- # The threading libs obviously always gets the "-mt" (multithreading) tag
- # some packages seem to have a problem with it. Creating symlinks...
- for lib in libboost_thread-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- # The same goes for the mpi libs
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
- fi
-
- if use debug ; then
- for lib in libboost_thread-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})"
- done
-
- if use mpi ; then
- for lib in libboost_mpi-mt-${MAJOR_PV}-debug{.a,$(get_libname)} ; 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
- for f in $(ls -1 *{.a,$(get_libname)} | 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
-
- if use tools; then
- cd "${S}/dist/bin"
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}"
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist"
- insinto /usr/share
- doins -r share/boostbook
- # Append version postfix for slotting
- mv "${D}/usr/share/boostbook" "${D}/usr/share/boostbook-${MAJOR_PV}"
- _add_line "dirs=\"/usr/share/boostbook-${MAJOR_PV}\""
- fi
-
- cd "${S}/status"
- if [ -f regress.log ] ; then
- docinto status
- dohtml *.html ../boost.png
- dodoc regress.log
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build"
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status"
-
- # 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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
- fi
-}
diff --git a/dev-libs/boost/boost-1.42.0-r1.ebuild b/dev-libs/boost/boost-1.42.0-r1.ebuild
deleted file mode 100644
index 558448362894..000000000000
--- a/dev-libs/boost/boost-1.42.0-r1.ebuild
+++ /dev/null
@@ -1,491 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0-r1.ebuild,v 1.4 2011/07/15 16:27:59 mattst88 Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
-
- # bug 291660
- epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
- epatch "${FILESDIR}"/${P}-template_arity-gcc45.patch
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly linked version of libboost_test_exec_monitor
- LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
- fi
-}
-
-src_compile() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.42.0-r2.ebuild b/dev-libs/boost/boost-1.42.0-r2.ebuild
deleted file mode 100644
index 0603f5a2d399..000000000000
--- a/dev-libs/boost/boost-1.42.0-r2.ebuild
+++ /dev/null
@@ -1,492 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0-r2.ebuild,v 1.12 2011/07/15 16:27:59 mattst88 Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
-
- # bug 291660
- epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
- epatch "${FILESDIR}"/${P}-template_arity-gcc45.patch
- epatch "${FILESDIR}"/${P}-gcc45-python.patch
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly linked version of libboost_test_exec_monitor
- LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
- fi
-}
-
-src_compile() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.42.0.ebuild b/dev-libs/boost/boost-1.42.0.ebuild
deleted file mode 100644
index aa9035aabb51..000000000000
--- a/dev-libs/boost/boost-1.42.0.ebuild
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.42.0.ebuild,v 1.6 2011/07/15 16:27:59 mattst88 Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="1024"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
-
- # bug 291660
- epatch "${FILESDIR}/boost-${PV}-parameter-needs-python.patch"
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile" libs/random/build/Jamfile.v2
- # yeah, we WANT it to work on non-Linux too
- sed -i -e 's/#ifdef __linux__/#if 1/' libs/random/random_device.cpp || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly linked version of libboost_test_exec_monitor
- LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
- fi
-}
-
-src_compile() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 more people wiki || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.45.0.ebuild b/dev-libs/boost/boost-1.45.0.ebuild
deleted file mode 100644
index 1d4a79bddefa..000000000000
--- a/dev-libs/boost/boost-1.45.0.ebuild
+++ /dev/null
@@ -1,486 +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.45.0.ebuild,v 1.8 2012/01/08 11:42:28 hwoarang Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-DEPEND="${RDEPEND}
- dev-util/boost-build:${SLOT}"
-
-S=${WORKDIR}/${MY_P}
-
-MAJOR_PV=$(replace_all_version_separators _ ${SLOT})
-BJAM="bjam-${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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="15G"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
- epatch "${FILESDIR}/${P}-lambda_bind.patch"
-
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build
- cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly linked version of libboost_test_exec_monitor
- LIBRARY_TARGETS="libboost_test_exec_monitor*.a *$(get_libname)"
- fi
-}
-
-src_compile() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.46.1-r1.ebuild b/dev-libs/boost/boost-1.46.1-r1.ebuild
index 985602f9a284..8a0fbac1f867 100644
--- a/dev-libs/boost/boost-1.46.1-r1.ebuild
+++ b/dev-libs/boost/boost-1.46.1-r1.ebuild
@@ -1,6 +1,6 @@
# 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.46.1-r1.ebuild,v 1.7 2012/01/08 11:42:28 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.46.1-r1.ebuild,v 1.8 2012/10/31 16:32:25 flameeyes Exp $
EAPI="2"
@@ -12,7 +12,8 @@ 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)"
+SLOT=0
+MAJOR_V="$(get_version_component_range 1-2)"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
@@ -24,11 +25,11 @@ RDEPEND="icu? ( >=dev-libs/icu-3.3 )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.3"
DEPEND="${RDEPEND}
- dev-util/boost-build:${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="bjam-${MAJOR_PV}"
# Usage:
diff --git a/dev-libs/boost/boost-1.47.0-r1.ebuild b/dev-libs/boost/boost-1.47.0-r1.ebuild
deleted file mode 100644
index a22644a52cce..000000000000
--- a/dev-libs/boost/boost-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,487 +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.47.0-r1.ebuild,v 1.2 2012/01/08 11:42:28 hwoarang Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="15G"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
- epatch "${FILESDIR}/${P}-exceptions.patch"
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build || die
- cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2 || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use icu || OPTIONS="--disable-icu"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly 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() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
- doins -r more || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.47.0.ebuild b/dev-libs/boost/boost-1.47.0.ebuild
deleted file mode 100644
index 5f2eebf9fc68..000000000000
--- a/dev-libs/boost/boost-1.47.0.ebuild
+++ /dev/null
@@ -1,487 +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.47.0.ebuild,v 1.3 2012/01/08 11:42:28 hwoarang Exp $
-
-EAPI="2"
-
-inherit python flag-o-matic multilib toolchain-funcs versionator check-reqs
-
-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)"
-IUSE="debug doc +eselect icu mpi python static-libs test tools"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.3 )
- mpi? ( || ( sys-cluster/openmpi[cxx] sys-cluster/mpich2[cxx,threads] ) )
- sys-libs/zlib
- python? ( dev-lang/python )
- !!<=dev-libs/boost-1.35.0-r2
- >=app-admin/eselect-boost-0.3"
-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"
- use debug && echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/debug"
- else
- echo "${1}" >> "${D}/usr/share/boost-eselect/profiles/${SLOT}/${2}"
- fi
-}
-
-pkg_setup() {
- # It doesn't compile with USE="python mpi" and python-3 (bug 295705)
- if use python && use mpi ; then
- if [[ "$(python_get_version --major)" != "2" ]]; then
- eerror "The Boost.MPI python bindings do not support any other python version"
- eerror "than 2.x. Please either use eselect to select a python 2.x version or"
- eerror "disable the python and/or mpi use flag for =${CATEGORY}/${PF}."
- die "unsupported python version"
- fi
- fi
-
- if use test ; then
- CHECKREQS_DISK_BUILD="15G"
- check_reqs
-
- 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"
- ebeep 5
-
- 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}/remove-toolset-${PV}.patch"
- epatch "${FILESDIR}/${P}-exceptions.patch"
- # This enables building the boost.random library with /dev/urandom support
- if [[ -e /dev/urandom ]] ; then
- mkdir -p libs/random/build || die
- cp "${FILESDIR}/random-Jamfile-${PV}" libs/random/build/Jamfile.v2 || die
- fi
-}
-
-src_configure() {
- einfo "Writing new user-config.jam"
-
- local compiler compilerVersion compilerExecutable mpi
- if [[ ${CHOST} == *-darwin* ]] ; then
- compiler=darwin
- compilerVersion=$(gcc-fullversion)
- compilerExecutable=$(tc-getCXX)
- # 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
- else
- compiler=gcc
- compilerVersion=$(gcc-version)
- compilerExecutable=$(tc-getCXX)
- fi
-
- # Using -fno-strict-aliasing to prevent possible creation of invalid code.
- append-flags -fno-strict-aliasing
-
- # bug 298489
- if use ppc || use ppc64 ; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi;
-
- use mpi && mpi="using mpi ;"
-
- if use python ; then
- pystring="using python : $(python_get_version) : /usr : $(python_get_includedir) : $(python_get_libdir) ;"
- fi
-
- cat > "${S}/user-config.jam" << __EOF__
-
-variant gentoorelease : release : <optimization>none <debug-symbols>none ;
-variant gentoodebug : debug : <optimization>none ;
-
-using ${compiler} : ${compilerVersion} : ${compilerExecutable} : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-
-${pystring}
-
-${mpi}
-
-__EOF__
-
- # Maintainer information:
- # The debug-symbols=none and optimization=none
- # are not official upstream flags but a Gentoo
- # specific patch to make sure that all our
- # 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 infomration.
-
- use icu && OPTIONS="-sICU_PATH=/usr"
- use icu || OPTIONS="--disable-icu"
- use mpi || OPTIONS="${OPTIONS} --without-mpi"
- use python || OPTIONS="${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="${OPTIONS} --disable-long-double"
- fi
-
- OPTIONS="${OPTIONS} pch=off --user-config=\"${S}/user-config.jam\" --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 dynamicly 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() {
- 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}"
-
- einfo "Using the following command to build: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- || die "building boost 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 ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --buildid=debug"
-
- ${BJAM} ${NUMJOBS} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --buildid=debug \
- || die "building boost failed"
- fi
-
- if use tools; then
- cd "${S}/tools/"
- einfo "Using the following command to build the tools: "
- einfo "${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS}"
-
- ${BJAM} ${NUMJOBS} -q -d+2\
- gentoorelease \
- ${OPTIONS} \
- || die "building tools failed"
- fi
-
-}
-
-src_install () {
- export BOOST_ROOT="${S}"
-
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" install"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- install || die "install failed for options '${OPTIONS}'"
-
- if use debug ; then
- einfo "Using the following command to install: "
- einfo "${BJAM} -q -d+2 gentoodebug ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared --includedir=\"${D}/usr/include\" --libdir=\"${D}/usr/$(get_libdir)\" --buildid=debug"
-
- ${BJAM} -q -d+2 \
- gentoodebug \
- ${OPTIONS} \
- threading=single,multi ${LINK_OPTS} runtime-link=shared \
- --includedir="${D}/usr/include" \
- --libdir="${D}/usr/$(get_libdir)" \
- --buildid=debug \
- install || die "install failed for options '${OPTIONS}'"
- fi
-
- use python || rm -rf "${D}/usr/include/boost-${MAJOR_PV}/boost"/python* || die
-
- dodir /usr/share/boost-eselect/profiles/${SLOT} || die
- 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
-
- # Move the mpi.so to the right place and make sure it's slotted
- if use mpi && use python; 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
- touch "${D}$(python_get_sitedir)/boost_${MAJOR_PV}/__init__.py" || die
- _add_line "python=\"$(python_get_sitedir)/boost_${MAJOR_PV}/mpi.so\""
- fi
-
- 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 || die
- dohtml \
- -A pdf,txt \
- -r tools || die
- insinto /usr/share/doc/${PF}/html
- doins -r libs || die
- doins -r more || die
-
- # To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt || die
-
- dosym /usr/include/boost-${MAJOR_PV}/boost /usr/share/doc/${PF}/html/boost || die
- fi
-
- cd "${D}/usr/$(get_libdir)" || die
-
- # Remove (unversioned) symlinks
- # And check for what we remove to catch bugs
- # got a better idea how to do it? tell me!
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v "${MAJOR_PV}") ; do
- if [ ! -h "${f}" ] ; then
- eerror "Ups, tried to remove '${f}' which is a a real file instead of a symlink"
- die "slotting/naming of the libs 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
- for lib in ${THREAD_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
- for lib in ${MPI_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${THREAD_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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
-
- for lib in ${MPI_DEBUG_LIBS} ; do
- dosym ${lib} "/usr/$(get_libdir)/$(sed -e 's/-mt//' <<< ${lib})" || die
- 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} || die
-
- _add_line "libs=\"" default
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep -v debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}/${f/-${MAJOR_PV}} || die
- _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 || die
- for f in $(ls -1 ${LIBRARY_TARGETS} | grep debug) ; do
- dosym ../${f} /usr/$(get_libdir)/boost-${MAJOR_PV}-debug/${f/-${MAJOR_PV}-debug} || die
- _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
-
- if use tools; then
- cd "${S}/dist/bin" || die
- # Append version postfix to binaries for slotting
- _add_line "bins=\""
- for b in * ; do
- newbin "${b}" "${b}-${MAJOR_PV}" || die
- _add_line "/usr/bin/${b}-${MAJOR_PV}"
- done
- _add_line "\""
-
- cd "${S}/dist" || die
- insinto /usr/share || die
- doins -r share/boostbook || die
- # 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}\""
- fi
-
- cd "${S}/status" || die
- if [ -f regress.log ] ; then
- docinto status || die
- dohtml *.html ../boost.png || die
- dodoc regress.log || die
- fi
-
- use python && python_need_rebuild
-
- # 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.
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
- if [[ ${CHOST} == *-darwin* ]] ; then
- einfo "Working around completely broken build-system(tm)"
- 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' ')
- 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() {
- export BOOST_ROOT=${S}
-
- cd "${S}/tools/regression/build" || die
- einfo "Using the following command to build test helpers: "
- einfo "${BJAM} -q -d+2 gentoorelease ${OPTIONS} process_jam_log compiler_status"
-
- ${BJAM} -q -d+2 \
- gentoorelease \
- ${OPTIONS} \
- process_jam_log compiler_status \
- || die "building regression test helpers failed"
-
- cd "${S}/status" || 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} ${OPTIONS} --dump-tests"
-
- ${BJAM} \
- ${OPTIONS} \
- --dump-tests 2>&1 | tee regress.log || die
-
- # Postprocessing
- cat regress.log | "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/process_jam_log" --v2
- if test $? != 0 ; then
- die "Postprocessing the build log failed"
- fi
-
- cat > "${S}/status/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
- "${S}/tools/regression/build/bin/gcc-$(gcc-version)/gentoorelease/pch-off/compiler_status" --v2 \
- --comment "${S}/status/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
-}
-
-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.48.0-r2.ebuild b/dev-libs/boost/boost-1.48.0-r2.ebuild
deleted file mode 100644
index ec7b5b1ac471..000000000000
--- a/dev-libs/boost/boost-1.48.0-r2.ebuild
+++ /dev/null
@@ -1,615 +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.48.0-r2.ebuild,v 1.10 2012/10/30 23:11:53 floppym 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 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-1.48.0-r1:${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}/${P}-BOOST_FOREACH.patch"
- epatch "${FILESDIR}/${P}-mpi_python3.patch"
- epatch "${FILESDIR}/${P}-respect_python-buildid.patch"
- epatch "${FILESDIR}/${P}-support_dots_in_python-buildid.patch"
- epatch "${FILESDIR}/${P}-no_strict_aliasing_python2.patch"
- epatch "${FILESDIR}/${P}-disable_libboost_python3.patch"
- epatch "${FILESDIR}/${P}-python_linking.patch"
- epatch "${FILESDIR}/${P}-disable_icu_rpath.patch"
- epatch "${FILESDIR}/remove-toolset-${PV}.patch"
- epatch "${FILESDIR}/${P}-gcc47.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 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.49.0-r1.ebuild b/dev-libs/boost/boost-1.49.0-r1.ebuild
index 4e868193b698..3fe06f356b03 100644
--- a/dev-libs/boost/boost-1.49.0-r1.ebuild
+++ b/dev-libs/boost/boost-1.49.0-r1.ebuild
@@ -1,6 +1,6 @@
# 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.10 2012/10/30 23:11:53 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.49.0-r1.ebuild,v 1.11 2012/10/31 16:32:25 flameeyes Exp $
EAPI="4"
PYTHON_DEPEND="python? *"
@@ -16,7 +16,8 @@ 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="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc +eselect icu mpi python static-libs test tools"
@@ -26,11 +27,11 @@ RDEPEND="icu? ( >=dev-libs/icu-3.3 )
!!<=dev-libs/boost-1.35.0-r2
>=app-admin/eselect-boost-0.4"
DEPEND="${RDEPEND}
- dev-util/boost-build:${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}"
# Usage:
diff --git a/dev-libs/boost/boost-1.50.0-r2.ebuild b/dev-libs/boost/boost-1.50.0-r2.ebuild
deleted file mode 100644
index 08f9d682e0da..000000000000
--- a/dev-libs/boost/boost-1.50.0-r2.ebuild
+++ /dev/null
@@ -1,595 +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.50.0-r2.ebuild,v 1.4 2012/10/30 23:11:53 floppym 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 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 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/boost-1.50.0.ebuild b/dev-libs/boost/boost-1.50.0.ebuild
deleted file mode 100644
index de9704e56afc..000000000000
--- a/dev-libs/boost/boost-1.50.0.ebuild
+++ /dev/null
@@ -1,613 +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.50.0.ebuild,v 1.1 2012/07/07 18:56:41 floppym 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 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 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.51.0.ebuild b/dev-libs/boost/boost-1.51.0-r1.ebuild
index 81a6c38395cc..b6ccc9081f81 100644
--- a/dev-libs/boost/boost-1.51.0.ebuild
+++ b/dev-libs/boost/boost-1.51.0-r1.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.51.0.ebuild,v 1.2 2012/10/30 23:28:10 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.51.0-r1.ebuild,v 1.1 2012/10/31 16:32:25 flameeyes Exp $
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="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="debug doc icu mpi python static-libs test tools"
+IUSE="debug doc icu 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
- !!<=dev-libs/boost-1.35.0-r2"
+ !app-admin/eselect-boost"
DEPEND="${RDEPEND}
- dev-util/boost-build:${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,32 +63,10 @@ ${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() {
@@ -293,7 +272,7 @@ EOF
installation
fi
- use python || rm -rf "${D}usr/include/boost-${MAJOR_PV}/boost"/python* || die
+ use python || rm -rf "${D}usr/include/boost"/python* || die
if use doc; then
find libs/*/* -iname "test" -or -iname "src" | xargs rm -rf
@@ -312,22 +291,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...
@@ -339,7 +308,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
@@ -351,7 +320,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
@@ -364,7 +333,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
@@ -376,24 +345,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
@@ -457,139 +423,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 ; 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 Boost <1.48.
- 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/1.35-remove-hardlink-creation.patch b/dev-libs/boost/files/1.35-remove-hardlink-creation.patch
deleted file mode 100644
index 4b1c143cf707..000000000000
--- a/dev-libs/boost/files/1.35-remove-hardlink-creation.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- Jamroot.orig 2009-04-03 19:23:02.876426258 +0200
-+++ Jamroot 2009-04-03 19:37:05.899697787 +0200
-@@ -444,14 +444,10 @@
- }
- return $(result) ;
- }
--
-- generate stage-unversioned : stage-proper :
-- <generating-rule>@make-unversioned-links ;
-- explicit stage-unversioned ;
--
-- generate install-unversioned : install-proper :
-- <generating-rule>@make-unversioned-links ;
-- explicit install-unversioned ;
-+
-+
-+ alias stage-unversioned ;
-+ alias install-unversioned ;
- }
- else
- {
diff --git a/dev-libs/boost/files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch b/dev-libs/boost/files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch
deleted file mode 100644
index 1707ff6785b7..000000000000
--- a/dev-libs/boost/files/boost-1.41.0-fix-CRC-on-x64-during-gzip-decompression.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Nur boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp boost_1_41_0/boost/iostreams/filter/zlib.hpp
---- boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp 2009-10-14 18:20:36.000000000 +0300
-+++ boost_1_41_0/boost/iostreams/filter/zlib.hpp 2009-12-13 16:47:53.078056507 +0200
-@@ -20,6 +20,7 @@
- #include <memory> // allocator, bad_alloc.
- #include <new>
- #include <boost/config.hpp> // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM.
-+#include <boost/cstdint.hpp> // uint*_t
- #include <boost/detail/workaround.hpp>
- #include <boost/iostreams/constants.hpp> // buffer size.
- #include <boost/iostreams/detail/config/auto_link.hpp>
-@@ -43,9 +44,9 @@
- namespace zlib {
- // Typedefs
-
--typedef unsigned int uint;
--typedef unsigned char byte;
--typedef unsigned long ulong;
-+typedef uint32_t uint;
-+typedef uint8_t byte;
-+typedef uint32_t ulong;
-
- // Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined
- typedef void* (*xalloc_func)(void*, zlib::uint, zlib::uint);
diff --git a/dev-libs/boost/files/boost-1.41.0-iostreams-missing-include-guard.patch b/dev-libs/boost/files/boost-1.41.0-iostreams-missing-include-guard.patch
deleted file mode 100644
index 3f5bb7e16179..000000000000
--- a/dev-libs/boost/files/boost-1.41.0-iostreams-missing-include-guard.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/boost/iostreams/device/mapped_file.hpp b/boost/iostreams/device/mapped_file.hpp
-index aae9dab..be656ef 100644
---- a/boost/iostreams/device/mapped_file.hpp
-+++ b/boost/iostreams/device/mapped_file.hpp
-@@ -4,6 +4,9 @@
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
-
-+#ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED
-+#define BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED
-+
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- # pragma once
- #endif
-@@ -591,3 +594,5 @@ operator^=(mapped_file::mapmode& a, mapped_file::mapmode b)
- } } // End namespaces iostreams, boost.
-
- #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-+
-+#endif // #ifndef BOOST_IOSTREAMS_MAPPED_FILE_HPP_INCLUDED
diff --git a/dev-libs/boost/files/boost-1.41.0-mpi_process_group-missing-include.patch b/dev-libs/boost/files/boost-1.41.0-mpi_process_group-missing-include.patch
deleted file mode 100644
index 13f7b8a4e83c..000000000000
--- a/dev-libs/boost/files/boost-1.41.0-mpi_process_group-missing-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: boost/graph/distributed/detail/mpi_process_group.ipp
-===================================================================
---- boost/graph/distributed/detail/mpi_process_group.ipp (revision 57744)
-+++ boost/graph/distributed/detail/mpi_process_group.ipp (working copy)
-@@ -28,6 +28,7 @@
- #include <queue>
- #include <stack>
- #include <boost/graph/distributed/detail/tag_allocator.hpp>
-+#include <stdio.h>
-
- // #define PBGL_PROCESS_GROUP_DEBUG
-
diff --git a/dev-libs/boost/files/boost-1.41.0-parameter-needs-python.patch b/dev-libs/boost/files/boost-1.41.0-parameter-needs-python.patch
deleted file mode 100644
index 2002ba3a9019..000000000000
--- a/dev-libs/boost/files/boost-1.41.0-parameter-needs-python.patch
+++ /dev/null
@@ -1,106 +0,0 @@
---- boost/parameter/aux_/maybe.hpp 2008-03-22 21:45:55.000000000 +0000
-+++ boost/parameter/aux_/maybe.hpp.new 2009-10-22 03:55:24.000000000 +0000
-@@ -2,20 +2,41 @@
- // subject to the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
--#ifndef BOOST_PARAMETER_MAYBE_060211_HPP
--# define BOOST_PARAMETER_MAYBE_060211_HPP
-+//
-+// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage
-+//
-+#ifndef BOOST_PARAMETER_MAYBE_091021_HPP
-+# define BOOST_PARAMETER_MAYBE_091021_HPP
-
- # include <boost/mpl/if.hpp>
- # include <boost/mpl/identity.hpp>
- # include <boost/type_traits/is_reference.hpp>
- # include <boost/type_traits/add_reference.hpp>
- # include <boost/optional.hpp>
--# include <boost/python/detail/referent_storage.hpp>
-+# include <boost/aligned_storage.hpp>
- # include <boost/type_traits/remove_cv.hpp>
- # include <boost/type_traits/add_const.hpp>
-
- namespace boost { namespace parameter { namespace aux {
-
-+template <class T> struct referent_size;
-+
-+template <class T>
-+struct referent_size<T&>
-+{
-+ BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T));
-+};
-+
-+// A metafunction returning a POD type which can store U, where T ==
-+// U&. If T is not a reference type, returns a POD which can store T.
-+template <class T>
-+struct referent_storage
-+{
-+ typedef typename boost::aligned_storage<
-+ referent_size<T>::value
-+ >::type type;
-+};
-+
- struct maybe_base {};
-
- template <class T>
-@@ -33,8 +54,8 @@
- BOOST_DEDUCED_TYPENAME remove_reference<reference>::type
- >::type non_cv_value;
-
-- explicit maybe(T value)
-- : value(value)
-+ explicit maybe(T value_)
-+ : value(value_)
- , constructed(false)
- {}
-
-@@ -48,28 +69,28 @@
- this->destroy();
- }
-
-- reference construct(reference value) const
-+ reference construct(reference value_) const
- {
-- return value;
-+ return value_;
- }
-
- template <class U>
-- reference construct2(U const& value) const
-+ reference construct2(U const& value_) const
- {
-- new (m_storage.bytes) non_cv_value(value);
-+ new (m_storage.address()) non_cv_value(value_);
- constructed = true;
-- return *(non_cv_value*)m_storage.bytes;
-+ return *(non_cv_value*)m_storage.address();
- }
-
- template <class U>
-- reference construct(U const& value) const
-+ reference construct(U const& value_) const
- {
-- return this->construct2(value);
-+ return this->construct2(value_);
- }
-
- void destroy()
- {
-- ((non_cv_value*)m_storage.bytes)->~non_cv_value();
-+ ((non_cv_value*)m_storage.address())->~non_cv_value();
- }
-
- typedef reference(maybe<T>::*safe_bool)() const;
-@@ -87,7 +108,9 @@
- private:
- boost::optional<T> value;
- mutable bool constructed;
-- mutable typename boost::python::detail::referent_storage<
-+
-+
-+ mutable typename referent_storage<
- reference
- >::type m_storage;
- };
diff --git a/dev-libs/boost/files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch b/dev-libs/boost/files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch
deleted file mode 100644
index 9b68e9740ec7..000000000000
--- a/dev-libs/boost/files/boost-1.41.0-spirit-fixed-include-guard-conflict.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: trunk/boost/spirit/include/version.hpp
-===================================================================
---- a/trunk/boost/spirit/include/version.hpp
-+++ b/trunk/boost/spirit/include/version.hpp
-@@ -7,6 +7,6 @@
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- =============================================================================*/
--#if !defined(SPIRIT_VERSION_NOVEMBER_13_2008_0834AM)
--#define SPIRIT_VERSION_NOVEMBER_13_2008_0834AM
-+#if !defined(SPIRIT_VERSION)
-+#define SPIRIT_VERSION
-
- ///////////////////////////////////////////////////////////////////////////////
diff --git a/dev-libs/boost/files/boost-1.42.0-gcc45-python.patch b/dev-libs/boost/files/boost-1.42.0-gcc45-python.patch
deleted file mode 100644
index b41528945c8b..000000000000
--- a/dev-libs/boost/files/boost-1.42.0-gcc45-python.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.gentoo.org/317997
-https://svn.boost.org/trac/boost/ticket/4223
-https://svn.boost.org/trac/boost/changeset/62198
-
---- a/boost/python/exception_translator.hpp
-+++ b/boost/python/exception_translator.hpp
-@@ -18,7 +18,7 @@ template <class ExceptionType, class Translate>
- void register_exception_translator(Translate translate, boost::type<ExceptionType>* = 0)
- {
- detail::register_exception_handler(
-- bind<bool>(detail::translate_exception<ExceptionType,Translate>(), _1, _2, translate)
-+ boost::bind<bool>(detail::translate_exception<ExceptionType,Translate>(), _1, _2, translate)
- );
- }
-
diff --git a/dev-libs/boost/files/boost-1.42.0-parameter-needs-python.patch b/dev-libs/boost/files/boost-1.42.0-parameter-needs-python.patch
deleted file mode 100644
index 2002ba3a9019..000000000000
--- a/dev-libs/boost/files/boost-1.42.0-parameter-needs-python.patch
+++ /dev/null
@@ -1,106 +0,0 @@
---- boost/parameter/aux_/maybe.hpp 2008-03-22 21:45:55.000000000 +0000
-+++ boost/parameter/aux_/maybe.hpp.new 2009-10-22 03:55:24.000000000 +0000
-@@ -2,20 +2,41 @@
- // subject to the Boost Software License, Version 1.0. (See accompanying
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
--#ifndef BOOST_PARAMETER_MAYBE_060211_HPP
--# define BOOST_PARAMETER_MAYBE_060211_HPP
-+//
-+// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage
-+//
-+#ifndef BOOST_PARAMETER_MAYBE_091021_HPP
-+# define BOOST_PARAMETER_MAYBE_091021_HPP
-
- # include <boost/mpl/if.hpp>
- # include <boost/mpl/identity.hpp>
- # include <boost/type_traits/is_reference.hpp>
- # include <boost/type_traits/add_reference.hpp>
- # include <boost/optional.hpp>
--# include <boost/python/detail/referent_storage.hpp>
-+# include <boost/aligned_storage.hpp>
- # include <boost/type_traits/remove_cv.hpp>
- # include <boost/type_traits/add_const.hpp>
-
- namespace boost { namespace parameter { namespace aux {
-
-+template <class T> struct referent_size;
-+
-+template <class T>
-+struct referent_size<T&>
-+{
-+ BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T));
-+};
-+
-+// A metafunction returning a POD type which can store U, where T ==
-+// U&. If T is not a reference type, returns a POD which can store T.
-+template <class T>
-+struct referent_storage
-+{
-+ typedef typename boost::aligned_storage<
-+ referent_size<T>::value
-+ >::type type;
-+};
-+
- struct maybe_base {};
-
- template <class T>
-@@ -33,8 +54,8 @@
- BOOST_DEDUCED_TYPENAME remove_reference<reference>::type
- >::type non_cv_value;
-
-- explicit maybe(T value)
-- : value(value)
-+ explicit maybe(T value_)
-+ : value(value_)
- , constructed(false)
- {}
-
-@@ -48,28 +69,28 @@
- this->destroy();
- }
-
-- reference construct(reference value) const
-+ reference construct(reference value_) const
- {
-- return value;
-+ return value_;
- }
-
- template <class U>
-- reference construct2(U const& value) const
-+ reference construct2(U const& value_) const
- {
-- new (m_storage.bytes) non_cv_value(value);
-+ new (m_storage.address()) non_cv_value(value_);
- constructed = true;
-- return *(non_cv_value*)m_storage.bytes;
-+ return *(non_cv_value*)m_storage.address();
- }
-
- template <class U>
-- reference construct(U const& value) const
-+ reference construct(U const& value_) const
- {
-- return this->construct2(value);
-+ return this->construct2(value_);
- }
-
- void destroy()
- {
-- ((non_cv_value*)m_storage.bytes)->~non_cv_value();
-+ ((non_cv_value*)m_storage.address())->~non_cv_value();
- }
-
- typedef reference(maybe<T>::*safe_bool)() const;
-@@ -87,7 +108,9 @@
- private:
- boost::optional<T> value;
- mutable bool constructed;
-- mutable typename boost::python::detail::referent_storage<
-+
-+
-+ mutable typename referent_storage<
- reference
- >::type m_storage;
- };
diff --git a/dev-libs/boost/files/boost-1.42.0-template_arity-gcc45.patch b/dev-libs/boost/files/boost-1.42.0-template_arity-gcc45.patch
deleted file mode 100644
index 4a498794760e..000000000000
--- a/dev-libs/boost/files/boost-1.42.0-template_arity-gcc45.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-MPL is broken with GCC 4.5.
-
-https://bugs.gentoo.org/317969
-https://svn.boost.org/trac/boost/ticket/4061
-https://svn.boost.org/trac/boost/changeset/61467
-
---- a/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
-+++ b/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
-@@ -83,7 +81,7 @@ template< typename F, int N >
- struct template_arity_impl
- {
- BOOST_STATIC_CONSTANT(int, value =
-- sizeof(arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
-+ sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
- );
- };
-
---- a/boost/mpl/aux_/template_arity.hpp
-+++ b/boost/mpl/aux_/template_arity.hpp
-@@ -98,7 +98,7 @@ template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
- struct template_arity_impl
- {
- BOOST_STATIC_CONSTANT(int, value =
-- sizeof(arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
-+ sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
- );
- };
-
diff --git a/dev-libs/boost/files/boost-1.47.0-exceptions.patch b/dev-libs/boost/files/boost-1.47.0-exceptions.patch
deleted file mode 100644
index 61ab3564a3ab..000000000000
--- a/dev-libs/boost/files/boost-1.47.0-exceptions.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- boost/numeric/conversion/converter_policies.hpp 2008-10-13 11:00:03.000000000 +0200
-+++ boost/numeric/conversion/converter_policies.hpp 2011-07-22 11:46:40.961876274 +0200
-@@ -20,6 +20,7 @@
-
- #include "boost/mpl/if.hpp"
- #include "boost/mpl/integral_c.hpp"
-+#include "boost/throw_exception.hpp"
-
- namespace boost { namespace numeric
- {
-@@ -159,9 +160,9 @@ struct def_overflow_handler
- void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
- {
- if ( r == cNegOverflow )
-- throw negative_overflow() ;
-+ boost::throw_exception( negative_overflow() ) ;
- else if ( r == cPosOverflow )
-- throw positive_overflow() ;
-+ boost::throw_exception( positive_overflow() ) ;
- }
- } ;
-
diff --git a/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch b/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch
deleted file mode 100644
index 02f7a013fbb8..000000000000
--- a/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://svn.boost.org/trac/boost/ticket/6131
-https://svn.boost.org/trac/boost/changeset/75540
-
---- boost/foreach_fwd.hpp
-+++ boost/foreach_fwd.hpp
-@@ -14,6 +14,8 @@
- #ifndef BOOST_FOREACH_FWD_HPP
- #define BOOST_FOREACH_FWD_HPP
-
-+#include <utility> // for std::pair
-+
- // This must be at global scope, hence the uglified name
- enum boost_foreach_argument_dependent_lookup_hack
- {
-@@ -25,6 +27,9 @@
-
- namespace foreach
- {
-+ template<typename T>
-+ std::pair<T, T> in_range(T begin, T end);
-+
- ///////////////////////////////////////////////////////////////////////////////
- // boost::foreach::tag
- //
-@@ -46,6 +51,24 @@
-
- } // namespace foreach
-
-+// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
-+namespace BOOST_FOREACH
-+{
-+ using foreach::in_range;
-+ using foreach::tag;
-+
-+ template<typename T>
-+ struct is_lightweight_proxy
-+ : foreach::is_lightweight_proxy<T>
-+ {};
-+
-+ template<typename T>
-+ struct is_noncopyable
-+ : foreach::is_noncopyable<T>
-+ {};
-+
-+} // namespace BOOST_FOREACH
-+
- } // namespace boost
-
- #endif
---- boost/foreach.hpp
-+++ boost/foreach.hpp
-@@ -165,7 +165,7 @@
- // this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy
- // at the global namespace for your type.
- template<typename T>
--inline boost::foreach::is_lightweight_proxy<T> *
-+inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
- boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
-
- template<typename T>
-@@ -190,7 +190,7 @@
- // this one works on legacy compilers. Overload boost_foreach_is_noncopyable
- // at the global namespace for your type.
- template<typename T>
--inline boost::foreach::is_noncopyable<T> *
-+inline boost::BOOST_FOREACH::is_noncopyable<T> *
- boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
-
- namespace boost
diff --git a/dev-libs/boost/files/boost-1.48.0-gcc47.patch b/dev-libs/boost/files/boost-1.48.0-gcc47.patch
deleted file mode 100644
index a7caebcbe7dd..000000000000
--- a/dev-libs/boost/files/boost-1.48.0-gcc47.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
-index 52d5837..aaa8890 100644
---- a/boost/config/stdlib/libstdcpp3.hpp
-+++ b/boost/config/stdlib/libstdcpp3.hpp
-@@ -33,7 +33,8 @@
-
- #ifdef __GLIBCXX__ // gcc 3.4 and greater:
- # if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
-- || defined(_GLIBCXX__PTHREADS)
-+ || defined(_GLIBCXX__PTHREADS) \
-+ || defined(_GLIBCXX_HAS_GTHREADS)
- //
- // If the std lib has thread support turned on, then turn it on in Boost
- // as well. We do this because some gcc-3.4 std lib headers define _REENTANT
diff --git a/dev-libs/boost/files/buildid-fix.patch b/dev-libs/boost/files/buildid-fix.patch
deleted file mode 100644
index 2786f7c257d3..000000000000
--- a/dev-libs/boost/files/buildid-fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- Jamroot.orig 2009-02-10 17:36:25.000000000 +0100
-+++ Jamroot 2009-02-10 17:37:09.000000000 +0100
-@@ -442,15 +442,15 @@
- local noversion-file ;
- if $(nt)
- {
-- noversion-file = [ MATCH "(.*)-[0-9_]+([.]lib)" : $(name) ] ;
-+ noversion-file = [ MATCH "(.*)-[0-9_]+(.*[.]lib)" : $(name) ] ;
- }
- else
- {
- noversion-file =
-- [ MATCH "(.*)-[0-9_]+([.]so)[.0-9]*" : $(name) ]
-- [ MATCH "(.*)-[0-9_]+([.]dylib)" : $(name) ]
-- [ MATCH "(.*)-[0-9_]+([.]a)" : $(name) ]
-- [ MATCH "(.*)-[0-9_]+([.]dll[.]a)" : $(name) ] ;
-+ [ MATCH "(.*)-[0-9_]+(.*[.]so)[.0-9]*" : $(name) ]
-+ [ MATCH "(.*)-[0-9_]+(.*[.]dylib)" : $(name) ]
-+ [ MATCH "(.*)-[0-9_]+(.*[.]a)" : $(name) ]
-+ [ MATCH "(.*)-[0-9_]+(.*[.]dll[.]a)" : $(name) ] ;
- }
-
- local new-name =
diff --git a/dev-libs/boost/files/random-Jamfile b/dev-libs/boost/files/random-Jamfile
deleted file mode 100644
index 5cb6f6bcd9be..000000000000
--- a/dev-libs/boost/files/random-Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2006 Tiziano Mueller
-#
-# Use, modification and distribution of the file is subject to the
-# Boost Software License, Version 1.0.
-# (See at http://www.boost.org/LICENSE_1_0.txt)
-
-
-project boost/random
- : source-location ../ ;
-
-SOURCES = random_device ;
-
-lib boost_random
- : $(SOURCES).cpp
- : <link>shared:<define>BOOST_RANDOM_DYN_LINK=1 ;
diff --git a/dev-libs/boost/files/random-Jamfile-1.45.0 b/dev-libs/boost/files/random-Jamfile-1.45.0
deleted file mode 100644
index 81fb136be2b0..000000000000
--- a/dev-libs/boost/files/random-Jamfile-1.45.0
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2006 Tiziano Mueller
-#
-# Use, modification and distribution of the file is subject to the
-# Boost Software License, Version 1.0.
-# (See at http://www.boost.org/LICENSE_1_0.txt)
-
-
-project boost/random
- : source-location ../src ;
-
-SOURCES = random_device ;
-
-lib boost_random
- : $(SOURCES).cpp
- : <link>shared:<define>BOOST_RANDOM_DYN_LINK=1 ;
diff --git a/dev-libs/boost/files/random-Jamfile-1.47.0 b/dev-libs/boost/files/random-Jamfile-1.47.0
deleted file mode 100644
index 81fb136be2b0..000000000000
--- a/dev-libs/boost/files/random-Jamfile-1.47.0
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2006 Tiziano Mueller
-#
-# Use, modification and distribution of the file is subject to the
-# Boost Software License, Version 1.0.
-# (See at http://www.boost.org/LICENSE_1_0.txt)
-
-
-project boost/random
- : source-location ../src ;
-
-SOURCES = random_device ;
-
-lib boost_random
- : $(SOURCES).cpp
- : <link>shared:<define>BOOST_RANDOM_DYN_LINK=1 ;
diff --git a/dev-libs/boost/files/remove-toolset-1.41.0.patch b/dev-libs/boost/files/remove-toolset-1.41.0.patch
deleted file mode 100644
index b7d797c37376..000000000000
--- a/dev-libs/boost/files/remove-toolset-1.41.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Jamroot 2009-08-23 18:17:37.000000000 +0200
-+++ Jamroot.gentoo 2009-10-21 13:31:46.000000000 +0200
-@@ -352,7 +352,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/files/remove-toolset-1.42.0.patch b/dev-libs/boost/files/remove-toolset-1.42.0.patch
deleted file mode 100644
index b7d797c37376..000000000000
--- a/dev-libs/boost/files/remove-toolset-1.42.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Jamroot 2009-08-23 18:17:37.000000000 +0200
-+++ Jamroot.gentoo 2009-10-21 13:31:46.000000000 +0200
-@@ -352,7 +352,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/files/remove-toolset-1.45.0.patch b/dev-libs/boost/files/remove-toolset-1.45.0.patch
deleted file mode 100644
index c80191ce43d6..000000000000
--- a/dev-libs/boost/files/remove-toolset-1.45.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Jamroot 2010-11-17 11:51:56.000000000 +0200
-+++ Jamroot.gentoo 2011-01-06 15:07:17.893270002 +0200
-@@ -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/files/remove-toolset-1.47.0.patch b/dev-libs/boost/files/remove-toolset-1.47.0.patch
deleted file mode 100644
index d74a88296681..000000000000
--- a/dev-libs/boost/files/remove-toolset-1.47.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- boostcpp.jam 2010-11-17 11:51:56.000000000 +0200
-+++ boostcpp.jam.gentoo 2011-01-06 15:07:17.893270002 +0200
-@@ -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/files/remove_toolset_from_targetname.patch b/dev-libs/boost/files/remove_toolset_from_targetname.patch
deleted file mode 100644
index 1a0cb1c61471..000000000000
--- a/dev-libs/boost/files/remove_toolset_from_targetname.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- boost_1_36_0/Jamroot.orig 2008-11-14 16:36:10.000000000 +0100
-+++ boost_1_36_0/Jamroot 2008-11-14 16:36:54.000000000 +0100
-@@ -311,7 +311,7 @@
- if $(layout) = versioned
- {
- local 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
index 7d2701dd3d92..237060cb082a 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -2,29 +2,18 @@
<!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>
-</use>
+ <use>
+ <flag name='tools'>
+ Build and install the boost tools (bcp, quickbook, inspect,
+ wave)
+ </flag>
+ <flag name='eselect' restrict='&lt;dev-libs/boost-1.50.0-r2'>
+ Run "eselect boost update" even if version is already selected
+ </flag>
+ <flag name='debug'>
+ Build and install debug versions of the Boost libraries. These
+ libraries are not used by default, and should not be used unless
+ you're developing against Boost.
+ </flag>
+ </use>
</pkgmetadata>