GtkWidgetBackingStoreX11.cpp is undonditionally built in webkit-1.6.3, but it should be conditionally built based on the target (x11). https://trac.macports.org/ticket/34134
--- Source/WebCore/GNUmakefile.list.am.orig 2012-04-19 22:17:20.000000000 -0700 +++ Source/WebCore/GNUmakefile.list.am 2011-10-14 22:27:23.000000000 -0700 @@ -3986,6 +3986,7 @@ webcoregtk_sources += \ Source/WebCore/platform/gtk/GtkUtilities.cpp \ Source/WebCore/platform/gtk/GtkUtilities.h \ Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp \ + Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp \ Source/WebCore/platform/gtk/GeolocationServiceGtk.cpp \ Source/WebCore/platform/gtk/GeolocationServiceGtk.h \ Source/WebCore/platform/gtk/GOwnPtrGtk.cpp \ @@ -4035,7 +4036,6 @@ webcoregtk_sources += \ if TARGET_X11 webcoregtk_sources += \ - Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp \ Source/WebCore/plugins/gtk/gtk2xtbin.c \ Source/WebCore/plugins/gtk/gtk2xtbin.h \ Source/WebCore/plugins/gtk/xembed.h
oops... I mean the reverse of the above ><
Source/WebCore/plugins/gtk/PluginViewGtk.cpp also depends on X11, so the following is necessary to build (although the correct fix probably involves editing PluginViewGtk.cpp rather than avoiding it) --- Source/WebCore/GNUmakefile.list.am.orig 2011-10-15 01:27:23.000000000 -0400 +++ Source/WebCore/GNUmakefile.list.am 2012-04-20 13:58:55.000000000 -0400 @@ -3986,7 +3986,6 @@ Source/WebCore/platform/gtk/GtkUtilities.cpp \ Source/WebCore/platform/gtk/GtkUtilities.h \ Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp \ - Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp \ Source/WebCore/platform/gtk/GeolocationServiceGtk.cpp \ Source/WebCore/platform/gtk/GeolocationServiceGtk.h \ Source/WebCore/platform/gtk/GOwnPtrGtk.cpp \ @@ -4031,11 +4030,12 @@ Source/WebCore/platform/gtk/WidgetGtk.cpp \ Source/WebCore/platform/gtk/WidgetRenderingContext.cpp \ Source/WebCore/platform/gtk/WidgetRenderingContext.h \ - Source/WebCore/plugins/gtk/PluginPackageGtk.cpp \ - Source/WebCore/plugins/gtk/PluginViewGtk.cpp + Source/WebCore/plugins/gtk/PluginPackageGtk.cpp if TARGET_X11 webcoregtk_sources += \ + Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp \ + Source/WebCore/plugins/gtk/PluginViewGtk.cpp \ Source/WebCore/plugins/gtk/gtk2xtbin.c \ Source/WebCore/plugins/gtk/gtk2xtbin.h \ Source/WebCore/plugins/gtk/xembed.h
It looks like this has been partially applied, but there are still issues. Here is what still remains needed: --- Source/WebCore/GNUmakefile.list.am.orig 2012-08-20 10:11:33.000000000 +0300 +++ Source/WebCore/GNUmakefile.list.am 2012-08-20 10:13:58.000000000 +0300 @@ -4582,11 +4582,11 @@ Source/WebCore/platform/gtk/WidgetGtk.cpp \ Source/WebCore/platform/gtk/WidgetRenderingContext.cpp \ Source/WebCore/platform/gtk/WidgetRenderingContext.h \ - Source/WebCore/plugins/gtk/PluginPackageGtk.cpp \ - Source/WebCore/plugins/gtk/PluginViewGtk.cpp + Source/WebCore/plugins/gtk/PluginPackageGtk.cpp if TARGET_X11 webcoregtk_sources += \ + Source/WebCore/plugins/gtk/PluginViewGtk.cpp Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp \ Source/WebCore/plugins/gtk/gtk2xtbin.c \ Source/WebCore/plugins/gtk/gtk2xtbin.h \
This is fixed in webkitgtk-1.10.0