summaryrefslogtreecommitdiff
path: root/meta-pkgs
diff options
context:
space:
mode:
authorjmmv <jmmv@pkgsrc.org>2006-08-24 08:45:35 +0000
committerjmmv <jmmv@pkgsrc.org>2006-08-24 08:45:35 +0000
commit290faacb884412fa2c08fc2541993ef150914341 (patch)
treea675ece05857ecf954fdd320830ed08397208e0b /meta-pkgs
parentd31d36c94a6e7721a6b5fc470d2ac7e27299c993 (diff)
downloadpkgsrc-290faacb884412fa2c08fc2541993ef150914341.tar.gz
Workaround a GCC 3.4/4.x compiler bug that prevents -> and & being used
in constant expressions; according to the GCC bug report this was fixed in 4.0.3 but still happens with NetBSD's 4.1.2: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23437 Fixes build of boost-python; found in one of the latest bulk build reports.
Diffstat (limited to 'meta-pkgs')
-rw-r--r--meta-pkgs/boost/distinfo4
-rw-r--r--meta-pkgs/boost/patches/patch-ai15
-rw-r--r--meta-pkgs/boost/patches/patch-aj21
3 files changed, 39 insertions, 1 deletions
diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo
index ecbca327135..c4fecdc1278 100644
--- a/meta-pkgs/boost/distinfo
+++ b/meta-pkgs/boost/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2006/01/21 10:12:40 jmmv Exp $
+$NetBSD: distinfo,v 1.9 2006/08/24 08:45:35 jmmv Exp $
SHA1 (boost_1_33_1.tar.bz2) = 22682f75ff0d1ea548688e78c8cca83d599ca576
RMD160 (boost_1_33_1.tar.bz2) = 3d5999d321b558f74d786bec52ee1b1fcd7e7152
@@ -11,3 +11,5 @@ SHA1 (patch-ae) = e557356101204290a70084eb284d90ce8f4cbd71
SHA1 (patch-af) = 64a6fa2be7a526a0a3e6f47d5f703d7253a51615
SHA1 (patch-ag) = 6c862a0f50590327344d6973617ccc56df67fa76
SHA1 (patch-ah) = e16c08bb0f63e63ae082e9d83c588e3adcf9cb3b
+SHA1 (patch-ai) = 1e2d946090093bb4b9ab8fa78ccfaa0189b1d145
+SHA1 (patch-aj) = 09d27fc296105d3a8141df26ce3e8942ca973746
diff --git a/meta-pkgs/boost/patches/patch-ai b/meta-pkgs/boost/patches/patch-ai
new file mode 100644
index 00000000000..afa27ae3092
--- /dev/null
+++ b/meta-pkgs/boost/patches/patch-ai
@@ -0,0 +1,15 @@
+$NetBSD: patch-ai,v 1.1 2006/08/24 08:45:35 jmmv Exp $
+
+--- boost/python/converter/rvalue_from_python_data.hpp.orig 2006-08-23 23:48:06.000000000 +0200
++++ boost/python/converter/rvalue_from_python_data.hpp
+@@ -94,7 +94,9 @@ struct rvalue_from_python_data : rvalue_
+ # if (!defined(__MWERKS__) || __MWERKS__ >= 0x3000) \
+ && (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 245) \
+ && (!defined(__DECCXX_VER) || __DECCXX_VER > 60590014) \
+- && !defined(BOOST_PYTHON_SYNOPSIS) /* Synopsis' OpenCXX has trouble parsing this */
++ && !defined(BOOST_PYTHON_SYNOPSIS) /* Synopsis' OpenCXX has trouble parsing this */ \
++ && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, == 4)) \
++ && !(BOOST_WORKAROUND(__GNUC__, == 4))
+ // This must always be a POD struct with m_data its first member.
+ BOOST_STATIC_ASSERT(BOOST_PYTHON_OFFSETOF(rvalue_from_python_storage<T>,stage1) == 0);
+ # endif
diff --git a/meta-pkgs/boost/patches/patch-aj b/meta-pkgs/boost/patches/patch-aj
new file mode 100644
index 00000000000..04fb3dab277
--- /dev/null
+++ b/meta-pkgs/boost/patches/patch-aj
@@ -0,0 +1,21 @@
+$NetBSD: patch-aj,v 1.1 2006/08/24 08:45:35 jmmv Exp $
+
+--- boost/python/object/instance.hpp.orig 2006-08-23 23:48:06.000000000 +0200
++++ boost/python/object/instance.hpp
+@@ -41,9 +41,16 @@ struct additional_instance_size
+ {
+ typedef instance<Data> instance_data;
+ typedef instance<char> instance_char;
++#if !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, == 4)) \
++ && !(BOOST_WORKAROUND(__GNUC__, == 4))
+ BOOST_STATIC_CONSTANT(
+ std::size_t, value = sizeof(instance_data)
+ - BOOST_PYTHON_OFFSETOF(instance_char,storage));
++#else
++ BOOST_STATIC_CONSTANT(
++ std::size_t, value = sizeof(instance_data)
++ - (sizeof(PyVarObject) + sizeof(PyObject*) + sizeof(PyObject*) + sizeof(instance_holder*)));
++#endif
+ };
+
+ }}} // namespace boost::python::object