pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/meta-pkgs/boost Workaround a GCC 3.4/4.x compiler bug ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/0db73586eab7
branches:  trunk
changeset: 517867:0db73586eab7
user:      jmmv <jmmv%pkgsrc.org@localhost>
date:      Thu Aug 24 08:45:35 2006 +0000

description:
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:

 meta-pkgs/boost/distinfo         |   4 +++-
 meta-pkgs/boost/patches/patch-ai |  15 +++++++++++++++
 meta-pkgs/boost/patches/patch-aj |  21 +++++++++++++++++++++
 3 files changed, 39 insertions(+), 1 deletions(-)

diffs (59 lines):

diff -r bcaadb9b9027 -r 0db73586eab7 meta-pkgs/boost/distinfo
--- a/meta-pkgs/boost/distinfo  Thu Aug 24 08:44:26 2006 +0000
+++ b/meta-pkgs/boost/distinfo  Thu Aug 24 08:45:35 2006 +0000
@@ -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-af) = 64a6fa2be7a526a0a3e6f47d5f703d7253a51615
 SHA1 (patch-ag) = 6c862a0f50590327344d6973617ccc56df67fa76
 SHA1 (patch-ah) = e16c08bb0f63e63ae082e9d83c588e3adcf9cb3b
+SHA1 (patch-ai) = 1e2d946090093bb4b9ab8fa78ccfaa0189b1d145
+SHA1 (patch-aj) = 09d27fc296105d3a8141df26ce3e8942ca973746
diff -r bcaadb9b9027 -r 0db73586eab7 meta-pkgs/boost/patches/patch-ai
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/meta-pkgs/boost/patches/patch-ai  Thu Aug 24 08:45:35 2006 +0000
@@ -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 -r bcaadb9b9027 -r 0db73586eab7 meta-pkgs/boost/patches/patch-aj
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/meta-pkgs/boost/patches/patch-aj  Thu Aug 24 08:45:35 2006 +0000
@@ -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



Home | Main Index | Thread Index | Old Index