Update dev-libs/boost to 1.62.
Boost version 1.62 can be built with clang.
BUG=chromium:706925
TEST=Builds on caroline,kevin,daisy.
TEST=cbuildbot --latest-toolchain --hwtest {daisy,kevin,caroline}-release works.
CQ-DEPEND=CL:457640
Change-Id: Icc740f33d8ec7a884ef8a6380f21b01386a06cee
Reviewed-on: https://chromium-review.googlesource.com/457657
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index 07a2d76..fdad401 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1 +1 @@
-DIST boost_1_55_0.tar.bz2 58146647 SHA256 fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 SHA512 dc606477f4c303e8f40de2586c16394b6d758e198b35bf3a7d3e576a2f49171aadc4f95e8d685fa731bc4e61e19869d5a24e1e816febfca9de078d66e096e041 WHIRLPOOL 6ae111d6a956651bd91914432b743faffeb466703191b05193db47f02fd3528a14ce200f26c1ab77bf2c68994eb5b135b0176f66a746964d334b4793ba113ad5
+DIST boost_1_62_0.tar.bz2 84529021 SHA256 3b9df59619e07cf53e041c27efff7d9aeab7628e5d6867f4754eefb2b7b99dbb SHA512 8b7ec068cfd13e513c339f59440ff966d4e669beb82b6793937b5285f96bd515624444e718f5e70206a7cbec5e58ec9a3067700fd825c7ed95eedf9989fbede3 WHIRLPOOL 6b93771c66c9259af5fc2e3e2f2b3996cb6756edf70ec8a72d7ddf3b97291522b8fae3e201c984e54a245ab505a17e541a42de6bfefe5d8b4bf972a6038f8a9d
diff --git a/dev-libs/boost/boost-1.55.0-r2.ebuild b/dev-libs/boost/boost-1.62.0-r1.ebuild
similarity index 61%
rename from dev-libs/boost/boost-1.55.0-r2.ebuild
rename to dev-libs/boost/boost-1.62.0-r1.ebuild
index 4bdfbf2..7cc131f 100644
--- a/dev-libs/boost/boost-1.55.0-r2.ebuild
+++ b/dev-libs/boost/boost-1.62.0-r1.ebuild
@@ -1,18 +1,17 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/boost-1.55.0-r2.ebuild,v 1.15 2015/04/16 12:55:41 zlogene Exp $
-EAPI="5"
-PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-inherit eutils flag-o-matic multilib multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
+inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
MY_P="${PN}_$(replace_all_version_separators _)"
MAJOR_V="$(get_version_component_range 1-2)"
DESCRIPTION="Boost Libraries for C++"
HOMEPAGE="http://www.boost.org/"
-SRC_URI="mirror://sourceforge/boost/${MY_P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
@@ -20,10 +19,9 @@
IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-cpplibs[-abi_x86_32(-)] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
+ mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
python? ( ${PYTHON_DEPS} )
app-arch/bzip2[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
@@ -43,6 +41,17 @@
# there is no point in having them in the ebuild to begin with.
RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch"
+ "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch"
+ "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch"
+ "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch"
+ "${FILESDIR}/${PN}-1.48.0-python_linking.patch"
+ "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
+ "${FILESDIR}/${PN}-1.55.0-context-x32.patch"
+ "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
+)
+
python_bindings_needed() {
multilib_is_native_abi && use python
}
@@ -51,11 +60,6 @@
multilib_is_native_abi && use tools
}
-# MPI stuff is not ported on multilib yet, disabling it for non-native ABIs
-mpi_needed() {
- multilib_is_native_abi && use mpi
-}
-
create_user-config.jam() {
local compiler compiler_version compiler_executable
@@ -70,15 +74,28 @@
fi
local mpi_configuration python_configuration
- if mpi_needed; then
+ if use mpi; then
mpi_configuration="using mpi ;"
fi
if python_bindings_needed; then
- python_configuration="using python : : ${PYTHON} ;"
+ # boost expects libpython$(pyver) and doesn't allow overrides
+ # and the build system is so creepy that it's easier just to
+ # provide a symlink (linker's going to use SONAME anyway)
+ # TODO: replace it with proper override one day
+ ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
+
+ if tc-is-cross-compiler; then
+ python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
+ else
+ # note: we need to provide version explicitly because of
+ # a bug in the build system:
+ # https://github.com/boostorg/build/pull/104
+ python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
+ fi
fi
- cat > "${BOOST_ROOT}/user-config.jam" << __EOF__
+ cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
${mpi_configuration}
${python_configuration}
@@ -87,45 +104,46 @@
pkg_setup() {
# Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}etc/site-config.jam" ]]; then
- grep -q gentoorelease "${EROOT}etc/site-config.jam" && grep -q gentoodebug "${EROOT}etc/site-config.jam" ||
+ if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then
+ grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" ||
(
- eerror "You are using custom ${EROOT}etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "You are using custom ${EROOT%/}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}usr/share/boost-build/site-config.jam to it."
+ eerror "Please, either remove this file or add targets from ${EROOT%/}/usr/share/boost-build/site-config.jam to it."
die
)
fi
}
src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-1.51.0-respect_python-buildid.patch" \
- "${FILESDIR}/${PN}-1.51.0-support_dots_in_python-buildid.patch" \
- "${FILESDIR}/${PN}-1.48.0-no_strict_aliasing_python2.patch" \
- "${FILESDIR}/${PN}-1.48.0-disable_libboost_python3.patch" \
- "${FILESDIR}/${PN}-1.48.0-python_linking.patch" \
- "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch" \
- "${FILESDIR}/${PN}-1.55.0-context-x32.patch" \
- "${FILESDIR}/${PN}-1.55.0-tools-c98-compat.patch" \
- "${FILESDIR}/${PN}-1.52.0-threads.patch"
+ epatch "${PATCHES[@]}"
- epatch_user
+ # Do not try to build missing 'wave' tool, bug #522682
+ # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
+ sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
multilib_copy_sources
}
ejam() {
- local b2_opts="--user-config=${BOOST_ROOT}/user-config.jam $@"
- echo b2 ${b2_opts}
- b2 ${b2_opts}
+ local b2_opts=(
+ "--user-config=${BOOST_ROOT}/user-config.jam"
+ "$@"
+ )
+ echo b2 "${b2_opts[@]}"
+ b2 "${b2_opts[@]}"
}
src_configure() {
# Workaround for too many parallel processes requested, bug #506064
- [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
- OPTIONS="$(usex debug gentoodebug gentoorelease) -j$(makeopts_jobs) -q -d+2"
+ OPTIONS=(
+ $(usex debug gentoodebug gentoorelease)
+ "-j$(makeopts_jobs)"
+ -q
+ -d+2
+ )
if [[ ${CHOST} == *-darwin* ]]; then
# We need to add the prefix, and in two cases this exceeds, so prepare
@@ -147,21 +165,46 @@
[[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
fi
- # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
- append-cxxflags -std=gnu++98
+ # Use C++14 globally as of 1.62
+ append-cxxflags -std=c++14
- use icu && OPTIONS+=" -sICU_PATH=${EPREFIX}/usr"
- use icu || OPTIONS+=" --disable-icu boost.locale.icu=off"
- mpi_needed || OPTIONS+=" --without-mpi"
- use nls || OPTIONS+=" --without-locale"
- use context || OPTIONS+=" --without-context --without-coroutine"
+ use icu && OPTIONS+=(
+ "-sICU_PATH=${EPREFIX}/usr"
+ )
+ use icu || OPTIONS+=(
+ --disable-icu
+ boost.locale.icu=off
+ )
+ use mpi || OPTIONS+=(
+ --without-mpi
+ )
+ use nls || OPTIONS+=(
+ --without-locale
+ )
+ use context || OPTIONS+=(
+ --without-context
+ --without-coroutine
+ --without-coroutine2
+ --without-fiber
+ )
+ use threads || OPTIONS+=(
+ --without-thread
+ )
- OPTIONS+=" pch=off"
- OPTIONS+=" --boost-build=${EPREFIX}/usr/share/boost-build --prefix=\"${ED}usr\""
- OPTIONS+=" --layout=system"
- OPTIONS+=" threading=$(usex threads multi single) link=$(usex static-libs shared,static shared)"
+ OPTIONS+=(
+ pch=off
+ --boost-build="${EPREFIX}"/usr/share/boost-build
+ --prefix="${ED%/}/usr"
+ --layout=system
+ # building with threading=single is currently not possible
+ # https://svn.boost.org/trac/boost/ticket/7105
+ threading=multi
+ link=$(usex static-libs shared,static shared)
+ )
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
+ [[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
+ -sNO_BZIP2=1
+ )
}
multilib_src_compile() {
@@ -180,7 +223,7 @@
fi
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost libraries failed"
@@ -199,7 +242,7 @@
|| die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
done
- if mpi_needed; then
+ if use mpi; then
if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
@@ -223,44 +266,44 @@
fi
if tools_needed; then
- pushd tools > /dev/null || die
+ pushd tools >/dev/null || die
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
|| die "Building of Boost tools failed"
- popd > /dev/null || die
+ popd >/dev/null || die
fi
}
multilib_src_install_all() {
if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
+ rm -r "${ED%/}"/usr/include/boost/python* || die
fi
if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
+ rm -r "${ED%/}"/usr/include/boost/locale || die
fi
if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine || die
+ rm -r "${ED%/}"/usr/include/boost/context || die
+ rm -r "${ED%/}"/usr/include/boost/coroutine{,2} || die
+ rm "${ED%/}"/usr/include/boost/asio/spawn.hpp || die
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
- dohtml -A pdf,txt -r tools
- insinto /usr/share/doc/${PF}/html
- doins -r libs
- doins -r more
+ # find extraneous files that shouldn't be installed
+ # as part of the documentation and remove them.
+ find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+ find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+ find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+ docinto html
+ dodoc *.{htm,html,png,css}
+ dodoc -r doc libs more tools
# To avoid broken links
- insinto /usr/share/doc/${PF}/html
- doins LICENSE_1_0.txt
+ dodoc LICENSE_1_0.txt
dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
fi
@@ -279,7 +322,7 @@
|| die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
done
- if mpi_needed; then
+ if use mpi; then
cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
|| die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
@@ -291,10 +334,10 @@
fi
ejam \
- ${OPTIONS} \
+ "${OPTIONS[@]}" \
${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
+ --includedir="${ED%/}/usr/include" \
+ --libdir="${ED%/}/usr/$(get_libdir)" \
install || die "Installation of Boost libraries failed"
if python_bindings_needed; then
@@ -302,11 +345,11 @@
# Move mpi.so Python module to Python site-packages directory.
# https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; then
+ if use mpi; then
local moddir=$(python_get_sitedir)/boost
# moddir already includes eprefix
mkdir -p "${D}${moddir}" || die
- mv "${ED}usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
+ mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
cat << EOF > "${D}${moddir}/__init__.py" || die
import sys
if sys.platform.startswith('linux'):
@@ -331,7 +374,7 @@
installation
fi
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
+ pushd "${ED%/}/usr/$(get_libdir)" >/dev/null || die
local ext=$(get_libname)
if use threads; then
@@ -341,7 +384,7 @@
done
fi
- popd > /dev/null || die
+ popd >/dev/null || die
if tools_needed; then
dobin dist/bin/*
@@ -358,7 +401,7 @@
if [[ ${CHOST} == *-darwin* ]]; then
einfo "Working around completely broken build-system(tm)"
local d
- for d in "${ED}"usr/lib/*.dylib; do
+ for d in "${ED%/}"/usr/lib/*.dylib; do
if [[ -f ${d} ]]; then
# fix the "soname"
ebegin " correcting install_name of ${d#${ED}}"
@@ -388,7 +431,14 @@
# resorting to dirty hacks like these. Removes lingering symlinks
# from the slotted versions.
local symlink
- for symlink in "${EROOT}usr/include/boost" "${EROOT}usr/share/boostbook"; do
- [[ -L ${symlink} ]] && rm -f "${symlink}"
+ for symlink in "${EROOT%/}/usr/include/boost" "${EROOT%/}/usr/share/boostbook"; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
done
+
+ # some ancient installs still have boost cruft lying around
+ # for unknown reasons, causing havoc for reverse dependencies
+ # Bug: 607734
+ rm -rf "${EROOT%/}"/usr/include/boost-1_[3-5]? || die
}
diff --git a/dev-libs/boost/files/boost-1.52.0-threads.patch b/dev-libs/boost/files/boost-1.52.0-threads.patch
deleted file mode 100644
index e078fc2..0000000
--- a/dev-libs/boost/files/boost-1.52.0-threads.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Index: /trunk/boostcpp.jam
-===================================================================
---- /trunk/boostcpp.jam (revision 79301)
-+++ /trunk/boostcpp.jam (revision 81000)
-@@ -210,6 +210,44 @@
- }
-
-+rule filtered-target ( name : message + : sources + : requirements * )
-+{
-+ message $(name)-message : warning: $(message) ;
-+ alias $(name) : $(sources) : $(requirements) ;
-+ alias $(name) : $(name)-message ;
-+
-+ local p = [ project.current ] ;
-+ $(p).mark-target-as-explicit $(name) ;
-+ $(p).mark-target-as-explicit $(name)-message ;
-+}
-+
- rule declare_install_and_stage_proper_targets ( libraries * : headers * )
- {
-+ for local l in $(libraries)
-+ {
-+ if $(l) = locale
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Locale library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else if $(l) = wave
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Wave library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else if $(l) = thread
-+ {
-+ filtered-target $(l)-for-install :
-+ Skipping Boost.Thread library with threading=single. :
-+ libs/$(l)/build : <threading>multi ;
-+ }
-+ else
-+ {
-+ alias $(l)-for-install : libs/$(l)/build ;
-+ }
-+ }
-+ local library-targets = $(libraries)-for-install ;
-+
- install-requirements = <install-source-root>$(BOOST_ROOT)/boost ;
-
-@@ -239,5 +277,5 @@
- : $(install-requirements) <install-no-version-symlinks>on
- :
-- : libs/$(libraries)/build
-+ : $(libraries)-for-install
- : $(headers)
- ;
-@@ -246,5 +284,5 @@
- # Install just library.
- install stage-proper
-- : libs/$(libraries)/build
-+ : $(libraries)-for-install
- : <location>$(stage-locate)/lib
- <install-dependencies>on <install-type>LIB
diff --git a/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch b/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch
deleted file mode 100644
index df2a14a..0000000
--- a/dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Make tools compiled successfully with forced C++98
-
-Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=503468
-
-diff --git a/tools/regression/src/compiler_status.cpp b/tools/regression/src/compiler_status.cpp
-index 63f8134..3f3374a 100644
---- a/tools/regression/src/compiler_status.cpp
-+++ b/tools/regression/src/compiler_status.cpp
-@@ -128,7 +128,7 @@ namespace
- string ln(line);
- if (ln.find("Revision: ") != string::npos)
- {
-- for(auto itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
-+ for(string::iterator itr = ln.begin()+10; itr != ln.end() && isdigit(*itr); ++itr)
- rev += *itr;
- }
- }
diff --git a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
new file mode 100644
index 0000000..48ca513
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
@@ -0,0 +1,13 @@
+Build auto_index tool with USE="tools"
+Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066
+
+--- a/tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300
++++ b/tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300
+@@ -20,6 +20,7 @@
+ use-project /boost/regression : regression/build ;
+
+ TOOLS =
++ auto_index/build//auto_index
+ bcp//bcp
+ inspect/build//inspect
+ quickbook//quickbook
diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
index 07a2d76..fdad401 100644
--- a/dev-util/boost-build/Manifest
+++ b/dev-util/boost-build/Manifest
@@ -1 +1 @@
-DIST boost_1_55_0.tar.bz2 58146647 SHA256 fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 SHA512 dc606477f4c303e8f40de2586c16394b6d758e198b35bf3a7d3e576a2f49171aadc4f95e8d685fa731bc4e61e19869d5a24e1e816febfca9de078d66e096e041 WHIRLPOOL 6ae111d6a956651bd91914432b743faffeb466703191b05193db47f02fd3528a14ce200f26c1ab77bf2c68994eb5b135b0176f66a746964d334b4793ba113ad5
+DIST boost_1_62_0.tar.bz2 84529021 SHA256 3b9df59619e07cf53e041c27efff7d9aeab7628e5d6867f4754eefb2b7b99dbb SHA512 8b7ec068cfd13e513c339f59440ff966d4e669beb82b6793937b5285f96bd515624444e718f5e70206a7cbec5e58ec9a3067700fd825c7ed95eedf9989fbede3 WHIRLPOOL 6b93771c66c9259af5fc2e3e2f2b3996cb6756edf70ec8a72d7ddf3b97291522b8fae3e201c984e54a245ab505a17e541a42de6bfefe5d8b4bf972a6038f8a9d
diff --git a/dev-util/boost-build/boost-build-1.55.0.ebuild b/dev-util/boost-build/boost-build-1.55.0.ebuild
deleted file mode 100644
index 47c1da8..0000000
--- a/dev-util/boost-build/boost-build-1.55.0.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/boost-build/boost-build-1.55.0.ebuild,v 1.14 2015/04/16 12:54:26 zlogene Exp $
-
-EAPI="5"
-PYTHON_DEPEND="python? 2"
-
-RESTRICT="test"
-
-inherit eutils flag-o-matic multilib python toolchain-funcs versionator
-
-MY_PV=$(replace_all_version_separators _)
-
-DESCRIPTION="A system for large project software construction, which is simple to use and powerful"
-HOMEPAGE="http://www.boost.org/doc/tools/build/index.html"
-SRC_URI="mirror://sourceforge/boost/boost_${MY_PV}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT=0
-KEYWORDS="*"
-IUSE="examples python test"
-
-REQUIRED_USE="test? ( python )"
-
-RDEPEND="!<dev-libs/boost-1.34.0
- !<=dev-util/boost-build-1.35.0-r1"
-DEPEND="${RDEPEND}
- test? ( sys-apps/diffutils )"
-
-S="${WORKDIR}/boost_${MY_PV}/tools/build/v2"
-
-pkg_setup() {
- if use python; then
- python_set_active_version 2
- python_pkg_setup
- fi
-}
-
-src_unpack() {
- tar xjpf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build/v2 || die "unpacking tar failed"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PN}-1.48.0-disable_python_rpath.patch" \
- "${FILESDIR}/${PN}-1.50.0-respect-c_ld-flags.patch" \
- "${FILESDIR}/${PN}-1.49.0-darwin-gentoo-toolchain.patch" \
- "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch" \
- "${FILESDIR}/${PN}-1.54.0-fix-test.patch" \
- "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch" \
- "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
-
- # Remove stripping option
- # Fix python components build on multilib systems, bug #496446
- cd "${S}/engine"
- sed -i \
- -e 's|-s\b||' \
- -e "/libpython/s/lib ]/$(get_libdir) ]/" \
- build.jam || die "sed failed"
-
- # Force regeneration
- rm jambase.c || die
-
- # This patch allows us to fully control optimization
- # and stripping flags when bjam is used as build-system
- # We simply extend the optimization and debug-symbols feature
- # with empty dummies called 'none'
- cd "${S}"
- sed -i \
- -e 's/\(off speed space\)/\1 none/' \
- -e 's/\(debug-symbols : on off\)/\1 none/' \
- tools/builtin.jam || die "sed failed"
-}
-
-src_configure() {
- if use python; then
- # replace versions by user-selected one (TODO: fix this when slot-op
- # deps are available to always match the best version available)
- sed -i \
- -e "s|2.7 2.6 2.5 2.4 2.3 2.2|${PYTHON_ABI}|" \
- engine/build.jam || die "sed failed"
- fi
-}
-
-src_compile() {
- cd engine
-
- local toolset
-
- if [[ ${CHOST} == *-darwin* ]]; then
- toolset=darwin
- else
- # Using boost's generic toolset here, which respects CC and CFLAGS
- toolset=cc
- fi
-
- CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT}"/usr) || die "building bjam failed"
-}
-
-src_install() {
- dobin engine/bin.*/{bjam,b2}
-
- insinto /usr/share/boost-build
- doins -r "${FILESDIR}/site-config.jam" \
- boost-build.jam bootstrap.jam build-system.jam user-config.jam *.py \
- build kernel options tools util
-
- rm "${ED}/usr/share/boost-build/build/project.ann.py" || die "removing faulty python file failed"
- if ! use python; then
- find "${ED}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed"
- fi
-
- dodoc changes.txt hacking.txt release_procedure.txt \
- notes/build_dir_option.txt notes/relative_source_paths.txt
-
- if use examples; then
- insinto /usr/share/doc/${PF}
- doins -r example
- fi
-}
-
-src_test() {
- cd test
-
- export TMP="${T}"
-
- DO_DIFF="${PREFIX}/usr/bin/diff" $(PYTHON -2) test_all.py
-
- if [[ -s test_results.txt ]]; then
- eerror "At least one test failed: $(<test_results.txt)"
- die "tests failed"
- fi
-}
-
-pkg_postinst() {
- use python && python_mod_optimize /usr/share/boost-build
-}
-
-pkg_postrm() {
- use python && python_mod_cleanup /usr/share/boost-build
-}
diff --git a/dev-util/boost-build/boost-build-1.62.0-r1.ebuild b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
new file mode 100644
index 0000000..619d0ce
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.62.0-r1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+RESTRICT="test"
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils flag-o-matic python-single-r1 toolchain-funcs versionator
+
+MY_PV="$(replace_all_version_separators _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="http://www.boost.org/doc/tools/build/index.html"
+SRC_URI="https://downloads.sourceforge.net/project/boost/boost/${PV}/boost_${MY_PV}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="examples python test"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ !<dev-libs/boost-1.34.0
+ !<=dev-util/boost-build-1.35.0-r1"
+DEPEND="${RDEPEND}
+ test? ( sys-apps/diffutils
+ ${PYTHON_DEPS} )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.48.0-disable_python_rpath.patch"
+ "${FILESDIR}/${PN}-1.50.0-respect-c_ld-flags.patch"
+ "${FILESDIR}/${PN}-1.49.0-darwin-gentoo-toolchain.patch"
+ "${FILESDIR}/${PN}-1.52.0-darwin-no-python-framework.patch"
+ "${FILESDIR}/${PN}-1.54.0-support_dots_in_python-buildid.patch"
+ "${FILESDIR}/${PN}-1.55.0-ppc-aix.patch"
+)
+
+pkg_setup() {
+ if use python || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_unpack() {
+ tar xjf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+
+ pushd ../ >/dev/null || die
+ eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch"
+ popd >/dev/null || die
+
+ # Remove stripping option
+ # Fix python components build on multilib systems, bug #496446
+ cd "${S}/engine" || die
+ sed -i \
+ -e 's|-s\b||' \
+ -e "/libpython/s/lib ]/$(get_libdir) ]/" \
+ build.jam || die "sed failed"
+
+ # Force regeneration
+ rm jambase.c || die
+
+ # This patch allows us to fully control optimization
+ # and stripping flags when bjam is used as build-system
+ # We simply extend the optimization and debug-symbols feature
+ # with empty dummies called 'none'
+ cd "${S}" || die
+ sed -i \
+ -e 's/\(off speed space\)/\1 none/' \
+ -e 's/\(debug-symbols : on off\)/\1 none/' \
+ tools/builtin.jam || die "sed failed"
+}
+
+src_configure() {
+ if use python; then
+ # replace versions by user-selected one (TODO: fix this when slot-op
+ # deps are available to always match the best version available)
+ sed -i \
+ -e "s|27 26 25 24 23 22|${EPYTHON#python}|" \
+ engine/build.jam || die "sed failed"
+ fi
+}
+
+src_compile() {
+ cd engine || die
+
+ local toolset
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ toolset=darwin
+ else
+ # Using boost's generic toolset here, which respects CC and CFLAGS
+ toolset=cc
+ fi
+
+ CC=$(tc-getCC) ./build.sh ${toolset} -d+2 $(use_with python python "${EROOT%/}"/usr) || die "building bjam failed"
+}
+
+src_install() {
+ dobin engine/bin.*/{bjam,b2}
+
+ insinto /usr/share/boost-build
+ doins -r "${FILESDIR}/site-config.jam" \
+ ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \
+ build kernel options tools util
+
+ rm "${ED%/}/usr/share/boost-build/build/project.ann.py" || die "removing faulty python file failed"
+ if ! use python; then
+ find "${ED%/}/usr/share/boost-build" -iname "*.py" -delete || die "removing experimental python files failed"
+ fi
+
+ dodoc ../notes/{changes,hacking,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ dodoc -r ../example
+ docompress -x "/usr/share/doc/${PF}/example"
+ fi
+}
+
+src_test() {
+ cd ../test || die
+
+ export TMP="${T}"
+
+ DO_DIFF="${PREFIX}/usr/bin/diff" ${PYTHON} test_all.py
+
+ if [[ -s test_results.txt ]]; then
+ eerror "At least one test failed: $(<test_results.txt)"
+ die "tests failed"
+ fi
+}