--- rivet-bootstrap.1 2014-05-15 11:18:57.491892359 -0400 +++ rivet-bootstrap 2014-05-16 14:48:50.429655949 -0400 @@ -72,11 +72,66 @@ ## Install Boost if [[ "$INSTALL_BOOST" -eq "1" ]]; then cd $BUILD_PREFIX - wget http://downloads.sourceforge.net/boost/boost_$BOOST_VERSION.tar.gz + [ ! -f boost_$BOOST_VERSION.tar.gz ] && wget http://downloads.sourceforge.net/boost/boost_$BOOST_VERSION.tar.gz tar xzf boost_$BOOST_VERSION.tar.gz boost_$BOOST_VERSION/boost mkdir -p $INSTALL_PREFIX/include rm -rf $INSTALL_PREFIX/include/boost mv boost_$BOOST_VERSION/boost $INSTALL_PREFIX/include/ + if [ $BOOST_VERSION == "1_55_0" ]; then + cat > boost_$BOOST_VERSION.patch < + {}; + + # endif ++// Version check from https://svn.boost.org/trac/boost/changeset/82886 ++// (boost/static_assert.hpp) ++#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) ++#define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused)) ++#else ++#define BOOST_CONCEPT_UNUSED_TYPEDEF /**/ ++#endif + + # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ + typedef ::boost::concepts::detail::instantiate< \ + &::boost::concepts::requirement_::failed> \ +- BOOST_PP_CAT(boost_concept_check,__LINE__) ++ BOOST_PP_CAT(boost_concept_check,__LINE__) \ ++ BOOST_CONCEPT_UNUSED_TYPEDEF + + }} + +diff -rupN boost_1_55_0/boost/tuple/detail/tuple_basic.hpp local/include/boost/tuple/detail/tuple_basic.hpp +--- boost_1_55_0/boost/tuple/detail/tuple_basic.hpp 2011-01-02 15:25:11.000000000 -0500 ++++ local/include/boost/tuple/detail/tuple_basic.hpp 2014-05-15 22:19:55.906337593 -0400 +@@ -214,6 +214,13 @@ get(cons& c BOOST_APPEND_EXPLICI + typedef BOOST_DEDUCED_TYPENAME impl::type cons_element; + return const_cast(impl::call(c)).head; + } ++// Version check from https://svn.boost.org/trac/boost/changeset/82886 ++// (boost/static_assert.hpp) ++#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) ++#define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused)) ++#else ++#define BOOST_CONCEPT_UNUSED_TYPEDEF /**/ ++#endif + + // get function for const cons-lists, returns a const reference to + // the element. If the element is a reference, returns the reference +@@ -225,7 +232,7 @@ inline typename access_traits< + get(const cons& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply > impl; +- typedef BOOST_DEDUCED_TYPENAME impl::type cons_element; ++ typedef BOOST_DEDUCED_TYPENAME impl::type cons_element BOOST_CONCEPT_UNUSED_TYPEDEF; + return impl::call(c).head; + } + +EOF + patch -p1 < boost_$BOOST_VERSION.patch + fi BOOSTPATH=$INSTALL_PREFIX fi