--- /dev/null
+--- glibmm-2.16.0/gio/giomm/wrap_init.cc.orig 2008-03-10 20:14:47.000000000 +0100
++++ glibmm-2.16.0/gio/giomm/wrap_init.cc 2008-03-15 14:36:35.732734405 +0100
+@@ -12,8 +12,10 @@
+
+ // #include the widget headers so that we can call the get_type() static methods:
+
++#ifdef HAVE_GIO_UNIX
+ #include "unixinputstream.h"
+ #include "unixoutputstream.h"
++#endif
+ #include "desktopappinfo.h"
+ #include "appinfo.h"
+ #include "asyncresult.h"
+@@ -60,7 +62,9 @@ GType g_buffered_output_stream_get_type(
+ GType g_cancellable_get_type(void);
+ GType g_data_input_stream_get_type(void);
+ GType g_data_output_stream_get_type(void);
++#ifdef HAVE_GIO_UNIX
+ GType g_desktop_app_info_get_type(void);
++#endif
+ GType g_file_enumerator_get_type(void);
+ GType g_file_icon_get_type(void);
+ GType g_file_info_get_type(void);
+@@ -75,8 +79,10 @@ GType g_memory_input_stream_get_type(voi
+ GType g_mount_operation_get_type(void);
+ GType g_output_stream_get_type(void);
+ GType g_themed_icon_get_type(void);
++#ifdef HAVE_GIO_UNIX
+ GType g_unix_input_stream_get_type(void);
+ GType g_unix_output_stream_get_type(void);
++#endif
+ GType g_volume_monitor_get_type(void);
+
+ //Declarations of the *_error_quark() functions:
+@@ -93,7 +99,9 @@ namespace Gio { class BufferedOutputStr
+ namespace Gio { class Cancellable_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class DataInputStream_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class DataOutputStream_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
++#ifdef HAVE_GIO_UNIX
+ namespace Gio { class DesktopAppInfo_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
++#endif
+ namespace Gio { class FileEnumerator_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class FileIcon_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class FileInfo_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+@@ -108,8 +116,10 @@ namespace Gio { class MemoryInputStream
+ namespace Gio { class MountOperation_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class OutputStream_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class ThemedIcon_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
++#ifdef HAVE_GIO_UNIX
+ namespace Gio { class UnixInputStream_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+ namespace Gio { class UnixOutputStream_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
++#endif
+ namespace Gio { class VolumeMonitor_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; }
+
+ namespace Gio {
+@@ -126,7 +136,9 @@ void wrap_init()
+ Glib::wrap_register(g_cancellable_get_type(), &Gio::Cancellable_Class::wrap_new);
+ Glib::wrap_register(g_data_input_stream_get_type(), &Gio::DataInputStream_Class::wrap_new);
+ Glib::wrap_register(g_data_output_stream_get_type(), &Gio::DataOutputStream_Class::wrap_new);
++#ifdef HAVE_GIO_UNIX
+ Glib::wrap_register(g_desktop_app_info_get_type(), &Gio::DesktopAppInfo_Class::wrap_new);
++#endif
+ Glib::wrap_register(g_file_enumerator_get_type(), &Gio::FileEnumerator_Class::wrap_new);
+ Glib::wrap_register(g_file_icon_get_type(), &Gio::FileIcon_Class::wrap_new);
+ Glib::wrap_register(g_file_info_get_type(), &Gio::FileInfo_Class::wrap_new);
+@@ -141,8 +153,10 @@ void wrap_init()
+ Glib::wrap_register(g_mount_operation_get_type(), &Gio::MountOperation_Class::wrap_new);
+ Glib::wrap_register(g_output_stream_get_type(), &Gio::OutputStream_Class::wrap_new);
+ Glib::wrap_register(g_themed_icon_get_type(), &Gio::ThemedIcon_Class::wrap_new);
++#ifdef HAVE_GIO_UNIX
+ Glib::wrap_register(g_unix_input_stream_get_type(), &Gio::UnixInputStream_Class::wrap_new);
+ Glib::wrap_register(g_unix_output_stream_get_type(), &Gio::UnixOutputStream_Class::wrap_new);
++#endif
+ Glib::wrap_register(g_volume_monitor_get_type(), &Gio::VolumeMonitor_Class::wrap_new);
+
+ // Register the gtkmm gtypes:
+@@ -152,7 +166,9 @@ void wrap_init()
+ Gio::Cancellable::get_type();
+ Gio::DataInputStream::get_type();
+ Gio::DataOutputStream::get_type();
++#ifdef HAVE_GIO_UNIX
+ Gio::DesktopAppInfo::get_type();
++#endif
+ Gio::FileEnumerator::get_type();
+ Gio::FileIcon::get_type();
+ Gio::FileInfo::get_type();
+@@ -167,8 +183,10 @@ void wrap_init()
+ Gio::MountOperation::get_type();
+ Gio::OutputStream::get_type();
+ Gio::ThemedIcon::get_type();
++#ifdef HAVE_GIO_UNIX
+ Gio::UnixInputStream::get_type();
+ Gio::UnixOutputStream::get_type();
++#endif
+ Gio::VolumeMonitor::get_type();
+
+ } // wrap_init()
+--- glibmm-2.16.0/configure.in.orig 2008-03-10 19:25:53.000000000 +0100
++++ glibmm-2.16.0/configure.in 2008-03-15 14:33:47.763167393 +0100
+@@ -143,6 +143,7 @@ if test x"$os_win32" = xyes; then
+ PKG_CHECK_MODULES(GIOMM, sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version} gio-2.0 >= ${gtkmm_min_glib_version})
+ else
+ PKG_CHECK_MODULES(GIOMM, sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version} gio-2.0 >= ${gtkmm_min_glib_version} gio-unix-2.0 >= ${gtkmm_min_glib_version})
++ AC_DEFINE([HAVE_GIO_UNIX], [1], [gio-unix exists])
+ fi
+ AC_SUBST(GIOMM_CFLAGS)
+ AC_SUBST(GIOMM_LIBS)