# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
PortGroup compiler_blacklist_versions 1.0
maintainers {ryandesign @ryandesign} {michaelld @michaelld} openmaintainer
description Collection of portable C++ source libraries
Boost provides free portable peer-reviewed C++ \
libraries. The emphasis is on portable libraries \
which work well with the C++ Standard Library.
homepage http://www.boost.org
master_sites https://dl.bintray.com/boostorg/release/${version}/source/
set distver [join [split ${version} .] _]
distname ${name}_${distver}
checksums rmd160 695537a00f6f9ae80e4d682b155ce097017c49a9 \
sha256 9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81 \
fs-traverse dir ${workpath} {
if [file isdirectory ${dir}] {
file attributes ${dir} -permissions a+rx
patchfiles patch-tools-build-src-engine-build.sh.diff \
patch-tools-build-src-engine-build.jam.diff \
patch-apple-clang-no-libcxx.diff
# patch-apple-clang-no-libcxx.diff fixes a clang configuration
# error that occurs on OS X 10.7 and 10.8 due to the assumption
# that if clang is the compiler in use it must be using libc++.
# Apple Clang uses libstdc++ by default on these OS versions.
# The patch adds an additional BOOST_* configuration flag
# that is set if Apple clang is being used but libc++
# is not. This flag is then used to prevent boost or a
# dependent package from using functions such as std::forward that
# are only available in libc++. Fixes build of libcdr on these
# OS versions without affecting build on 10.6 and less (where clang is not
# the default compiler) or 10.9 and up (where libc++ is the default).
# temporary patch to fix: explicit template instanciations in
# boost::serialization don't get exported with all compilers; this fix
# is already in the boost repo & will be part of a future release. See