On Mon, Dec 24, 2012 at 10:05:52AM +0000, Stuart Henderson wrote:

> That looks fine to me - it's probably worth listing the affected
> ports in a comment in the cmake port too so it's easy to find the
> patches to remove them if this gets fixed in cmake.

This is a BandAid-style patch to address the dpb bulk builds failures
mentioned here:

http://marc.info/?l=openbsd-ports&m=135591152820930

and here:

http://marc.info/?l=openbsd-ports&m=135336077026128

Stuart gave help and I have his ok too.

Other thoughts and/or OKs?

Ciao,
David

Index: devel/cmake/Makefile
===================================================================
RCS file: /cvs/ports/devel/cmake/Makefile,v
retrieving revision 1.73
diff -u -p -r1.73 Makefile
--- devel/cmake/Makefile        11 Dec 2012 11:51:39 -0000      1.73
+++ devel/cmake/Makefile        24 Dec 2012 13:15:14 -0000
@@ -1,5 +1,15 @@
 # $OpenBSD: Makefile,v 1.73 2012/12/11 11:51:39 dcoppa Exp $
 
+# XXX: CMake currently uses a simplified scanner that doesn't do
+# full preprocessing, and thus non-trivial include directives that
+# depend on C/C++ preprocessor macros are not dealt with correctly.
+# When this problem will be fixed, remove the workaround in
+# devel/gdb/Makefile and the 'patches/patch-src_gui_kernel_qwindowdefs_h'
+# patch from x11/qt4.
+# See:
+# http://public.kitware.com/Bug/view.php?id=13718
+# http://public.kitware.com/Bug/view.php?id=11985
+
 VMEM_WARNING = Yes
 BROKEN-arm =   build fails since move to gcc4
 DPB_PROPERTIES =parallel
Index: devel/gdb/Makefile
===================================================================
RCS file: /cvs/ports/devel/gdb/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- devel/gdb/Makefile  29 Nov 2012 18:58:40 -0000      1.23
+++ devel/gdb/Makefile  24 Dec 2012 13:15:15 -0000
@@ -4,6 +4,7 @@ COMMENT=        GNU debugger
 CATEGORIES=    devel
 
 DISTNAME=      gdb-7.5.1
+REVISION=      0
 
 HOMEPAGE=      http://www.gnu.org/software/gdb/
 
@@ -35,5 +36,12 @@ USE_LIBTOOL =        Yes
 MODULES +=     lang/python
 LIB_DEPENDS +=         ${MODPY_LIB_DEPENDS}
 MODPY_BUILDDEP = No
+
+post-install:
+# XXX: since CMake does not correctly handle include directives that
+# depend on C/C++ preprocessor macros, avoid installing ansidecl.h
+# because it can be picked up by cmake-based ports (via libxml or
+# libxslt) causing failures during dpb bulk builds.
+       rm ${WRKINST}/${LOCALBASE}/include/ansidecl.h
 
 .include <bsd.port.mk>
Index: devel/gdb/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/gdb/pkg/PLIST,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST
--- devel/gdb/pkg/PLIST 25 Aug 2012 19:15:44 -0000      1.11
+++ devel/gdb/pkg/PLIST 24 Dec 2012 13:15:15 -0000
@@ -1,7 +1,6 @@
 @comment $OpenBSD: PLIST,v 1.11 2012/08/25 19:15:44 pascal Exp $
 @conflict libbfd-*
 @bin bin/egdb
-include/ansidecl.h
 include/bfd.h
 include/bfdlink.h
 include/dis-asm.h
Index: x11/qt4/Makefile
===================================================================
RCS file: /cvs/ports/x11/qt4/Makefile,v
retrieving revision 1.105
diff -u -p -r1.105 Makefile
--- x11/qt4/Makefile    5 Nov 2012 16:29:50 -0000       1.105
+++ x11/qt4/Makefile    24 Dec 2012 13:17:18 -0000
@@ -24,7 +24,7 @@ PKGNAME-debug =               qt4-debug-${PKGVERSION}
 FULLPKGNAME-html =     qt4-html-${PKGVERSION}
 FULLPKGPATH-html =     ${BASE_PKGPATH},-html
 
-REVISION-main=         4
+REVISION-main=         5
 REVISION-mysql=                0
 REVISION-postgresql=   0
 REVISION-examples=     0
Index: x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
===================================================================
RCS file: x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
diff -N x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h  24 Dec 2012 13:17:18 
-0000
@@ -0,0 +1,29 @@
+$OpenBSD$
+
+XXX: since CMake does not correctly handle include directives that
+depend on C/C++ preprocessor macros, avoid including qmacdefines_mac.h
+because, from it, cmake-based ports can pick Cocoa/Cocoa.h and
+AppKit/AppKit.h (from gnustep-gui package) causing failures during
+dpb bulk builds.
+
+--- src/gui/kernel/qwindowdefs.h.orig  Thu Dec 20 14:51:32 2012
++++ src/gui/kernel/qwindowdefs.h       Thu Dec 20 14:54:02 2012
+@@ -94,18 +94,6 @@ QT_END_HEADER
+ 
+ // Window system dependent definitions
+ 
+-#if defined(Q_WS_MAC) && !defined(Q_WS_QWS)
+-
+-#include <QtGui/qmacdefines_mac.h>
+-
+-#ifdef Q_WS_MAC32
+-typedef int WId;
+-#else
+-typedef long WId;
+-#endif
+-
+-#endif // Q_WS_MAC
+-
+ #if defined(Q_WS_WIN)
+ #include <QtGui/qwindowdefs_win.h>
+ #endif // Q_WS_WIN
Index: devel/cmake/Makefile
===================================================================
RCS file: /cvs/ports/devel/cmake/Makefile,v
retrieving revision 1.73
diff -u -p -r1.73 Makefile
--- devel/cmake/Makefile        11 Dec 2012 11:51:39 -0000      1.73
+++ devel/cmake/Makefile        24 Dec 2012 13:15:14 -0000
@@ -1,5 +1,15 @@
 # $OpenBSD: Makefile,v 1.73 2012/12/11 11:51:39 dcoppa Exp $
 
+# XXX: CMake currently uses a simplified scanner that doesn't do
+# full preprocessing, and thus non-trivial include directives that
+# depend on C/C++ preprocessor macros are not dealt with correctly.
+# When this problem will be fixed, remove the workaround in
+# devel/gdb/Makefile and the 'patches/patch-src_gui_kernel_qwindowdefs_h'
+# patch from x11/qt4.
+# See:
+# http://public.kitware.com/Bug/view.php?id=13718
+# http://public.kitware.com/Bug/view.php?id=11985
+
 VMEM_WARNING = Yes
 BROKEN-arm =   build fails since move to gcc4
 DPB_PROPERTIES =parallel
Index: devel/gdb/Makefile
===================================================================
RCS file: /cvs/ports/devel/gdb/Makefile,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile
--- devel/gdb/Makefile  29 Nov 2012 18:58:40 -0000      1.23
+++ devel/gdb/Makefile  24 Dec 2012 13:15:15 -0000
@@ -4,6 +4,7 @@ COMMENT=        GNU debugger
 CATEGORIES=    devel
 
 DISTNAME=      gdb-7.5.1
+REVISION=      0
 
 HOMEPAGE=      http://www.gnu.org/software/gdb/
 
@@ -35,5 +36,12 @@ USE_LIBTOOL =        Yes
 MODULES +=     lang/python
 LIB_DEPENDS +=         ${MODPY_LIB_DEPENDS}
 MODPY_BUILDDEP = No
+
+post-install:
+# XXX: since CMake does not correctly handle include directives that
+# depend on C/C++ preprocessor macros, avoid installing ansidecl.h
+# because it can be picked up by cmake-based ports (via libxml or
+# libxslt) causing failures during dpb bulk builds.
+       rm ${WRKINST}/${LOCALBASE}/include/ansidecl.h
 
 .include <bsd.port.mk>
Index: devel/gdb/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/gdb/pkg/PLIST,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST
--- devel/gdb/pkg/PLIST 25 Aug 2012 19:15:44 -0000      1.11
+++ devel/gdb/pkg/PLIST 24 Dec 2012 13:15:15 -0000
@@ -1,7 +1,6 @@
 @comment $OpenBSD: PLIST,v 1.11 2012/08/25 19:15:44 pascal Exp $
 @conflict libbfd-*
 @bin bin/egdb
-include/ansidecl.h
 include/bfd.h
 include/bfdlink.h
 include/dis-asm.h
Index: x11/qt4/Makefile
===================================================================
RCS file: /cvs/ports/x11/qt4/Makefile,v
retrieving revision 1.105
diff -u -p -r1.105 Makefile
--- x11/qt4/Makefile    5 Nov 2012 16:29:50 -0000       1.105
+++ x11/qt4/Makefile    24 Dec 2012 13:17:18 -0000
@@ -24,7 +24,7 @@ PKGNAME-debug =               qt4-debug-${PKGVERSION}
 FULLPKGNAME-html =     qt4-html-${PKGVERSION}
 FULLPKGPATH-html =     ${BASE_PKGPATH},-html
 
-REVISION-main=         4
+REVISION-main=         5
 REVISION-mysql=                0
 REVISION-postgresql=   0
 REVISION-examples=     0
Index: x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
===================================================================
RCS file: x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
diff -N x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ x11/qt4/patches/patch-src_gui_kernel_qwindowdefs_h  24 Dec 2012 13:17:18 
-0000
@@ -0,0 +1,29 @@
+$OpenBSD$
+
+XXX: since CMake does not correctly handle include directives that
+depend on C/C++ preprocessor macros, avoid including qmacdefines_mac.h
+because, from it, cmake-based ports can pick Cocoa/Cocoa.h and
+AppKit/AppKit.h (from gnustep-gui package) causing failures during
+dpb bulk builds.
+
+--- src/gui/kernel/qwindowdefs.h.orig  Thu Dec 20 14:51:32 2012
++++ src/gui/kernel/qwindowdefs.h       Thu Dec 20 14:54:02 2012
+@@ -94,18 +94,6 @@ QT_END_HEADER
+ 
+ // Window system dependent definitions
+ 
+-#if defined(Q_WS_MAC) && !defined(Q_WS_QWS)
+-
+-#include <QtGui/qmacdefines_mac.h>
+-
+-#ifdef Q_WS_MAC32
+-typedef int WId;
+-#else
+-typedef long WId;
+-#endif
+-
+-#endif // Q_WS_MAC
+-
+ #if defined(Q_WS_WIN)
+ #include <QtGui/qwindowdefs_win.h>
+ #endif // Q_WS_WIN

Reply via email to