diff options
| author | Ash Berlin | 2009-12-01 15:54:11 +0000 |
|---|---|---|
| committer | Ash Berlin | 2009-12-04 18:03:26 +0000 |
| commit | 928317d80f67d7cbc73bfa4f04bcd1e4e6cdf980 (patch) | |
| tree | fb805c8deb8eb63f2627e84cf0c798ae11a5ec53 | |
| parent | 3df5a58afe71a86aaffe46bc060d5959f366f8f0 (diff) | |
| download | homebrew-928317d80f67d7cbc73bfa4f04bcd1e4e6cdf980.tar.bz2 | |
Add patch for boost to fix 64bit boost-test issue
Without this fix applied using the test framework will yield a double free error at exit time.
| -rw-r--r-- | Library/Formula/boost.rb | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/Library/Formula/boost.rb b/Library/Formula/boost.rb index d0dc6c7eb..ad7fe6d65 100644 --- a/Library/Formula/boost.rb +++ b/Library/Formula/boost.rb @@ -1,13 +1,42 @@ require 'formula' class Boost <Formula - @homepage='http://www.boost.org' - @url='http://downloads.sourceforge.net/project/boost/boost/1.40.0/boost_1_40_0.tar.bz2' - @md5='ec3875caeac8c52c7c129802a8483bd7' + homepage 'http://www.boost.org' + url 'http://downloads.sourceforge.net/project/boost/boost/1.40.0/boost_1_40_0.tar.bz2' + md5 'ec3875caeac8c52c7c129802a8483bd7' + + def patches + { :p2 => DATA } + end def install # we specify libdir too because the script is apparently broken system "./bootstrap.sh --prefix='#{prefix}' --libdir='#{lib}'" system "./bjam --layout=tagged --prefix='#{prefix}' --libdir='#{lib}' threading=multi install" end -end
\ No newline at end of file +end + +__END__ +https://svn.boost.org/trac/boost/changeset/56467 +Index: /trunk/boost/test/impl/framework.ipp +=================================================================== +--- /trunk/boost/test/impl/framework.ipp (revision 53665) ++++ /trunk/boost/test/impl/framework.ipp (revision 56467) +@@ -125,11 +125,12 @@ + { + while( !m_test_units.empty() ) { +- test_unit_store::value_type const& tu = *m_test_units.begin(); ++ test_unit_store::value_type const& tu = *m_test_units.begin(); ++ test_unit* tu_ptr = tu.second; + + // the delete will erase this element from map + if( ut_detail::test_id_2_unit_type( tu.second->p_id ) == tut_suite ) +- delete static_cast<test_suite const*>(tu.second); ++ delete (test_suite const*)tu_ptr; + else +- delete static_cast<test_case const*>(tu.second); ++ delete (test_case const*)tu_ptr; + } + } + + |
