about summary refs log tree commit diff
path: root/pkgs/development/libraries/boost
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/boost')
-rw-r--r--pkgs/development/libraries/boost/1.38.0.nix2
-rw-r--r--pkgs/development/libraries/boost/classr.patch15
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/libraries/boost/1.38.0.nix b/pkgs/development/libraries/boost/1.38.0.nix
index 0a01ca80e787..739291a0574e 100644
--- a/pkgs/development/libraries/boost/1.38.0.nix
+++ b/pkgs/development/libraries/boost/1.38.0.nix
@@ -36,6 +36,8 @@ stdenv.mkDerivation {
     url = "mirror://sourceforge/boost/boost_1_38_0.tar.bz2";
     sha256 = "0rk044s4m7l4sma6anml34vxcd9w0fzcy1cy7csbzynjyida9qry";
   };
+
+  patches = [ ./classr.patch ];
   
   buildInputs = [icu expat zlib bzip2 python];
 
diff --git a/pkgs/development/libraries/boost/classr.patch b/pkgs/development/libraries/boost/classr.patch
new file mode 100644
index 000000000000..fbe383086968
--- /dev/null
+++ b/pkgs/development/libraries/boost/classr.patch
@@ -0,0 +1,15 @@
+Taken from http://wiki.freebsd.org/BoostPortingProject
+--- boost1.38/boost/function/function_template.hpp.orig   2008-10-16 17:21:50.000000000 +0400
++++ boost1.38_2/boost/function/function_template.hpp        2009-03-25 04:12:15.000000000 +0300
+@@ -950,10 +950,10 @@
+           f.vtable->manager(f.functor, this->functor,
+                             boost::detail::function::move_functor_tag);
+ 		  f.vtable = 0;
+-#if !defined(BOOST_NO_EXCEPTIONS)      
+         } else {
+           clear();
+         }
++#if !defined(BOOST_NO_EXCEPTIONS)      
+       } catch (...) {
+         vtable = 0;
+         throw;