summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-04-04 19:33:14 +0200
committerDavid Seifert <soap@gentoo.org>2017-04-04 19:54:18 +0200
commit400e20295bf062a0bf697acce718e78116b143e2 (patch)
treeae5d3c91268393ea1a4204a2a9ca473871b0860e
parentxfce-extra/xfce4-sensors-plugin: Add missed einstalldocs (diff)
downloadgentoo-400e2029.tar.gz
gentoo-400e2029.tar.bz2
gentoo-400e2029.zip
dev-libs/boost: Remove old
Package-Manager: Portage-2.3.5, Repoman-2.3.2 Closes: https://github.com/gentoo/gentoo/pull/4352
-rw-r--r--dev-libs/boost/Manifest5
-rw-r--r--dev-libs/boost/boost-1.56.0-r1.ebuild413
-rw-r--r--dev-libs/boost/boost-1.58.0-r1.ebuild411
-rw-r--r--dev-libs/boost/boost-1.59.0.ebuild405
-rw-r--r--dev-libs/boost/boost-1.60.0.ebuild408
-rw-r--r--dev-libs/boost/boost-1.61.0-r1.ebuild428
-rw-r--r--dev-libs/boost/boost-1.61.0.ebuild433
-rw-r--r--dev-libs/boost/files/boost-1.52.0-threads.patch63
-rw-r--r--dev-libs/boost/files/boost-1.55.0-tools-c98-compat.patch17
-rw-r--r--dev-libs/boost/files/boost-1.55.0-variadic-templates.patch37
-rw-r--r--dev-libs/boost/files/boost-1.56.0-atomic.patch402
-rw-r--r--dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch233
-rw-r--r--dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch42
-rw-r--r--dev-libs/boost/files/boost-1.60.0-deprecated-header-ice_not.patch42
14 files changed, 0 insertions, 3339 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index c464b7788c78..2bed45d4d282 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,7 +1,2 @@
-DIST boost_1_56_0.tar.bz2 94777674 SHA256 134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d SHA512 1ce9871c3a2519682538a5f1331938b948123432d99aea0ce026958cbebd25d84019a3a28c452724b9693df98a8d1264bb2d93d2fee508453f8b42836e67481e WHIRLPOOL e9e9bb965816b687141d55bc026e378a56ed577a2bf0bdad61a1736e7f11d1797e0cac0185a1fa25b6c4b9fe1f75cbb0bb73a5ea05e84d59385bb3b17a90fd12
-DIST boost_1_58_0.tar.bz2 70394057 SHA256 fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5 SHA512 7480ec713b0aa13f0ec990603e87e3b5c8d53f4411329b10fae37fc963b90aad12dbd9290a33c3669ae801e9012a68683eadff057591e9ca2ebcd22b1a67b5d1 WHIRLPOOL 0ed66f7de8b2ac28eda89e2fcadfc5533e6a3887ef7a929610804efa3ca66b850fecafeb61c986d37cb704ec844744e47d08f87e08ea25c779f57cffd26a1be2
-DIST boost_1_59_0.tar.bz2 70389425 SHA256 727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca SHA512 8139e1ae997a86974071c5714ad3307e3d8fd15ef702b81a953410dd4d424b932135f53a0ef4891d9b9b747a38e539e66d6a803388fe0cc98e5166be872d682a WHIRLPOOL ab26f6b770c32320e71806d7f7856b3841917dcc59e0c5ee588fc77d77f11855dda66bfb808dbe0f3f89859b958211439c271401a5b1ad2ea98aa5d377934510
-DIST boost_1_60_0.tar.bz2 76553944 SHA256 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b SHA512 7c851b3fc2b322ff05d642d9cf03e7c30c5f04d5cf0579c99046b1ec708901c58a3d349031dfe24591f5b88c1e664b6a0d40abea6cce89abb52080c02eb725df WHIRLPOOL 828b0797a8b62150ecef5ee13f0e8b8d6b6a0e7365511ec9782d2d8f3a26ac38a98f10876c40d05ea46697c013b1f96f22b3a24c449372520c84bb725059fe48
-DIST boost_1_61_0.tar.bz2 85202254 SHA256 a547bd06c2fd9a71ba1d169d9cf0339da7ebf4753849a8f7d6fdb8feee99b640 SHA512 a1c7338e2d2dbac8552ede7c554640d22cbb2fda7fbc325dc3cdcb51e769713626695426ffc158cbe0e1729dd9a7b5ad18af4800d74e24539e8d8564268c2b9d WHIRLPOOL 59b47e7ae9ae8443ecaab29b1104cfe3ebfa607d22afcc3fad4a87bdfd575939eba8130a80fd509da178eb3227a26cb74db51852716dc5df068d36fc4839372b
DIST boost_1_62_0.tar.bz2 84513338 SHA256 36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 SHA512 5385ae3d5255a433a704169ad454d8dc2b0b5bcae3fb23defd6570df4ff7d845cf9fcbeebccdc1c5db0eec9f82ee3d90040de9507c8167467c635d3b215463be WHIRLPOOL 49c4558d5e6d72084f083a76217e3d97b504f112d7e4d228eded72dc49fa7e675ba943a9fc52a3c27d296ee689aee27d4566796c6eae71cf647430285777c0fb
DIST boost_1_63_0.tar.bz2 81984414 SHA256 beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 SHA512 c915c5f5778dee49b8e9d0a40f37f90f56fb1fdb1d8ce92d97bf48bc7bc462212487badfe4bbe30b06196d1149cfb221da12ac54e97499b0d4cb6466813bb4ad WHIRLPOOL 28c241785097272a1e0952e529eef082444e4ef35a8d738161e4a491a986d75359d3afe888b2ea91a4a81b6ec7a5772ebea337c9d09377b43f6eed66cac90378
diff --git a/dev-libs/boost/boost-1.56.0-r1.ebuild b/dev-libs/boost/boost-1.56.0-r1.ebuild
deleted file mode 100644
index 5f07390a0d97..000000000000
--- a/dev-libs/boost/boost-1.56.0-r1.ebuild
+++ /dev/null
@@ -1,413 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_COMPAT=( python{2_7,3_4} )
-
-inherit eutils flag-o-matic multilib 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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-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}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-RESTRICT="test"
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- 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
-
- 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 mpi_needed; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- 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" \
- "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
- "${FILESDIR}/${PN}-1.55.0-variadic-templates.patch" \
- "${FILESDIR}/${PN}-1.56.0-atomic.patch"
-
- # 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
-
- epatch_user
-
- multilib_copy_sources
-}
-
-ejam() {
- 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"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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"
-
- 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)"
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if mpi_needed; 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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
- 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
-
- # 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
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if mpi_needed; 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
diff --git a/dev-libs/boost/boost-1.58.0-r1.ebuild b/dev-libs/boost/boost-1.58.0-r1.ebuild
deleted file mode 100644
index 3dadf7a0687e..000000000000
--- a/dev-libs/boost/boost-1.58.0-r1.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
-
-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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-RESTRICT="test"
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- 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
-
- 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 mpi_needed; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- 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.52.0-threads.patch" \
- "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch" \
- "${FILESDIR}/${PN}-1.58.0-fix-non-constexpr-types-regression.patch"
-
- # 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
-
- epatch_user
-
- multilib_copy_sources
-}
-
-ejam() {
- 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"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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"
-
- 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)"
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if mpi_needed; 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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 "${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
-
- # 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
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if mpi_needed; 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
diff --git a/dev-libs/boost/boost-1.59.0.ebuild b/dev-libs/boost/boost-1.59.0.ebuild
deleted file mode 100644
index dda95561d2b7..000000000000
--- a/dev-libs/boost/boost-1.59.0.ebuild
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-
-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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-RESTRICT="test"
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- 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
-
- 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 mpi_needed; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- 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.56.0-build-auto_index-tool.patch"
-
- # 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
-
- eapply_user
-
- multilib_copy_sources
-}
-
-ejam() {
- 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"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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"
-
- 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)"
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if mpi_needed; 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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{,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
- find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
- find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if mpi_needed; 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
diff --git a/dev-libs/boost/boost-1.60.0.ebuild b/dev-libs/boost/boost-1.60.0.ebuild
deleted file mode 100644
index 426b974048f6..000000000000
--- a/dev-libs/boost/boost-1.60.0.ebuild
+++ /dev/null
@@ -1,408 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-
-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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-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"
- "${FILESDIR}/${PN}-1.60.0-deprecated-header-ice_not.patch"
- "${FILESDIR}/${PN}-1.60.0-auto-pointer-python.patch"
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- 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
-
- 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 mpi_needed; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- die
- )
- fi
-}
-
-src_prepare() {
- default
-
- # 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}
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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 --without-coroutine2"
-
- 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)"
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=" -sNO_BZIP2=1"
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if mpi_needed; 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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{,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
- find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
- find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if mpi_needed; 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- ${OPTIONS} \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
diff --git a/dev-libs/boost/boost-1.61.0-r1.ebuild b/dev-libs/boost/boost-1.61.0-r1.ebuild
deleted file mode 100644
index 48f16ecdbc99..000000000000
--- a/dev-libs/boost/boost-1.61.0-r1.ebuild
+++ /dev/null
@@ -1,428 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-
-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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-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
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-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 python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- die
- )
- fi
-}
-
-src_prepare() {
- default
-
- # 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[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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
- )
-
- OPTIONS+=(
- pch=off
- --boost-build="${EPREFIX}"/usr/share/boost-build
- --prefix="${ED}usr"
- --layout=system
- threading=$(usex threads multi single)
- link=$(usex static-libs shared,static shared)
- )
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
- -sNO_BZIP2=1
- )
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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{,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
- find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
- find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
diff --git a/dev-libs/boost/boost-1.61.0.ebuild b/dev-libs/boost/boost-1.61.0.ebuild
deleted file mode 100644
index 2a56268a16e9..000000000000
--- a/dev-libs/boost/boost-1.61.0.ebuild
+++ /dev/null
@@ -1,433 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-
-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"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( virtual/mpi[cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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.
-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
-}
-
-tools_needed() {
- 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
-
- 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 mpi_needed; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # 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__
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-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" ||
- (
- 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."
- die
- )
- fi
-}
-
-src_prepare() {
- default
-
- # 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[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [ "$(makeopts_jobs)" -gt 64 ] && MAKEOPTS="${MAKEOPTS} -j64"
-
- 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
- # for the largest possible space allocation.
- append-ldflags -Wl,-headerpad_max_install_names
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(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 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
- --without-coroutine2
- )
-
- OPTIONS+=(
- pch=off
- --boost-build="${EPREFIX}"/usr/share/boost-build
- --prefix="${ED}usr"
- --layout=system
- threading=$(usex threads multi single)
- link=$(usex static-libs shared,static shared)
- )
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
- -sNO_BZIP2=1
- )
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; 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}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if mpi_needed; 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
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools > /dev/null || die
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd > /dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED}"/usr/include/boost/python* || die
- fi
-
- if ! use nls; then
- 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{,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
- find doc -name Jamfile.v2 -or -name build -or -name *.manifest | xargs rm -f
- find tools -name Jamfile.v2 -or -name src -or -name *.cpp -or -name *.hpp | xargs rm -rf
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym /usr/include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if mpi_needed; 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 \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- --includedir="${ED}usr/include" \
- --libdir="${ED}usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if mpi_needed; 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
- cat << EOF > "${D}${moddir}/__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
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED}usr/$(get_libdir)" > /dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd > /dev/null || die
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # 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
-}
-
-pkg_preinst() {
- # Yai for having symlinks that are nigh-impossible to remove without
- # 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}"
- done
-}
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 e078fc2e106f..000000000000
--- 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 df2a14a34ae4..000000000000
--- 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.55.0-variadic-templates.patch b/dev-libs/boost/files/boost-1.55.0-variadic-templates.patch
deleted file mode 100644
index 547dbbd5caab..000000000000
--- a/dev-libs/boost/files/boost-1.55.0-variadic-templates.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
-From: jzmaddock <jzmaddock@gmail.com>
-Date: Sat, 23 Aug 2014 09:38:02 +0100
-Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
- feature was introduced in GCC 4.4.
-
----
- boost/config/compiler/gcc.hpp | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
-index f37159d..97d8a18 100644
---- a/boost/config/compiler/gcc.hpp
-+++ b/boost/config/compiler/gcc.hpp
-@@ -154,14 +154,6 @@
- # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
- # define BOOST_NO_CXX11_RVALUE_REFERENCES
- # define BOOST_NO_CXX11_STATIC_ASSERT
--
--// Variadic templates compiler:
--// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
--# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
--# define BOOST_HAS_VARIADIC_TMPL
--# else
--# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
--# endif
- #endif
-
- // C++0x features in 4.4.n and later
-@@ -176,6 +168,7 @@
- # define BOOST_NO_CXX11_DELETED_FUNCTIONS
- # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
- # define BOOST_NO_CXX11_INLINE_NAMESPACES
-+# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
- #endif
-
- #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
diff --git a/dev-libs/boost/files/boost-1.56.0-atomic.patch b/dev-libs/boost/files/boost-1.56.0-atomic.patch
deleted file mode 100644
index 6d724188c8b3..000000000000
--- a/dev-libs/boost/files/boost-1.56.0-atomic.patch
+++ /dev/null
@@ -1,402 +0,0 @@
-Fixed in 1.57
-
-commit 415db7054723291042e4ff1ffa8fdd5bc8b07163
-Author: Andrey Semashev <andrey.semashev@gmail.com>
-Date: Sat Sep 27 20:40:09 2014 +0400
-
- Added support for extending operations to GCC atomic backend.
-
- Fix for #10446. Some platforms (e.g. Raspberry Pi) only support atomic ops of some particular size but not less. Use extending arithmetic operations for these platforms. Also, make sure bools are always treated as 8-bit values, even if the actual type is larger. This makes its use in atomic<>, atomic_flag and lock pool more consistent.
-
-diff --git a/include/boost/atomic/capabilities.hpp b/include/boost/atomic/capabilities.hpp
-index 658dd22..05bbb0f 100644
---- a/include/boost/atomic/capabilities.hpp
-+++ b/include/boost/atomic/capabilities.hpp
-@@ -142,6 +142,7 @@
- #define BOOST_ATOMIC_ADDRESS_LOCK_FREE BOOST_ATOMIC_POINTER_LOCK_FREE
-
- #ifndef BOOST_ATOMIC_BOOL_LOCK_FREE
-+// We store bools in 1-byte storage in all backends
- #define BOOST_ATOMIC_BOOL_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
- #endif
-
-diff --git a/include/boost/atomic/detail/atomic_template.hpp b/include/boost/atomic/detail/atomic_template.hpp
-index 4fd6d79..bc3922a 100644
---- a/include/boost/atomic/detail/atomic_template.hpp
-+++ b/include/boost/atomic/detail/atomic_template.hpp
-@@ -234,7 +234,7 @@ class base_atomic< bool, int >
- {
- private:
- typedef bool value_type;
-- typedef atomics::detail::operations< storage_size_of< value_type >::value, false > operations;
-+ typedef atomics::detail::operations< 1u, false > operations;
-
- protected:
- typedef value_type value_arg_type;
-diff --git a/include/boost/atomic/detail/caps_gcc_atomic.hpp b/include/boost/atomic/detail/caps_gcc_atomic.hpp
-index 8299ad0..f4e7a70 100644
---- a/include/boost/atomic/detail/caps_gcc_atomic.hpp
-+++ b/include/boost/atomic/detail/caps_gcc_atomic.hpp
-@@ -29,66 +29,48 @@
- #define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1
- #endif
-
--#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
--#define BOOST_ATOMIC_FLAG_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_FLAG_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_CHAR_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR16_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_CHAR32_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 2
-+#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
-+#define BOOST_ATOMIC_INT128_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 0
-+#define BOOST_ATOMIC_INT128_LOCK_FREE 0
- #endif
--#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
--#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
-+#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
-+#define BOOST_ATOMIC_LLONG_LOCK_FREE BOOST_ATOMIC_INT128_LOCK_FREE
- #endif
--#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
--#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
-+#define BOOST_ATOMIC_LONG_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_SHORT_LOCK_FREE 0
-+#define BOOST_ATOMIC_LONG_LOCK_FREE BOOST_ATOMIC_LLONG_LOCK_FREE
- #endif
-+
- #if __GCC_ATOMIC_INT_LOCK_FREE == 2
- #define BOOST_ATOMIC_INT_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_INT_LOCK_FREE 0
--#endif
--#if __GCC_ATOMIC_LONG_LOCK_FREE == 2
--#define BOOST_ATOMIC_LONG_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_LONG_LOCK_FREE 0
-+#define BOOST_ATOMIC_INT_LOCK_FREE BOOST_ATOMIC_LONG_LOCK_FREE
- #endif
--#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2
--#define BOOST_ATOMIC_LLONG_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2
-+#define BOOST_ATOMIC_SHORT_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_LLONG_LOCK_FREE 0
-+#define BOOST_ATOMIC_SHORT_LOCK_FREE BOOST_ATOMIC_INT_LOCK_FREE
- #endif
--#if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT))
--#define BOOST_ATOMIC_INT128_LOCK_FREE 2
-+
-+#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2
-+#define BOOST_ATOMIC_CHAR_LOCK_FREE 2
- #else
--#define BOOST_ATOMIC_INT128_LOCK_FREE 0
-+#define BOOST_ATOMIC_CHAR_LOCK_FREE BOOST_ATOMIC_SHORT_LOCK_FREE
- #endif
-+
- #if __GCC_ATOMIC_POINTER_LOCK_FREE == 2
- #define BOOST_ATOMIC_POINTER_LOCK_FREE 2
- #else
- #define BOOST_ATOMIC_POINTER_LOCK_FREE 0
- #endif
--#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2
--#define BOOST_ATOMIC_BOOL_LOCK_FREE 2
--#else
--#define BOOST_ATOMIC_BOOL_LOCK_FREE 0
--#endif
-+
-
- #define BOOST_ATOMIC_INT8_LOCK_FREE BOOST_ATOMIC_CHAR_LOCK_FREE
-
-@@ -128,6 +110,24 @@
- #define BOOST_ATOMIC_INT64_LOCK_FREE 0
- #endif
-
-+
-+#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT64_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
-+#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE
-+#else
-+#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0
-+#endif
-+
-+#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE
-+#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE
-+
- #define BOOST_ATOMIC_THREAD_FENCE 2
- #define BOOST_ATOMIC_SIGNAL_FENCE 2
-
-diff --git a/include/boost/atomic/detail/ops_gcc_atomic.hpp b/include/boost/atomic/detail/ops_gcc_atomic.hpp
-index 2297791..2e4c37b 100644
---- a/include/boost/atomic/detail/ops_gcc_atomic.hpp
-+++ b/include/boost/atomic/detail/ops_gcc_atomic.hpp
-@@ -24,6 +24,15 @@
- #include <boost/atomic/detail/ops_cas_based.hpp>
- #endif
-
-+#if __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE || __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE ||\
-+ __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE || __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE ||\
-+ __GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE || __GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE ||\
-+ __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE
-+// There are platforms where we need to use larger storage types
-+#include <boost/atomic/detail/int_sizes.hpp>
-+#include <boost/atomic/detail/ops_extending_cas_based.hpp>
-+#endif
-+
- #ifdef BOOST_HAS_PRAGMA_ONCE
- #pragma once
- #endif
-@@ -154,73 +163,206 @@ struct gcc_atomic_operations
- }
- };
-
--#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
-+#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
-+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
-+
-+// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
-+// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
- template< bool Signed >
--struct operations< 1u, Signed > :
-- public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
-+struct operations< 16u, Signed > :
-+ public cas_based_operations< gcc_dcas_x86_64< Signed > >
- {
- };
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 16u, Signed > :
-+ public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
-+{
-+};
-+
-+#endif
- #endif
-
--#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
-+
-+#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
-+#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
-+
-+// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
- template< bool Signed >
--struct operations< 2u, Signed > :
-- public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
-+struct operations< 8u, Signed > :
-+ public cas_based_operations< gcc_dcas_x86< Signed > >
-+{
-+};
-+
-+#elif (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT64_EXTENDED
-+
-+template< bool Signed >
-+struct operations< 8u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 8u, Signed >
- {
- };
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 8u, Signed > :
-+ public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
-+{
-+};
-+
-+#endif
- #endif
-
- #if BOOST_ATOMIC_INT32_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT32_EXTENDED
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 4u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 4u, Signed >
-+{
-+};
-+
-+#else // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 4u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 4u, Signed >
-+{
-+};
-+
-+#endif // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+#else
-+
- template< bool Signed >
- struct operations< 4u, Signed > :
- public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >
- {
- };
-+
-+#endif
- #endif
-
--#if BOOST_ATOMIC_INT64_LOCK_FREE > 0
--#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B)
-+#if BOOST_ATOMIC_INT16_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE)
-+
-+#define BOOST_ATOMIC_DETAIL_INT16_EXTENDED
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
-
--// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355
- template< bool Signed >
--struct operations< 8u, Signed > :
-- public cas_based_operations< gcc_dcas_x86< Signed > >
-+struct operations< 2u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 2u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 2u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 2u, Signed >
- {
- };
-
- #else
-
- template< bool Signed >
--struct operations< 8u, Signed > :
-- public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >
-+struct operations< 2u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 2u, Signed >
-+{
-+};
-+
-+#endif
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 2u, Signed > :
-+ public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >
- {
- };
-
- #endif
- #endif
-
--#if BOOST_ATOMIC_INT128_LOCK_FREE > 0
--#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B)
-+#if BOOST_ATOMIC_INT8_LOCK_FREE > 0
-+#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\
-+ (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) ||\
-+ (__GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE) ||\
-+ (__GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE)
-+
-+#if !defined(BOOST_ATOMIC_DETAIL_INT16_EXTENDED)
-
--// Workaround for clang bug: http://llvm.org/bugs/show_bug.cgi?id=19149
--// Clang 3.4 does not implement 128-bit __atomic* intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
- template< bool Signed >
--struct operations< 16u, Signed > :
-- public cas_based_operations< gcc_dcas_x86_64< Signed > >
-+struct operations< 1u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED)
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 1u, Signed >
- {
- };
-
- #else
-
- template< bool Signed >
--struct operations< 16u, Signed > :
-- public gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >
-+struct operations< 1u, Signed > :
-+ public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 1u, Signed >
-+{
-+};
-+
-+#endif
-+
-+#else
-+
-+template< bool Signed >
-+struct operations< 1u, Signed > :
-+ public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type >
- {
- };
-
- #endif
- #endif
-
-+#undef BOOST_ATOMIC_DETAIL_INT16_EXTENDED
-+#undef BOOST_ATOMIC_DETAIL_INT32_EXTENDED
-+#undef BOOST_ATOMIC_DETAIL_INT64_EXTENDED
-+
- BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT
- {
- __atomic_thread_fence(atomics::detail::convert_memory_order_to_gcc(order));
diff --git a/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch b/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch
deleted file mode 100644
index da54a48bc32d..000000000000
--- a/dev-libs/boost/files/boost-1.58.0-fix-non-constexpr-types-regression.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-diff --git a/boost/fusion/adapted/struct/detail/define_struct.hpp b/boost/fusion/adapted/struct/detail/define_struct.hpp
-index 2554292..ce3737e 100644
---- a/boost/fusion/adapted/struct/detail/define_struct.hpp
-+++ b/boost/fusion/adapted/struct/detail/define_struct.hpp
-@@ -69,7 +69,7 @@
- ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
- \
- template<typename Seq> \
-- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- self_type& \
- operator=(Seq const& seq) \
- { \
-@@ -128,7 +128,7 @@
- ATTRIBUTE_TUPEL_SIZE, \
- ATTRIBUTES_SEQ) \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME() \
- : BOOST_PP_SEQ_FOR_EACH_I_R( \
- 1, \
-@@ -137,7 +137,7 @@
- ATTRIBUTES_SEQ) \
- {} \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME(self_type const& other_self) \
- : BOOST_PP_SEQ_FOR_EACH_I_R( \
- 1, \
-@@ -147,7 +147,7 @@
- {} \
- \
- template<typename Seq> \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME(Seq const& seq \
- BOOST_PP_IF( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
-@@ -167,7 +167,7 @@
- #define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \
- NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- explicit \
- NAME(boost::call_traits< \
- BOOST_PP_TUPLE_ELEM( \
-@@ -180,7 +180,7 @@
- #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \
- TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- explicit \
- NAME(typename boost::call_traits< \
- typename boost::fusion::detail::get_first_arg< \
-@@ -217,7 +217,7 @@
- #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \
- TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
- 1, \
- BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \
-@@ -245,7 +245,7 @@
- #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \
- NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \
- 1, \
- BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \
-diff --git a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
-index a5a3ae0..a037ffe 100644
---- a/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
-+++ b/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
-@@ -66,7 +66,7 @@
- #define BOOST_FUSION_IGNORE_2(ARG1, ARG2)
-
- #define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- NAME(BOOST_PP_SEQ_FOR_EACH_I( \
- BOOST_FUSION_MAKE_CONST_REF_PARAM, \
- ~, \
-@@ -337,7 +337,7 @@
- typedef boost::mpl::int_<N> index; \
- typedef boost_fusion_detail_Seq sequence_type; \
- \
-- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
-+ BOOST_FUSION_GPU_ENABLED \
- BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \
- : seq_(seq) \
- BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \
-diff --git a/libs/fusion/test/sequence/adapt_struct.cpp b/libs/fusion/test/sequence/adapt_struct.cpp
-index c0cd304..121827f 100644
---- a/libs/fusion/test/sequence/adapt_struct.cpp
-+++ b/libs/fusion/test/sequence/adapt_struct.cpp
-@@ -67,6 +67,17 @@ namespace ns
- foo foo_;
- int y;
- };
-+
-+
-+ // Testing non-constexpr compatible types
-+ struct employee {
-+ std::string name;
-+ std::string nickname;
-+
-+ employee(std::string name, std::string nickname)
-+ : name(name), nickname(nickname)
-+ {}
-+ };
- }
-
- #if BOOST_PP_VARIADICS
-@@ -96,6 +107,13 @@ namespace ns
- y
- )
-
-+ BOOST_FUSION_ADAPT_STRUCT(
-+ ns::employee,
-+ name,
-+ nickname
-+ )
-+
-+
- #else // BOOST_PP_VARIADICS
-
- BOOST_FUSION_ADAPT_STRUCT(
-@@ -123,6 +141,12 @@ namespace ns
- (BOOST_FUSION_ADAPT_AUTO, y)
- )
-
-+ BOOST_FUSION_ADAPT_STRUCT(
-+ ns::employee,
-+ (std::string, name)
-+ (BOOST_FUSION_ADAPT_AUTO, nickname)
-+ )
-+
- #endif
-
- int
-@@ -224,6 +248,15 @@ main()
- BOOST_TEST(v2 >= v1);
- }
-
-+ {
-+ ns::employee emp("John Doe", "jdoe");
-+ std::cout << at_c<0>(emp) << std::endl;
-+ std::cout << at_c<1>(emp) << std::endl;
-+
-+ fusion::vector<std::string, std::string> v1("John Doe", "jdoe");
-+ BOOST_TEST(emp == v1);
-+ }
-+
- return boost::report_errors();
- }
-
-diff --git a/libs/fusion/test/sequence/define_struct.cpp b/libs/fusion/test/sequence/define_struct.cpp
-index 795fdf6..63b5a19 100644
---- a/libs/fusion/test/sequence/define_struct.cpp
-+++ b/libs/fusion/test/sequence/define_struct.cpp
-@@ -26,6 +26,14 @@ BOOST_FUSION_DEFINE_STRUCT(
-
- BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
-
-+// Testing non-constexpr compatible types
-+BOOST_FUSION_DEFINE_STRUCT(
-+ (ns),
-+ employee,
-+ (std::string, name)
-+ (std::string, nickname)
-+)
-+
- int
- main()
- {
-@@ -100,6 +108,14 @@ main()
- BOOST_TEST(p == make_vector(3,5));
- }
-
-+ {
-+ ns::employee emp = make_list("John Doe", "jdoe");
-+ std::cout << at_c<0>(emp) << std::endl;
-+ std::cout << at_c<1>(emp) << std::endl;
-+
-+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
-+ }
-+
- return boost::report_errors();
- }
-
-diff --git a/libs/fusion/test/sequence/define_struct_inline.cpp b/libs/fusion/test/sequence/define_struct_inline.cpp
-index e849ce9..d34a142 100644
---- a/libs/fusion/test/sequence/define_struct_inline.cpp
-+++ b/libs/fusion/test/sequence/define_struct_inline.cpp
-@@ -41,6 +41,13 @@ namespace ns
- BOOST_FUSION_DEFINE_STRUCT_INLINE(s, (int, m))
-
- BOOST_FUSION_DEFINE_STRUCT_INLINE(empty_struct, )
-+
-+ // Testing non-constexpr compatible types
-+ BOOST_FUSION_DEFINE_STRUCT_INLINE(
-+ employee,
-+ (std::string, name)
-+ (std::string, nickname)
-+ )
- }
-
- template <typename Point>
-@@ -128,6 +135,17 @@ main()
- {
- run_test<cls::point>(); // test with non-template enclosing class
- run_test<tpl_cls<>::point>(); // test with template enclosing class
-+
-+ {
-+ using namespace boost::fusion;
-+
-+ ns::employee emp = make_list("John Doe", "jdoe");
-+ std::cout << at_c<0>(emp) << std::endl;
-+ std::cout << at_c<1>(emp) << std::endl;
-+
-+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
-+ }
-+
- return boost::report_errors();
-
- }
diff --git a/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch b/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch
deleted file mode 100644
index 1566c3417fc1..000000000000
--- a/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From f2c465ffa508459216f7093bf95ba001ad994206 Mon Sep 17 00:00:00 2001
-From: vslashg <veloso@verylowsodium.com>
-Date: Mon, 29 Feb 2016 13:33:35 -0500
-Subject: [PATCH] Fix auto-pointer registration in Boost Python 1.60.
-
-The conditional instantiation magic of maybe_register_pointer_to_python() assumes that use_value_holder and use_back_reference will be one of the boost::mpl::bool_ types, but this assumption is no longer true in Boost 1.60, where they can be standard library bool wrappers instead.
-
-Explicitly defining these types as mpl::bool_ classes fixes https://github.com/boostorg/python/issues/56.
----
- boost/python/object/class_metadata.hpp | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/boost/python/object/class_metadata.hpp b/boost/python/object/class_metadata.hpp
-index c71cf67..5009c17 100644
---- a/boost/python/object/class_metadata.hpp
-+++ b/boost/python/object/class_metadata.hpp
-@@ -164,7 +164,7 @@ struct class_metadata
- >::type held_type;
-
- // Determine if the object will be held by value
-- typedef is_convertible<held_type*,T*> use_value_holder;
-+ typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
-
- // Compute the "wrapped type", that is, if held_type is a smart
- // pointer, we're talking about the pointee.
-@@ -175,10 +175,12 @@ struct class_metadata
- >::type wrapped;
-
- // Determine whether to use a "back-reference holder"
-- typedef mpl::or_<
-- has_back_reference<T>
-- , is_same<held_type_arg,T>
-- , is_base_and_derived<T,wrapped>
-+ typedef mpl::bool_<
-+ mpl::or_<
-+ has_back_reference<T>
-+ , is_same<held_type_arg,T>
-+ , is_base_and_derived<T,wrapped>
-+ >::value
- > use_back_reference;
-
- // Select the holder.
diff --git a/dev-libs/boost/files/boost-1.60.0-deprecated-header-ice_not.patch b/dev-libs/boost/files/boost-1.60.0-deprecated-header-ice_not.patch
deleted file mode 100644
index 624dc648ae48..000000000000
--- a/dev-libs/boost/files/boost-1.60.0-deprecated-header-ice_not.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: jzmaddock <john@johnmaddock.co.uk>
-Date: Tue, 21 Jul 2015 18:54:48 +0100
-Subject: [PATCH] Remove deprecated type_traits usage.
-
----
- include/boost/graph/adjacency_matrix.hpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/boost/graph/adjacency_matrix.hpp b/include/boost/graph/adjacency_matrix.hpp
-index b1078d9..ade7351 100644
---- a/boost/graph/adjacency_matrix.hpp
-+++ b/boost/graph/adjacency_matrix.hpp
-@@ -443,7 +443,7 @@ namespace boost {
- // graph type. Instead, use directedS, which also provides the
- // functionality required for a Bidirectional Graph (in_edges,
- // in_degree, etc.).
-- BOOST_STATIC_ASSERT(type_traits::ice_not<(is_same<Directed, bidirectionalS>::value)>::value);
-+ BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
-
- typedef typename mpl::if_<is_directed,
- bidirectional_tag, undirected_tag>::type
-From: Vladimir Prus <vladimir.prus@gmail.com>
-Date: Mon, 7 Dec 2015 13:55:07 +0300
-Subject: [PATCH] Add missing include of <list>.
-
-Thanks to Amit Prakash Ambasta for the report.
----
- include/boost/graph/r_c_shortest_paths.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/boost/graph/r_c_shortest_paths.hpp b/include/boost/graph/r_c_shortest_paths.hpp
-index afa50cf..7e490fc 100644
---- a/boost/graph/r_c_shortest_paths.hpp
-+++ b/boost/graph/r_c_shortest_paths.hpp
-@@ -11,6 +11,7 @@
- #include <map>
- #include <queue>
- #include <vector>
-+#include <list>
-
- #include <boost/graph/graph_traits.hpp>
- #include <boost/graph/iteration_macros.hpp>